aboutsummaryrefslogtreecommitdiff
path: root/final/ABI-Testsuite/test/s2_6/T_vf51.x
diff options
context:
space:
mode:
Diffstat (limited to 'final/ABI-Testsuite/test/s2_6/T_vf51.x')
-rwxr-xr-xfinal/ABI-Testsuite/test/s2_6/T_vf51.x213961
1 files changed, 213961 insertions, 0 deletions
diff --git a/final/ABI-Testsuite/test/s2_6/T_vf51.x b/final/ABI-Testsuite/test/s2_6/T_vf51.x
new file mode 100755
index 00000000..39370bf0
--- /dev/null
+++ b/final/ABI-Testsuite/test/s2_6/T_vf51.x
@@ -0,0 +1,213961 @@
+// 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
+
+extern VTBL_ENTRY _ZTI2D0[];
+VTBL_ENTRY *P__ZTI2D0 = _ZTI2D0;
+Class_Descriptor cd_D0 = { "D0", // class name
+ 0,0,//no base classes
+ 0, // no vftv
+ 0, //no vtt
+ 4, // object size
+ NSPAIRA(_ZTI2D0),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 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 E0x4 : C0 , D0 {
+ int fd;
+};
+//SIG(-1 E0x4) C1{ BC2{ BC3{ Fi} BC4{ Fi} Fi} BC5{ Fi} Fi}
+
+
+
+static void Test_E0x4()
+{
+ extern Class_Descriptor cd_E0x4;
+ void *lvp;
+ {
+ int buf[6];
+ init_test(&cd_E0x4, buf);
+ E0x4 &lv = *(new (buf) E0x4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), 20, "sizeof(E0x4)");
+ check2(__alignof__(lv), 4, "__alignof__(E0x4)");
+ check_base_class_offset(lv, (A0*)(C0*), 0, "E0x4");
+ check_base_class_offset(lv, (B0*)(C0*), 4, "E0x4");
+ check_base_class_offset(lv, (C0*), 0, "E0x4");
+ check_base_class_offset(lv, (D0*), 12, "E0x4");
+ check_field_offset(lv, fd, 16, "E0x4.fd");
+ test_class_info(&lv, &cd_E0x4);
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE0x4(Test_E0x4, "E0x4", 20);
+
+#else // __cplusplus
+
+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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E0x4[] = {
+ // 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
+ 2, //immediately_derived
+ 0, 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
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C0, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 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_D0, 12, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI4E0x4[];
+Class_Descriptor cd_E0x4 = { "E0x4", // class name
+ bases_E0x4, 4,
+ 0, // no vftv
+ 0, //no vtt
+ 20, // object size
+ NSPAIRA(_ZTI4E0x4),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 G0x4y0 : E0x4 , F1 {
+ int ff;
+ ~G0x4y0(); // tgen
+ G0x4y0(); // tgen
+};
+//SIG(1 G0x4y0) C1{ BC2{ BC3{ BC4{ Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ v1 Fi} Fi}
+
+
+G0x4y0 ::~G0x4y0(){ note_dtor("G0x4y0", this);} // tgen
+G0x4y0 ::G0x4y0(){ note_ctor("G0x4y0", this);} // tgen
+
+static void Test_G0x4y0()
+{
+ extern Class_Descriptor cd_G0x4y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G0x4y0, buf);
+ G0x4y0 *dp, &lv = *(dp=new (buf) G0x4y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G0x4y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x4y0)");
+ check_base_class_offset(lv, (A0*)(C0*)(E0x4*), ABISELECT(12,8), "G0x4y0");
+ check_base_class_offset(lv, (B0*)(C0*)(E0x4*), ABISELECT(16,12), "G0x4y0");
+ check_base_class_offset(lv, (C0*)(E0x4*), ABISELECT(12,8), "G0x4y0");
+ check_base_class_offset(lv, (D0*)(E0x4*), ABISELECT(24,20), "G0x4y0");
+ check_base_class_offset(lv, (E0x4*), ABISELECT(12,8), "G0x4y0");
+ check_base_class_offset(lv, (F1*), 0, "G0x4y0");
+ check_field_offset(lv, ff, ABISELECT(32,28), "G0x4y0.ff");
+ test_class_info(&lv, &cd_G0x4y0);
+ dp->~G0x4y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x4y0(Test_G0x4y0, "G0x4y0", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN6G0x4y0C1Ev();
+extern void _ZN6G0x4y0D1Ev();
+Name_Map name_map_G0x4y0[] = {
+ NSPAIR(_ZN6G0x4y0C1Ev),
+ NSPAIR(_ZN6G0x4y0D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E0x4;
+extern VTBL_ENTRY _ZTI4E0x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G0x4y0[] = {
+ // 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_D0, 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, 0},
+ {&cd_E0x4, 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_F1, 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 _ZTI6G0x4y0[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G0x4y0[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x4y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTI6G0x4y0[];
+extern VTBL_ENTRY _ZTV6G0x4y0[];
+Class_Descriptor cd_G0x4y0 = { "G0x4y0", // class name
+ bases_G0x4y0, 6,
+ &(vtc_G0x4y0[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI6G0x4y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x4y0),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 G0x4y1 : virtual E0x4 , F1 {
+ int ff;
+ ~G0x4y1(); // tgen
+ G0x4y1(); // tgen
+};
+//SIG(1 G0x4y1) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ v1 Fi} Fi}
+
+
+G0x4y1 ::~G0x4y1(){ note_dtor("G0x4y1", this);} // tgen
+G0x4y1 ::G0x4y1(){ note_ctor("G0x4y1", this);} // tgen
+
+static void Test_G0x4y1()
+{
+ extern Class_Descriptor cd_G0x4y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G0x4y1, buf);
+ G0x4y1 *dp, &lv = *(dp=new (buf) G0x4y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G0x4y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x4y1)");
+ check_base_class_offset(lv, (A0*)(C0*)(E0x4*), ABISELECT(16,12), "G0x4y1");
+ check_base_class_offset(lv, (B0*)(C0*)(E0x4*), ABISELECT(20,16), "G0x4y1");
+ check_base_class_offset(lv, (C0*)(E0x4*), ABISELECT(16,12), "G0x4y1");
+ check_base_class_offset(lv, (D0*)(E0x4*), ABISELECT(28,24), "G0x4y1");
+ check_base_class_offset(lv, (E0x4*), ABISELECT(16,12), "G0x4y1");
+ check_base_class_offset(lv, (F1*), 0, "G0x4y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G0x4y1.ff");
+ test_class_info(&lv, &cd_G0x4y1);
+ dp->~G0x4y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x4y1(Test_G0x4y1, "G0x4y1", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN6G0x4y1C1Ev();
+extern void _ZN6G0x4y1D1Ev();
+Name_Map name_map_G0x4y1[] = {
+ NSPAIR(_ZN6G0x4y1C1Ev),
+ NSPAIR(_ZN6G0x4y1D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E0x4;
+extern VTBL_ENTRY _ZTI4E0x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G0x4y1[] = {
+ // 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, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E0x4, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 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_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
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G0x4y1[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G0x4y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x4y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G0x4y1[];
+static VTT_ENTRY vtt_G0x4y1[] = {
+ {&(_ZTV6G0x4y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G0x4y1[];
+extern VTBL_ENTRY _ZTV6G0x4y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x4y1[];
+Class_Descriptor cd_G0x4y1 = { "G0x4y1", // class name
+ bases_G0x4y1, 6,
+ &(vtc_G0x4y1[0]), // expected_vtbl_contents
+ &(vtt_G0x4y1[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI6G0x4y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x4y1),4, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x4y1),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 G0x4y2 : E0x4 , virtual F1 {
+ int ff;
+ ~G0x4y2(); // tgen
+ G0x4y2(); // tgen
+};
+//SIG(1 G0x4y2) C1{ BC2{ BC3{ BC4{ Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ v1 Fi} Fi}
+
+
+G0x4y2 ::~G0x4y2(){ note_dtor("G0x4y2", this);} // tgen
+G0x4y2 ::G0x4y2(){ note_ctor("G0x4y2", this);} // tgen
+
+static void Test_G0x4y2()
+{
+ extern Class_Descriptor cd_G0x4y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G0x4y2, buf);
+ G0x4y2 *dp, &lv = *(dp=new (buf) G0x4y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G0x4y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x4y2)");
+ check_base_class_offset(lv, (A0*)(C0*)(E0x4*), ABISELECT(8,4), "G0x4y2");
+ check_base_class_offset(lv, (B0*)(C0*)(E0x4*), ABISELECT(12,8), "G0x4y2");
+ check_base_class_offset(lv, (C0*)(E0x4*), ABISELECT(8,4), "G0x4y2");
+ check_base_class_offset(lv, (D0*)(E0x4*), ABISELECT(20,16), "G0x4y2");
+ check_base_class_offset(lv, (E0x4*), ABISELECT(8,4), "G0x4y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,28), "G0x4y2");
+ check_field_offset(lv, ff, ABISELECT(28,24), "G0x4y2.ff");
+ test_class_info(&lv, &cd_G0x4y2);
+ dp->~G0x4y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x4y2(Test_G0x4y2, "G0x4y2", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G0x4y2C1Ev();
+extern void _ZN6G0x4y2D1Ev();
+Name_Map name_map_G0x4y2[] = {
+ NSPAIR(_ZN6G0x4y2C1Ev),
+ NSPAIR(_ZN6G0x4y2D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E0x4;
+extern VTBL_ENTRY _ZTI4E0x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G0x4y2[] = {
+ // 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_D0, 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, 0},
+ {&cd_E0x4, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 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_F1, ABISELECT(32,28), //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 _ZTI6G0x4y2[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G0x4y2[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x4y2[0]),
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI6G0x4y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G0x4y2[];
+static VTT_ENTRY vtt_G0x4y2[] = {
+ {&(_ZTV6G0x4y2[3]), 3,7},
+ {&(_ZTV6G0x4y2[6]), 6,7},
+};
+extern VTBL_ENTRY _ZTI6G0x4y2[];
+extern VTBL_ENTRY _ZTV6G0x4y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x4y2[];
+Class_Descriptor cd_G0x4y2 = { "G0x4y2", // class name
+ bases_G0x4y2, 6,
+ &(vtc_G0x4y2[0]), // expected_vtbl_contents
+ &(vtt_G0x4y2[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G0x4y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x4y2),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x4y2),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 G0x4y3 : virtual E0x4 , virtual F1 {
+ int ff;
+ ~G0x4y3(); // tgen
+ G0x4y3(); // tgen
+};
+//SIG(1 G0x4y3) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ v1 Fi} Fi}
+
+
+G0x4y3 ::~G0x4y3(){ note_dtor("G0x4y3", this);} // tgen
+G0x4y3 ::G0x4y3(){ note_ctor("G0x4y3", this);} // tgen
+
+static void Test_G0x4y3()
+{
+ extern Class_Descriptor cd_G0x4y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G0x4y3, buf);
+ G0x4y3 *dp, &lv = *(dp=new (buf) G0x4y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G0x4y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x4y3)");
+ check_base_class_offset(lv, (A0*)(C0*)(E0x4*), ABISELECT(12,8), "G0x4y3");
+ check_base_class_offset(lv, (B0*)(C0*)(E0x4*), ABISELECT(16,12), "G0x4y3");
+ check_base_class_offset(lv, (C0*)(E0x4*), ABISELECT(12,8), "G0x4y3");
+ check_base_class_offset(lv, (D0*)(E0x4*), ABISELECT(24,20), "G0x4y3");
+ check_base_class_offset(lv, (E0x4*), ABISELECT(12,8), "G0x4y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,28), "G0x4y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G0x4y3.ff");
+ test_class_info(&lv, &cd_G0x4y3);
+ dp->~G0x4y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x4y3(Test_G0x4y3, "G0x4y3", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G0x4y3C1Ev();
+extern void _ZN6G0x4y3D1Ev();
+Name_Map name_map_G0x4y3[] = {
+ NSPAIR(_ZN6G0x4y3C1Ev),
+ NSPAIR(_ZN6G0x4y3D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E0x4;
+extern VTBL_ENTRY _ZTI4E0x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G0x4y3[] = {
+ // 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_D0, 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, 0},
+ {&cd_E0x4, 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_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 _ZTI6G0x4y3[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G0x4y3[] = {
+ ABISELECT(32,28),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x4y3[0]),
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI6G0x4y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G0x4y3[];
+static VTT_ENTRY vtt_G0x4y3[] = {
+ {&(_ZTV6G0x4y3[4]), 4,8},
+ {&(_ZTV6G0x4y3[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI6G0x4y3[];
+extern VTBL_ENTRY _ZTV6G0x4y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x4y3[];
+Class_Descriptor cd_G0x4y3 = { "G0x4y3", // class name
+ bases_G0x4y3, 6,
+ &(vtc_G0x4y3[0]), // expected_vtbl_contents
+ &(vtt_G0x4y3[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G0x4y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x4y3),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x4y3),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 G0x4y4 : E0x4 , F0 {
+ int ff;
+};
+//SIG(1 G0x4y4) C1{ BC2{ BC3{ BC4{ Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+
+static void Test_G0x4y4()
+{
+ extern Class_Descriptor cd_G0x4y4;
+ void *lvp;
+ {
+ int buf[8];
+ init_test(&cd_G0x4y4, buf);
+ G0x4y4 &lv = *(new (buf) G0x4y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), 28, "sizeof(G0x4y4)");
+ check2(__alignof__(lv), 4, "__alignof__(G0x4y4)");
+ check_base_class_offset(lv, (A0*)(C0*)(E0x4*), 0, "G0x4y4");
+ check_base_class_offset(lv, (B0*)(C0*)(E0x4*), 4, "G0x4y4");
+ check_base_class_offset(lv, (C0*)(E0x4*), 0, "G0x4y4");
+ check_base_class_offset(lv, (D0*)(E0x4*), 12, "G0x4y4");
+ check_base_class_offset(lv, (E0x4*), 0, "G0x4y4");
+ check_base_class_offset(lv, (F0*), 20, "G0x4y4");
+ check_field_offset(lv, ff, 24, "G0x4y4.ff");
+ test_class_info(&lv, &cd_G0x4y4);
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x4y4(Test_G0x4y4, "G0x4y4", 28);
+
+#else // __cplusplus
+
+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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E0x4;
+extern VTBL_ENTRY _ZTI4E0x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G0x4y4[] = {
+ // 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
+ 2, //immediately_derived
+ 0, 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
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C0, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_D0, 12, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E0x4, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 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_F0, 20, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+Class_Descriptor cd_G0x4y4 = { "G0x4y4", // class name
+ bases_G0x4y4, 6,
+ 0, // no vftv
+ 0, //no vtt
+ 28, // object size
+ {0,0},0, // 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 G0x4y5 : virtual E0x4 , F0 {
+ int ff;
+ ~G0x4y5(); // tgen
+ G0x4y5(); // tgen
+};
+//SIG(1 G0x4y5) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G0x4y5 ::~G0x4y5(){ note_dtor("G0x4y5", this);} // tgen
+G0x4y5 ::G0x4y5(){ note_ctor("G0x4y5", this);} // tgen
+
+static void Test_G0x4y5()
+{
+ extern Class_Descriptor cd_G0x4y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G0x4y5, buf);
+ G0x4y5 *dp, &lv = *(dp=new (buf) G0x4y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G0x4y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x4y5)");
+ check_base_class_offset(lv, (A0*)(C0*)(E0x4*), ABISELECT(16,12), "G0x4y5");
+ check_base_class_offset(lv, (B0*)(C0*)(E0x4*), ABISELECT(20,16), "G0x4y5");
+ check_base_class_offset(lv, (C0*)(E0x4*), ABISELECT(16,12), "G0x4y5");
+ check_base_class_offset(lv, (D0*)(E0x4*), ABISELECT(28,24), "G0x4y5");
+ check_base_class_offset(lv, (E0x4*), ABISELECT(16,12), "G0x4y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G0x4y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G0x4y5.ff");
+ test_class_info(&lv, &cd_G0x4y5);
+ dp->~G0x4y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x4y5(Test_G0x4y5, "G0x4y5", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN6G0x4y5C1Ev();
+extern void _ZN6G0x4y5D1Ev();
+Name_Map name_map_G0x4y5[] = {
+ NSPAIR(_ZN6G0x4y5C1Ev),
+ NSPAIR(_ZN6G0x4y5D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E0x4;
+extern VTBL_ENTRY _ZTI4E0x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G0x4y5[] = {
+ // 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, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E0x4, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 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_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 _ZTI6G0x4y5[];
+static VTBL_ENTRY vtc_G0x4y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x4y5[0]),
+};
+extern VTBL_ENTRY _ZTV6G0x4y5[];
+static VTT_ENTRY vtt_G0x4y5[] = {
+ {&(_ZTV6G0x4y5[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G0x4y5[];
+extern VTBL_ENTRY _ZTV6G0x4y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x4y5[];
+Class_Descriptor cd_G0x4y5 = { "G0x4y5", // class name
+ bases_G0x4y5, 6,
+ &(vtc_G0x4y5[0]), // expected_vtbl_contents
+ &(vtt_G0x4y5[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI6G0x4y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x4y5),3, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x4y5),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 G0x4y6 : E0x4 , virtual F0 {
+ int ff;
+ ~G0x4y6(); // tgen
+ G0x4y6(); // tgen
+};
+//SIG(1 G0x4y6) C1{ BC2{ BC3{ BC4{ Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G0x4y6 ::~G0x4y6(){ note_dtor("G0x4y6", this);} // tgen
+G0x4y6 ::G0x4y6(){ note_ctor("G0x4y6", this);} // tgen
+
+static void Test_G0x4y6()
+{
+ extern Class_Descriptor cd_G0x4y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G0x4y6, buf);
+ G0x4y6 *dp, &lv = *(dp=new (buf) G0x4y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G0x4y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x4y6)");
+ check_base_class_offset(lv, (A0*)(C0*)(E0x4*), ABISELECT(8,4), "G0x4y6");
+ check_base_class_offset(lv, (B0*)(C0*)(E0x4*), ABISELECT(12,8), "G0x4y6");
+ check_base_class_offset(lv, (C0*)(E0x4*), ABISELECT(8,4), "G0x4y6");
+ check_base_class_offset(lv, (D0*)(E0x4*), ABISELECT(20,16), "G0x4y6");
+ check_base_class_offset(lv, (E0x4*), ABISELECT(8,4), "G0x4y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,28), "G0x4y6");
+ check_field_offset(lv, ff, ABISELECT(28,24), "G0x4y6.ff");
+ test_class_info(&lv, &cd_G0x4y6);
+ dp->~G0x4y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x4y6(Test_G0x4y6, "G0x4y6", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN6G0x4y6C1Ev();
+extern void _ZN6G0x4y6D1Ev();
+Name_Map name_map_G0x4y6[] = {
+ NSPAIR(_ZN6G0x4y6C1Ev),
+ NSPAIR(_ZN6G0x4y6D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E0x4;
+extern VTBL_ENTRY _ZTI4E0x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G0x4y6[] = {
+ // 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_D0, 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, 0},
+ {&cd_E0x4, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 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_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 _ZTI6G0x4y6[];
+static VTBL_ENTRY vtc_G0x4y6[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x4y6[0]),
+};
+extern VTBL_ENTRY _ZTV6G0x4y6[];
+static VTT_ENTRY vtt_G0x4y6[] = {
+ {&(_ZTV6G0x4y6[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G0x4y6[];
+extern VTBL_ENTRY _ZTV6G0x4y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x4y6[];
+Class_Descriptor cd_G0x4y6 = { "G0x4y6", // class name
+ bases_G0x4y6, 6,
+ &(vtc_G0x4y6[0]), // expected_vtbl_contents
+ &(vtt_G0x4y6[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI6G0x4y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x4y6),3, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x4y6),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 G0x4y7 : virtual E0x4 , virtual F0 {
+ int ff;
+ ~G0x4y7(); // tgen
+ G0x4y7(); // tgen
+};
+//SIG(1 G0x4y7) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G0x4y7 ::~G0x4y7(){ note_dtor("G0x4y7", this);} // tgen
+G0x4y7 ::G0x4y7(){ note_ctor("G0x4y7", this);} // tgen
+
+static void Test_G0x4y7()
+{
+ extern Class_Descriptor cd_G0x4y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G0x4y7, buf);
+ G0x4y7 *dp, &lv = *(dp=new (buf) G0x4y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G0x4y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x4y7)");
+ check_base_class_offset(lv, (A0*)(C0*)(E0x4*), ABISELECT(12,8), "G0x4y7");
+ check_base_class_offset(lv, (B0*)(C0*)(E0x4*), ABISELECT(16,12), "G0x4y7");
+ check_base_class_offset(lv, (C0*)(E0x4*), ABISELECT(12,8), "G0x4y7");
+ check_base_class_offset(lv, (D0*)(E0x4*), ABISELECT(24,20), "G0x4y7");
+ check_base_class_offset(lv, (E0x4*), ABISELECT(12,8), "G0x4y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,28), "G0x4y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G0x4y7.ff");
+ test_class_info(&lv, &cd_G0x4y7);
+ dp->~G0x4y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x4y7(Test_G0x4y7, "G0x4y7", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN6G0x4y7C1Ev();
+extern void _ZN6G0x4y7D1Ev();
+Name_Map name_map_G0x4y7[] = {
+ NSPAIR(_ZN6G0x4y7C1Ev),
+ NSPAIR(_ZN6G0x4y7D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E0x4;
+extern VTBL_ENTRY _ZTI4E0x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G0x4y7[] = {
+ // 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_D0, 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, 0},
+ {&cd_E0x4, 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_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 _ZTI6G0x4y7[];
+static VTBL_ENTRY vtc_G0x4y7[] = {
+ ABISELECT(32,28),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x4y7[0]),
+};
+extern VTBL_ENTRY _ZTV6G0x4y7[];
+static VTT_ENTRY vtt_G0x4y7[] = {
+ {&(_ZTV6G0x4y7[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI6G0x4y7[];
+extern VTBL_ENTRY _ZTV6G0x4y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x4y7[];
+Class_Descriptor cd_G0x4y7 = { "G0x4y7", // class name
+ bases_G0x4y7, 6,
+ &(vtc_G0x4y7[0]), // expected_vtbl_contents
+ &(vtt_G0x4y7[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI6G0x4y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x4y7),4, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x4y7),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 E1x4 : C1 , D0 {
+ int fd;
+ ~E1x4(); // tgen
+ E1x4(); // tgen
+};
+//SIG(-1 E1x4) C1{ BC2{ BC3{ v1 Fi} BC4{ Fi} Fi} BC5{ Fi} Fi}
+
+
+E1x4 ::~E1x4(){ note_dtor("E1x4", this);} // tgen
+E1x4 ::E1x4(){ note_ctor("E1x4", this);} // tgen
+
+static void Test_E1x4()
+{
+ extern Class_Descriptor cd_E1x4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(5,7)];
+ init_test(&cd_E1x4, buf);
+ E1x4 *dp, &lv = *(dp=new (buf) E1x4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(32,24), "sizeof(E1x4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E1x4)");
+ check_base_class_offset(lv, (A1*)(C1*), 0, "E1x4");
+ check_base_class_offset(lv, (B0*)(C1*), ABISELECT(12,8), "E1x4");
+ check_base_class_offset(lv, (C1*), 0, "E1x4");
+ check_base_class_offset(lv, (D0*), ABISELECT(20,16), "E1x4");
+ check_field_offset(lv, fd, ABISELECT(24,20), "E1x4.fd");
+ test_class_info(&lv, &cd_E1x4);
+ dp->~E1x4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE1x4(Test_E1x4, "E1x4", ABISELECT(32,24));
+
+#else // __cplusplus
+
+extern void _ZN4E1x4C1Ev();
+extern void _ZN4E1x4D1Ev();
+Name_Map name_map_E1x4[] = {
+ NSPAIR(_ZN4E1x4C1Ev),
+ NSPAIR(_ZN4E1x4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E1x4[] = {
+ // 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_D0, 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 _ZTI4E1x4[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_E1x4[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTI4E1x4[];
+extern VTBL_ENTRY _ZTV4E1x4[];
+Class_Descriptor cd_E1x4 = { "E1x4", // class name
+ bases_E1x4, 4,
+ &(vtc_E1x4[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(32,24), // object size
+ NSPAIRA(_ZTI4E1x4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E1x4),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 G1x4y0 : E1x4 , F1 {
+ int ff;
+ ~G1x4y0(); // tgen
+ G1x4y0(); // tgen
+};
+//SIG(1 G1x4y0) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G1x4y0 ::~G1x4y0(){ note_dtor("G1x4y0", this);} // tgen
+G1x4y0 ::G1x4y0(){ note_ctor("G1x4y0", this);} // tgen
+
+static void Test_G1x4y0()
+{
+ extern Class_Descriptor cd_G1x4y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G1x4y0, buf);
+ G1x4y0 *dp, &lv = *(dp=new (buf) G1x4y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G1x4y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x4y0)");
+ check_base_class_offset(lv, (A1*)(C1*)(E1x4*), 0, "G1x4y0");
+ check_base_class_offset(lv, (B0*)(C1*)(E1x4*), ABISELECT(12,8), "G1x4y0");
+ check_base_class_offset(lv, (C1*)(E1x4*), 0, "G1x4y0");
+ check_base_class_offset(lv, (D0*)(E1x4*), ABISELECT(20,16), "G1x4y0");
+ check_base_class_offset(lv, (E1x4*), 0, "G1x4y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,24), "G1x4y0");
+ check_field_offset(lv, ff, ABISELECT(44,32), "G1x4y0.ff");
+ test_class_info(&lv, &cd_G1x4y0);
+ dp->~G1x4y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x4y0(Test_G1x4y0, "G1x4y0", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G1x4y0C1Ev();
+extern void _ZN6G1x4y0D1Ev();
+Name_Map name_map_G1x4y0[] = {
+ NSPAIR(_ZN6G1x4y0C1Ev),
+ NSPAIR(_ZN6G1x4y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E1x4;
+extern VTBL_ENTRY _ZTI4E1x4[];
+extern VTBL_ENTRY _ZTV4E1x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G1x4y0[] = {
+ // 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_D0, 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, 0},
+ {&cd_E1x4, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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,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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G1x4y0[];
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G1x4y0[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x4y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G1x4y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTI6G1x4y0[];
+extern VTBL_ENTRY _ZTV6G1x4y0[];
+Class_Descriptor cd_G1x4y0 = { "G1x4y0", // class name
+ bases_G1x4y0, 6,
+ &(vtc_G1x4y0[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G1x4y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x4y0),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 G1x4y1 : virtual E1x4 , F1 {
+ int ff;
+ ~G1x4y1(); // tgen
+ G1x4y1(); // tgen
+};
+//SIG(1 G1x4y1) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G1x4y1 ::~G1x4y1(){ note_dtor("G1x4y1", this);} // tgen
+G1x4y1 ::G1x4y1(){ note_ctor("G1x4y1", this);} // tgen
+
+static void Test_G1x4y1()
+{
+ extern Class_Descriptor cd_G1x4y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G1x4y1, buf);
+ G1x4y1 *dp, &lv = *(dp=new (buf) G1x4y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G1x4y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x4y1)");
+ check_base_class_offset(lv, (A1*)(C1*)(E1x4*), ABISELECT(16,12), "G1x4y1");
+ check_base_class_offset(lv, (B0*)(C1*)(E1x4*), ABISELECT(28,20), "G1x4y1");
+ check_base_class_offset(lv, (C1*)(E1x4*), ABISELECT(16,12), "G1x4y1");
+ check_base_class_offset(lv, (D0*)(E1x4*), ABISELECT(36,28), "G1x4y1");
+ check_base_class_offset(lv, (E1x4*), ABISELECT(16,12), "G1x4y1");
+ check_base_class_offset(lv, (F1*), 0, "G1x4y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G1x4y1.ff");
+ test_class_info(&lv, &cd_G1x4y1);
+ dp->~G1x4y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x4y1(Test_G1x4y1, "G1x4y1", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G1x4y1C1Ev();
+extern void _ZN6G1x4y1D1Ev();
+Name_Map name_map_G1x4y1[] = {
+ NSPAIR(_ZN6G1x4y1C1Ev),
+ NSPAIR(_ZN6G1x4y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E1x4;
+extern VTBL_ENTRY _ZTI4E1x4[];
+extern VTBL_ENTRY _ZTV4E1x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G1x4y1[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E1x4, 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 _ZTI6G1x4y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G1x4y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x4y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G1x4y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x4y1[];
+static VTT_ENTRY vtt_G1x4y1[] = {
+ {&(_ZTV6G1x4y1[3]), 3,8},
+ {&(_ZTV6G1x4y1[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI6G1x4y1[];
+extern VTBL_ENTRY _ZTV6G1x4y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x4y1[];
+Class_Descriptor cd_G1x4y1 = { "G1x4y1", // class name
+ bases_G1x4y1, 6,
+ &(vtc_G1x4y1[0]), // expected_vtbl_contents
+ &(vtt_G1x4y1[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G1x4y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x4y1),8, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x4y1),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 G1x4y2 : E1x4 , virtual F1 {
+ int ff;
+ ~G1x4y2(); // tgen
+ G1x4y2(); // tgen
+};
+//SIG(1 G1x4y2) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G1x4y2 ::~G1x4y2(){ note_dtor("G1x4y2", this);} // tgen
+G1x4y2 ::G1x4y2(){ note_ctor("G1x4y2", this);} // tgen
+
+static void Test_G1x4y2()
+{
+ extern Class_Descriptor cd_G1x4y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G1x4y2, buf);
+ G1x4y2 *dp, &lv = *(dp=new (buf) G1x4y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G1x4y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x4y2)");
+ check_base_class_offset(lv, (A1*)(C1*)(E1x4*), 0, "G1x4y2");
+ check_base_class_offset(lv, (B0*)(C1*)(E1x4*), ABISELECT(12,8), "G1x4y2");
+ check_base_class_offset(lv, (C1*)(E1x4*), 0, "G1x4y2");
+ check_base_class_offset(lv, (D0*)(E1x4*), ABISELECT(20,16), "G1x4y2");
+ check_base_class_offset(lv, (E1x4*), 0, "G1x4y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,28), "G1x4y2");
+ check_field_offset(lv, ff, ABISELECT(28,24), "G1x4y2.ff");
+ test_class_info(&lv, &cd_G1x4y2);
+ dp->~G1x4y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x4y2(Test_G1x4y2, "G1x4y2", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G1x4y2C1Ev();
+extern void _ZN6G1x4y2D1Ev();
+Name_Map name_map_G1x4y2[] = {
+ NSPAIR(_ZN6G1x4y2C1Ev),
+ NSPAIR(_ZN6G1x4y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E1x4;
+extern VTBL_ENTRY _ZTI4E1x4[];
+extern VTBL_ENTRY _ZTV4E1x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G1x4y2[] = {
+ // 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_D0, 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, 0},
+ {&cd_E1x4, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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(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 _ZTI6G1x4y2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G1x4y2[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x4y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI6G1x4y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x4y2[];
+static VTT_ENTRY vtt_G1x4y2[] = {
+ {&(_ZTV6G1x4y2[3]), 3,8},
+ {&(_ZTV6G1x4y2[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI6G1x4y2[];
+extern VTBL_ENTRY _ZTV6G1x4y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x4y2[];
+Class_Descriptor cd_G1x4y2 = { "G1x4y2", // class name
+ bases_G1x4y2, 6,
+ &(vtc_G1x4y2[0]), // expected_vtbl_contents
+ &(vtt_G1x4y2[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G1x4y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x4y2),8, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x4y2),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 G1x4y3 : virtual E1x4 , virtual F1 {
+ int ff;
+ ~G1x4y3(); // tgen
+ G1x4y3(); // tgen
+};
+//SIG(1 G1x4y3) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G1x4y3 ::~G1x4y3(){ note_dtor("G1x4y3", this);} // tgen
+G1x4y3 ::G1x4y3(){ note_ctor("G1x4y3", this);} // tgen
+
+static void Test_G1x4y3()
+{
+ extern Class_Descriptor cd_G1x4y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G1x4y3, buf);
+ G1x4y3 *dp, &lv = *(dp=new (buf) G1x4y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G1x4y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x4y3)");
+ check_base_class_offset(lv, (A1*)(C1*)(E1x4*), ABISELECT(16,8), "G1x4y3");
+ check_base_class_offset(lv, (B0*)(C1*)(E1x4*), ABISELECT(28,16), "G1x4y3");
+ check_base_class_offset(lv, (C1*)(E1x4*), ABISELECT(16,8), "G1x4y3");
+ check_base_class_offset(lv, (D0*)(E1x4*), ABISELECT(36,24), "G1x4y3");
+ check_base_class_offset(lv, (E1x4*), ABISELECT(16,8), "G1x4y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G1x4y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G1x4y3.ff");
+ test_class_info(&lv, &cd_G1x4y3);
+ dp->~G1x4y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x4y3(Test_G1x4y3, "G1x4y3", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G1x4y3C1Ev();
+extern void _ZN6G1x4y3D1Ev();
+Name_Map name_map_G1x4y3[] = {
+ NSPAIR(_ZN6G1x4y3C1Ev),
+ NSPAIR(_ZN6G1x4y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E1x4;
+extern VTBL_ENTRY _ZTI4E1x4[];
+extern VTBL_ENTRY _ZTV4E1x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G1x4y3[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E1x4, 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(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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G1x4y3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G1x4y3[] = {
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x4y3[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G1x4y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G1x4y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x4y3[];
+static VTT_ENTRY vtt_G1x4y3[] = {
+ {&(_ZTV6G1x4y3[4]), 4,12},
+ {&(_ZTV6G1x4y3[7]), 7,12},
+ {&(_ZTV6G1x4y3[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI6G1x4y3[];
+extern VTBL_ENTRY _ZTV6G1x4y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x4y3[];
+Class_Descriptor cd_G1x4y3 = { "G1x4y3", // class name
+ bases_G1x4y3, 6,
+ &(vtc_G1x4y3[0]), // expected_vtbl_contents
+ &(vtt_G1x4y3[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G1x4y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x4y3),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x4y3),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 G1x4y4 : E1x4 , F0 {
+ int ff;
+ ~G1x4y4(); // tgen
+ G1x4y4(); // tgen
+};
+//SIG(1 G1x4y4) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G1x4y4 ::~G1x4y4(){ note_dtor("G1x4y4", this);} // tgen
+G1x4y4 ::G1x4y4(){ note_ctor("G1x4y4", this);} // tgen
+
+static void Test_G1x4y4()
+{
+ extern Class_Descriptor cd_G1x4y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G1x4y4, buf);
+ G1x4y4 *dp, &lv = *(dp=new (buf) G1x4y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G1x4y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x4y4)");
+ check_base_class_offset(lv, (A1*)(C1*)(E1x4*), 0, "G1x4y4");
+ check_base_class_offset(lv, (B0*)(C1*)(E1x4*), ABISELECT(12,8), "G1x4y4");
+ check_base_class_offset(lv, (C1*)(E1x4*), 0, "G1x4y4");
+ check_base_class_offset(lv, (D0*)(E1x4*), ABISELECT(20,16), "G1x4y4");
+ check_base_class_offset(lv, (E1x4*), 0, "G1x4y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(28,24), "G1x4y4");
+ check_field_offset(lv, ff, ABISELECT(32,28), "G1x4y4.ff");
+ test_class_info(&lv, &cd_G1x4y4);
+ dp->~G1x4y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x4y4(Test_G1x4y4, "G1x4y4", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN6G1x4y4C1Ev();
+extern void _ZN6G1x4y4D1Ev();
+Name_Map name_map_G1x4y4[] = {
+ NSPAIR(_ZN6G1x4y4C1Ev),
+ NSPAIR(_ZN6G1x4y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E1x4;
+extern VTBL_ENTRY _ZTI4E1x4[];
+extern VTBL_ENTRY _ZTV4E1x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G1x4y4[] = {
+ // 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_D0, 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, 0},
+ {&cd_E1x4, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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(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 _ZTI6G1x4y4[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G1x4y4[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x4y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTI6G1x4y4[];
+extern VTBL_ENTRY _ZTV6G1x4y4[];
+Class_Descriptor cd_G1x4y4 = { "G1x4y4", // class name
+ bases_G1x4y4, 6,
+ &(vtc_G1x4y4[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI6G1x4y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x4y4),3, //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 G1x4y5 : virtual E1x4 , F0 {
+ int ff;
+ ~G1x4y5(); // tgen
+ G1x4y5(); // tgen
+};
+//SIG(1 G1x4y5) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G1x4y5 ::~G1x4y5(){ note_dtor("G1x4y5", this);} // tgen
+G1x4y5 ::G1x4y5(){ note_ctor("G1x4y5", this);} // tgen
+
+static void Test_G1x4y5()
+{
+ extern Class_Descriptor cd_G1x4y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G1x4y5, buf);
+ G1x4y5 *dp, &lv = *(dp=new (buf) G1x4y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G1x4y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x4y5)");
+ check_base_class_offset(lv, (A1*)(C1*)(E1x4*), ABISELECT(16,12), "G1x4y5");
+ check_base_class_offset(lv, (B0*)(C1*)(E1x4*), ABISELECT(28,20), "G1x4y5");
+ check_base_class_offset(lv, (C1*)(E1x4*), ABISELECT(16,12), "G1x4y5");
+ check_base_class_offset(lv, (D0*)(E1x4*), ABISELECT(36,28), "G1x4y5");
+ check_base_class_offset(lv, (E1x4*), ABISELECT(16,12), "G1x4y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G1x4y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G1x4y5.ff");
+ test_class_info(&lv, &cd_G1x4y5);
+ dp->~G1x4y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x4y5(Test_G1x4y5, "G1x4y5", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G1x4y5C1Ev();
+extern void _ZN6G1x4y5D1Ev();
+Name_Map name_map_G1x4y5[] = {
+ NSPAIR(_ZN6G1x4y5C1Ev),
+ NSPAIR(_ZN6G1x4y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E1x4;
+extern VTBL_ENTRY _ZTI4E1x4[];
+extern VTBL_ENTRY _ZTV4E1x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G1x4y5[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E1x4, 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 _ZTI6G1x4y5[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G1x4y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x4y5[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G1x4y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x4y5[];
+static VTT_ENTRY vtt_G1x4y5[] = {
+ {&(_ZTV6G1x4y5[3]), 3,7},
+ {&(_ZTV6G1x4y5[6]), 6,7},
+};
+extern VTBL_ENTRY _ZTI6G1x4y5[];
+extern VTBL_ENTRY _ZTV6G1x4y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x4y5[];
+Class_Descriptor cd_G1x4y5 = { "G1x4y5", // class name
+ bases_G1x4y5, 6,
+ &(vtc_G1x4y5[0]), // expected_vtbl_contents
+ &(vtt_G1x4y5[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G1x4y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x4y5),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x4y5),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 G1x4y6 : E1x4 , virtual F0 {
+ int ff;
+ ~G1x4y6(); // tgen
+ G1x4y6(); // tgen
+};
+//SIG(1 G1x4y6) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G1x4y6 ::~G1x4y6(){ note_dtor("G1x4y6", this);} // tgen
+G1x4y6 ::G1x4y6(){ note_ctor("G1x4y6", this);} // tgen
+
+static void Test_G1x4y6()
+{
+ extern Class_Descriptor cd_G1x4y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G1x4y6, buf);
+ G1x4y6 *dp, &lv = *(dp=new (buf) G1x4y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G1x4y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x4y6)");
+ check_base_class_offset(lv, (A1*)(C1*)(E1x4*), 0, "G1x4y6");
+ check_base_class_offset(lv, (B0*)(C1*)(E1x4*), ABISELECT(12,8), "G1x4y6");
+ check_base_class_offset(lv, (C1*)(E1x4*), 0, "G1x4y6");
+ check_base_class_offset(lv, (D0*)(E1x4*), ABISELECT(20,16), "G1x4y6");
+ check_base_class_offset(lv, (E1x4*), 0, "G1x4y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,28), "G1x4y6");
+ check_field_offset(lv, ff, ABISELECT(28,24), "G1x4y6.ff");
+ test_class_info(&lv, &cd_G1x4y6);
+ dp->~G1x4y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x4y6(Test_G1x4y6, "G1x4y6", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN6G1x4y6C1Ev();
+extern void _ZN6G1x4y6D1Ev();
+Name_Map name_map_G1x4y6[] = {
+ NSPAIR(_ZN6G1x4y6C1Ev),
+ NSPAIR(_ZN6G1x4y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E1x4;
+extern VTBL_ENTRY _ZTI4E1x4[];
+extern VTBL_ENTRY _ZTV4E1x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G1x4y6[] = {
+ // 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_D0, 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, 0},
+ {&cd_E1x4, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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(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 _ZTI6G1x4y6[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G1x4y6[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x4y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x4y6[];
+static VTT_ENTRY vtt_G1x4y6[] = {
+ {&(_ZTV6G1x4y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G1x4y6[];
+extern VTBL_ENTRY _ZTV6G1x4y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x4y6[];
+Class_Descriptor cd_G1x4y6 = { "G1x4y6", // class name
+ bases_G1x4y6, 6,
+ &(vtc_G1x4y6[0]), // expected_vtbl_contents
+ &(vtt_G1x4y6[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI6G1x4y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x4y6),4, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x4y6),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 G1x4y7 : virtual E1x4 , virtual F0 {
+ int ff;
+ ~G1x4y7(); // tgen
+ G1x4y7(); // tgen
+};
+//SIG(1 G1x4y7) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G1x4y7 ::~G1x4y7(){ note_dtor("G1x4y7", this);} // tgen
+G1x4y7 ::G1x4y7(){ note_ctor("G1x4y7", this);} // tgen
+
+static void Test_G1x4y7()
+{
+ extern Class_Descriptor cd_G1x4y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G1x4y7, buf);
+ G1x4y7 *dp, &lv = *(dp=new (buf) G1x4y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G1x4y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x4y7)");
+ check_base_class_offset(lv, (A1*)(C1*)(E1x4*), ABISELECT(16,8), "G1x4y7");
+ check_base_class_offset(lv, (B0*)(C1*)(E1x4*), ABISELECT(28,16), "G1x4y7");
+ check_base_class_offset(lv, (C1*)(E1x4*), ABISELECT(16,8), "G1x4y7");
+ check_base_class_offset(lv, (D0*)(E1x4*), ABISELECT(36,24), "G1x4y7");
+ check_base_class_offset(lv, (E1x4*), ABISELECT(16,8), "G1x4y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G1x4y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G1x4y7.ff");
+ test_class_info(&lv, &cd_G1x4y7);
+ dp->~G1x4y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x4y7(Test_G1x4y7, "G1x4y7", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G1x4y7C1Ev();
+extern void _ZN6G1x4y7D1Ev();
+Name_Map name_map_G1x4y7[] = {
+ NSPAIR(_ZN6G1x4y7C1Ev),
+ NSPAIR(_ZN6G1x4y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E1x4;
+extern VTBL_ENTRY _ZTI4E1x4[];
+extern VTBL_ENTRY _ZTV4E1x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G1x4y7[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E1x4, 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(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 _ZTI6G1x4y7[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G1x4y7[] = {
+ ABISELECT(44,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x4y7[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G1x4y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x4y7[];
+static VTT_ENTRY vtt_G1x4y7[] = {
+ {&(_ZTV6G1x4y7[4]), 4,8},
+ {&(_ZTV6G1x4y7[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI6G1x4y7[];
+extern VTBL_ENTRY _ZTV6G1x4y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x4y7[];
+Class_Descriptor cd_G1x4y7 = { "G1x4y7", // class name
+ bases_G1x4y7, 6,
+ &(vtc_G1x4y7[0]), // expected_vtbl_contents
+ &(vtt_G1x4y7[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G1x4y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x4y7),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x4y7),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 E2x4 : C2 , D0 {
+ int fd;
+ ~E2x4(); // tgen
+ E2x4(); // tgen
+};
+//SIG(-1 E2x4) C1{ BC2{ VBC3{ Fi} BC4{ Fi} Fi} BC5{ Fi} Fi}
+
+
+E2x4 ::~E2x4(){ note_dtor("E2x4", this);} // tgen
+E2x4 ::E2x4(){ note_ctor("E2x4", this);} // tgen
+
+static void Test_E2x4()
+{
+ extern Class_Descriptor cd_E2x4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(5,7)];
+ init_test(&cd_E2x4, buf);
+ E2x4 *dp, &lv = *(dp=new (buf) E2x4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(32,24), "sizeof(E2x4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E2x4)");
+ check_base_class_offset(lv, (A0*)(C2*), ABISELECT(24,20), "E2x4");
+ check_base_class_offset(lv, (B0*)(C2*), ABISELECT(8,4), "E2x4");
+ check_base_class_offset(lv, (C2*), 0, "E2x4");
+ check_base_class_offset(lv, (D0*), ABISELECT(16,12), "E2x4");
+ check_field_offset(lv, fd, ABISELECT(20,16), "E2x4.fd");
+ test_class_info(&lv, &cd_E2x4);
+ dp->~E2x4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE2x4(Test_E2x4, "E2x4", ABISELECT(32,24));
+
+#else // __cplusplus
+
+extern void _ZN4E2x4C1Ev();
+extern void _ZN4E2x4D1Ev();
+Name_Map name_map_E2x4[] = {
+ NSPAIR(_ZN4E2x4C1Ev),
+ NSPAIR(_ZN4E2x4D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E2x4[] = {
+ // 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
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI4E2x4[];
+static VTBL_ENTRY vtc_E2x4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x4[0]),
+};
+extern VTBL_ENTRY _ZTV4E2x4[];
+static VTBL_ENTRY _tg__ZTV2C2__4E2x4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_E2x4[] = {
+ {&(_ZTV4E2x4[3]), 3,3},
+ {&(_tg__ZTV2C2__4E2x4[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI4E2x4[];
+extern VTBL_ENTRY _ZTV4E2x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x4[];
+Class_Descriptor cd_E2x4 = { "E2x4", // class name
+ bases_E2x4, 4,
+ &(vtc_E2x4[0]), // expected_vtbl_contents
+ &(vtt_E2x4[0]), // expected_vtt_contents
+ ABISELECT(32,24), // object size
+ NSPAIRA(_ZTI4E2x4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E2x4),3, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E2x4),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 G2x4y0 : E2x4 , F1 {
+ int ff;
+ ~G2x4y0(); // tgen
+ G2x4y0(); // tgen
+};
+//SIG(1 G2x4y0) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ v1 Fi} Fi}
+
+
+G2x4y0 ::~G2x4y0(){ note_dtor("G2x4y0", this);} // tgen
+G2x4y0 ::G2x4y0(){ note_ctor("G2x4y0", this);} // tgen
+
+static void Test_G2x4y0()
+{
+ extern Class_Descriptor cd_G2x4y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G2x4y0, buf);
+ G2x4y0 *dp, &lv = *(dp=new (buf) G2x4y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G2x4y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x4y0)");
+ check_base_class_offset(lv, (A0*)(C2*)(E2x4*), ABISELECT(40,32), "G2x4y0");
+ check_base_class_offset(lv, (B0*)(C2*)(E2x4*), ABISELECT(8,4), "G2x4y0");
+ check_base_class_offset(lv, (C2*)(E2x4*), 0, "G2x4y0");
+ check_base_class_offset(lv, (D0*)(E2x4*), ABISELECT(16,12), "G2x4y0");
+ check_base_class_offset(lv, (E2x4*), 0, "G2x4y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,20), "G2x4y0");
+ check_field_offset(lv, ff, ABISELECT(36,28), "G2x4y0.ff");
+ test_class_info(&lv, &cd_G2x4y0);
+ dp->~G2x4y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x4y0(Test_G2x4y0, "G2x4y0", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G2x4y0C1Ev();
+extern void _ZN6G2x4y0D1Ev();
+Name_Map name_map_G2x4y0[] = {
+ NSPAIR(_ZN6G2x4y0C1Ev),
+ NSPAIR(_ZN6G2x4y0D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E2x4;
+extern VTBL_ENTRY _ZTI4E2x4[];
+extern VTBL_ENTRY _ZTV4E2x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G2x4y0[] = {
+ // 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E2x4, 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 _ZTI6G2x4y0[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G2x4y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x4y0[0]),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI6G2x4y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G2x4y0[];
+static VTBL_ENTRY _tg__ZTV4E2x4__6G2x4y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C24E2x4__6G2x4y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x4y0[] = {
+ {&(_ZTV6G2x4y0[3]), 3,6},
+ {&(_tg__ZTV4E2x4__6G2x4y0[3]), 3,3},
+ {&(_tg__ZTV2C24E2x4__6G2x4y0[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x4y0[];
+extern VTBL_ENTRY _ZTV6G2x4y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x4y0[];
+Class_Descriptor cd_G2x4y0 = { "G2x4y0", // class name
+ bases_G2x4y0, 6,
+ &(vtc_G2x4y0[0]), // expected_vtbl_contents
+ &(vtt_G2x4y0[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G2x4y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x4y0),6, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x4y0),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 G2x4y1 : virtual E2x4 , F1 {
+ int ff;
+ ~G2x4y1(); // tgen
+ G2x4y1(); // tgen
+};
+//SIG(1 G2x4y1) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ v1 Fi} Fi}
+
+
+G2x4y1 ::~G2x4y1(){ note_dtor("G2x4y1", this);} // tgen
+G2x4y1 ::G2x4y1(){ note_ctor("G2x4y1", this);} // tgen
+
+static void Test_G2x4y1()
+{
+ extern Class_Descriptor cd_G2x4y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G2x4y1, buf);
+ G2x4y1 *dp, &lv = *(dp=new (buf) G2x4y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G2x4y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x4y1)");
+ check_base_class_offset(lv, (A0*)(C2*)(E2x4*), ABISELECT(40,32), "G2x4y1");
+ check_base_class_offset(lv, (B0*)(C2*)(E2x4*), ABISELECT(24,16), "G2x4y1");
+ check_base_class_offset(lv, (C2*)(E2x4*), ABISELECT(16,12), "G2x4y1");
+ check_base_class_offset(lv, (D0*)(E2x4*), ABISELECT(32,24), "G2x4y1");
+ check_base_class_offset(lv, (E2x4*), ABISELECT(16,12), "G2x4y1");
+ check_base_class_offset(lv, (F1*), 0, "G2x4y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G2x4y1.ff");
+ test_class_info(&lv, &cd_G2x4y1);
+ dp->~G2x4y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x4y1(Test_G2x4y1, "G2x4y1", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G2x4y1C1Ev();
+extern void _ZN6G2x4y1D1Ev();
+Name_Map name_map_G2x4y1[] = {
+ NSPAIR(_ZN6G2x4y1C1Ev),
+ NSPAIR(_ZN6G2x4y1D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E2x4;
+extern VTBL_ENTRY _ZTI4E2x4[];
+extern VTBL_ENTRY _ZTV4E2x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G2x4y1[] = {
+ // 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(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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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, 0},
+ {&cd_E2x4, 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
+ 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 _ZTI6G2x4y1[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G2x4y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x4y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G2x4y1[0]),
+};
+extern VTBL_ENTRY _ZTV6G2x4y1[];
+static VTBL_ENTRY _tg__ZTV4E2x4__6G2x4y1[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C24E2x4__6G2x4y1[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x4y1[] = {
+ {&(_ZTV6G2x4y1[4]), 4,8},
+ {&(_ZTV6G2x4y1[8]), 8,8},
+ {&(_tg__ZTV4E2x4__6G2x4y1[3]), 3,3},
+ {&(_tg__ZTV2C24E2x4__6G2x4y1[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x4y1[];
+extern VTBL_ENTRY _ZTV6G2x4y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x4y1[];
+Class_Descriptor cd_G2x4y1 = { "G2x4y1", // class name
+ bases_G2x4y1, 6,
+ &(vtc_G2x4y1[0]), // expected_vtbl_contents
+ &(vtt_G2x4y1[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G2x4y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x4y1),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x4y1),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 G2x4y2 : E2x4 , virtual F1 {
+ int ff;
+ ~G2x4y2(); // tgen
+ G2x4y2(); // tgen
+};
+//SIG(1 G2x4y2) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ v1 Fi} Fi}
+
+
+G2x4y2 ::~G2x4y2(){ note_dtor("G2x4y2", this);} // tgen
+G2x4y2 ::G2x4y2(){ note_ctor("G2x4y2", this);} // tgen
+
+static void Test_G2x4y2()
+{
+ extern Class_Descriptor cd_G2x4y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G2x4y2, buf);
+ G2x4y2 *dp, &lv = *(dp=new (buf) G2x4y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G2x4y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x4y2)");
+ check_base_class_offset(lv, (A0*)(C2*)(E2x4*), ABISELECT(28,24), "G2x4y2");
+ check_base_class_offset(lv, (B0*)(C2*)(E2x4*), ABISELECT(8,4), "G2x4y2");
+ check_base_class_offset(lv, (C2*)(E2x4*), 0, "G2x4y2");
+ check_base_class_offset(lv, (D0*)(E2x4*), ABISELECT(16,12), "G2x4y2");
+ check_base_class_offset(lv, (E2x4*), 0, "G2x4y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,28), "G2x4y2");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G2x4y2.ff");
+ test_class_info(&lv, &cd_G2x4y2);
+ dp->~G2x4y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x4y2(Test_G2x4y2, "G2x4y2", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G2x4y2C1Ev();
+extern void _ZN6G2x4y2D1Ev();
+Name_Map name_map_G2x4y2[] = {
+ NSPAIR(_ZN6G2x4y2C1Ev),
+ NSPAIR(_ZN6G2x4y2D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E2x4;
+extern VTBL_ENTRY _ZTI4E2x4[];
+extern VTBL_ENTRY _ZTV4E2x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G2x4y2[] = {
+ // 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E2x4, 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
+ 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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G2x4y2[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G2x4y2[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x4y2[0]),
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI6G2x4y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G2x4y2[];
+static VTBL_ENTRY _tg__ZTV4E2x4__6G2x4y2[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C24E2x4__6G2x4y2[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x4y2[] = {
+ {&(_ZTV6G2x4y2[4]), 4,8},
+ {&(_tg__ZTV4E2x4__6G2x4y2[3]), 3,3},
+ {&(_tg__ZTV2C24E2x4__6G2x4y2[3]), 3,3},
+ {&(_ZTV6G2x4y2[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI6G2x4y2[];
+extern VTBL_ENTRY _ZTV6G2x4y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x4y2[];
+Class_Descriptor cd_G2x4y2 = { "G2x4y2", // class name
+ bases_G2x4y2, 6,
+ &(vtc_G2x4y2[0]), // expected_vtbl_contents
+ &(vtt_G2x4y2[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G2x4y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x4y2),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x4y2),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 G2x4y3 : virtual E2x4 , virtual F1 {
+ int ff;
+ ~G2x4y3(); // tgen
+ G2x4y3(); // tgen
+};
+//SIG(1 G2x4y3) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ v1 Fi} Fi}
+
+
+G2x4y3 ::~G2x4y3(){ note_dtor("G2x4y3", this);} // tgen
+G2x4y3 ::G2x4y3(){ note_ctor("G2x4y3", this);} // tgen
+
+static void Test_G2x4y3()
+{
+ extern Class_Descriptor cd_G2x4y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G2x4y3, buf);
+ G2x4y3 *dp, &lv = *(dp=new (buf) G2x4y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G2x4y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x4y3)");
+ check_base_class_offset(lv, (A0*)(C2*)(E2x4*), ABISELECT(40,28), "G2x4y3");
+ check_base_class_offset(lv, (B0*)(C2*)(E2x4*), ABISELECT(24,12), "G2x4y3");
+ check_base_class_offset(lv, (C2*)(E2x4*), ABISELECT(16,8), "G2x4y3");
+ check_base_class_offset(lv, (D0*)(E2x4*), ABISELECT(32,20), "G2x4y3");
+ check_base_class_offset(lv, (E2x4*), ABISELECT(16,8), "G2x4y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G2x4y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G2x4y3.ff");
+ test_class_info(&lv, &cd_G2x4y3);
+ dp->~G2x4y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x4y3(Test_G2x4y3, "G2x4y3", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G2x4y3C1Ev();
+extern void _ZN6G2x4y3D1Ev();
+Name_Map name_map_G2x4y3[] = {
+ NSPAIR(_ZN6G2x4y3C1Ev),
+ NSPAIR(_ZN6G2x4y3D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E2x4;
+extern VTBL_ENTRY _ZTI4E2x4[];
+extern VTBL_ENTRY _ZTV4E2x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G2x4y3[] = {
+ // 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(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_D0, 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, 0},
+ {&cd_E2x4, 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_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 _ZTI6G2x4y3[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G2x4y3[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x4y3[0]),
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G2x4y3[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G2x4y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G2x4y3[];
+static VTBL_ENTRY _tg__ZTV4E2x4__6G2x4y3[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C24E2x4__6G2x4y3[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x4y3[] = {
+ {&(_ZTV6G2x4y3[5]), 5,12},
+ {&(_ZTV6G2x4y3[8]), 8,12},
+ {&(_ZTV6G2x4y3[11]), 11,12},
+ {&(_tg__ZTV4E2x4__6G2x4y3[3]), 3,3},
+ {&(_tg__ZTV2C24E2x4__6G2x4y3[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x4y3[];
+extern VTBL_ENTRY _ZTV6G2x4y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x4y3[];
+Class_Descriptor cd_G2x4y3 = { "G2x4y3", // class name
+ bases_G2x4y3, 6,
+ &(vtc_G2x4y3[0]), // expected_vtbl_contents
+ &(vtt_G2x4y3[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G2x4y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x4y3),12, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x4y3),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 G2x4y4 : E2x4 , F0 {
+ int ff;
+ ~G2x4y4(); // tgen
+ G2x4y4(); // tgen
+};
+//SIG(1 G2x4y4) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G2x4y4 ::~G2x4y4(){ note_dtor("G2x4y4", this);} // tgen
+G2x4y4 ::G2x4y4(){ note_ctor("G2x4y4", this);} // tgen
+
+static void Test_G2x4y4()
+{
+ extern Class_Descriptor cd_G2x4y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G2x4y4, buf);
+ G2x4y4 *dp, &lv = *(dp=new (buf) G2x4y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G2x4y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x4y4)");
+ check_base_class_offset(lv, (A0*)(C2*)(E2x4*), ABISELECT(32,28), "G2x4y4");
+ check_base_class_offset(lv, (B0*)(C2*)(E2x4*), ABISELECT(8,4), "G2x4y4");
+ check_base_class_offset(lv, (C2*)(E2x4*), 0, "G2x4y4");
+ check_base_class_offset(lv, (D0*)(E2x4*), ABISELECT(16,12), "G2x4y4");
+ check_base_class_offset(lv, (E2x4*), 0, "G2x4y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(24,20), "G2x4y4");
+ check_field_offset(lv, ff, ABISELECT(28,24), "G2x4y4.ff");
+ test_class_info(&lv, &cd_G2x4y4);
+ dp->~G2x4y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x4y4(Test_G2x4y4, "G2x4y4", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN6G2x4y4C1Ev();
+extern void _ZN6G2x4y4D1Ev();
+Name_Map name_map_G2x4y4[] = {
+ NSPAIR(_ZN6G2x4y4C1Ev),
+ NSPAIR(_ZN6G2x4y4D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E2x4;
+extern VTBL_ENTRY _ZTI4E2x4[];
+extern VTBL_ENTRY _ZTV4E2x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G2x4y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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
+ 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E2x4, 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 _ZTI6G2x4y4[];
+static VTBL_ENTRY vtc_G2x4y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x4y4[0]),
+};
+extern VTBL_ENTRY _ZTV6G2x4y4[];
+static VTBL_ENTRY _tg__ZTV4E2x4__6G2x4y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C24E2x4__6G2x4y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x4y4[] = {
+ {&(_ZTV6G2x4y4[3]), 3,3},
+ {&(_tg__ZTV4E2x4__6G2x4y4[3]), 3,3},
+ {&(_tg__ZTV2C24E2x4__6G2x4y4[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x4y4[];
+extern VTBL_ENTRY _ZTV6G2x4y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x4y4[];
+Class_Descriptor cd_G2x4y4 = { "G2x4y4", // class name
+ bases_G2x4y4, 6,
+ &(vtc_G2x4y4[0]), // expected_vtbl_contents
+ &(vtt_G2x4y4[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI6G2x4y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x4y4),3, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x4y4),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 G2x4y5 : virtual E2x4 , F0 {
+ int ff;
+ ~G2x4y5(); // tgen
+ G2x4y5(); // tgen
+};
+//SIG(1 G2x4y5) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G2x4y5 ::~G2x4y5(){ note_dtor("G2x4y5", this);} // tgen
+G2x4y5 ::G2x4y5(){ note_ctor("G2x4y5", this);} // tgen
+
+static void Test_G2x4y5()
+{
+ extern Class_Descriptor cd_G2x4y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G2x4y5, buf);
+ G2x4y5 *dp, &lv = *(dp=new (buf) G2x4y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G2x4y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x4y5)");
+ check_base_class_offset(lv, (A0*)(C2*)(E2x4*), ABISELECT(40,32), "G2x4y5");
+ check_base_class_offset(lv, (B0*)(C2*)(E2x4*), ABISELECT(24,16), "G2x4y5");
+ check_base_class_offset(lv, (C2*)(E2x4*), ABISELECT(16,12), "G2x4y5");
+ check_base_class_offset(lv, (D0*)(E2x4*), ABISELECT(32,24), "G2x4y5");
+ check_base_class_offset(lv, (E2x4*), ABISELECT(16,12), "G2x4y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G2x4y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G2x4y5.ff");
+ test_class_info(&lv, &cd_G2x4y5);
+ dp->~G2x4y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x4y5(Test_G2x4y5, "G2x4y5", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G2x4y5C1Ev();
+extern void _ZN6G2x4y5D1Ev();
+Name_Map name_map_G2x4y5[] = {
+ NSPAIR(_ZN6G2x4y5C1Ev),
+ NSPAIR(_ZN6G2x4y5D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E2x4;
+extern VTBL_ENTRY _ZTI4E2x4[];
+extern VTBL_ENTRY _ZTV4E2x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G2x4y5[] = {
+ // 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(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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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, 0},
+ {&cd_E2x4, 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
+ 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 _ZTI6G2x4y5[];
+static VTBL_ENTRY vtc_G2x4y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x4y5[0]),
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G2x4y5[0]),
+};
+extern VTBL_ENTRY _ZTV6G2x4y5[];
+static VTBL_ENTRY _tg__ZTV4E2x4__6G2x4y5[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C24E2x4__6G2x4y5[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x4y5[] = {
+ {&(_ZTV6G2x4y5[4]), 4,7},
+ {&(_ZTV6G2x4y5[7]), 7,7},
+ {&(_tg__ZTV4E2x4__6G2x4y5[3]), 3,3},
+ {&(_tg__ZTV2C24E2x4__6G2x4y5[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x4y5[];
+extern VTBL_ENTRY _ZTV6G2x4y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x4y5[];
+Class_Descriptor cd_G2x4y5 = { "G2x4y5", // class name
+ bases_G2x4y5, 6,
+ &(vtc_G2x4y5[0]), // expected_vtbl_contents
+ &(vtt_G2x4y5[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G2x4y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x4y5),7, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x4y5),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 G2x4y6 : E2x4 , virtual F0 {
+ int ff;
+ ~G2x4y6(); // tgen
+ G2x4y6(); // tgen
+};
+//SIG(1 G2x4y6) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G2x4y6 ::~G2x4y6(){ note_dtor("G2x4y6", this);} // tgen
+G2x4y6 ::G2x4y6(){ note_ctor("G2x4y6", this);} // tgen
+
+static void Test_G2x4y6()
+{
+ extern Class_Descriptor cd_G2x4y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G2x4y6, buf);
+ G2x4y6 *dp, &lv = *(dp=new (buf) G2x4y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G2x4y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x4y6)");
+ check_base_class_offset(lv, (A0*)(C2*)(E2x4*), ABISELECT(28,24), "G2x4y6");
+ check_base_class_offset(lv, (B0*)(C2*)(E2x4*), ABISELECT(8,4), "G2x4y6");
+ check_base_class_offset(lv, (C2*)(E2x4*), 0, "G2x4y6");
+ check_base_class_offset(lv, (D0*)(E2x4*), ABISELECT(16,12), "G2x4y6");
+ check_base_class_offset(lv, (E2x4*), 0, "G2x4y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,28), "G2x4y6");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G2x4y6.ff");
+ test_class_info(&lv, &cd_G2x4y6);
+ dp->~G2x4y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x4y6(Test_G2x4y6, "G2x4y6", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN6G2x4y6C1Ev();
+extern void _ZN6G2x4y6D1Ev();
+Name_Map name_map_G2x4y6[] = {
+ NSPAIR(_ZN6G2x4y6C1Ev),
+ NSPAIR(_ZN6G2x4y6D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E2x4;
+extern VTBL_ENTRY _ZTI4E2x4[];
+extern VTBL_ENTRY _ZTV4E2x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G2x4y6[] = {
+ // 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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E2x4, 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 _ZTI6G2x4y6[];
+static VTBL_ENTRY vtc_G2x4y6[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x4y6[0]),
+};
+extern VTBL_ENTRY _ZTV6G2x4y6[];
+static VTBL_ENTRY _tg__ZTV4E2x4__6G2x4y6[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C24E2x4__6G2x4y6[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x4y6[] = {
+ {&(_ZTV6G2x4y6[4]), 4,4},
+ {&(_tg__ZTV4E2x4__6G2x4y6[3]), 3,3},
+ {&(_tg__ZTV2C24E2x4__6G2x4y6[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x4y6[];
+extern VTBL_ENTRY _ZTV6G2x4y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x4y6[];
+Class_Descriptor cd_G2x4y6 = { "G2x4y6", // class name
+ bases_G2x4y6, 6,
+ &(vtc_G2x4y6[0]), // expected_vtbl_contents
+ &(vtt_G2x4y6[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI6G2x4y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x4y6),4, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x4y6),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 G2x4y7 : virtual E2x4 , virtual F0 {
+ int ff;
+ ~G2x4y7(); // tgen
+ G2x4y7(); // tgen
+};
+//SIG(1 G2x4y7) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G2x4y7 ::~G2x4y7(){ note_dtor("G2x4y7", this);} // tgen
+G2x4y7 ::G2x4y7(){ note_ctor("G2x4y7", this);} // tgen
+
+static void Test_G2x4y7()
+{
+ extern Class_Descriptor cd_G2x4y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G2x4y7, buf);
+ G2x4y7 *dp, &lv = *(dp=new (buf) G2x4y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G2x4y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x4y7)");
+ check_base_class_offset(lv, (A0*)(C2*)(E2x4*), ABISELECT(40,28), "G2x4y7");
+ check_base_class_offset(lv, (B0*)(C2*)(E2x4*), ABISELECT(24,12), "G2x4y7");
+ check_base_class_offset(lv, (C2*)(E2x4*), ABISELECT(16,8), "G2x4y7");
+ check_base_class_offset(lv, (D0*)(E2x4*), ABISELECT(32,20), "G2x4y7");
+ check_base_class_offset(lv, (E2x4*), ABISELECT(16,8), "G2x4y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G2x4y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G2x4y7.ff");
+ test_class_info(&lv, &cd_G2x4y7);
+ dp->~G2x4y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x4y7(Test_G2x4y7, "G2x4y7", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G2x4y7C1Ev();
+extern void _ZN6G2x4y7D1Ev();
+Name_Map name_map_G2x4y7[] = {
+ NSPAIR(_ZN6G2x4y7C1Ev),
+ NSPAIR(_ZN6G2x4y7D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E2x4;
+extern VTBL_ENTRY _ZTI4E2x4[];
+extern VTBL_ENTRY _ZTV4E2x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G2x4y7[] = {
+ // 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(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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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, 0},
+ {&cd_E2x4, 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
+ 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 _ZTI6G2x4y7[];
+static VTBL_ENTRY vtc_G2x4y7[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x4y7[0]),
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G2x4y7[0]),
+};
+extern VTBL_ENTRY _ZTV6G2x4y7[];
+static VTBL_ENTRY _tg__ZTV4E2x4__6G2x4y7[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C24E2x4__6G2x4y7[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x4y7[] = {
+ {&(_ZTV6G2x4y7[5]), 5,8},
+ {&(_ZTV6G2x4y7[8]), 8,8},
+ {&(_tg__ZTV4E2x4__6G2x4y7[3]), 3,3},
+ {&(_tg__ZTV2C24E2x4__6G2x4y7[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x4y7[];
+extern VTBL_ENTRY _ZTV6G2x4y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x4y7[];
+Class_Descriptor cd_G2x4y7 = { "G2x4y7", // class name
+ bases_G2x4y7, 6,
+ &(vtc_G2x4y7[0]), // expected_vtbl_contents
+ &(vtt_G2x4y7[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G2x4y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x4y7),8, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x4y7),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 E3x4 : C3 , D0 {
+ int fd;
+ ~E3x4(); // tgen
+ E3x4(); // tgen
+};
+//SIG(-1 E3x4) C1{ BC2{ VBC3{ v1 Fi} BC4{ Fi} Fi} BC5{ Fi} Fi}
+
+
+E3x4 ::~E3x4(){ note_dtor("E3x4", this);} // tgen
+E3x4 ::E3x4(){ note_ctor("E3x4", this);} // tgen
+
+static void Test_E3x4()
+{
+ extern Class_Descriptor cd_E3x4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E3x4, buf);
+ E3x4 *dp, &lv = *(dp=new (buf) E3x4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E3x4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E3x4)");
+ check_base_class_offset(lv, (A1*)(C3*), ABISELECT(24,20), "E3x4");
+ check_base_class_offset(lv, (B0*)(C3*), ABISELECT(8,4), "E3x4");
+ check_base_class_offset(lv, (C3*), 0, "E3x4");
+ check_base_class_offset(lv, (D0*), ABISELECT(16,12), "E3x4");
+ check_field_offset(lv, fd, ABISELECT(20,16), "E3x4.fd");
+ test_class_info(&lv, &cd_E3x4);
+ dp->~E3x4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE3x4(Test_E3x4, "E3x4", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN4E3x4C1Ev();
+extern void _ZN4E3x4D1Ev();
+Name_Map name_map_E3x4[] = {
+ NSPAIR(_ZN4E3x4C1Ev),
+ NSPAIR(_ZN4E3x4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E3x4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(24,20), //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
+ 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI4E3x4[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_E3x4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x4[0]),
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E3x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E3x4[];
+static VTBL_ENTRY _tg__ZTV2C3__4E3x4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C3__4E3x4[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_E3x4[] = {
+ {&(_ZTV4E3x4[3]), 3,7},
+ {&(_tg__ZTV2C3__4E3x4[3]), 3,3},
+ {&(_tg__ZTV2A1__2C3__4E3x4[3]), 3,4},
+ {&(_ZTV4E3x4[6]), 6,7},
+};
+extern VTBL_ENTRY _ZTI4E3x4[];
+extern VTBL_ENTRY _ZTV4E3x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x4[];
+Class_Descriptor cd_E3x4 = { "E3x4", // class name
+ bases_E3x4, 4,
+ &(vtc_E3x4[0]), // expected_vtbl_contents
+ &(vtt_E3x4[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI4E3x4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E3x4),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E3x4),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 G3x4y0 : E3x4 , F1 {
+ int ff;
+ ~G3x4y0(); // tgen
+ G3x4y0(); // tgen
+};
+//SIG(1 G3x4y0) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G3x4y0 ::~G3x4y0(){ note_dtor("G3x4y0", this);} // tgen
+G3x4y0 ::G3x4y0(){ note_ctor("G3x4y0", this);} // tgen
+
+static void Test_G3x4y0()
+{
+ extern Class_Descriptor cd_G3x4y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G3x4y0, buf);
+ G3x4y0 *dp, &lv = *(dp=new (buf) G3x4y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G3x4y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x4y0)");
+ check_base_class_offset(lv, (A1*)(C3*)(E3x4*), ABISELECT(40,32), "G3x4y0");
+ check_base_class_offset(lv, (B0*)(C3*)(E3x4*), ABISELECT(8,4), "G3x4y0");
+ check_base_class_offset(lv, (C3*)(E3x4*), 0, "G3x4y0");
+ check_base_class_offset(lv, (D0*)(E3x4*), ABISELECT(16,12), "G3x4y0");
+ check_base_class_offset(lv, (E3x4*), 0, "G3x4y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,20), "G3x4y0");
+ check_field_offset(lv, ff, ABISELECT(36,28), "G3x4y0.ff");
+ test_class_info(&lv, &cd_G3x4y0);
+ dp->~G3x4y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x4y0(Test_G3x4y0, "G3x4y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G3x4y0C1Ev();
+extern void _ZN6G3x4y0D1Ev();
+Name_Map name_map_G3x4y0[] = {
+ NSPAIR(_ZN6G3x4y0C1Ev),
+ NSPAIR(_ZN6G3x4y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E3x4;
+extern VTBL_ENTRY _ZTI4E3x4[];
+extern VTBL_ENTRY _ZTV4E3x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G3x4y0[] = {
+ // 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E3x4, 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
+ 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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G3x4y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G3x4y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x4y0[0]),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI6G3x4y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI6G3x4y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x4y0[];
+static VTBL_ENTRY _tg__ZTV4E3x4__6G3x4y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C34E3x4__6G3x4y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C34E3x4__6G3x4y0[] = {
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x4__6G3x4y0[] = {
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI4E3x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x4y0[] = {
+ {&(_ZTV6G3x4y0[3]), 3,10},
+ {&(_tg__ZTV4E3x4__6G3x4y0[3]), 3,3},
+ {&(_tg__ZTV2C34E3x4__6G3x4y0[3]), 3,3},
+ {&(_tg__ZTV2A1__2C34E3x4__6G3x4y0[3]), 3,4},
+ {&(_tg__ZTV2A1__4E3x4__6G3x4y0[3]), 3,4},
+ {&(_ZTV6G3x4y0[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI6G3x4y0[];
+extern VTBL_ENTRY _ZTV6G3x4y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x4y0[];
+Class_Descriptor cd_G3x4y0 = { "G3x4y0", // class name
+ bases_G3x4y0, 6,
+ &(vtc_G3x4y0[0]), // expected_vtbl_contents
+ &(vtt_G3x4y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G3x4y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x4y0),10, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x4y0),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 G3x4y1 : virtual E3x4 , F1 {
+ int ff;
+ ~G3x4y1(); // tgen
+ G3x4y1(); // tgen
+};
+//SIG(1 G3x4y1) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G3x4y1 ::~G3x4y1(){ note_dtor("G3x4y1", this);} // tgen
+G3x4y1 ::G3x4y1(){ note_ctor("G3x4y1", this);} // tgen
+
+static void Test_G3x4y1()
+{
+ extern Class_Descriptor cd_G3x4y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G3x4y1, buf);
+ G3x4y1 *dp, &lv = *(dp=new (buf) G3x4y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G3x4y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x4y1)");
+ check_base_class_offset(lv, (A1*)(C3*)(E3x4*), ABISELECT(40,32), "G3x4y1");
+ check_base_class_offset(lv, (B0*)(C3*)(E3x4*), ABISELECT(24,16), "G3x4y1");
+ check_base_class_offset(lv, (C3*)(E3x4*), ABISELECT(16,12), "G3x4y1");
+ check_base_class_offset(lv, (D0*)(E3x4*), ABISELECT(32,24), "G3x4y1");
+ check_base_class_offset(lv, (E3x4*), ABISELECT(16,12), "G3x4y1");
+ check_base_class_offset(lv, (F1*), 0, "G3x4y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G3x4y1.ff");
+ test_class_info(&lv, &cd_G3x4y1);
+ dp->~G3x4y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x4y1(Test_G3x4y1, "G3x4y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G3x4y1C1Ev();
+extern void _ZN6G3x4y1D1Ev();
+Name_Map name_map_G3x4y1[] = {
+ NSPAIR(_ZN6G3x4y1C1Ev),
+ NSPAIR(_ZN6G3x4y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E3x4;
+extern VTBL_ENTRY _ZTI4E3x4[];
+extern VTBL_ENTRY _ZTV4E3x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G3x4y1[] = {
+ // 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)
+ 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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, 0},
+ {&cd_E3x4, 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
+ 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 _ZTI6G3x4y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G3x4y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x4y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G3x4y1[0]),
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI6G3x4y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x4y1[];
+static VTBL_ENTRY _tg__ZTV4E3x4__6G3x4y1[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C34E3x4__6G3x4y1[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C34E3x4__6G3x4y1[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x4__6G3x4y1[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E3x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x4y1[] = {
+ {&(_ZTV6G3x4y1[4]), 4,12},
+ {&(_ZTV6G3x4y1[8]), 8,12},
+ {&(_ZTV6G3x4y1[11]), 11,12},
+ {&(_tg__ZTV4E3x4__6G3x4y1[3]), 3,3},
+ {&(_tg__ZTV2C34E3x4__6G3x4y1[3]), 3,3},
+ {&(_tg__ZTV2A1__2C34E3x4__6G3x4y1[3]), 3,4},
+ {&(_tg__ZTV2A1__4E3x4__6G3x4y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G3x4y1[];
+extern VTBL_ENTRY _ZTV6G3x4y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x4y1[];
+Class_Descriptor cd_G3x4y1 = { "G3x4y1", // class name
+ bases_G3x4y1, 6,
+ &(vtc_G3x4y1[0]), // expected_vtbl_contents
+ &(vtt_G3x4y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G3x4y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x4y1),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x4y1),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 G3x4y2 : E3x4 , virtual F1 {
+ int ff;
+ ~G3x4y2(); // tgen
+ G3x4y2(); // tgen
+};
+//SIG(1 G3x4y2) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G3x4y2 ::~G3x4y2(){ note_dtor("G3x4y2", this);} // tgen
+G3x4y2 ::G3x4y2(){ note_ctor("G3x4y2", this);} // tgen
+
+static void Test_G3x4y2()
+{
+ extern Class_Descriptor cd_G3x4y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G3x4y2, buf);
+ G3x4y2 *dp, &lv = *(dp=new (buf) G3x4y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G3x4y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x4y2)");
+ check_base_class_offset(lv, (A1*)(C3*)(E3x4*), ABISELECT(32,24), "G3x4y2");
+ check_base_class_offset(lv, (B0*)(C3*)(E3x4*), ABISELECT(8,4), "G3x4y2");
+ check_base_class_offset(lv, (C3*)(E3x4*), 0, "G3x4y2");
+ check_base_class_offset(lv, (D0*)(E3x4*), ABISELECT(16,12), "G3x4y2");
+ check_base_class_offset(lv, (E3x4*), 0, "G3x4y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G3x4y2");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G3x4y2.ff");
+ test_class_info(&lv, &cd_G3x4y2);
+ dp->~G3x4y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x4y2(Test_G3x4y2, "G3x4y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G3x4y2C1Ev();
+extern void _ZN6G3x4y2D1Ev();
+Name_Map name_map_G3x4y2[] = {
+ NSPAIR(_ZN6G3x4y2C1Ev),
+ NSPAIR(_ZN6G3x4y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E3x4;
+extern VTBL_ENTRY _ZTI4E3x4[];
+extern VTBL_ENTRY _ZTV4E3x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G3x4y2[] = {
+ // 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)
+ 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E3x4, 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
+ 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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G3x4y2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G3x4y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x4y2[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G3x4y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G3x4y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x4y2[];
+static VTBL_ENTRY _tg__ZTV4E3x4__6G3x4y2[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C34E3x4__6G3x4y2[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C34E3x4__6G3x4y2[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x4__6G3x4y2[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E3x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x4y2[] = {
+ {&(_ZTV6G3x4y2[4]), 4,12},
+ {&(_tg__ZTV4E3x4__6G3x4y2[3]), 3,3},
+ {&(_tg__ZTV2C34E3x4__6G3x4y2[3]), 3,3},
+ {&(_tg__ZTV2A1__2C34E3x4__6G3x4y2[3]), 3,4},
+ {&(_tg__ZTV2A1__4E3x4__6G3x4y2[3]), 3,4},
+ {&(_ZTV6G3x4y2[7]), 7,12},
+ {&(_ZTV6G3x4y2[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI6G3x4y2[];
+extern VTBL_ENTRY _ZTV6G3x4y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x4y2[];
+Class_Descriptor cd_G3x4y2 = { "G3x4y2", // class name
+ bases_G3x4y2, 6,
+ &(vtc_G3x4y2[0]), // expected_vtbl_contents
+ &(vtt_G3x4y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G3x4y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x4y2),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x4y2),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 G3x4y3 : virtual E3x4 , virtual F1 {
+ int ff;
+ ~G3x4y3(); // tgen
+ G3x4y3(); // tgen
+};
+//SIG(1 G3x4y3) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G3x4y3 ::~G3x4y3(){ note_dtor("G3x4y3", this);} // tgen
+G3x4y3 ::G3x4y3(){ note_ctor("G3x4y3", this);} // tgen
+
+static void Test_G3x4y3()
+{
+ extern Class_Descriptor cd_G3x4y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G3x4y3, buf);
+ G3x4y3 *dp, &lv = *(dp=new (buf) G3x4y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G3x4y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x4y3)");
+ check_base_class_offset(lv, (A1*)(C3*)(E3x4*), ABISELECT(40,28), "G3x4y3");
+ check_base_class_offset(lv, (B0*)(C3*)(E3x4*), ABISELECT(24,12), "G3x4y3");
+ check_base_class_offset(lv, (C3*)(E3x4*), ABISELECT(16,8), "G3x4y3");
+ check_base_class_offset(lv, (D0*)(E3x4*), ABISELECT(32,20), "G3x4y3");
+ check_base_class_offset(lv, (E3x4*), ABISELECT(16,8), "G3x4y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G3x4y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G3x4y3.ff");
+ test_class_info(&lv, &cd_G3x4y3);
+ dp->~G3x4y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x4y3(Test_G3x4y3, "G3x4y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G3x4y3C1Ev();
+extern void _ZN6G3x4y3D1Ev();
+Name_Map name_map_G3x4y3[] = {
+ NSPAIR(_ZN6G3x4y3C1Ev),
+ NSPAIR(_ZN6G3x4y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E3x4;
+extern VTBL_ENTRY _ZTI4E3x4[];
+extern VTBL_ENTRY _ZTV4E3x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G3x4y3[] = {
+ // 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)
+ 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_D0, 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, 0},
+ {&cd_E3x4, 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
+ 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 _ZTI6G3x4y3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G3x4y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x4y3[0]),
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G3x4y3[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G3x4y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G3x4y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x4y3[];
+static VTBL_ENTRY _tg__ZTV4E3x4__6G3x4y3[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C34E3x4__6G3x4y3[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C34E3x4__6G3x4y3[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x4__6G3x4y3[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E3x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x4y3[] = {
+ {&(_ZTV6G3x4y3[5]), 5,16},
+ {&(_ZTV6G3x4y3[8]), 8,16},
+ {&(_ZTV6G3x4y3[11]), 11,16},
+ {&(_ZTV6G3x4y3[15]), 15,16},
+ {&(_tg__ZTV4E3x4__6G3x4y3[3]), 3,3},
+ {&(_tg__ZTV2C34E3x4__6G3x4y3[3]), 3,3},
+ {&(_tg__ZTV2A1__2C34E3x4__6G3x4y3[3]), 3,4},
+ {&(_tg__ZTV2A1__4E3x4__6G3x4y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G3x4y3[];
+extern VTBL_ENTRY _ZTV6G3x4y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x4y3[];
+Class_Descriptor cd_G3x4y3 = { "G3x4y3", // class name
+ bases_G3x4y3, 6,
+ &(vtc_G3x4y3[0]), // expected_vtbl_contents
+ &(vtt_G3x4y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G3x4y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x4y3),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x4y3),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 G3x4y4 : E3x4 , F0 {
+ int ff;
+ ~G3x4y4(); // tgen
+ G3x4y4(); // tgen
+};
+//SIG(1 G3x4y4) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G3x4y4 ::~G3x4y4(){ note_dtor("G3x4y4", this);} // tgen
+G3x4y4 ::G3x4y4(){ note_ctor("G3x4y4", this);} // tgen
+
+static void Test_G3x4y4()
+{
+ extern Class_Descriptor cd_G3x4y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G3x4y4, buf);
+ G3x4y4 *dp, &lv = *(dp=new (buf) G3x4y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G3x4y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x4y4)");
+ check_base_class_offset(lv, (A1*)(C3*)(E3x4*), ABISELECT(32,28), "G3x4y4");
+ check_base_class_offset(lv, (B0*)(C3*)(E3x4*), ABISELECT(8,4), "G3x4y4");
+ check_base_class_offset(lv, (C3*)(E3x4*), 0, "G3x4y4");
+ check_base_class_offset(lv, (D0*)(E3x4*), ABISELECT(16,12), "G3x4y4");
+ check_base_class_offset(lv, (E3x4*), 0, "G3x4y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(24,20), "G3x4y4");
+ check_field_offset(lv, ff, ABISELECT(28,24), "G3x4y4.ff");
+ test_class_info(&lv, &cd_G3x4y4);
+ dp->~G3x4y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x4y4(Test_G3x4y4, "G3x4y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G3x4y4C1Ev();
+extern void _ZN6G3x4y4D1Ev();
+Name_Map name_map_G3x4y4[] = {
+ NSPAIR(_ZN6G3x4y4C1Ev),
+ NSPAIR(_ZN6G3x4y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E3x4;
+extern VTBL_ENTRY _ZTI4E3x4[];
+extern VTBL_ENTRY _ZTV4E3x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G3x4y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,28), //bcp->offset
+ 3, //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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E3x4, 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 _ZTI6G3x4y4[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G3x4y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x4y4[0]),
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI6G3x4y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x4y4[];
+static VTBL_ENTRY _tg__ZTV4E3x4__6G3x4y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C34E3x4__6G3x4y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C34E3x4__6G3x4y4[] = {
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x4__6G3x4y4[] = {
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI4E3x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x4y4[] = {
+ {&(_ZTV6G3x4y4[3]), 3,7},
+ {&(_tg__ZTV4E3x4__6G3x4y4[3]), 3,3},
+ {&(_tg__ZTV2C34E3x4__6G3x4y4[3]), 3,3},
+ {&(_tg__ZTV2A1__2C34E3x4__6G3x4y4[3]), 3,4},
+ {&(_tg__ZTV2A1__4E3x4__6G3x4y4[3]), 3,4},
+ {&(_ZTV6G3x4y4[6]), 6,7},
+};
+extern VTBL_ENTRY _ZTI6G3x4y4[];
+extern VTBL_ENTRY _ZTV6G3x4y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x4y4[];
+Class_Descriptor cd_G3x4y4 = { "G3x4y4", // class name
+ bases_G3x4y4, 6,
+ &(vtc_G3x4y4[0]), // expected_vtbl_contents
+ &(vtt_G3x4y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G3x4y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x4y4),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x4y4),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 G3x4y5 : virtual E3x4 , F0 {
+ int ff;
+ ~G3x4y5(); // tgen
+ G3x4y5(); // tgen
+};
+//SIG(1 G3x4y5) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G3x4y5 ::~G3x4y5(){ note_dtor("G3x4y5", this);} // tgen
+G3x4y5 ::G3x4y5(){ note_ctor("G3x4y5", this);} // tgen
+
+static void Test_G3x4y5()
+{
+ extern Class_Descriptor cd_G3x4y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G3x4y5, buf);
+ G3x4y5 *dp, &lv = *(dp=new (buf) G3x4y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G3x4y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x4y5)");
+ check_base_class_offset(lv, (A1*)(C3*)(E3x4*), ABISELECT(40,32), "G3x4y5");
+ check_base_class_offset(lv, (B0*)(C3*)(E3x4*), ABISELECT(24,16), "G3x4y5");
+ check_base_class_offset(lv, (C3*)(E3x4*), ABISELECT(16,12), "G3x4y5");
+ check_base_class_offset(lv, (D0*)(E3x4*), ABISELECT(32,24), "G3x4y5");
+ check_base_class_offset(lv, (E3x4*), ABISELECT(16,12), "G3x4y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G3x4y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G3x4y5.ff");
+ test_class_info(&lv, &cd_G3x4y5);
+ dp->~G3x4y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x4y5(Test_G3x4y5, "G3x4y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G3x4y5C1Ev();
+extern void _ZN6G3x4y5D1Ev();
+Name_Map name_map_G3x4y5[] = {
+ NSPAIR(_ZN6G3x4y5C1Ev),
+ NSPAIR(_ZN6G3x4y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E3x4;
+extern VTBL_ENTRY _ZTI4E3x4[];
+extern VTBL_ENTRY _ZTV4E3x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G3x4y5[] = {
+ // 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)
+ 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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, 0},
+ {&cd_E3x4, 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
+ 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 _ZTI6G3x4y5[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G3x4y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x4y5[0]),
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G3x4y5[0]),
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI6G3x4y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x4y5[];
+static VTBL_ENTRY _tg__ZTV4E3x4__6G3x4y5[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C34E3x4__6G3x4y5[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C34E3x4__6G3x4y5[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x4__6G3x4y5[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E3x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x4y5[] = {
+ {&(_ZTV6G3x4y5[4]), 4,11},
+ {&(_ZTV6G3x4y5[7]), 7,11},
+ {&(_ZTV6G3x4y5[10]), 10,11},
+ {&(_tg__ZTV4E3x4__6G3x4y5[3]), 3,3},
+ {&(_tg__ZTV2C34E3x4__6G3x4y5[3]), 3,3},
+ {&(_tg__ZTV2A1__2C34E3x4__6G3x4y5[3]), 3,4},
+ {&(_tg__ZTV2A1__4E3x4__6G3x4y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G3x4y5[];
+extern VTBL_ENTRY _ZTV6G3x4y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x4y5[];
+Class_Descriptor cd_G3x4y5 = { "G3x4y5", // class name
+ bases_G3x4y5, 6,
+ &(vtc_G3x4y5[0]), // expected_vtbl_contents
+ &(vtt_G3x4y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G3x4y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x4y5),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x4y5),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 G3x4y6 : E3x4 , virtual F0 {
+ int ff;
+ ~G3x4y6(); // tgen
+ G3x4y6(); // tgen
+};
+//SIG(1 G3x4y6) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G3x4y6 ::~G3x4y6(){ note_dtor("G3x4y6", this);} // tgen
+G3x4y6 ::G3x4y6(){ note_ctor("G3x4y6", this);} // tgen
+
+static void Test_G3x4y6()
+{
+ extern Class_Descriptor cd_G3x4y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G3x4y6, buf);
+ G3x4y6 *dp, &lv = *(dp=new (buf) G3x4y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G3x4y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x4y6)");
+ check_base_class_offset(lv, (A1*)(C3*)(E3x4*), ABISELECT(32,24), "G3x4y6");
+ check_base_class_offset(lv, (B0*)(C3*)(E3x4*), ABISELECT(8,4), "G3x4y6");
+ check_base_class_offset(lv, (C3*)(E3x4*), 0, "G3x4y6");
+ check_base_class_offset(lv, (D0*)(E3x4*), ABISELECT(16,12), "G3x4y6");
+ check_base_class_offset(lv, (E3x4*), 0, "G3x4y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G3x4y6");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G3x4y6.ff");
+ test_class_info(&lv, &cd_G3x4y6);
+ dp->~G3x4y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x4y6(Test_G3x4y6, "G3x4y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G3x4y6C1Ev();
+extern void _ZN6G3x4y6D1Ev();
+Name_Map name_map_G3x4y6[] = {
+ NSPAIR(_ZN6G3x4y6C1Ev),
+ NSPAIR(_ZN6G3x4y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E3x4;
+extern VTBL_ENTRY _ZTI4E3x4[];
+extern VTBL_ENTRY _ZTV4E3x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G3x4y6[] = {
+ // 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)
+ 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E3x4, 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 _ZTI6G3x4y6[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G3x4y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x4y6[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G3x4y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x4y6[];
+static VTBL_ENTRY _tg__ZTV4E3x4__6G3x4y6[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C34E3x4__6G3x4y6[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C34E3x4__6G3x4y6[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x4__6G3x4y6[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E3x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x4y6[] = {
+ {&(_ZTV6G3x4y6[4]), 4,8},
+ {&(_tg__ZTV4E3x4__6G3x4y6[3]), 3,3},
+ {&(_tg__ZTV2C34E3x4__6G3x4y6[3]), 3,3},
+ {&(_tg__ZTV2A1__2C34E3x4__6G3x4y6[3]), 3,4},
+ {&(_tg__ZTV2A1__4E3x4__6G3x4y6[3]), 3,4},
+ {&(_ZTV6G3x4y6[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI6G3x4y6[];
+extern VTBL_ENTRY _ZTV6G3x4y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x4y6[];
+Class_Descriptor cd_G3x4y6 = { "G3x4y6", // class name
+ bases_G3x4y6, 6,
+ &(vtc_G3x4y6[0]), // expected_vtbl_contents
+ &(vtt_G3x4y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G3x4y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x4y6),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x4y6),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 G3x4y7 : virtual E3x4 , virtual F0 {
+ int ff;
+ ~G3x4y7(); // tgen
+ G3x4y7(); // tgen
+};
+//SIG(1 G3x4y7) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G3x4y7 ::~G3x4y7(){ note_dtor("G3x4y7", this);} // tgen
+G3x4y7 ::G3x4y7(){ note_ctor("G3x4y7", this);} // tgen
+
+static void Test_G3x4y7()
+{
+ extern Class_Descriptor cd_G3x4y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G3x4y7, buf);
+ G3x4y7 *dp, &lv = *(dp=new (buf) G3x4y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G3x4y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x4y7)");
+ check_base_class_offset(lv, (A1*)(C3*)(E3x4*), ABISELECT(40,28), "G3x4y7");
+ check_base_class_offset(lv, (B0*)(C3*)(E3x4*), ABISELECT(24,12), "G3x4y7");
+ check_base_class_offset(lv, (C3*)(E3x4*), ABISELECT(16,8), "G3x4y7");
+ check_base_class_offset(lv, (D0*)(E3x4*), ABISELECT(32,20), "G3x4y7");
+ check_base_class_offset(lv, (E3x4*), ABISELECT(16,8), "G3x4y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G3x4y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G3x4y7.ff");
+ test_class_info(&lv, &cd_G3x4y7);
+ dp->~G3x4y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x4y7(Test_G3x4y7, "G3x4y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G3x4y7C1Ev();
+extern void _ZN6G3x4y7D1Ev();
+Name_Map name_map_G3x4y7[] = {
+ NSPAIR(_ZN6G3x4y7C1Ev),
+ NSPAIR(_ZN6G3x4y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E3x4;
+extern VTBL_ENTRY _ZTI4E3x4[];
+extern VTBL_ENTRY _ZTV4E3x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G3x4y7[] = {
+ // 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)
+ 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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, 0},
+ {&cd_E3x4, 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
+ 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 _ZTI6G3x4y7[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G3x4y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x4y7[0]),
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G3x4y7[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G3x4y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x4y7[];
+static VTBL_ENTRY _tg__ZTV4E3x4__6G3x4y7[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C34E3x4__6G3x4y7[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C34E3x4__6G3x4y7[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x4__6G3x4y7[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E3x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x4y7[] = {
+ {&(_ZTV6G3x4y7[5]), 5,12},
+ {&(_ZTV6G3x4y7[8]), 8,12},
+ {&(_ZTV6G3x4y7[11]), 11,12},
+ {&(_tg__ZTV4E3x4__6G3x4y7[3]), 3,3},
+ {&(_tg__ZTV2C34E3x4__6G3x4y7[3]), 3,3},
+ {&(_tg__ZTV2A1__2C34E3x4__6G3x4y7[3]), 3,4},
+ {&(_tg__ZTV2A1__4E3x4__6G3x4y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G3x4y7[];
+extern VTBL_ENTRY _ZTV6G3x4y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x4y7[];
+Class_Descriptor cd_G3x4y7 = { "G3x4y7", // class name
+ bases_G3x4y7, 6,
+ &(vtc_G3x4y7[0]), // expected_vtbl_contents
+ &(vtt_G3x4y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G3x4y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x4y7),12, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x4y7),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 E4x4 : C4 , D0 {
+ int fd;
+ ~E4x4(); // tgen
+ E4x4(); // tgen
+};
+//SIG(-1 E4x4) C1{ BC2{ BC3{ Fi} BC4{ v1 Fi} Fi} BC5{ Fi} Fi}
+
+
+E4x4 ::~E4x4(){ note_dtor("E4x4", this);} // tgen
+E4x4 ::E4x4(){ note_ctor("E4x4", this);} // tgen
+
+static void Test_E4x4()
+{
+ extern Class_Descriptor cd_E4x4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(5,7)];
+ init_test(&cd_E4x4, buf);
+ E4x4 *dp, &lv = *(dp=new (buf) E4x4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(32,24), "sizeof(E4x4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E4x4)");
+ check_base_class_offset(lv, (A0*)(C4*), ABISELECT(12,8), "E4x4");
+ check_base_class_offset(lv, (B1*)(C4*), 0, "E4x4");
+ check_base_class_offset(lv, (C4*), 0, "E4x4");
+ check_base_class_offset(lv, (D0*), ABISELECT(20,16), "E4x4");
+ check_field_offset(lv, fd, ABISELECT(24,20), "E4x4.fd");
+ test_class_info(&lv, &cd_E4x4);
+ dp->~E4x4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE4x4(Test_E4x4, "E4x4", ABISELECT(32,24));
+
+#else // __cplusplus
+
+extern void _ZN4E4x4C1Ev();
+extern void _ZN4E4x4D1Ev();
+Name_Map name_map_E4x4[] = {
+ NSPAIR(_ZN4E4x4C1Ev),
+ NSPAIR(_ZN4E4x4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E4x4[] = {
+ // 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_D0, 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 _ZTI4E4x4[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_E4x4[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTI4E4x4[];
+extern VTBL_ENTRY _ZTV4E4x4[];
+Class_Descriptor cd_E4x4 = { "E4x4", // class name
+ bases_E4x4, 4,
+ &(vtc_E4x4[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(32,24), // object size
+ NSPAIRA(_ZTI4E4x4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E4x4),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 G4x4y0 : E4x4 , F1 {
+ int ff;
+ ~G4x4y0(); // tgen
+ G4x4y0(); // tgen
+};
+//SIG(1 G4x4y0) C1{ BC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G4x4y0 ::~G4x4y0(){ note_dtor("G4x4y0", this);} // tgen
+G4x4y0 ::G4x4y0(){ note_ctor("G4x4y0", this);} // tgen
+
+static void Test_G4x4y0()
+{
+ extern Class_Descriptor cd_G4x4y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G4x4y0, buf);
+ G4x4y0 *dp, &lv = *(dp=new (buf) G4x4y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G4x4y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x4y0)");
+ check_base_class_offset(lv, (A0*)(C4*)(E4x4*), ABISELECT(12,8), "G4x4y0");
+ check_base_class_offset(lv, (B1*)(C4*)(E4x4*), 0, "G4x4y0");
+ check_base_class_offset(lv, (C4*)(E4x4*), 0, "G4x4y0");
+ check_base_class_offset(lv, (D0*)(E4x4*), ABISELECT(20,16), "G4x4y0");
+ check_base_class_offset(lv, (E4x4*), 0, "G4x4y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,24), "G4x4y0");
+ check_field_offset(lv, ff, ABISELECT(44,32), "G4x4y0.ff");
+ test_class_info(&lv, &cd_G4x4y0);
+ dp->~G4x4y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x4y0(Test_G4x4y0, "G4x4y0", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G4x4y0C1Ev();
+extern void _ZN6G4x4y0D1Ev();
+Name_Map name_map_G4x4y0[] = {
+ NSPAIR(_ZN6G4x4y0C1Ev),
+ NSPAIR(_ZN6G4x4y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E4x4;
+extern VTBL_ENTRY _ZTI4E4x4[];
+extern VTBL_ENTRY _ZTV4E4x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G4x4y0[] = {
+ // 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_D0, 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, 0},
+ {&cd_E4x4, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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,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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G4x4y0[];
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G4x4y0[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x4y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G4x4y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTI6G4x4y0[];
+extern VTBL_ENTRY _ZTV6G4x4y0[];
+Class_Descriptor cd_G4x4y0 = { "G4x4y0", // class name
+ bases_G4x4y0, 6,
+ &(vtc_G4x4y0[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G4x4y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x4y0),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 G4x4y1 : virtual E4x4 , F1 {
+ int ff;
+ ~G4x4y1(); // tgen
+ G4x4y1(); // tgen
+};
+//SIG(1 G4x4y1) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G4x4y1 ::~G4x4y1(){ note_dtor("G4x4y1", this);} // tgen
+G4x4y1 ::G4x4y1(){ note_ctor("G4x4y1", this);} // tgen
+
+static void Test_G4x4y1()
+{
+ extern Class_Descriptor cd_G4x4y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G4x4y1, buf);
+ G4x4y1 *dp, &lv = *(dp=new (buf) G4x4y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G4x4y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x4y1)");
+ check_base_class_offset(lv, (A0*)(C4*)(E4x4*), ABISELECT(28,20), "G4x4y1");
+ check_base_class_offset(lv, (B1*)(C4*)(E4x4*), ABISELECT(16,12), "G4x4y1");
+ check_base_class_offset(lv, (C4*)(E4x4*), ABISELECT(16,12), "G4x4y1");
+ check_base_class_offset(lv, (D0*)(E4x4*), ABISELECT(36,28), "G4x4y1");
+ check_base_class_offset(lv, (E4x4*), ABISELECT(16,12), "G4x4y1");
+ check_base_class_offset(lv, (F1*), 0, "G4x4y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G4x4y1.ff");
+ test_class_info(&lv, &cd_G4x4y1);
+ dp->~G4x4y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x4y1(Test_G4x4y1, "G4x4y1", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G4x4y1C1Ev();
+extern void _ZN6G4x4y1D1Ev();
+Name_Map name_map_G4x4y1[] = {
+ NSPAIR(_ZN6G4x4y1C1Ev),
+ NSPAIR(_ZN6G4x4y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E4x4;
+extern VTBL_ENTRY _ZTI4E4x4[];
+extern VTBL_ENTRY _ZTV4E4x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G4x4y1[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E4x4, 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 _ZTI6G4x4y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G4x4y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x4y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G4x4y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x4y1[];
+static VTT_ENTRY vtt_G4x4y1[] = {
+ {&(_ZTV6G4x4y1[3]), 3,8},
+ {&(_ZTV6G4x4y1[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI6G4x4y1[];
+extern VTBL_ENTRY _ZTV6G4x4y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x4y1[];
+Class_Descriptor cd_G4x4y1 = { "G4x4y1", // class name
+ bases_G4x4y1, 6,
+ &(vtc_G4x4y1[0]), // expected_vtbl_contents
+ &(vtt_G4x4y1[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G4x4y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x4y1),8, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x4y1),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 G4x4y2 : E4x4 , virtual F1 {
+ int ff;
+ ~G4x4y2(); // tgen
+ G4x4y2(); // tgen
+};
+//SIG(1 G4x4y2) C1{ BC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G4x4y2 ::~G4x4y2(){ note_dtor("G4x4y2", this);} // tgen
+G4x4y2 ::G4x4y2(){ note_ctor("G4x4y2", this);} // tgen
+
+static void Test_G4x4y2()
+{
+ extern Class_Descriptor cd_G4x4y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G4x4y2, buf);
+ G4x4y2 *dp, &lv = *(dp=new (buf) G4x4y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G4x4y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x4y2)");
+ check_base_class_offset(lv, (A0*)(C4*)(E4x4*), ABISELECT(12,8), "G4x4y2");
+ check_base_class_offset(lv, (B1*)(C4*)(E4x4*), 0, "G4x4y2");
+ check_base_class_offset(lv, (C4*)(E4x4*), 0, "G4x4y2");
+ check_base_class_offset(lv, (D0*)(E4x4*), ABISELECT(20,16), "G4x4y2");
+ check_base_class_offset(lv, (E4x4*), 0, "G4x4y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,28), "G4x4y2");
+ check_field_offset(lv, ff, ABISELECT(28,24), "G4x4y2.ff");
+ test_class_info(&lv, &cd_G4x4y2);
+ dp->~G4x4y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x4y2(Test_G4x4y2, "G4x4y2", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G4x4y2C1Ev();
+extern void _ZN6G4x4y2D1Ev();
+Name_Map name_map_G4x4y2[] = {
+ NSPAIR(_ZN6G4x4y2C1Ev),
+ NSPAIR(_ZN6G4x4y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E4x4;
+extern VTBL_ENTRY _ZTI4E4x4[];
+extern VTBL_ENTRY _ZTV4E4x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G4x4y2[] = {
+ // 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_D0, 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, 0},
+ {&cd_E4x4, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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(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 _ZTI6G4x4y2[];
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G4x4y2[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x4y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI6G4x4y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x4y2[];
+static VTT_ENTRY vtt_G4x4y2[] = {
+ {&(_ZTV6G4x4y2[3]), 3,8},
+ {&(_ZTV6G4x4y2[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI6G4x4y2[];
+extern VTBL_ENTRY _ZTV6G4x4y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x4y2[];
+Class_Descriptor cd_G4x4y2 = { "G4x4y2", // class name
+ bases_G4x4y2, 6,
+ &(vtc_G4x4y2[0]), // expected_vtbl_contents
+ &(vtt_G4x4y2[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G4x4y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x4y2),8, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x4y2),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 G4x4y3 : virtual E4x4 , virtual F1 {
+ int ff;
+ ~G4x4y3(); // tgen
+ G4x4y3(); // tgen
+};
+//SIG(1 G4x4y3) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G4x4y3 ::~G4x4y3(){ note_dtor("G4x4y3", this);} // tgen
+G4x4y3 ::G4x4y3(){ note_ctor("G4x4y3", this);} // tgen
+
+static void Test_G4x4y3()
+{
+ extern Class_Descriptor cd_G4x4y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G4x4y3, buf);
+ G4x4y3 *dp, &lv = *(dp=new (buf) G4x4y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G4x4y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x4y3)");
+ check_base_class_offset(lv, (A0*)(C4*)(E4x4*), ABISELECT(28,16), "G4x4y3");
+ check_base_class_offset(lv, (B1*)(C4*)(E4x4*), ABISELECT(16,8), "G4x4y3");
+ check_base_class_offset(lv, (C4*)(E4x4*), ABISELECT(16,8), "G4x4y3");
+ check_base_class_offset(lv, (D0*)(E4x4*), ABISELECT(36,24), "G4x4y3");
+ check_base_class_offset(lv, (E4x4*), ABISELECT(16,8), "G4x4y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G4x4y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G4x4y3.ff");
+ test_class_info(&lv, &cd_G4x4y3);
+ dp->~G4x4y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x4y3(Test_G4x4y3, "G4x4y3", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G4x4y3C1Ev();
+extern void _ZN6G4x4y3D1Ev();
+Name_Map name_map_G4x4y3[] = {
+ NSPAIR(_ZN6G4x4y3C1Ev),
+ NSPAIR(_ZN6G4x4y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E4x4;
+extern VTBL_ENTRY _ZTI4E4x4[];
+extern VTBL_ENTRY _ZTV4E4x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G4x4y3[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E4x4, 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(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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G4x4y3[];
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G4x4y3[] = {
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x4y3[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G4x4y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G4x4y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x4y3[];
+static VTT_ENTRY vtt_G4x4y3[] = {
+ {&(_ZTV6G4x4y3[4]), 4,12},
+ {&(_ZTV6G4x4y3[7]), 7,12},
+ {&(_ZTV6G4x4y3[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI6G4x4y3[];
+extern VTBL_ENTRY _ZTV6G4x4y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x4y3[];
+Class_Descriptor cd_G4x4y3 = { "G4x4y3", // class name
+ bases_G4x4y3, 6,
+ &(vtc_G4x4y3[0]), // expected_vtbl_contents
+ &(vtt_G4x4y3[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G4x4y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x4y3),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x4y3),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 G4x4y4 : E4x4 , F0 {
+ int ff;
+ ~G4x4y4(); // tgen
+ G4x4y4(); // tgen
+};
+//SIG(1 G4x4y4) C1{ BC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G4x4y4 ::~G4x4y4(){ note_dtor("G4x4y4", this);} // tgen
+G4x4y4 ::G4x4y4(){ note_ctor("G4x4y4", this);} // tgen
+
+static void Test_G4x4y4()
+{
+ extern Class_Descriptor cd_G4x4y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G4x4y4, buf);
+ G4x4y4 *dp, &lv = *(dp=new (buf) G4x4y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G4x4y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x4y4)");
+ check_base_class_offset(lv, (A0*)(C4*)(E4x4*), ABISELECT(12,8), "G4x4y4");
+ check_base_class_offset(lv, (B1*)(C4*)(E4x4*), 0, "G4x4y4");
+ check_base_class_offset(lv, (C4*)(E4x4*), 0, "G4x4y4");
+ check_base_class_offset(lv, (D0*)(E4x4*), ABISELECT(20,16), "G4x4y4");
+ check_base_class_offset(lv, (E4x4*), 0, "G4x4y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(28,24), "G4x4y4");
+ check_field_offset(lv, ff, ABISELECT(32,28), "G4x4y4.ff");
+ test_class_info(&lv, &cd_G4x4y4);
+ dp->~G4x4y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x4y4(Test_G4x4y4, "G4x4y4", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN6G4x4y4C1Ev();
+extern void _ZN6G4x4y4D1Ev();
+Name_Map name_map_G4x4y4[] = {
+ NSPAIR(_ZN6G4x4y4C1Ev),
+ NSPAIR(_ZN6G4x4y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E4x4;
+extern VTBL_ENTRY _ZTI4E4x4[];
+extern VTBL_ENTRY _ZTV4E4x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G4x4y4[] = {
+ // 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_D0, 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, 0},
+ {&cd_E4x4, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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(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 _ZTI6G4x4y4[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G4x4y4[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x4y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTI6G4x4y4[];
+extern VTBL_ENTRY _ZTV6G4x4y4[];
+Class_Descriptor cd_G4x4y4 = { "G4x4y4", // class name
+ bases_G4x4y4, 6,
+ &(vtc_G4x4y4[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI6G4x4y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x4y4),3, //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 G4x4y5 : virtual E4x4 , F0 {
+ int ff;
+ ~G4x4y5(); // tgen
+ G4x4y5(); // tgen
+};
+//SIG(1 G4x4y5) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G4x4y5 ::~G4x4y5(){ note_dtor("G4x4y5", this);} // tgen
+G4x4y5 ::G4x4y5(){ note_ctor("G4x4y5", this);} // tgen
+
+static void Test_G4x4y5()
+{
+ extern Class_Descriptor cd_G4x4y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G4x4y5, buf);
+ G4x4y5 *dp, &lv = *(dp=new (buf) G4x4y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G4x4y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x4y5)");
+ check_base_class_offset(lv, (A0*)(C4*)(E4x4*), ABISELECT(28,20), "G4x4y5");
+ check_base_class_offset(lv, (B1*)(C4*)(E4x4*), ABISELECT(16,12), "G4x4y5");
+ check_base_class_offset(lv, (C4*)(E4x4*), ABISELECT(16,12), "G4x4y5");
+ check_base_class_offset(lv, (D0*)(E4x4*), ABISELECT(36,28), "G4x4y5");
+ check_base_class_offset(lv, (E4x4*), ABISELECT(16,12), "G4x4y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G4x4y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G4x4y5.ff");
+ test_class_info(&lv, &cd_G4x4y5);
+ dp->~G4x4y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x4y5(Test_G4x4y5, "G4x4y5", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G4x4y5C1Ev();
+extern void _ZN6G4x4y5D1Ev();
+Name_Map name_map_G4x4y5[] = {
+ NSPAIR(_ZN6G4x4y5C1Ev),
+ NSPAIR(_ZN6G4x4y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E4x4;
+extern VTBL_ENTRY _ZTI4E4x4[];
+extern VTBL_ENTRY _ZTV4E4x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G4x4y5[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E4x4, 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 _ZTI6G4x4y5[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G4x4y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x4y5[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G4x4y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x4y5[];
+static VTT_ENTRY vtt_G4x4y5[] = {
+ {&(_ZTV6G4x4y5[3]), 3,7},
+ {&(_ZTV6G4x4y5[6]), 6,7},
+};
+extern VTBL_ENTRY _ZTI6G4x4y5[];
+extern VTBL_ENTRY _ZTV6G4x4y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x4y5[];
+Class_Descriptor cd_G4x4y5 = { "G4x4y5", // class name
+ bases_G4x4y5, 6,
+ &(vtc_G4x4y5[0]), // expected_vtbl_contents
+ &(vtt_G4x4y5[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G4x4y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x4y5),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x4y5),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 G4x4y6 : E4x4 , virtual F0 {
+ int ff;
+ ~G4x4y6(); // tgen
+ G4x4y6(); // tgen
+};
+//SIG(1 G4x4y6) C1{ BC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G4x4y6 ::~G4x4y6(){ note_dtor("G4x4y6", this);} // tgen
+G4x4y6 ::G4x4y6(){ note_ctor("G4x4y6", this);} // tgen
+
+static void Test_G4x4y6()
+{
+ extern Class_Descriptor cd_G4x4y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G4x4y6, buf);
+ G4x4y6 *dp, &lv = *(dp=new (buf) G4x4y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G4x4y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x4y6)");
+ check_base_class_offset(lv, (A0*)(C4*)(E4x4*), ABISELECT(12,8), "G4x4y6");
+ check_base_class_offset(lv, (B1*)(C4*)(E4x4*), 0, "G4x4y6");
+ check_base_class_offset(lv, (C4*)(E4x4*), 0, "G4x4y6");
+ check_base_class_offset(lv, (D0*)(E4x4*), ABISELECT(20,16), "G4x4y6");
+ check_base_class_offset(lv, (E4x4*), 0, "G4x4y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,28), "G4x4y6");
+ check_field_offset(lv, ff, ABISELECT(28,24), "G4x4y6.ff");
+ test_class_info(&lv, &cd_G4x4y6);
+ dp->~G4x4y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x4y6(Test_G4x4y6, "G4x4y6", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN6G4x4y6C1Ev();
+extern void _ZN6G4x4y6D1Ev();
+Name_Map name_map_G4x4y6[] = {
+ NSPAIR(_ZN6G4x4y6C1Ev),
+ NSPAIR(_ZN6G4x4y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E4x4;
+extern VTBL_ENTRY _ZTI4E4x4[];
+extern VTBL_ENTRY _ZTV4E4x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G4x4y6[] = {
+ // 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_D0, 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, 0},
+ {&cd_E4x4, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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(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 _ZTI6G4x4y6[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G4x4y6[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x4y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x4y6[];
+static VTT_ENTRY vtt_G4x4y6[] = {
+ {&(_ZTV6G4x4y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G4x4y6[];
+extern VTBL_ENTRY _ZTV6G4x4y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x4y6[];
+Class_Descriptor cd_G4x4y6 = { "G4x4y6", // class name
+ bases_G4x4y6, 6,
+ &(vtc_G4x4y6[0]), // expected_vtbl_contents
+ &(vtt_G4x4y6[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI6G4x4y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x4y6),4, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x4y6),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 G4x4y7 : virtual E4x4 , virtual F0 {
+ int ff;
+ ~G4x4y7(); // tgen
+ G4x4y7(); // tgen
+};
+//SIG(1 G4x4y7) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G4x4y7 ::~G4x4y7(){ note_dtor("G4x4y7", this);} // tgen
+G4x4y7 ::G4x4y7(){ note_ctor("G4x4y7", this);} // tgen
+
+static void Test_G4x4y7()
+{
+ extern Class_Descriptor cd_G4x4y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G4x4y7, buf);
+ G4x4y7 *dp, &lv = *(dp=new (buf) G4x4y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G4x4y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x4y7)");
+ check_base_class_offset(lv, (A0*)(C4*)(E4x4*), ABISELECT(28,16), "G4x4y7");
+ check_base_class_offset(lv, (B1*)(C4*)(E4x4*), ABISELECT(16,8), "G4x4y7");
+ check_base_class_offset(lv, (C4*)(E4x4*), ABISELECT(16,8), "G4x4y7");
+ check_base_class_offset(lv, (D0*)(E4x4*), ABISELECT(36,24), "G4x4y7");
+ check_base_class_offset(lv, (E4x4*), ABISELECT(16,8), "G4x4y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G4x4y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G4x4y7.ff");
+ test_class_info(&lv, &cd_G4x4y7);
+ dp->~G4x4y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x4y7(Test_G4x4y7, "G4x4y7", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G4x4y7C1Ev();
+extern void _ZN6G4x4y7D1Ev();
+Name_Map name_map_G4x4y7[] = {
+ NSPAIR(_ZN6G4x4y7C1Ev),
+ NSPAIR(_ZN6G4x4y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E4x4;
+extern VTBL_ENTRY _ZTI4E4x4[];
+extern VTBL_ENTRY _ZTV4E4x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G4x4y7[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E4x4, 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(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 _ZTI6G4x4y7[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G4x4y7[] = {
+ ABISELECT(44,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x4y7[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G4x4y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x4y7[];
+static VTT_ENTRY vtt_G4x4y7[] = {
+ {&(_ZTV6G4x4y7[4]), 4,8},
+ {&(_ZTV6G4x4y7[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI6G4x4y7[];
+extern VTBL_ENTRY _ZTV6G4x4y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x4y7[];
+Class_Descriptor cd_G4x4y7 = { "G4x4y7", // class name
+ bases_G4x4y7, 6,
+ &(vtc_G4x4y7[0]), // expected_vtbl_contents
+ &(vtt_G4x4y7[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G4x4y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x4y7),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x4y7),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 E5x4 : C5 , D0 {
+ int fd;
+ ~E5x4(); // tgen
+ E5x4(); // tgen
+};
+//SIG(-1 E5x4) C1{ BC2{ BC3{ v1 Fi} BC4{ v2 Fi} Fi} BC5{ Fi} Fi}
+
+
+E5x4 ::~E5x4(){ note_dtor("E5x4", this);} // tgen
+E5x4 ::E5x4(){ note_ctor("E5x4", this);} // tgen
+
+static void Test_E5x4()
+{
+ extern Class_Descriptor cd_E5x4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E5x4, buf);
+ E5x4 *dp, &lv = *(dp=new (buf) E5x4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E5x4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E5x4)");
+ check_base_class_offset(lv, (A1*)(C5*), 0, "E5x4");
+ check_base_class_offset(lv, (B1*)(C5*), ABISELECT(16,8), "E5x4");
+ check_base_class_offset(lv, (C5*), 0, "E5x4");
+ check_base_class_offset(lv, (D0*), ABISELECT(32,20), "E5x4");
+ check_field_offset(lv, fd, ABISELECT(36,24), "E5x4.fd");
+ test_class_info(&lv, &cd_E5x4);
+ dp->~E5x4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE5x4(Test_E5x4, "E5x4", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN4E5x4C1Ev();
+extern void _ZN4E5x4D1Ev();
+Name_Map name_map_E5x4[] = {
+ NSPAIR(_ZN4E5x4C1Ev),
+ NSPAIR(_ZN4E5x4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E5x4[] = {
+ // 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_D0, 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 _ZTI4E5x4[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_E5x4[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E5x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTI4E5x4[];
+extern VTBL_ENTRY _ZTV4E5x4[];
+Class_Descriptor cd_E5x4 = { "E5x4", // class name
+ bases_E5x4, 4,
+ &(vtc_E5x4[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI4E5x4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E5x4),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 G5x4y0 : E5x4 , F1 {
+ int ff;
+ ~G5x4y0(); // tgen
+ G5x4y0(); // tgen
+};
+//SIG(1 G5x4y0) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G5x4y0 ::~G5x4y0(){ note_dtor("G5x4y0", this);} // tgen
+G5x4y0 ::G5x4y0(){ note_ctor("G5x4y0", this);} // tgen
+
+static void Test_G5x4y0()
+{
+ extern Class_Descriptor cd_G5x4y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G5x4y0, buf);
+ G5x4y0 *dp, &lv = *(dp=new (buf) G5x4y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G5x4y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x4y0)");
+ check_base_class_offset(lv, (A1*)(C5*)(E5x4*), 0, "G5x4y0");
+ check_base_class_offset(lv, (B1*)(C5*)(E5x4*), ABISELECT(16,8), "G5x4y0");
+ check_base_class_offset(lv, (C5*)(E5x4*), 0, "G5x4y0");
+ check_base_class_offset(lv, (D0*)(E5x4*), ABISELECT(32,20), "G5x4y0");
+ check_base_class_offset(lv, (E5x4*), 0, "G5x4y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(40,28), "G5x4y0");
+ check_field_offset(lv, ff, ABISELECT(52,36), "G5x4y0.ff");
+ test_class_info(&lv, &cd_G5x4y0);
+ dp->~G5x4y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x4y0(Test_G5x4y0, "G5x4y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G5x4y0C1Ev();
+extern void _ZN6G5x4y0D1Ev();
+Name_Map name_map_G5x4y0[] = {
+ NSPAIR(_ZN6G5x4y0C1Ev),
+ NSPAIR(_ZN6G5x4y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E5x4;
+extern VTBL_ENTRY _ZTI4E5x4[];
+extern VTBL_ENTRY _ZTV4E5x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G5x4y0[] = {
+ // 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_D0, 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, 0},
+ {&cd_E5x4, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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 _ZTI6G5x4y0[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G5x4y0[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x4y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G5x4y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G5x4y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTI6G5x4y0[];
+extern VTBL_ENTRY _ZTV6G5x4y0[];
+Class_Descriptor cd_G5x4y0 = { "G5x4y0", // class name
+ bases_G5x4y0, 6,
+ &(vtc_G5x4y0[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G5x4y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x4y0),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 G5x4y1 : virtual E5x4 , F1 {
+ int ff;
+ ~G5x4y1(); // tgen
+ G5x4y1(); // tgen
+};
+//SIG(1 G5x4y1) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G5x4y1 ::~G5x4y1(){ note_dtor("G5x4y1", this);} // tgen
+G5x4y1 ::G5x4y1(){ note_ctor("G5x4y1", this);} // tgen
+
+static void Test_G5x4y1()
+{
+ extern Class_Descriptor cd_G5x4y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G5x4y1, buf);
+ G5x4y1 *dp, &lv = *(dp=new (buf) G5x4y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G5x4y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x4y1)");
+ check_base_class_offset(lv, (A1*)(C5*)(E5x4*), ABISELECT(16,12), "G5x4y1");
+ check_base_class_offset(lv, (B1*)(C5*)(E5x4*), ABISELECT(32,20), "G5x4y1");
+ check_base_class_offset(lv, (C5*)(E5x4*), ABISELECT(16,12), "G5x4y1");
+ check_base_class_offset(lv, (D0*)(E5x4*), ABISELECT(48,32), "G5x4y1");
+ check_base_class_offset(lv, (E5x4*), ABISELECT(16,12), "G5x4y1");
+ check_base_class_offset(lv, (F1*), 0, "G5x4y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G5x4y1.ff");
+ test_class_info(&lv, &cd_G5x4y1);
+ dp->~G5x4y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x4y1(Test_G5x4y1, "G5x4y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G5x4y1C1Ev();
+extern void _ZN6G5x4y1D1Ev();
+Name_Map name_map_G5x4y1[] = {
+ NSPAIR(_ZN6G5x4y1C1Ev),
+ NSPAIR(_ZN6G5x4y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E5x4;
+extern VTBL_ENTRY _ZTI4E5x4[];
+extern VTBL_ENTRY _ZTV4E5x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G5x4y1[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E5x4, 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 _ZTI6G5x4y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G5x4y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x4y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G5x4y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G5x4y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x4y1[];
+static VTT_ENTRY vtt_G5x4y1[] = {
+ {&(_ZTV6G5x4y1[3]), 3,11},
+ {&(_ZTV6G5x4y1[7]), 7,11},
+ {&(_ZTV6G5x4y1[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI6G5x4y1[];
+extern VTBL_ENTRY _ZTV6G5x4y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x4y1[];
+Class_Descriptor cd_G5x4y1 = { "G5x4y1", // class name
+ bases_G5x4y1, 6,
+ &(vtc_G5x4y1[0]), // expected_vtbl_contents
+ &(vtt_G5x4y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G5x4y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x4y1),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x4y1),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 G5x4y2 : E5x4 , virtual F1 {
+ int ff;
+ ~G5x4y2(); // tgen
+ G5x4y2(); // tgen
+};
+//SIG(1 G5x4y2) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G5x4y2 ::~G5x4y2(){ note_dtor("G5x4y2", this);} // tgen
+G5x4y2 ::G5x4y2(){ note_ctor("G5x4y2", this);} // tgen
+
+static void Test_G5x4y2()
+{
+ extern Class_Descriptor cd_G5x4y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G5x4y2, buf);
+ G5x4y2 *dp, &lv = *(dp=new (buf) G5x4y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G5x4y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x4y2)");
+ check_base_class_offset(lv, (A1*)(C5*)(E5x4*), 0, "G5x4y2");
+ check_base_class_offset(lv, (B1*)(C5*)(E5x4*), ABISELECT(16,8), "G5x4y2");
+ check_base_class_offset(lv, (C5*)(E5x4*), 0, "G5x4y2");
+ check_base_class_offset(lv, (D0*)(E5x4*), ABISELECT(32,20), "G5x4y2");
+ check_base_class_offset(lv, (E5x4*), 0, "G5x4y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G5x4y2");
+ check_field_offset(lv, ff, ABISELECT(40,28), "G5x4y2.ff");
+ test_class_info(&lv, &cd_G5x4y2);
+ dp->~G5x4y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x4y2(Test_G5x4y2, "G5x4y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G5x4y2C1Ev();
+extern void _ZN6G5x4y2D1Ev();
+Name_Map name_map_G5x4y2[] = {
+ NSPAIR(_ZN6G5x4y2C1Ev),
+ NSPAIR(_ZN6G5x4y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E5x4;
+extern VTBL_ENTRY _ZTI4E5x4[];
+extern VTBL_ENTRY _ZTV4E5x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G5x4y2[] = {
+ // 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_D0, 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, 0},
+ {&cd_E5x4, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_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 _ZTI6G5x4y2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G5x4y2[] = {
+ ABISELECT(48,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x4y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G5x4y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G5x4y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x4y2[];
+static VTT_ENTRY vtt_G5x4y2[] = {
+ {&(_ZTV6G5x4y2[3]), 3,11},
+ {&(_ZTV6G5x4y2[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI6G5x4y2[];
+extern VTBL_ENTRY _ZTV6G5x4y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x4y2[];
+Class_Descriptor cd_G5x4y2 = { "G5x4y2", // class name
+ bases_G5x4y2, 6,
+ &(vtc_G5x4y2[0]), // expected_vtbl_contents
+ &(vtt_G5x4y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G5x4y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x4y2),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x4y2),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 G5x4y3 : virtual E5x4 , virtual F1 {
+ int ff;
+ ~G5x4y3(); // tgen
+ G5x4y3(); // tgen
+};
+//SIG(1 G5x4y3) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G5x4y3 ::~G5x4y3(){ note_dtor("G5x4y3", this);} // tgen
+G5x4y3 ::G5x4y3(){ note_ctor("G5x4y3", this);} // tgen
+
+static void Test_G5x4y3()
+{
+ extern Class_Descriptor cd_G5x4y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G5x4y3, buf);
+ G5x4y3 *dp, &lv = *(dp=new (buf) G5x4y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G5x4y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x4y3)");
+ check_base_class_offset(lv, (A1*)(C5*)(E5x4*), ABISELECT(16,8), "G5x4y3");
+ check_base_class_offset(lv, (B1*)(C5*)(E5x4*), ABISELECT(32,16), "G5x4y3");
+ check_base_class_offset(lv, (C5*)(E5x4*), ABISELECT(16,8), "G5x4y3");
+ check_base_class_offset(lv, (D0*)(E5x4*), ABISELECT(48,28), "G5x4y3");
+ check_base_class_offset(lv, (E5x4*), ABISELECT(16,8), "G5x4y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G5x4y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G5x4y3.ff");
+ test_class_info(&lv, &cd_G5x4y3);
+ dp->~G5x4y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x4y3(Test_G5x4y3, "G5x4y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G5x4y3C1Ev();
+extern void _ZN6G5x4y3D1Ev();
+Name_Map name_map_G5x4y3[] = {
+ NSPAIR(_ZN6G5x4y3C1Ev),
+ NSPAIR(_ZN6G5x4y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E5x4;
+extern VTBL_ENTRY _ZTI4E5x4[];
+extern VTBL_ENTRY _ZTV4E5x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G5x4y3[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E5x4, 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 _ZTI6G5x4y3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G5x4y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x4y3[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G5x4y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI6G5x4y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G5x4y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x4y3[];
+static VTT_ENTRY vtt_G5x4y3[] = {
+ {&(_ZTV6G5x4y3[4]), 4,15},
+ {&(_ZTV6G5x4y3[7]), 7,15},
+ {&(_ZTV6G5x4y3[10]), 10,15},
+ {&(_ZTV6G5x4y3[14]), 14,15},
+};
+extern VTBL_ENTRY _ZTI6G5x4y3[];
+extern VTBL_ENTRY _ZTV6G5x4y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x4y3[];
+Class_Descriptor cd_G5x4y3 = { "G5x4y3", // class name
+ bases_G5x4y3, 6,
+ &(vtc_G5x4y3[0]), // expected_vtbl_contents
+ &(vtt_G5x4y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G5x4y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x4y3),15, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x4y3),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 G5x4y4 : E5x4 , F0 {
+ int ff;
+ ~G5x4y4(); // tgen
+ G5x4y4(); // tgen
+};
+//SIG(1 G5x4y4) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G5x4y4 ::~G5x4y4(){ note_dtor("G5x4y4", this);} // tgen
+G5x4y4 ::G5x4y4(){ note_ctor("G5x4y4", this);} // tgen
+
+static void Test_G5x4y4()
+{
+ extern Class_Descriptor cd_G5x4y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G5x4y4, buf);
+ G5x4y4 *dp, &lv = *(dp=new (buf) G5x4y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G5x4y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x4y4)");
+ check_base_class_offset(lv, (A1*)(C5*)(E5x4*), 0, "G5x4y4");
+ check_base_class_offset(lv, (B1*)(C5*)(E5x4*), ABISELECT(16,8), "G5x4y4");
+ check_base_class_offset(lv, (C5*)(E5x4*), 0, "G5x4y4");
+ check_base_class_offset(lv, (D0*)(E5x4*), ABISELECT(32,20), "G5x4y4");
+ check_base_class_offset(lv, (E5x4*), 0, "G5x4y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(40,28), "G5x4y4");
+ check_field_offset(lv, ff, ABISELECT(44,32), "G5x4y4.ff");
+ test_class_info(&lv, &cd_G5x4y4);
+ dp->~G5x4y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x4y4(Test_G5x4y4, "G5x4y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G5x4y4C1Ev();
+extern void _ZN6G5x4y4D1Ev();
+Name_Map name_map_G5x4y4[] = {
+ NSPAIR(_ZN6G5x4y4C1Ev),
+ NSPAIR(_ZN6G5x4y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E5x4;
+extern VTBL_ENTRY _ZTI4E5x4[];
+extern VTBL_ENTRY _ZTV4E5x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G5x4y4[] = {
+ // 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_D0, 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, 0},
+ {&cd_E5x4, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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 _ZTI6G5x4y4[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G5x4y4[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x4y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G5x4y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTI6G5x4y4[];
+extern VTBL_ENTRY _ZTV6G5x4y4[];
+Class_Descriptor cd_G5x4y4 = { "G5x4y4", // class name
+ bases_G5x4y4, 6,
+ &(vtc_G5x4y4[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G5x4y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x4y4),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 G5x4y5 : virtual E5x4 , F0 {
+ int ff;
+ ~G5x4y5(); // tgen
+ G5x4y5(); // tgen
+};
+//SIG(1 G5x4y5) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G5x4y5 ::~G5x4y5(){ note_dtor("G5x4y5", this);} // tgen
+G5x4y5 ::G5x4y5(){ note_ctor("G5x4y5", this);} // tgen
+
+static void Test_G5x4y5()
+{
+ extern Class_Descriptor cd_G5x4y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G5x4y5, buf);
+ G5x4y5 *dp, &lv = *(dp=new (buf) G5x4y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G5x4y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x4y5)");
+ check_base_class_offset(lv, (A1*)(C5*)(E5x4*), ABISELECT(16,12), "G5x4y5");
+ check_base_class_offset(lv, (B1*)(C5*)(E5x4*), ABISELECT(32,20), "G5x4y5");
+ check_base_class_offset(lv, (C5*)(E5x4*), ABISELECT(16,12), "G5x4y5");
+ check_base_class_offset(lv, (D0*)(E5x4*), ABISELECT(48,32), "G5x4y5");
+ check_base_class_offset(lv, (E5x4*), ABISELECT(16,12), "G5x4y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G5x4y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G5x4y5.ff");
+ test_class_info(&lv, &cd_G5x4y5);
+ dp->~G5x4y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x4y5(Test_G5x4y5, "G5x4y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G5x4y5C1Ev();
+extern void _ZN6G5x4y5D1Ev();
+Name_Map name_map_G5x4y5[] = {
+ NSPAIR(_ZN6G5x4y5C1Ev),
+ NSPAIR(_ZN6G5x4y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E5x4;
+extern VTBL_ENTRY _ZTI4E5x4[];
+extern VTBL_ENTRY _ZTV4E5x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G5x4y5[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E5x4, 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 _ZTI6G5x4y5[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G5x4y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x4y5[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G5x4y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G5x4y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x4y5[];
+static VTT_ENTRY vtt_G5x4y5[] = {
+ {&(_ZTV6G5x4y5[3]), 3,10},
+ {&(_ZTV6G5x4y5[6]), 6,10},
+ {&(_ZTV6G5x4y5[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI6G5x4y5[];
+extern VTBL_ENTRY _ZTV6G5x4y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x4y5[];
+Class_Descriptor cd_G5x4y5 = { "G5x4y5", // class name
+ bases_G5x4y5, 6,
+ &(vtc_G5x4y5[0]), // expected_vtbl_contents
+ &(vtt_G5x4y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G5x4y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x4y5),10, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x4y5),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 G5x4y6 : E5x4 , virtual F0 {
+ int ff;
+ ~G5x4y6(); // tgen
+ G5x4y6(); // tgen
+};
+//SIG(1 G5x4y6) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G5x4y6 ::~G5x4y6(){ note_dtor("G5x4y6", this);} // tgen
+G5x4y6 ::G5x4y6(){ note_ctor("G5x4y6", this);} // tgen
+
+static void Test_G5x4y6()
+{
+ extern Class_Descriptor cd_G5x4y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G5x4y6, buf);
+ G5x4y6 *dp, &lv = *(dp=new (buf) G5x4y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G5x4y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x4y6)");
+ check_base_class_offset(lv, (A1*)(C5*)(E5x4*), 0, "G5x4y6");
+ check_base_class_offset(lv, (B1*)(C5*)(E5x4*), ABISELECT(16,8), "G5x4y6");
+ check_base_class_offset(lv, (C5*)(E5x4*), 0, "G5x4y6");
+ check_base_class_offset(lv, (D0*)(E5x4*), ABISELECT(32,20), "G5x4y6");
+ check_base_class_offset(lv, (E5x4*), 0, "G5x4y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G5x4y6");
+ check_field_offset(lv, ff, ABISELECT(40,28), "G5x4y6.ff");
+ test_class_info(&lv, &cd_G5x4y6);
+ dp->~G5x4y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x4y6(Test_G5x4y6, "G5x4y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G5x4y6C1Ev();
+extern void _ZN6G5x4y6D1Ev();
+Name_Map name_map_G5x4y6[] = {
+ NSPAIR(_ZN6G5x4y6C1Ev),
+ NSPAIR(_ZN6G5x4y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E5x4;
+extern VTBL_ENTRY _ZTI4E5x4[];
+extern VTBL_ENTRY _ZTV4E5x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G5x4y6[] = {
+ // 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_D0, 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, 0},
+ {&cd_E5x4, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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 _ZTI6G5x4y6[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G5x4y6[] = {
+ ABISELECT(44,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x4y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G5x4y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x4y6[];
+static VTT_ENTRY vtt_G5x4y6[] = {
+ {&(_ZTV6G5x4y6[3]), 3,7},
+};
+extern VTBL_ENTRY _ZTI6G5x4y6[];
+extern VTBL_ENTRY _ZTV6G5x4y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x4y6[];
+Class_Descriptor cd_G5x4y6 = { "G5x4y6", // class name
+ bases_G5x4y6, 6,
+ &(vtc_G5x4y6[0]), // expected_vtbl_contents
+ &(vtt_G5x4y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G5x4y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x4y6),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x4y6),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 G5x4y7 : virtual E5x4 , virtual F0 {
+ int ff;
+ ~G5x4y7(); // tgen
+ G5x4y7(); // tgen
+};
+//SIG(1 G5x4y7) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G5x4y7 ::~G5x4y7(){ note_dtor("G5x4y7", this);} // tgen
+G5x4y7 ::G5x4y7(){ note_ctor("G5x4y7", this);} // tgen
+
+static void Test_G5x4y7()
+{
+ extern Class_Descriptor cd_G5x4y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G5x4y7, buf);
+ G5x4y7 *dp, &lv = *(dp=new (buf) G5x4y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G5x4y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x4y7)");
+ check_base_class_offset(lv, (A1*)(C5*)(E5x4*), ABISELECT(16,8), "G5x4y7");
+ check_base_class_offset(lv, (B1*)(C5*)(E5x4*), ABISELECT(32,16), "G5x4y7");
+ check_base_class_offset(lv, (C5*)(E5x4*), ABISELECT(16,8), "G5x4y7");
+ check_base_class_offset(lv, (D0*)(E5x4*), ABISELECT(48,28), "G5x4y7");
+ check_base_class_offset(lv, (E5x4*), ABISELECT(16,8), "G5x4y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G5x4y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G5x4y7.ff");
+ test_class_info(&lv, &cd_G5x4y7);
+ dp->~G5x4y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x4y7(Test_G5x4y7, "G5x4y7", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G5x4y7C1Ev();
+extern void _ZN6G5x4y7D1Ev();
+Name_Map name_map_G5x4y7[] = {
+ NSPAIR(_ZN6G5x4y7C1Ev),
+ NSPAIR(_ZN6G5x4y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E5x4;
+extern VTBL_ENTRY _ZTI4E5x4[];
+extern VTBL_ENTRY _ZTV4E5x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G5x4y7[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E5x4, 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 _ZTI6G5x4y7[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G5x4y7[] = {
+ ABISELECT(56,36),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x4y7[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G5x4y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI6G5x4y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x4y7[];
+static VTT_ENTRY vtt_G5x4y7[] = {
+ {&(_ZTV6G5x4y7[4]), 4,11},
+ {&(_ZTV6G5x4y7[7]), 7,11},
+ {&(_ZTV6G5x4y7[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI6G5x4y7[];
+extern VTBL_ENTRY _ZTV6G5x4y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x4y7[];
+Class_Descriptor cd_G5x4y7 = { "G5x4y7", // class name
+ bases_G5x4y7, 6,
+ &(vtc_G5x4y7[0]), // expected_vtbl_contents
+ &(vtt_G5x4y7[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G5x4y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x4y7),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x4y7),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 E6x4 : C6 , D0 {
+ int fd;
+ ~E6x4(); // tgen
+ E6x4(); // tgen
+};
+//SIG(-1 E6x4) C1{ BC2{ VBC3{ Fi} BC4{ v1 Fi} Fi} BC5{ Fi} Fi}
+
+
+E6x4 ::~E6x4(){ note_dtor("E6x4", this);} // tgen
+E6x4 ::E6x4(){ note_ctor("E6x4", this);} // tgen
+
+static void Test_E6x4()
+{
+ extern Class_Descriptor cd_E6x4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(5,7)];
+ init_test(&cd_E6x4, buf);
+ E6x4 *dp, &lv = *(dp=new (buf) E6x4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(32,24), "sizeof(E6x4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E6x4)");
+ check_base_class_offset(lv, (A0*)(C6*), ABISELECT(24,20), "E6x4");
+ check_base_class_offset(lv, (B1*)(C6*), 0, "E6x4");
+ check_base_class_offset(lv, (C6*), 0, "E6x4");
+ check_base_class_offset(lv, (D0*), ABISELECT(16,12), "E6x4");
+ check_field_offset(lv, fd, ABISELECT(20,16), "E6x4.fd");
+ test_class_info(&lv, &cd_E6x4);
+ dp->~E6x4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE6x4(Test_E6x4, "E6x4", ABISELECT(32,24));
+
+#else // __cplusplus
+
+extern void _ZN4E6x4C1Ev();
+extern void _ZN4E6x4D1Ev();
+Name_Map name_map_E6x4[] = {
+ NSPAIR(_ZN4E6x4C1Ev),
+ NSPAIR(_ZN4E6x4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E6x4[] = {
+ // 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
+ 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI4E6x4[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_E6x4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E6x4[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__4E6x4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_E6x4[] = {
+ {&(_ZTV4E6x4[3]), 3,4},
+ {&(_tg__ZTV2C6__4E6x4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI4E6x4[];
+extern VTBL_ENTRY _ZTV4E6x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x4[];
+Class_Descriptor cd_E6x4 = { "E6x4", // class name
+ bases_E6x4, 4,
+ &(vtc_E6x4[0]), // expected_vtbl_contents
+ &(vtt_E6x4[0]), // expected_vtt_contents
+ ABISELECT(32,24), // object size
+ NSPAIRA(_ZTI4E6x4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E6x4),4, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E6x4),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 G6x4y0 : E6x4 , F1 {
+ int ff;
+ ~G6x4y0(); // tgen
+ G6x4y0(); // tgen
+};
+//SIG(1 G6x4y0) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G6x4y0 ::~G6x4y0(){ note_dtor("G6x4y0", this);} // tgen
+G6x4y0 ::G6x4y0(){ note_ctor("G6x4y0", this);} // tgen
+
+static void Test_G6x4y0()
+{
+ extern Class_Descriptor cd_G6x4y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G6x4y0, buf);
+ G6x4y0 *dp, &lv = *(dp=new (buf) G6x4y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G6x4y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x4y0)");
+ check_base_class_offset(lv, (A0*)(C6*)(E6x4*), ABISELECT(40,32), "G6x4y0");
+ check_base_class_offset(lv, (B1*)(C6*)(E6x4*), 0, "G6x4y0");
+ check_base_class_offset(lv, (C6*)(E6x4*), 0, "G6x4y0");
+ check_base_class_offset(lv, (D0*)(E6x4*), ABISELECT(16,12), "G6x4y0");
+ check_base_class_offset(lv, (E6x4*), 0, "G6x4y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,20), "G6x4y0");
+ check_field_offset(lv, ff, ABISELECT(36,28), "G6x4y0.ff");
+ test_class_info(&lv, &cd_G6x4y0);
+ dp->~G6x4y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x4y0(Test_G6x4y0, "G6x4y0", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G6x4y0C1Ev();
+extern void _ZN6G6x4y0D1Ev();
+Name_Map name_map_G6x4y0[] = {
+ NSPAIR(_ZN6G6x4y0C1Ev),
+ NSPAIR(_ZN6G6x4y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E6x4;
+extern VTBL_ENTRY _ZTI4E6x4[];
+extern VTBL_ENTRY _ZTV4E6x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G6x4y0[] = {
+ // 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E6x4, 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 _ZTI6G6x4y0[];
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G6x4y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x4y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI6G6x4y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x4y0[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E6x4__6G6x4y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C64E6x4__6G6x4y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x4y0[] = {
+ {&(_ZTV6G6x4y0[3]), 3,7},
+ {&(_tg__ZTV4E6x4__6G6x4y0[3]), 3,4},
+ {&(_tg__ZTV2C64E6x4__6G6x4y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x4y0[];
+extern VTBL_ENTRY _ZTV6G6x4y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x4y0[];
+Class_Descriptor cd_G6x4y0 = { "G6x4y0", // class name
+ bases_G6x4y0, 6,
+ &(vtc_G6x4y0[0]), // expected_vtbl_contents
+ &(vtt_G6x4y0[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G6x4y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x4y0),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x4y0),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 G6x4y1 : virtual E6x4 , F1 {
+ int ff;
+ ~G6x4y1(); // tgen
+ G6x4y1(); // tgen
+};
+//SIG(1 G6x4y1) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G6x4y1 ::~G6x4y1(){ note_dtor("G6x4y1", this);} // tgen
+G6x4y1 ::G6x4y1(){ note_ctor("G6x4y1", this);} // tgen
+
+static void Test_G6x4y1()
+{
+ extern Class_Descriptor cd_G6x4y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G6x4y1, buf);
+ G6x4y1 *dp, &lv = *(dp=new (buf) G6x4y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G6x4y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x4y1)");
+ check_base_class_offset(lv, (A0*)(C6*)(E6x4*), ABISELECT(40,32), "G6x4y1");
+ check_base_class_offset(lv, (B1*)(C6*)(E6x4*), ABISELECT(16,12), "G6x4y1");
+ check_base_class_offset(lv, (C6*)(E6x4*), ABISELECT(16,12), "G6x4y1");
+ check_base_class_offset(lv, (D0*)(E6x4*), ABISELECT(32,24), "G6x4y1");
+ check_base_class_offset(lv, (E6x4*), ABISELECT(16,12), "G6x4y1");
+ check_base_class_offset(lv, (F1*), 0, "G6x4y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G6x4y1.ff");
+ test_class_info(&lv, &cd_G6x4y1);
+ dp->~G6x4y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x4y1(Test_G6x4y1, "G6x4y1", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G6x4y1C1Ev();
+extern void _ZN6G6x4y1D1Ev();
+Name_Map name_map_G6x4y1[] = {
+ NSPAIR(_ZN6G6x4y1C1Ev),
+ NSPAIR(_ZN6G6x4y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E6x4;
+extern VTBL_ENTRY _ZTI4E6x4[];
+extern VTBL_ENTRY _ZTV4E6x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G6x4y1[] = {
+ // 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(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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, 0},
+ {&cd_E6x4, 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
+ 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 _ZTI6G6x4y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G6x4y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x4y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G6x4y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x4y1[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E6x4__6G6x4y1[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C64E6x4__6G6x4y1[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x4y1[] = {
+ {&(_ZTV6G6x4y1[4]), 4,10},
+ {&(_ZTV6G6x4y1[9]), 9,10},
+ {&(_tg__ZTV4E6x4__6G6x4y1[3]), 3,4},
+ {&(_tg__ZTV2C64E6x4__6G6x4y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x4y1[];
+extern VTBL_ENTRY _ZTV6G6x4y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x4y1[];
+Class_Descriptor cd_G6x4y1 = { "G6x4y1", // class name
+ bases_G6x4y1, 6,
+ &(vtc_G6x4y1[0]), // expected_vtbl_contents
+ &(vtt_G6x4y1[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G6x4y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x4y1),10, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x4y1),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 G6x4y2 : E6x4 , virtual F1 {
+ int ff;
+ ~G6x4y2(); // tgen
+ G6x4y2(); // tgen
+};
+//SIG(1 G6x4y2) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G6x4y2 ::~G6x4y2(){ note_dtor("G6x4y2", this);} // tgen
+G6x4y2 ::G6x4y2(){ note_ctor("G6x4y2", this);} // tgen
+
+static void Test_G6x4y2()
+{
+ extern Class_Descriptor cd_G6x4y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G6x4y2, buf);
+ G6x4y2 *dp, &lv = *(dp=new (buf) G6x4y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G6x4y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x4y2)");
+ check_base_class_offset(lv, (A0*)(C6*)(E6x4*), ABISELECT(28,24), "G6x4y2");
+ check_base_class_offset(lv, (B1*)(C6*)(E6x4*), 0, "G6x4y2");
+ check_base_class_offset(lv, (C6*)(E6x4*), 0, "G6x4y2");
+ check_base_class_offset(lv, (D0*)(E6x4*), ABISELECT(16,12), "G6x4y2");
+ check_base_class_offset(lv, (E6x4*), 0, "G6x4y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,28), "G6x4y2");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G6x4y2.ff");
+ test_class_info(&lv, &cd_G6x4y2);
+ dp->~G6x4y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x4y2(Test_G6x4y2, "G6x4y2", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G6x4y2C1Ev();
+extern void _ZN6G6x4y2D1Ev();
+Name_Map name_map_G6x4y2[] = {
+ NSPAIR(_ZN6G6x4y2C1Ev),
+ NSPAIR(_ZN6G6x4y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E6x4;
+extern VTBL_ENTRY _ZTI4E6x4[];
+extern VTBL_ENTRY _ZTV4E6x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G6x4y2[] = {
+ // 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E6x4, 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,28), //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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G6x4y2[];
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G6x4y2[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x4y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI6G6x4y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x4y2[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E6x4__6G6x4y2[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C64E6x4__6G6x4y2[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x4y2[] = {
+ {&(_ZTV6G6x4y2[4]), 4,9},
+ {&(_tg__ZTV4E6x4__6G6x4y2[3]), 3,4},
+ {&(_tg__ZTV2C64E6x4__6G6x4y2[3]), 3,4},
+ {&(_ZTV6G6x4y2[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI6G6x4y2[];
+extern VTBL_ENTRY _ZTV6G6x4y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x4y2[];
+Class_Descriptor cd_G6x4y2 = { "G6x4y2", // class name
+ bases_G6x4y2, 6,
+ &(vtc_G6x4y2[0]), // expected_vtbl_contents
+ &(vtt_G6x4y2[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G6x4y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x4y2),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x4y2),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 G6x4y3 : virtual E6x4 , virtual F1 {
+ int ff;
+ ~G6x4y3(); // tgen
+ G6x4y3(); // tgen
+};
+//SIG(1 G6x4y3) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G6x4y3 ::~G6x4y3(){ note_dtor("G6x4y3", this);} // tgen
+G6x4y3 ::G6x4y3(){ note_ctor("G6x4y3", this);} // tgen
+
+static void Test_G6x4y3()
+{
+ extern Class_Descriptor cd_G6x4y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G6x4y3, buf);
+ G6x4y3 *dp, &lv = *(dp=new (buf) G6x4y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G6x4y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x4y3)");
+ check_base_class_offset(lv, (A0*)(C6*)(E6x4*), ABISELECT(40,28), "G6x4y3");
+ check_base_class_offset(lv, (B1*)(C6*)(E6x4*), ABISELECT(16,8), "G6x4y3");
+ check_base_class_offset(lv, (C6*)(E6x4*), ABISELECT(16,8), "G6x4y3");
+ check_base_class_offset(lv, (D0*)(E6x4*), ABISELECT(32,20), "G6x4y3");
+ check_base_class_offset(lv, (E6x4*), ABISELECT(16,8), "G6x4y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G6x4y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G6x4y3.ff");
+ test_class_info(&lv, &cd_G6x4y3);
+ dp->~G6x4y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x4y3(Test_G6x4y3, "G6x4y3", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G6x4y3C1Ev();
+extern void _ZN6G6x4y3D1Ev();
+Name_Map name_map_G6x4y3[] = {
+ NSPAIR(_ZN6G6x4y3C1Ev),
+ NSPAIR(_ZN6G6x4y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E6x4;
+extern VTBL_ENTRY _ZTI4E6x4[];
+extern VTBL_ENTRY _ZTV4E6x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G6x4y3[] = {
+ // 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(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_D0, 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, 0},
+ {&cd_E6x4, 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_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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G6x4y3[];
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G6x4y3[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x4y3[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G6x4y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G6x4y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x4y3[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E6x4__6G6x4y3[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C64E6x4__6G6x4y3[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x4y3[] = {
+ {&(_ZTV6G6x4y3[5]), 5,14},
+ {&(_ZTV6G6x4y3[9]), 9,14},
+ {&(_ZTV6G6x4y3[13]), 13,14},
+ {&(_tg__ZTV4E6x4__6G6x4y3[3]), 3,4},
+ {&(_tg__ZTV2C64E6x4__6G6x4y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x4y3[];
+extern VTBL_ENTRY _ZTV6G6x4y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x4y3[];
+Class_Descriptor cd_G6x4y3 = { "G6x4y3", // class name
+ bases_G6x4y3, 6,
+ &(vtc_G6x4y3[0]), // expected_vtbl_contents
+ &(vtt_G6x4y3[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G6x4y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x4y3),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x4y3),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 G6x4y4 : E6x4 , F0 {
+ int ff;
+ ~G6x4y4(); // tgen
+ G6x4y4(); // tgen
+};
+//SIG(1 G6x4y4) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G6x4y4 ::~G6x4y4(){ note_dtor("G6x4y4", this);} // tgen
+G6x4y4 ::G6x4y4(){ note_ctor("G6x4y4", this);} // tgen
+
+static void Test_G6x4y4()
+{
+ extern Class_Descriptor cd_G6x4y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G6x4y4, buf);
+ G6x4y4 *dp, &lv = *(dp=new (buf) G6x4y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G6x4y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x4y4)");
+ check_base_class_offset(lv, (A0*)(C6*)(E6x4*), ABISELECT(32,28), "G6x4y4");
+ check_base_class_offset(lv, (B1*)(C6*)(E6x4*), 0, "G6x4y4");
+ check_base_class_offset(lv, (C6*)(E6x4*), 0, "G6x4y4");
+ check_base_class_offset(lv, (D0*)(E6x4*), ABISELECT(16,12), "G6x4y4");
+ check_base_class_offset(lv, (E6x4*), 0, "G6x4y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(24,20), "G6x4y4");
+ check_field_offset(lv, ff, ABISELECT(28,24), "G6x4y4.ff");
+ test_class_info(&lv, &cd_G6x4y4);
+ dp->~G6x4y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x4y4(Test_G6x4y4, "G6x4y4", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN6G6x4y4C1Ev();
+extern void _ZN6G6x4y4D1Ev();
+Name_Map name_map_G6x4y4[] = {
+ NSPAIR(_ZN6G6x4y4C1Ev),
+ NSPAIR(_ZN6G6x4y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E6x4;
+extern VTBL_ENTRY _ZTI4E6x4[];
+extern VTBL_ENTRY _ZTV4E6x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G6x4y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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
+ 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E6x4, 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 _ZTI6G6x4y4[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G6x4y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x4y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x4y4[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E6x4__6G6x4y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C64E6x4__6G6x4y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x4y4[] = {
+ {&(_ZTV6G6x4y4[3]), 3,4},
+ {&(_tg__ZTV4E6x4__6G6x4y4[3]), 3,4},
+ {&(_tg__ZTV2C64E6x4__6G6x4y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x4y4[];
+extern VTBL_ENTRY _ZTV6G6x4y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x4y4[];
+Class_Descriptor cd_G6x4y4 = { "G6x4y4", // class name
+ bases_G6x4y4, 6,
+ &(vtc_G6x4y4[0]), // expected_vtbl_contents
+ &(vtt_G6x4y4[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI6G6x4y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x4y4),4, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x4y4),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 G6x4y5 : virtual E6x4 , F0 {
+ int ff;
+ ~G6x4y5(); // tgen
+ G6x4y5(); // tgen
+};
+//SIG(1 G6x4y5) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G6x4y5 ::~G6x4y5(){ note_dtor("G6x4y5", this);} // tgen
+G6x4y5 ::G6x4y5(){ note_ctor("G6x4y5", this);} // tgen
+
+static void Test_G6x4y5()
+{
+ extern Class_Descriptor cd_G6x4y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G6x4y5, buf);
+ G6x4y5 *dp, &lv = *(dp=new (buf) G6x4y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G6x4y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x4y5)");
+ check_base_class_offset(lv, (A0*)(C6*)(E6x4*), ABISELECT(40,32), "G6x4y5");
+ check_base_class_offset(lv, (B1*)(C6*)(E6x4*), ABISELECT(16,12), "G6x4y5");
+ check_base_class_offset(lv, (C6*)(E6x4*), ABISELECT(16,12), "G6x4y5");
+ check_base_class_offset(lv, (D0*)(E6x4*), ABISELECT(32,24), "G6x4y5");
+ check_base_class_offset(lv, (E6x4*), ABISELECT(16,12), "G6x4y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G6x4y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G6x4y5.ff");
+ test_class_info(&lv, &cd_G6x4y5);
+ dp->~G6x4y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x4y5(Test_G6x4y5, "G6x4y5", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G6x4y5C1Ev();
+extern void _ZN6G6x4y5D1Ev();
+Name_Map name_map_G6x4y5[] = {
+ NSPAIR(_ZN6G6x4y5C1Ev),
+ NSPAIR(_ZN6G6x4y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E6x4;
+extern VTBL_ENTRY _ZTI4E6x4[];
+extern VTBL_ENTRY _ZTV4E6x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G6x4y5[] = {
+ // 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(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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, 0},
+ {&cd_E6x4, 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
+ 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 _ZTI6G6x4y5[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G6x4y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x4y5[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G6x4y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x4y5[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E6x4__6G6x4y5[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C64E6x4__6G6x4y5[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x4y5[] = {
+ {&(_ZTV6G6x4y5[4]), 4,9},
+ {&(_ZTV6G6x4y5[8]), 8,9},
+ {&(_tg__ZTV4E6x4__6G6x4y5[3]), 3,4},
+ {&(_tg__ZTV2C64E6x4__6G6x4y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x4y5[];
+extern VTBL_ENTRY _ZTV6G6x4y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x4y5[];
+Class_Descriptor cd_G6x4y5 = { "G6x4y5", // class name
+ bases_G6x4y5, 6,
+ &(vtc_G6x4y5[0]), // expected_vtbl_contents
+ &(vtt_G6x4y5[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G6x4y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x4y5),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x4y5),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 G6x4y6 : E6x4 , virtual F0 {
+ int ff;
+ ~G6x4y6(); // tgen
+ G6x4y6(); // tgen
+};
+//SIG(1 G6x4y6) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G6x4y6 ::~G6x4y6(){ note_dtor("G6x4y6", this);} // tgen
+G6x4y6 ::G6x4y6(){ note_ctor("G6x4y6", this);} // tgen
+
+static void Test_G6x4y6()
+{
+ extern Class_Descriptor cd_G6x4y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G6x4y6, buf);
+ G6x4y6 *dp, &lv = *(dp=new (buf) G6x4y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G6x4y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x4y6)");
+ check_base_class_offset(lv, (A0*)(C6*)(E6x4*), ABISELECT(28,24), "G6x4y6");
+ check_base_class_offset(lv, (B1*)(C6*)(E6x4*), 0, "G6x4y6");
+ check_base_class_offset(lv, (C6*)(E6x4*), 0, "G6x4y6");
+ check_base_class_offset(lv, (D0*)(E6x4*), ABISELECT(16,12), "G6x4y6");
+ check_base_class_offset(lv, (E6x4*), 0, "G6x4y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,28), "G6x4y6");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G6x4y6.ff");
+ test_class_info(&lv, &cd_G6x4y6);
+ dp->~G6x4y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x4y6(Test_G6x4y6, "G6x4y6", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN6G6x4y6C1Ev();
+extern void _ZN6G6x4y6D1Ev();
+Name_Map name_map_G6x4y6[] = {
+ NSPAIR(_ZN6G6x4y6C1Ev),
+ NSPAIR(_ZN6G6x4y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E6x4;
+extern VTBL_ENTRY _ZTI4E6x4[];
+extern VTBL_ENTRY _ZTV4E6x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G6x4y6[] = {
+ // 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
+ 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E6x4, 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,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 _ZTI6G6x4y6[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G6x4y6[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x4y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x4y6[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E6x4__6G6x4y6[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C64E6x4__6G6x4y6[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x4y6[] = {
+ {&(_ZTV6G6x4y6[4]), 4,5},
+ {&(_tg__ZTV4E6x4__6G6x4y6[3]), 3,4},
+ {&(_tg__ZTV2C64E6x4__6G6x4y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x4y6[];
+extern VTBL_ENTRY _ZTV6G6x4y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x4y6[];
+Class_Descriptor cd_G6x4y6 = { "G6x4y6", // class name
+ bases_G6x4y6, 6,
+ &(vtc_G6x4y6[0]), // expected_vtbl_contents
+ &(vtt_G6x4y6[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI6G6x4y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x4y6),5, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x4y6),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 G6x4y7 : virtual E6x4 , virtual F0 {
+ int ff;
+ ~G6x4y7(); // tgen
+ G6x4y7(); // tgen
+};
+//SIG(1 G6x4y7) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G6x4y7 ::~G6x4y7(){ note_dtor("G6x4y7", this);} // tgen
+G6x4y7 ::G6x4y7(){ note_ctor("G6x4y7", this);} // tgen
+
+static void Test_G6x4y7()
+{
+ extern Class_Descriptor cd_G6x4y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G6x4y7, buf);
+ G6x4y7 *dp, &lv = *(dp=new (buf) G6x4y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G6x4y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x4y7)");
+ check_base_class_offset(lv, (A0*)(C6*)(E6x4*), ABISELECT(40,28), "G6x4y7");
+ check_base_class_offset(lv, (B1*)(C6*)(E6x4*), ABISELECT(16,8), "G6x4y7");
+ check_base_class_offset(lv, (C6*)(E6x4*), ABISELECT(16,8), "G6x4y7");
+ check_base_class_offset(lv, (D0*)(E6x4*), ABISELECT(32,20), "G6x4y7");
+ check_base_class_offset(lv, (E6x4*), ABISELECT(16,8), "G6x4y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G6x4y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G6x4y7.ff");
+ test_class_info(&lv, &cd_G6x4y7);
+ dp->~G6x4y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x4y7(Test_G6x4y7, "G6x4y7", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G6x4y7C1Ev();
+extern void _ZN6G6x4y7D1Ev();
+Name_Map name_map_G6x4y7[] = {
+ NSPAIR(_ZN6G6x4y7C1Ev),
+ NSPAIR(_ZN6G6x4y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E6x4;
+extern VTBL_ENTRY _ZTI4E6x4[];
+extern VTBL_ENTRY _ZTV4E6x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G6x4y7[] = {
+ // 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(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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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, 0},
+ {&cd_E6x4, 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
+ 3, //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 _ZTI6G6x4y7[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G6x4y7[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x4y7[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G6x4y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x4y7[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E6x4__6G6x4y7[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C64E6x4__6G6x4y7[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x4y7[] = {
+ {&(_ZTV6G6x4y7[5]), 5,10},
+ {&(_ZTV6G6x4y7[9]), 9,10},
+ {&(_tg__ZTV4E6x4__6G6x4y7[3]), 3,4},
+ {&(_tg__ZTV2C64E6x4__6G6x4y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x4y7[];
+extern VTBL_ENTRY _ZTV6G6x4y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x4y7[];
+Class_Descriptor cd_G6x4y7 = { "G6x4y7", // class name
+ bases_G6x4y7, 6,
+ &(vtc_G6x4y7[0]), // expected_vtbl_contents
+ &(vtt_G6x4y7[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G6x4y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x4y7),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x4y7),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 E7x4 : C7 , D0 {
+ int fd;
+ ~E7x4(); // tgen
+ E7x4(); // tgen
+};
+//SIG(-1 E7x4) C1{ BC2{ VBC3{ v1 Fi} BC4{ v2 Fi} Fi} BC5{ Fi} Fi}
+
+
+E7x4 ::~E7x4(){ note_dtor("E7x4", this);} // tgen
+E7x4 ::E7x4(){ note_ctor("E7x4", this);} // tgen
+
+static void Test_E7x4()
+{
+ extern Class_Descriptor cd_E7x4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E7x4, buf);
+ E7x4 *dp, &lv = *(dp=new (buf) E7x4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E7x4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E7x4)");
+ check_base_class_offset(lv, (A1*)(C7*), ABISELECT(24,20), "E7x4");
+ check_base_class_offset(lv, (B1*)(C7*), 0, "E7x4");
+ check_base_class_offset(lv, (C7*), 0, "E7x4");
+ check_base_class_offset(lv, (D0*), ABISELECT(16,12), "E7x4");
+ check_field_offset(lv, fd, ABISELECT(20,16), "E7x4.fd");
+ test_class_info(&lv, &cd_E7x4);
+ dp->~E7x4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE7x4(Test_E7x4, "E7x4", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN4E7x4C1Ev();
+extern void _ZN4E7x4D1Ev();
+Name_Map name_map_E7x4[] = {
+ NSPAIR(_ZN4E7x4C1Ev),
+ NSPAIR(_ZN4E7x4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E7x4[] = {
+ // 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)
+ 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI4E7x4[];
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_E7x4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E7x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E7x4[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__4E7x4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C7__4E7x4[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_E7x4[] = {
+ {&(_ZTV4E7x4[3]), 3,8},
+ {&(_tg__ZTV2C7__4E7x4[3]), 3,4},
+ {&(_tg__ZTV2A1__2C7__4E7x4[3]), 3,4},
+ {&(_ZTV4E7x4[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI4E7x4[];
+extern VTBL_ENTRY _ZTV4E7x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x4[];
+Class_Descriptor cd_E7x4 = { "E7x4", // class name
+ bases_E7x4, 4,
+ &(vtc_E7x4[0]), // expected_vtbl_contents
+ &(vtt_E7x4[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI4E7x4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E7x4),8, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E7x4),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 G7x4y0 : E7x4 , F1 {
+ int ff;
+ ~G7x4y0(); // tgen
+ G7x4y0(); // tgen
+};
+//SIG(1 G7x4y0) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G7x4y0 ::~G7x4y0(){ note_dtor("G7x4y0", this);} // tgen
+G7x4y0 ::G7x4y0(){ note_ctor("G7x4y0", this);} // tgen
+
+static void Test_G7x4y0()
+{
+ extern Class_Descriptor cd_G7x4y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G7x4y0, buf);
+ G7x4y0 *dp, &lv = *(dp=new (buf) G7x4y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G7x4y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x4y0)");
+ check_base_class_offset(lv, (A1*)(C7*)(E7x4*), ABISELECT(40,32), "G7x4y0");
+ check_base_class_offset(lv, (B1*)(C7*)(E7x4*), 0, "G7x4y0");
+ check_base_class_offset(lv, (C7*)(E7x4*), 0, "G7x4y0");
+ check_base_class_offset(lv, (D0*)(E7x4*), ABISELECT(16,12), "G7x4y0");
+ check_base_class_offset(lv, (E7x4*), 0, "G7x4y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,20), "G7x4y0");
+ check_field_offset(lv, ff, ABISELECT(36,28), "G7x4y0.ff");
+ test_class_info(&lv, &cd_G7x4y0);
+ dp->~G7x4y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x4y0(Test_G7x4y0, "G7x4y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G7x4y0C1Ev();
+extern void _ZN6G7x4y0D1Ev();
+Name_Map name_map_G7x4y0[] = {
+ NSPAIR(_ZN6G7x4y0C1Ev),
+ NSPAIR(_ZN6G7x4y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E7x4;
+extern VTBL_ENTRY _ZTI4E7x4[];
+extern VTBL_ENTRY _ZTV4E7x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G7x4y0[] = {
+ // 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E7x4, 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 _ZTI6G7x4y0[];
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G7x4y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x4y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI6G7x4y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI6G7x4y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x4y0[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E7x4__6G7x4y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C74E7x4__6G7x4y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C74E7x4__6G7x4y0[] = {
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x4__6G7x4y0[] = {
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI4E7x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x4y0[] = {
+ {&(_ZTV6G7x4y0[3]), 3,11},
+ {&(_tg__ZTV4E7x4__6G7x4y0[3]), 3,4},
+ {&(_tg__ZTV2C74E7x4__6G7x4y0[3]), 3,4},
+ {&(_tg__ZTV2A1__2C74E7x4__6G7x4y0[3]), 3,4},
+ {&(_tg__ZTV2A1__4E7x4__6G7x4y0[3]), 3,4},
+ {&(_ZTV6G7x4y0[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI6G7x4y0[];
+extern VTBL_ENTRY _ZTV6G7x4y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x4y0[];
+Class_Descriptor cd_G7x4y0 = { "G7x4y0", // class name
+ bases_G7x4y0, 6,
+ &(vtc_G7x4y0[0]), // expected_vtbl_contents
+ &(vtt_G7x4y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G7x4y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x4y0),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x4y0),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 G7x4y1 : virtual E7x4 , F1 {
+ int ff;
+ ~G7x4y1(); // tgen
+ G7x4y1(); // tgen
+};
+//SIG(1 G7x4y1) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G7x4y1 ::~G7x4y1(){ note_dtor("G7x4y1", this);} // tgen
+G7x4y1 ::G7x4y1(){ note_ctor("G7x4y1", this);} // tgen
+
+static void Test_G7x4y1()
+{
+ extern Class_Descriptor cd_G7x4y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G7x4y1, buf);
+ G7x4y1 *dp, &lv = *(dp=new (buf) G7x4y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G7x4y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x4y1)");
+ check_base_class_offset(lv, (A1*)(C7*)(E7x4*), ABISELECT(40,32), "G7x4y1");
+ check_base_class_offset(lv, (B1*)(C7*)(E7x4*), ABISELECT(16,12), "G7x4y1");
+ check_base_class_offset(lv, (C7*)(E7x4*), ABISELECT(16,12), "G7x4y1");
+ check_base_class_offset(lv, (D0*)(E7x4*), ABISELECT(32,24), "G7x4y1");
+ check_base_class_offset(lv, (E7x4*), ABISELECT(16,12), "G7x4y1");
+ check_base_class_offset(lv, (F1*), 0, "G7x4y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G7x4y1.ff");
+ test_class_info(&lv, &cd_G7x4y1);
+ dp->~G7x4y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x4y1(Test_G7x4y1, "G7x4y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G7x4y1C1Ev();
+extern void _ZN6G7x4y1D1Ev();
+Name_Map name_map_G7x4y1[] = {
+ NSPAIR(_ZN6G7x4y1C1Ev),
+ NSPAIR(_ZN6G7x4y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E7x4;
+extern VTBL_ENTRY _ZTI4E7x4[];
+extern VTBL_ENTRY _ZTV4E7x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G7x4y1[] = {
+ // 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)
+ 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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, 0},
+ {&cd_E7x4, 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 _ZTI6G7x4y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G7x4y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x4y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G7x4y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI6G7x4y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x4y1[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E7x4__6G7x4y1[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C74E7x4__6G7x4y1[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C74E7x4__6G7x4y1[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x4__6G7x4y1[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E7x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x4y1[] = {
+ {&(_ZTV6G7x4y1[4]), 4,14},
+ {&(_ZTV6G7x4y1[9]), 9,14},
+ {&(_ZTV6G7x4y1[13]), 13,14},
+ {&(_tg__ZTV4E7x4__6G7x4y1[3]), 3,4},
+ {&(_tg__ZTV2C74E7x4__6G7x4y1[3]), 3,4},
+ {&(_tg__ZTV2A1__2C74E7x4__6G7x4y1[3]), 3,4},
+ {&(_tg__ZTV2A1__4E7x4__6G7x4y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G7x4y1[];
+extern VTBL_ENTRY _ZTV6G7x4y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x4y1[];
+Class_Descriptor cd_G7x4y1 = { "G7x4y1", // class name
+ bases_G7x4y1, 6,
+ &(vtc_G7x4y1[0]), // expected_vtbl_contents
+ &(vtt_G7x4y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G7x4y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x4y1),14, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x4y1),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 G7x4y2 : E7x4 , virtual F1 {
+ int ff;
+ ~G7x4y2(); // tgen
+ G7x4y2(); // tgen
+};
+//SIG(1 G7x4y2) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G7x4y2 ::~G7x4y2(){ note_dtor("G7x4y2", this);} // tgen
+G7x4y2 ::G7x4y2(){ note_ctor("G7x4y2", this);} // tgen
+
+static void Test_G7x4y2()
+{
+ extern Class_Descriptor cd_G7x4y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G7x4y2, buf);
+ G7x4y2 *dp, &lv = *(dp=new (buf) G7x4y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G7x4y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x4y2)");
+ check_base_class_offset(lv, (A1*)(C7*)(E7x4*), ABISELECT(32,24), "G7x4y2");
+ check_base_class_offset(lv, (B1*)(C7*)(E7x4*), 0, "G7x4y2");
+ check_base_class_offset(lv, (C7*)(E7x4*), 0, "G7x4y2");
+ check_base_class_offset(lv, (D0*)(E7x4*), ABISELECT(16,12), "G7x4y2");
+ check_base_class_offset(lv, (E7x4*), 0, "G7x4y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G7x4y2");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G7x4y2.ff");
+ test_class_info(&lv, &cd_G7x4y2);
+ dp->~G7x4y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x4y2(Test_G7x4y2, "G7x4y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G7x4y2C1Ev();
+extern void _ZN6G7x4y2D1Ev();
+Name_Map name_map_G7x4y2[] = {
+ NSPAIR(_ZN6G7x4y2C1Ev),
+ NSPAIR(_ZN6G7x4y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E7x4;
+extern VTBL_ENTRY _ZTI4E7x4[];
+extern VTBL_ENTRY _ZTV4E7x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G7x4y2[] = {
+ // 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)
+ 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E7x4, 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)
+ 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 _ZTI6G7x4y2[];
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G7x4y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x4y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G7x4y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G7x4y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x4y2[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E7x4__6G7x4y2[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C74E7x4__6G7x4y2[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C74E7x4__6G7x4y2[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x4__6G7x4y2[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E7x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x4y2[] = {
+ {&(_ZTV6G7x4y2[4]), 4,13},
+ {&(_tg__ZTV4E7x4__6G7x4y2[3]), 3,4},
+ {&(_tg__ZTV2C74E7x4__6G7x4y2[3]), 3,4},
+ {&(_tg__ZTV2A1__2C74E7x4__6G7x4y2[3]), 3,4},
+ {&(_tg__ZTV2A1__4E7x4__6G7x4y2[3]), 3,4},
+ {&(_ZTV6G7x4y2[8]), 8,13},
+ {&(_ZTV6G7x4y2[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI6G7x4y2[];
+extern VTBL_ENTRY _ZTV6G7x4y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x4y2[];
+Class_Descriptor cd_G7x4y2 = { "G7x4y2", // class name
+ bases_G7x4y2, 6,
+ &(vtc_G7x4y2[0]), // expected_vtbl_contents
+ &(vtt_G7x4y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G7x4y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x4y2),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x4y2),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 G7x4y3 : virtual E7x4 , virtual F1 {
+ int ff;
+ ~G7x4y3(); // tgen
+ G7x4y3(); // tgen
+};
+//SIG(1 G7x4y3) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G7x4y3 ::~G7x4y3(){ note_dtor("G7x4y3", this);} // tgen
+G7x4y3 ::G7x4y3(){ note_ctor("G7x4y3", this);} // tgen
+
+static void Test_G7x4y3()
+{
+ extern Class_Descriptor cd_G7x4y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G7x4y3, buf);
+ G7x4y3 *dp, &lv = *(dp=new (buf) G7x4y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G7x4y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x4y3)");
+ check_base_class_offset(lv, (A1*)(C7*)(E7x4*), ABISELECT(40,28), "G7x4y3");
+ check_base_class_offset(lv, (B1*)(C7*)(E7x4*), ABISELECT(16,8), "G7x4y3");
+ check_base_class_offset(lv, (C7*)(E7x4*), ABISELECT(16,8), "G7x4y3");
+ check_base_class_offset(lv, (D0*)(E7x4*), ABISELECT(32,20), "G7x4y3");
+ check_base_class_offset(lv, (E7x4*), ABISELECT(16,8), "G7x4y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G7x4y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G7x4y3.ff");
+ test_class_info(&lv, &cd_G7x4y3);
+ dp->~G7x4y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x4y3(Test_G7x4y3, "G7x4y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G7x4y3C1Ev();
+extern void _ZN6G7x4y3D1Ev();
+Name_Map name_map_G7x4y3[] = {
+ NSPAIR(_ZN6G7x4y3C1Ev),
+ NSPAIR(_ZN6G7x4y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E7x4;
+extern VTBL_ENTRY _ZTI4E7x4[];
+extern VTBL_ENTRY _ZTV4E7x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G7x4y3[] = {
+ // 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_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_D0, 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, 0},
+ {&cd_E7x4, 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 _ZTI6G7x4y3[];
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G7x4y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x4y3[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G7x4y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G7x4y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G7x4y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x4y3[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E7x4__6G7x4y3[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C74E7x4__6G7x4y3[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C74E7x4__6G7x4y3[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x4__6G7x4y3[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E7x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x4y3[] = {
+ {&(_ZTV6G7x4y3[5]), 5,18},
+ {&(_ZTV6G7x4y3[9]), 9,18},
+ {&(_ZTV6G7x4y3[13]), 13,18},
+ {&(_ZTV6G7x4y3[17]), 17,18},
+ {&(_tg__ZTV4E7x4__6G7x4y3[3]), 3,4},
+ {&(_tg__ZTV2C74E7x4__6G7x4y3[3]), 3,4},
+ {&(_tg__ZTV2A1__2C74E7x4__6G7x4y3[3]), 3,4},
+ {&(_tg__ZTV2A1__4E7x4__6G7x4y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G7x4y3[];
+extern VTBL_ENTRY _ZTV6G7x4y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x4y3[];
+Class_Descriptor cd_G7x4y3 = { "G7x4y3", // class name
+ bases_G7x4y3, 6,
+ &(vtc_G7x4y3[0]), // expected_vtbl_contents
+ &(vtt_G7x4y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G7x4y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x4y3),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x4y3),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 G7x4y4 : E7x4 , F0 {
+ int ff;
+ ~G7x4y4(); // tgen
+ G7x4y4(); // tgen
+};
+//SIG(1 G7x4y4) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G7x4y4 ::~G7x4y4(){ note_dtor("G7x4y4", this);} // tgen
+G7x4y4 ::G7x4y4(){ note_ctor("G7x4y4", this);} // tgen
+
+static void Test_G7x4y4()
+{
+ extern Class_Descriptor cd_G7x4y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G7x4y4, buf);
+ G7x4y4 *dp, &lv = *(dp=new (buf) G7x4y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G7x4y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x4y4)");
+ check_base_class_offset(lv, (A1*)(C7*)(E7x4*), ABISELECT(32,28), "G7x4y4");
+ check_base_class_offset(lv, (B1*)(C7*)(E7x4*), 0, "G7x4y4");
+ check_base_class_offset(lv, (C7*)(E7x4*), 0, "G7x4y4");
+ check_base_class_offset(lv, (D0*)(E7x4*), ABISELECT(16,12), "G7x4y4");
+ check_base_class_offset(lv, (E7x4*), 0, "G7x4y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(24,20), "G7x4y4");
+ check_field_offset(lv, ff, ABISELECT(28,24), "G7x4y4.ff");
+ test_class_info(&lv, &cd_G7x4y4);
+ dp->~G7x4y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x4y4(Test_G7x4y4, "G7x4y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G7x4y4C1Ev();
+extern void _ZN6G7x4y4D1Ev();
+Name_Map name_map_G7x4y4[] = {
+ NSPAIR(_ZN6G7x4y4C1Ev),
+ NSPAIR(_ZN6G7x4y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E7x4;
+extern VTBL_ENTRY _ZTI4E7x4[];
+extern VTBL_ENTRY _ZTV4E7x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G7x4y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,28), //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
+ 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E7x4, 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 _ZTI6G7x4y4[];
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G7x4y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x4y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI6G7x4y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x4y4[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E7x4__6G7x4y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C74E7x4__6G7x4y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C74E7x4__6G7x4y4[] = {
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x4__6G7x4y4[] = {
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI4E7x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x4y4[] = {
+ {&(_ZTV6G7x4y4[3]), 3,8},
+ {&(_tg__ZTV4E7x4__6G7x4y4[3]), 3,4},
+ {&(_tg__ZTV2C74E7x4__6G7x4y4[3]), 3,4},
+ {&(_tg__ZTV2A1__2C74E7x4__6G7x4y4[3]), 3,4},
+ {&(_tg__ZTV2A1__4E7x4__6G7x4y4[3]), 3,4},
+ {&(_ZTV6G7x4y4[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI6G7x4y4[];
+extern VTBL_ENTRY _ZTV6G7x4y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x4y4[];
+Class_Descriptor cd_G7x4y4 = { "G7x4y4", // class name
+ bases_G7x4y4, 6,
+ &(vtc_G7x4y4[0]), // expected_vtbl_contents
+ &(vtt_G7x4y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G7x4y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x4y4),8, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x4y4),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 G7x4y5 : virtual E7x4 , F0 {
+ int ff;
+ ~G7x4y5(); // tgen
+ G7x4y5(); // tgen
+};
+//SIG(1 G7x4y5) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G7x4y5 ::~G7x4y5(){ note_dtor("G7x4y5", this);} // tgen
+G7x4y5 ::G7x4y5(){ note_ctor("G7x4y5", this);} // tgen
+
+static void Test_G7x4y5()
+{
+ extern Class_Descriptor cd_G7x4y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G7x4y5, buf);
+ G7x4y5 *dp, &lv = *(dp=new (buf) G7x4y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G7x4y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x4y5)");
+ check_base_class_offset(lv, (A1*)(C7*)(E7x4*), ABISELECT(40,32), "G7x4y5");
+ check_base_class_offset(lv, (B1*)(C7*)(E7x4*), ABISELECT(16,12), "G7x4y5");
+ check_base_class_offset(lv, (C7*)(E7x4*), ABISELECT(16,12), "G7x4y5");
+ check_base_class_offset(lv, (D0*)(E7x4*), ABISELECT(32,24), "G7x4y5");
+ check_base_class_offset(lv, (E7x4*), ABISELECT(16,12), "G7x4y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G7x4y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G7x4y5.ff");
+ test_class_info(&lv, &cd_G7x4y5);
+ dp->~G7x4y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x4y5(Test_G7x4y5, "G7x4y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G7x4y5C1Ev();
+extern void _ZN6G7x4y5D1Ev();
+Name_Map name_map_G7x4y5[] = {
+ NSPAIR(_ZN6G7x4y5C1Ev),
+ NSPAIR(_ZN6G7x4y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E7x4;
+extern VTBL_ENTRY _ZTI4E7x4[];
+extern VTBL_ENTRY _ZTV4E7x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G7x4y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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
+ 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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, 0},
+ {&cd_E7x4, 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 _ZTI6G7x4y5[];
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G7x4y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x4y5[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G7x4y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI6G7x4y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x4y5[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E7x4__6G7x4y5[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C74E7x4__6G7x4y5[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C74E7x4__6G7x4y5[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x4__6G7x4y5[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E7x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x4y5[] = {
+ {&(_ZTV6G7x4y5[4]), 4,13},
+ {&(_ZTV6G7x4y5[8]), 8,13},
+ {&(_ZTV6G7x4y5[12]), 12,13},
+ {&(_tg__ZTV4E7x4__6G7x4y5[3]), 3,4},
+ {&(_tg__ZTV2C74E7x4__6G7x4y5[3]), 3,4},
+ {&(_tg__ZTV2A1__2C74E7x4__6G7x4y5[3]), 3,4},
+ {&(_tg__ZTV2A1__4E7x4__6G7x4y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G7x4y5[];
+extern VTBL_ENTRY _ZTV6G7x4y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x4y5[];
+Class_Descriptor cd_G7x4y5 = { "G7x4y5", // class name
+ bases_G7x4y5, 6,
+ &(vtc_G7x4y5[0]), // expected_vtbl_contents
+ &(vtt_G7x4y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G7x4y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x4y5),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x4y5),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 G7x4y6 : E7x4 , virtual F0 {
+ int ff;
+ ~G7x4y6(); // tgen
+ G7x4y6(); // tgen
+};
+//SIG(1 G7x4y6) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G7x4y6 ::~G7x4y6(){ note_dtor("G7x4y6", this);} // tgen
+G7x4y6 ::G7x4y6(){ note_ctor("G7x4y6", this);} // tgen
+
+static void Test_G7x4y6()
+{
+ extern Class_Descriptor cd_G7x4y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G7x4y6, buf);
+ G7x4y6 *dp, &lv = *(dp=new (buf) G7x4y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G7x4y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x4y6)");
+ check_base_class_offset(lv, (A1*)(C7*)(E7x4*), ABISELECT(32,24), "G7x4y6");
+ check_base_class_offset(lv, (B1*)(C7*)(E7x4*), 0, "G7x4y6");
+ check_base_class_offset(lv, (C7*)(E7x4*), 0, "G7x4y6");
+ check_base_class_offset(lv, (D0*)(E7x4*), ABISELECT(16,12), "G7x4y6");
+ check_base_class_offset(lv, (E7x4*), 0, "G7x4y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G7x4y6");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G7x4y6.ff");
+ test_class_info(&lv, &cd_G7x4y6);
+ dp->~G7x4y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x4y6(Test_G7x4y6, "G7x4y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G7x4y6C1Ev();
+extern void _ZN6G7x4y6D1Ev();
+Name_Map name_map_G7x4y6[] = {
+ NSPAIR(_ZN6G7x4y6C1Ev),
+ NSPAIR(_ZN6G7x4y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E7x4;
+extern VTBL_ENTRY _ZTI4E7x4[];
+extern VTBL_ENTRY _ZTV4E7x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G7x4y6[] = {
+ // 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)
+ 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E7x4, 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 _ZTI6G7x4y6[];
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G7x4y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x4y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G7x4y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x4y6[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E7x4__6G7x4y6[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C74E7x4__6G7x4y6[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C74E7x4__6G7x4y6[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x4__6G7x4y6[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E7x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x4y6[] = {
+ {&(_ZTV6G7x4y6[4]), 4,9},
+ {&(_tg__ZTV4E7x4__6G7x4y6[3]), 3,4},
+ {&(_tg__ZTV2C74E7x4__6G7x4y6[3]), 3,4},
+ {&(_tg__ZTV2A1__2C74E7x4__6G7x4y6[3]), 3,4},
+ {&(_tg__ZTV2A1__4E7x4__6G7x4y6[3]), 3,4},
+ {&(_ZTV6G7x4y6[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI6G7x4y6[];
+extern VTBL_ENTRY _ZTV6G7x4y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x4y6[];
+Class_Descriptor cd_G7x4y6 = { "G7x4y6", // class name
+ bases_G7x4y6, 6,
+ &(vtc_G7x4y6[0]), // expected_vtbl_contents
+ &(vtt_G7x4y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G7x4y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x4y6),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x4y6),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 G7x4y7 : virtual E7x4 , virtual F0 {
+ int ff;
+ ~G7x4y7(); // tgen
+ G7x4y7(); // tgen
+};
+//SIG(1 G7x4y7) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G7x4y7 ::~G7x4y7(){ note_dtor("G7x4y7", this);} // tgen
+G7x4y7 ::G7x4y7(){ note_ctor("G7x4y7", this);} // tgen
+
+static void Test_G7x4y7()
+{
+ extern Class_Descriptor cd_G7x4y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G7x4y7, buf);
+ G7x4y7 *dp, &lv = *(dp=new (buf) G7x4y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G7x4y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x4y7)");
+ check_base_class_offset(lv, (A1*)(C7*)(E7x4*), ABISELECT(40,28), "G7x4y7");
+ check_base_class_offset(lv, (B1*)(C7*)(E7x4*), ABISELECT(16,8), "G7x4y7");
+ check_base_class_offset(lv, (C7*)(E7x4*), ABISELECT(16,8), "G7x4y7");
+ check_base_class_offset(lv, (D0*)(E7x4*), ABISELECT(32,20), "G7x4y7");
+ check_base_class_offset(lv, (E7x4*), ABISELECT(16,8), "G7x4y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G7x4y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G7x4y7.ff");
+ test_class_info(&lv, &cd_G7x4y7);
+ dp->~G7x4y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x4y7(Test_G7x4y7, "G7x4y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G7x4y7C1Ev();
+extern void _ZN6G7x4y7D1Ev();
+Name_Map name_map_G7x4y7[] = {
+ NSPAIR(_ZN6G7x4y7C1Ev),
+ NSPAIR(_ZN6G7x4y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E7x4;
+extern VTBL_ENTRY _ZTI4E7x4[];
+extern VTBL_ENTRY _ZTV4E7x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G7x4y7[] = {
+ // 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_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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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, 0},
+ {&cd_E7x4, 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 _ZTI6G7x4y7[];
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G7x4y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x4y7[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G7x4y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G7x4y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x4y7[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E7x4__6G7x4y7[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C74E7x4__6G7x4y7[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C74E7x4__6G7x4y7[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x4__6G7x4y7[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E7x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x4y7[] = {
+ {&(_ZTV6G7x4y7[5]), 5,14},
+ {&(_ZTV6G7x4y7[9]), 9,14},
+ {&(_ZTV6G7x4y7[13]), 13,14},
+ {&(_tg__ZTV4E7x4__6G7x4y7[3]), 3,4},
+ {&(_tg__ZTV2C74E7x4__6G7x4y7[3]), 3,4},
+ {&(_tg__ZTV2A1__2C74E7x4__6G7x4y7[3]), 3,4},
+ {&(_tg__ZTV2A1__4E7x4__6G7x4y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G7x4y7[];
+extern VTBL_ENTRY _ZTV6G7x4y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x4y7[];
+Class_Descriptor cd_G7x4y7 = { "G7x4y7", // class name
+ bases_G7x4y7, 6,
+ &(vtc_G7x4y7[0]), // expected_vtbl_contents
+ &(vtt_G7x4y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G7x4y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x4y7),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x4y7),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 E8x4 : C8 , D0 {
+ int fd;
+ ~E8x4(); // tgen
+ E8x4(); // tgen
+};
+//SIG(-1 E8x4) C1{ BC2{ BC3{ Fi} VBC4{ Fi} Fi} BC5{ Fi} Fi}
+
+
+E8x4 ::~E8x4(){ note_dtor("E8x4", this);} // tgen
+E8x4 ::E8x4(){ note_ctor("E8x4", this);} // tgen
+
+static void Test_E8x4()
+{
+ extern Class_Descriptor cd_E8x4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(5,7)];
+ init_test(&cd_E8x4, buf);
+ E8x4 *dp, &lv = *(dp=new (buf) E8x4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(32,24), "sizeof(E8x4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E8x4)");
+ check_base_class_offset(lv, (A0*)(C8*), ABISELECT(8,4), "E8x4");
+ check_base_class_offset(lv, (B0*)(C8*), ABISELECT(24,20), "E8x4");
+ check_base_class_offset(lv, (C8*), 0, "E8x4");
+ check_base_class_offset(lv, (D0*), ABISELECT(16,12), "E8x4");
+ check_field_offset(lv, fd, ABISELECT(20,16), "E8x4.fd");
+ test_class_info(&lv, &cd_E8x4);
+ dp->~E8x4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE8x4(Test_E8x4, "E8x4", ABISELECT(32,24));
+
+#else // __cplusplus
+
+extern void _ZN4E8x4C1Ev();
+extern void _ZN4E8x4D1Ev();
+Name_Map name_map_E8x4[] = {
+ NSPAIR(_ZN4E8x4C1Ev),
+ NSPAIR(_ZN4E8x4D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E8x4[] = {
+ // 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
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI4E8x4[];
+static VTBL_ENTRY vtc_E8x4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x4[0]),
+};
+extern VTBL_ENTRY _ZTV4E8x4[];
+static VTBL_ENTRY _tg__ZTV2C8__4E8x4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_E8x4[] = {
+ {&(_ZTV4E8x4[3]), 3,3},
+ {&(_tg__ZTV2C8__4E8x4[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI4E8x4[];
+extern VTBL_ENTRY _ZTV4E8x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x4[];
+Class_Descriptor cd_E8x4 = { "E8x4", // class name
+ bases_E8x4, 4,
+ &(vtc_E8x4[0]), // expected_vtbl_contents
+ &(vtt_E8x4[0]), // expected_vtt_contents
+ ABISELECT(32,24), // object size
+ NSPAIRA(_ZTI4E8x4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E8x4),3, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E8x4),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 G8x4y0 : E8x4 , F1 {
+ int ff;
+ ~G8x4y0(); // tgen
+ G8x4y0(); // tgen
+};
+//SIG(1 G8x4y0) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ v1 Fi} Fi}
+
+
+G8x4y0 ::~G8x4y0(){ note_dtor("G8x4y0", this);} // tgen
+G8x4y0 ::G8x4y0(){ note_ctor("G8x4y0", this);} // tgen
+
+static void Test_G8x4y0()
+{
+ extern Class_Descriptor cd_G8x4y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G8x4y0, buf);
+ G8x4y0 *dp, &lv = *(dp=new (buf) G8x4y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G8x4y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x4y0)");
+ check_base_class_offset(lv, (A0*)(C8*)(E8x4*), ABISELECT(8,4), "G8x4y0");
+ check_base_class_offset(lv, (B0*)(C8*)(E8x4*), ABISELECT(40,32), "G8x4y0");
+ check_base_class_offset(lv, (C8*)(E8x4*), 0, "G8x4y0");
+ check_base_class_offset(lv, (D0*)(E8x4*), ABISELECT(16,12), "G8x4y0");
+ check_base_class_offset(lv, (E8x4*), 0, "G8x4y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,20), "G8x4y0");
+ check_field_offset(lv, ff, ABISELECT(36,28), "G8x4y0.ff");
+ test_class_info(&lv, &cd_G8x4y0);
+ dp->~G8x4y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x4y0(Test_G8x4y0, "G8x4y0", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G8x4y0C1Ev();
+extern void _ZN6G8x4y0D1Ev();
+Name_Map name_map_G8x4y0[] = {
+ NSPAIR(_ZN6G8x4y0C1Ev),
+ NSPAIR(_ZN6G8x4y0D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E8x4;
+extern VTBL_ENTRY _ZTI4E8x4[];
+extern VTBL_ENTRY _ZTV4E8x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G8x4y0[] = {
+ // 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E8x4, 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 _ZTI6G8x4y0[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G8x4y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x4y0[0]),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI6G8x4y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G8x4y0[];
+static VTBL_ENTRY _tg__ZTV4E8x4__6G8x4y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C84E8x4__6G8x4y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x4y0[] = {
+ {&(_ZTV6G8x4y0[3]), 3,6},
+ {&(_tg__ZTV4E8x4__6G8x4y0[3]), 3,3},
+ {&(_tg__ZTV2C84E8x4__6G8x4y0[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x4y0[];
+extern VTBL_ENTRY _ZTV6G8x4y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x4y0[];
+Class_Descriptor cd_G8x4y0 = { "G8x4y0", // class name
+ bases_G8x4y0, 6,
+ &(vtc_G8x4y0[0]), // expected_vtbl_contents
+ &(vtt_G8x4y0[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G8x4y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x4y0),6, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x4y0),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 G8x4y1 : virtual E8x4 , F1 {
+ int ff;
+ ~G8x4y1(); // tgen
+ G8x4y1(); // tgen
+};
+//SIG(1 G8x4y1) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ v1 Fi} Fi}
+
+
+G8x4y1 ::~G8x4y1(){ note_dtor("G8x4y1", this);} // tgen
+G8x4y1 ::G8x4y1(){ note_ctor("G8x4y1", this);} // tgen
+
+static void Test_G8x4y1()
+{
+ extern Class_Descriptor cd_G8x4y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G8x4y1, buf);
+ G8x4y1 *dp, &lv = *(dp=new (buf) G8x4y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G8x4y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x4y1)");
+ check_base_class_offset(lv, (A0*)(C8*)(E8x4*), ABISELECT(24,16), "G8x4y1");
+ check_base_class_offset(lv, (B0*)(C8*)(E8x4*), ABISELECT(40,32), "G8x4y1");
+ check_base_class_offset(lv, (C8*)(E8x4*), ABISELECT(16,12), "G8x4y1");
+ check_base_class_offset(lv, (D0*)(E8x4*), ABISELECT(32,24), "G8x4y1");
+ check_base_class_offset(lv, (E8x4*), ABISELECT(16,12), "G8x4y1");
+ check_base_class_offset(lv, (F1*), 0, "G8x4y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G8x4y1.ff");
+ test_class_info(&lv, &cd_G8x4y1);
+ dp->~G8x4y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x4y1(Test_G8x4y1, "G8x4y1", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G8x4y1C1Ev();
+extern void _ZN6G8x4y1D1Ev();
+Name_Map name_map_G8x4y1[] = {
+ NSPAIR(_ZN6G8x4y1C1Ev),
+ NSPAIR(_ZN6G8x4y1D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E8x4;
+extern VTBL_ENTRY _ZTI4E8x4[];
+extern VTBL_ENTRY _ZTV4E8x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G8x4y1[] = {
+ // 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(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(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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, 0},
+ {&cd_E8x4, 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
+ 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 _ZTI6G8x4y1[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G8x4y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x4y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G8x4y1[0]),
+};
+extern VTBL_ENTRY _ZTV6G8x4y1[];
+static VTBL_ENTRY _tg__ZTV4E8x4__6G8x4y1[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C84E8x4__6G8x4y1[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x4y1[] = {
+ {&(_ZTV6G8x4y1[4]), 4,8},
+ {&(_ZTV6G8x4y1[8]), 8,8},
+ {&(_tg__ZTV4E8x4__6G8x4y1[3]), 3,3},
+ {&(_tg__ZTV2C84E8x4__6G8x4y1[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x4y1[];
+extern VTBL_ENTRY _ZTV6G8x4y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x4y1[];
+Class_Descriptor cd_G8x4y1 = { "G8x4y1", // class name
+ bases_G8x4y1, 6,
+ &(vtc_G8x4y1[0]), // expected_vtbl_contents
+ &(vtt_G8x4y1[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G8x4y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x4y1),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x4y1),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 G8x4y2 : E8x4 , virtual F1 {
+ int ff;
+ ~G8x4y2(); // tgen
+ G8x4y2(); // tgen
+};
+//SIG(1 G8x4y2) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ v1 Fi} Fi}
+
+
+G8x4y2 ::~G8x4y2(){ note_dtor("G8x4y2", this);} // tgen
+G8x4y2 ::G8x4y2(){ note_ctor("G8x4y2", this);} // tgen
+
+static void Test_G8x4y2()
+{
+ extern Class_Descriptor cd_G8x4y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G8x4y2, buf);
+ G8x4y2 *dp, &lv = *(dp=new (buf) G8x4y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G8x4y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x4y2)");
+ check_base_class_offset(lv, (A0*)(C8*)(E8x4*), ABISELECT(8,4), "G8x4y2");
+ check_base_class_offset(lv, (B0*)(C8*)(E8x4*), ABISELECT(28,24), "G8x4y2");
+ check_base_class_offset(lv, (C8*)(E8x4*), 0, "G8x4y2");
+ check_base_class_offset(lv, (D0*)(E8x4*), ABISELECT(16,12), "G8x4y2");
+ check_base_class_offset(lv, (E8x4*), 0, "G8x4y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,28), "G8x4y2");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G8x4y2.ff");
+ test_class_info(&lv, &cd_G8x4y2);
+ dp->~G8x4y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x4y2(Test_G8x4y2, "G8x4y2", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G8x4y2C1Ev();
+extern void _ZN6G8x4y2D1Ev();
+Name_Map name_map_G8x4y2[] = {
+ NSPAIR(_ZN6G8x4y2C1Ev),
+ NSPAIR(_ZN6G8x4y2D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E8x4;
+extern VTBL_ENTRY _ZTI4E8x4[];
+extern VTBL_ENTRY _ZTV4E8x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G8x4y2[] = {
+ // 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E8x4, 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
+ 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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G8x4y2[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G8x4y2[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x4y2[0]),
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI6G8x4y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G8x4y2[];
+static VTBL_ENTRY _tg__ZTV4E8x4__6G8x4y2[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C84E8x4__6G8x4y2[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x4y2[] = {
+ {&(_ZTV6G8x4y2[4]), 4,8},
+ {&(_tg__ZTV4E8x4__6G8x4y2[3]), 3,3},
+ {&(_tg__ZTV2C84E8x4__6G8x4y2[3]), 3,3},
+ {&(_ZTV6G8x4y2[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI6G8x4y2[];
+extern VTBL_ENTRY _ZTV6G8x4y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x4y2[];
+Class_Descriptor cd_G8x4y2 = { "G8x4y2", // class name
+ bases_G8x4y2, 6,
+ &(vtc_G8x4y2[0]), // expected_vtbl_contents
+ &(vtt_G8x4y2[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G8x4y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x4y2),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x4y2),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 G8x4y3 : virtual E8x4 , virtual F1 {
+ int ff;
+ ~G8x4y3(); // tgen
+ G8x4y3(); // tgen
+};
+//SIG(1 G8x4y3) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ v1 Fi} Fi}
+
+
+G8x4y3 ::~G8x4y3(){ note_dtor("G8x4y3", this);} // tgen
+G8x4y3 ::G8x4y3(){ note_ctor("G8x4y3", this);} // tgen
+
+static void Test_G8x4y3()
+{
+ extern Class_Descriptor cd_G8x4y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G8x4y3, buf);
+ G8x4y3 *dp, &lv = *(dp=new (buf) G8x4y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G8x4y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x4y3)");
+ check_base_class_offset(lv, (A0*)(C8*)(E8x4*), ABISELECT(24,12), "G8x4y3");
+ check_base_class_offset(lv, (B0*)(C8*)(E8x4*), ABISELECT(40,28), "G8x4y3");
+ check_base_class_offset(lv, (C8*)(E8x4*), ABISELECT(16,8), "G8x4y3");
+ check_base_class_offset(lv, (D0*)(E8x4*), ABISELECT(32,20), "G8x4y3");
+ check_base_class_offset(lv, (E8x4*), ABISELECT(16,8), "G8x4y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G8x4y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G8x4y3.ff");
+ test_class_info(&lv, &cd_G8x4y3);
+ dp->~G8x4y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x4y3(Test_G8x4y3, "G8x4y3", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G8x4y3C1Ev();
+extern void _ZN6G8x4y3D1Ev();
+Name_Map name_map_G8x4y3[] = {
+ NSPAIR(_ZN6G8x4y3C1Ev),
+ NSPAIR(_ZN6G8x4y3D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E8x4;
+extern VTBL_ENTRY _ZTI4E8x4[];
+extern VTBL_ENTRY _ZTV4E8x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G8x4y3[] = {
+ // 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(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(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_D0, 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, 0},
+ {&cd_E8x4, 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_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 _ZTI6G8x4y3[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G8x4y3[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x4y3[0]),
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G8x4y3[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G8x4y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G8x4y3[];
+static VTBL_ENTRY _tg__ZTV4E8x4__6G8x4y3[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C84E8x4__6G8x4y3[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x4y3[] = {
+ {&(_ZTV6G8x4y3[5]), 5,12},
+ {&(_ZTV6G8x4y3[8]), 8,12},
+ {&(_ZTV6G8x4y3[11]), 11,12},
+ {&(_tg__ZTV4E8x4__6G8x4y3[3]), 3,3},
+ {&(_tg__ZTV2C84E8x4__6G8x4y3[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x4y3[];
+extern VTBL_ENTRY _ZTV6G8x4y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x4y3[];
+Class_Descriptor cd_G8x4y3 = { "G8x4y3", // class name
+ bases_G8x4y3, 6,
+ &(vtc_G8x4y3[0]), // expected_vtbl_contents
+ &(vtt_G8x4y3[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G8x4y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x4y3),12, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x4y3),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 G8x4y4 : E8x4 , F0 {
+ int ff;
+ ~G8x4y4(); // tgen
+ G8x4y4(); // tgen
+};
+//SIG(1 G8x4y4) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G8x4y4 ::~G8x4y4(){ note_dtor("G8x4y4", this);} // tgen
+G8x4y4 ::G8x4y4(){ note_ctor("G8x4y4", this);} // tgen
+
+static void Test_G8x4y4()
+{
+ extern Class_Descriptor cd_G8x4y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G8x4y4, buf);
+ G8x4y4 *dp, &lv = *(dp=new (buf) G8x4y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G8x4y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x4y4)");
+ check_base_class_offset(lv, (A0*)(C8*)(E8x4*), ABISELECT(8,4), "G8x4y4");
+ check_base_class_offset(lv, (B0*)(C8*)(E8x4*), ABISELECT(32,28), "G8x4y4");
+ check_base_class_offset(lv, (C8*)(E8x4*), 0, "G8x4y4");
+ check_base_class_offset(lv, (D0*)(E8x4*), ABISELECT(16,12), "G8x4y4");
+ check_base_class_offset(lv, (E8x4*), 0, "G8x4y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(24,20), "G8x4y4");
+ check_field_offset(lv, ff, ABISELECT(28,24), "G8x4y4.ff");
+ test_class_info(&lv, &cd_G8x4y4);
+ dp->~G8x4y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x4y4(Test_G8x4y4, "G8x4y4", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN6G8x4y4C1Ev();
+extern void _ZN6G8x4y4D1Ev();
+Name_Map name_map_G8x4y4[] = {
+ NSPAIR(_ZN6G8x4y4C1Ev),
+ NSPAIR(_ZN6G8x4y4D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E8x4;
+extern VTBL_ENTRY _ZTI4E8x4[];
+extern VTBL_ENTRY _ZTV4E8x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G8x4y4[] = {
+ // 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,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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E8x4, 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 _ZTI6G8x4y4[];
+static VTBL_ENTRY vtc_G8x4y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x4y4[0]),
+};
+extern VTBL_ENTRY _ZTV6G8x4y4[];
+static VTBL_ENTRY _tg__ZTV4E8x4__6G8x4y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C84E8x4__6G8x4y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x4y4[] = {
+ {&(_ZTV6G8x4y4[3]), 3,3},
+ {&(_tg__ZTV4E8x4__6G8x4y4[3]), 3,3},
+ {&(_tg__ZTV2C84E8x4__6G8x4y4[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x4y4[];
+extern VTBL_ENTRY _ZTV6G8x4y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x4y4[];
+Class_Descriptor cd_G8x4y4 = { "G8x4y4", // class name
+ bases_G8x4y4, 6,
+ &(vtc_G8x4y4[0]), // expected_vtbl_contents
+ &(vtt_G8x4y4[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI6G8x4y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x4y4),3, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x4y4),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 G8x4y5 : virtual E8x4 , F0 {
+ int ff;
+ ~G8x4y5(); // tgen
+ G8x4y5(); // tgen
+};
+//SIG(1 G8x4y5) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G8x4y5 ::~G8x4y5(){ note_dtor("G8x4y5", this);} // tgen
+G8x4y5 ::G8x4y5(){ note_ctor("G8x4y5", this);} // tgen
+
+static void Test_G8x4y5()
+{
+ extern Class_Descriptor cd_G8x4y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G8x4y5, buf);
+ G8x4y5 *dp, &lv = *(dp=new (buf) G8x4y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G8x4y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x4y5)");
+ check_base_class_offset(lv, (A0*)(C8*)(E8x4*), ABISELECT(24,16), "G8x4y5");
+ check_base_class_offset(lv, (B0*)(C8*)(E8x4*), ABISELECT(40,32), "G8x4y5");
+ check_base_class_offset(lv, (C8*)(E8x4*), ABISELECT(16,12), "G8x4y5");
+ check_base_class_offset(lv, (D0*)(E8x4*), ABISELECT(32,24), "G8x4y5");
+ check_base_class_offset(lv, (E8x4*), ABISELECT(16,12), "G8x4y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G8x4y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G8x4y5.ff");
+ test_class_info(&lv, &cd_G8x4y5);
+ dp->~G8x4y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x4y5(Test_G8x4y5, "G8x4y5", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G8x4y5C1Ev();
+extern void _ZN6G8x4y5D1Ev();
+Name_Map name_map_G8x4y5[] = {
+ NSPAIR(_ZN6G8x4y5C1Ev),
+ NSPAIR(_ZN6G8x4y5D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E8x4;
+extern VTBL_ENTRY _ZTI4E8x4[];
+extern VTBL_ENTRY _ZTV4E8x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G8x4y5[] = {
+ // 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(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(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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, 0},
+ {&cd_E8x4, 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
+ 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 _ZTI6G8x4y5[];
+static VTBL_ENTRY vtc_G8x4y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x4y5[0]),
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G8x4y5[0]),
+};
+extern VTBL_ENTRY _ZTV6G8x4y5[];
+static VTBL_ENTRY _tg__ZTV4E8x4__6G8x4y5[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C84E8x4__6G8x4y5[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x4y5[] = {
+ {&(_ZTV6G8x4y5[4]), 4,7},
+ {&(_ZTV6G8x4y5[7]), 7,7},
+ {&(_tg__ZTV4E8x4__6G8x4y5[3]), 3,3},
+ {&(_tg__ZTV2C84E8x4__6G8x4y5[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x4y5[];
+extern VTBL_ENTRY _ZTV6G8x4y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x4y5[];
+Class_Descriptor cd_G8x4y5 = { "G8x4y5", // class name
+ bases_G8x4y5, 6,
+ &(vtc_G8x4y5[0]), // expected_vtbl_contents
+ &(vtt_G8x4y5[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G8x4y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x4y5),7, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x4y5),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 G8x4y6 : E8x4 , virtual F0 {
+ int ff;
+ ~G8x4y6(); // tgen
+ G8x4y6(); // tgen
+};
+//SIG(1 G8x4y6) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G8x4y6 ::~G8x4y6(){ note_dtor("G8x4y6", this);} // tgen
+G8x4y6 ::G8x4y6(){ note_ctor("G8x4y6", this);} // tgen
+
+static void Test_G8x4y6()
+{
+ extern Class_Descriptor cd_G8x4y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G8x4y6, buf);
+ G8x4y6 *dp, &lv = *(dp=new (buf) G8x4y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G8x4y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x4y6)");
+ check_base_class_offset(lv, (A0*)(C8*)(E8x4*), ABISELECT(8,4), "G8x4y6");
+ check_base_class_offset(lv, (B0*)(C8*)(E8x4*), ABISELECT(28,24), "G8x4y6");
+ check_base_class_offset(lv, (C8*)(E8x4*), 0, "G8x4y6");
+ check_base_class_offset(lv, (D0*)(E8x4*), ABISELECT(16,12), "G8x4y6");
+ check_base_class_offset(lv, (E8x4*), 0, "G8x4y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,28), "G8x4y6");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G8x4y6.ff");
+ test_class_info(&lv, &cd_G8x4y6);
+ dp->~G8x4y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x4y6(Test_G8x4y6, "G8x4y6", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN6G8x4y6C1Ev();
+extern void _ZN6G8x4y6D1Ev();
+Name_Map name_map_G8x4y6[] = {
+ NSPAIR(_ZN6G8x4y6C1Ev),
+ NSPAIR(_ZN6G8x4y6D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E8x4;
+extern VTBL_ENTRY _ZTI4E8x4[];
+extern VTBL_ENTRY _ZTV4E8x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G8x4y6[] = {
+ // 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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E8x4, 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 _ZTI6G8x4y6[];
+static VTBL_ENTRY vtc_G8x4y6[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x4y6[0]),
+};
+extern VTBL_ENTRY _ZTV6G8x4y6[];
+static VTBL_ENTRY _tg__ZTV4E8x4__6G8x4y6[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C84E8x4__6G8x4y6[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x4y6[] = {
+ {&(_ZTV6G8x4y6[4]), 4,4},
+ {&(_tg__ZTV4E8x4__6G8x4y6[3]), 3,3},
+ {&(_tg__ZTV2C84E8x4__6G8x4y6[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x4y6[];
+extern VTBL_ENTRY _ZTV6G8x4y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x4y6[];
+Class_Descriptor cd_G8x4y6 = { "G8x4y6", // class name
+ bases_G8x4y6, 6,
+ &(vtc_G8x4y6[0]), // expected_vtbl_contents
+ &(vtt_G8x4y6[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI6G8x4y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x4y6),4, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x4y6),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 G8x4y7 : virtual E8x4 , virtual F0 {
+ int ff;
+ ~G8x4y7(); // tgen
+ G8x4y7(); // tgen
+};
+//SIG(1 G8x4y7) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G8x4y7 ::~G8x4y7(){ note_dtor("G8x4y7", this);} // tgen
+G8x4y7 ::G8x4y7(){ note_ctor("G8x4y7", this);} // tgen
+
+static void Test_G8x4y7()
+{
+ extern Class_Descriptor cd_G8x4y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G8x4y7, buf);
+ G8x4y7 *dp, &lv = *(dp=new (buf) G8x4y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G8x4y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x4y7)");
+ check_base_class_offset(lv, (A0*)(C8*)(E8x4*), ABISELECT(24,12), "G8x4y7");
+ check_base_class_offset(lv, (B0*)(C8*)(E8x4*), ABISELECT(40,28), "G8x4y7");
+ check_base_class_offset(lv, (C8*)(E8x4*), ABISELECT(16,8), "G8x4y7");
+ check_base_class_offset(lv, (D0*)(E8x4*), ABISELECT(32,20), "G8x4y7");
+ check_base_class_offset(lv, (E8x4*), ABISELECT(16,8), "G8x4y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G8x4y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G8x4y7.ff");
+ test_class_info(&lv, &cd_G8x4y7);
+ dp->~G8x4y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x4y7(Test_G8x4y7, "G8x4y7", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G8x4y7C1Ev();
+extern void _ZN6G8x4y7D1Ev();
+Name_Map name_map_G8x4y7[] = {
+ NSPAIR(_ZN6G8x4y7C1Ev),
+ NSPAIR(_ZN6G8x4y7D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E8x4;
+extern VTBL_ENTRY _ZTI4E8x4[];
+extern VTBL_ENTRY _ZTV4E8x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G8x4y7[] = {
+ // 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(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(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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, 0},
+ {&cd_E8x4, 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
+ 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 _ZTI6G8x4y7[];
+static VTBL_ENTRY vtc_G8x4y7[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x4y7[0]),
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G8x4y7[0]),
+};
+extern VTBL_ENTRY _ZTV6G8x4y7[];
+static VTBL_ENTRY _tg__ZTV4E8x4__6G8x4y7[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C84E8x4__6G8x4y7[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x4y7[] = {
+ {&(_ZTV6G8x4y7[5]), 5,8},
+ {&(_ZTV6G8x4y7[8]), 8,8},
+ {&(_tg__ZTV4E8x4__6G8x4y7[3]), 3,3},
+ {&(_tg__ZTV2C84E8x4__6G8x4y7[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x4y7[];
+extern VTBL_ENTRY _ZTV6G8x4y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x4y7[];
+Class_Descriptor cd_G8x4y7 = { "G8x4y7", // class name
+ bases_G8x4y7, 6,
+ &(vtc_G8x4y7[0]), // expected_vtbl_contents
+ &(vtt_G8x4y7[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G8x4y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x4y7),8, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x4y7),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 E9x4 : C9 , D0 {
+ int fd;
+ ~E9x4(); // tgen
+ E9x4(); // tgen
+};
+//SIG(-1 E9x4) C1{ BC2{ BC3{ v1 Fi} VBC4{ Fi} Fi} BC5{ Fi} Fi}
+
+
+E9x4 ::~E9x4(){ note_dtor("E9x4", this);} // tgen
+E9x4 ::E9x4(){ note_ctor("E9x4", this);} // tgen
+
+static void Test_E9x4()
+{
+ extern Class_Descriptor cd_E9x4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(5,7)];
+ init_test(&cd_E9x4, buf);
+ E9x4 *dp, &lv = *(dp=new (buf) E9x4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(32,24), "sizeof(E9x4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E9x4)");
+ check_base_class_offset(lv, (A1*)(C9*), 0, "E9x4");
+ check_base_class_offset(lv, (B0*)(C9*), ABISELECT(24,20), "E9x4");
+ check_base_class_offset(lv, (C9*), 0, "E9x4");
+ check_base_class_offset(lv, (D0*), ABISELECT(16,12), "E9x4");
+ check_field_offset(lv, fd, ABISELECT(20,16), "E9x4.fd");
+ test_class_info(&lv, &cd_E9x4);
+ dp->~E9x4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE9x4(Test_E9x4, "E9x4", ABISELECT(32,24));
+
+#else // __cplusplus
+
+extern void _ZN4E9x4C1Ev();
+extern void _ZN4E9x4D1Ev();
+Name_Map name_map_E9x4[] = {
+ NSPAIR(_ZN4E9x4C1Ev),
+ NSPAIR(_ZN4E9x4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E9x4[] = {
+ // 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(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
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI4E9x4[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_E9x4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E9x4[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__4E9x4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_E9x4[] = {
+ {&(_ZTV4E9x4[3]), 3,4},
+ {&(_tg__ZTV2C9__4E9x4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI4E9x4[];
+extern VTBL_ENTRY _ZTV4E9x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x4[];
+Class_Descriptor cd_E9x4 = { "E9x4", // class name
+ bases_E9x4, 4,
+ &(vtc_E9x4[0]), // expected_vtbl_contents
+ &(vtt_E9x4[0]), // expected_vtt_contents
+ ABISELECT(32,24), // object size
+ NSPAIRA(_ZTI4E9x4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E9x4),4, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E9x4),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 G9x4y0 : E9x4 , F1 {
+ int ff;
+ ~G9x4y0(); // tgen
+ G9x4y0(); // tgen
+};
+//SIG(1 G9x4y0) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G9x4y0 ::~G9x4y0(){ note_dtor("G9x4y0", this);} // tgen
+G9x4y0 ::G9x4y0(){ note_ctor("G9x4y0", this);} // tgen
+
+static void Test_G9x4y0()
+{
+ extern Class_Descriptor cd_G9x4y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G9x4y0, buf);
+ G9x4y0 *dp, &lv = *(dp=new (buf) G9x4y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G9x4y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x4y0)");
+ check_base_class_offset(lv, (A1*)(C9*)(E9x4*), 0, "G9x4y0");
+ check_base_class_offset(lv, (B0*)(C9*)(E9x4*), ABISELECT(40,32), "G9x4y0");
+ check_base_class_offset(lv, (C9*)(E9x4*), 0, "G9x4y0");
+ check_base_class_offset(lv, (D0*)(E9x4*), ABISELECT(16,12), "G9x4y0");
+ check_base_class_offset(lv, (E9x4*), 0, "G9x4y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,20), "G9x4y0");
+ check_field_offset(lv, ff, ABISELECT(36,28), "G9x4y0.ff");
+ test_class_info(&lv, &cd_G9x4y0);
+ dp->~G9x4y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x4y0(Test_G9x4y0, "G9x4y0", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G9x4y0C1Ev();
+extern void _ZN6G9x4y0D1Ev();
+Name_Map name_map_G9x4y0[] = {
+ NSPAIR(_ZN6G9x4y0C1Ev),
+ NSPAIR(_ZN6G9x4y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E9x4;
+extern VTBL_ENTRY _ZTI4E9x4[];
+extern VTBL_ENTRY _ZTV4E9x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G9x4y0[] = {
+ // 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E9x4, 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 _ZTI6G9x4y0[];
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G9x4y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x4y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI6G9x4y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x4y0[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E9x4__6G9x4y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C94E9x4__6G9x4y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x4y0[] = {
+ {&(_ZTV6G9x4y0[3]), 3,7},
+ {&(_tg__ZTV4E9x4__6G9x4y0[3]), 3,4},
+ {&(_tg__ZTV2C94E9x4__6G9x4y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x4y0[];
+extern VTBL_ENTRY _ZTV6G9x4y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x4y0[];
+Class_Descriptor cd_G9x4y0 = { "G9x4y0", // class name
+ bases_G9x4y0, 6,
+ &(vtc_G9x4y0[0]), // expected_vtbl_contents
+ &(vtt_G9x4y0[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G9x4y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x4y0),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x4y0),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 G9x4y1 : virtual E9x4 , F1 {
+ int ff;
+ ~G9x4y1(); // tgen
+ G9x4y1(); // tgen
+};
+//SIG(1 G9x4y1) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G9x4y1 ::~G9x4y1(){ note_dtor("G9x4y1", this);} // tgen
+G9x4y1 ::G9x4y1(){ note_ctor("G9x4y1", this);} // tgen
+
+static void Test_G9x4y1()
+{
+ extern Class_Descriptor cd_G9x4y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G9x4y1, buf);
+ G9x4y1 *dp, &lv = *(dp=new (buf) G9x4y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G9x4y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x4y1)");
+ check_base_class_offset(lv, (A1*)(C9*)(E9x4*), ABISELECT(16,12), "G9x4y1");
+ check_base_class_offset(lv, (B0*)(C9*)(E9x4*), ABISELECT(40,32), "G9x4y1");
+ check_base_class_offset(lv, (C9*)(E9x4*), ABISELECT(16,12), "G9x4y1");
+ check_base_class_offset(lv, (D0*)(E9x4*), ABISELECT(32,24), "G9x4y1");
+ check_base_class_offset(lv, (E9x4*), ABISELECT(16,12), "G9x4y1");
+ check_base_class_offset(lv, (F1*), 0, "G9x4y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G9x4y1.ff");
+ test_class_info(&lv, &cd_G9x4y1);
+ dp->~G9x4y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x4y1(Test_G9x4y1, "G9x4y1", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G9x4y1C1Ev();
+extern void _ZN6G9x4y1D1Ev();
+Name_Map name_map_G9x4y1[] = {
+ NSPAIR(_ZN6G9x4y1C1Ev),
+ NSPAIR(_ZN6G9x4y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E9x4;
+extern VTBL_ENTRY _ZTI4E9x4[];
+extern VTBL_ENTRY _ZTV4E9x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G9x4y1[] = {
+ // 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(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(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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, 0},
+ {&cd_E9x4, 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
+ 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 _ZTI6G9x4y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G9x4y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x4y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G9x4y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x4y1[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E9x4__6G9x4y1[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C94E9x4__6G9x4y1[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x4y1[] = {
+ {&(_ZTV6G9x4y1[4]), 4,10},
+ {&(_ZTV6G9x4y1[9]), 9,10},
+ {&(_tg__ZTV4E9x4__6G9x4y1[3]), 3,4},
+ {&(_tg__ZTV2C94E9x4__6G9x4y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x4y1[];
+extern VTBL_ENTRY _ZTV6G9x4y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x4y1[];
+Class_Descriptor cd_G9x4y1 = { "G9x4y1", // class name
+ bases_G9x4y1, 6,
+ &(vtc_G9x4y1[0]), // expected_vtbl_contents
+ &(vtt_G9x4y1[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G9x4y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x4y1),10, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x4y1),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 G9x4y2 : E9x4 , virtual F1 {
+ int ff;
+ ~G9x4y2(); // tgen
+ G9x4y2(); // tgen
+};
+//SIG(1 G9x4y2) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G9x4y2 ::~G9x4y2(){ note_dtor("G9x4y2", this);} // tgen
+G9x4y2 ::G9x4y2(){ note_ctor("G9x4y2", this);} // tgen
+
+static void Test_G9x4y2()
+{
+ extern Class_Descriptor cd_G9x4y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G9x4y2, buf);
+ G9x4y2 *dp, &lv = *(dp=new (buf) G9x4y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G9x4y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x4y2)");
+ check_base_class_offset(lv, (A1*)(C9*)(E9x4*), 0, "G9x4y2");
+ check_base_class_offset(lv, (B0*)(C9*)(E9x4*), ABISELECT(28,24), "G9x4y2");
+ check_base_class_offset(lv, (C9*)(E9x4*), 0, "G9x4y2");
+ check_base_class_offset(lv, (D0*)(E9x4*), ABISELECT(16,12), "G9x4y2");
+ check_base_class_offset(lv, (E9x4*), 0, "G9x4y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,28), "G9x4y2");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G9x4y2.ff");
+ test_class_info(&lv, &cd_G9x4y2);
+ dp->~G9x4y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x4y2(Test_G9x4y2, "G9x4y2", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G9x4y2C1Ev();
+extern void _ZN6G9x4y2D1Ev();
+Name_Map name_map_G9x4y2[] = {
+ NSPAIR(_ZN6G9x4y2C1Ev),
+ NSPAIR(_ZN6G9x4y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E9x4;
+extern VTBL_ENTRY _ZTI4E9x4[];
+extern VTBL_ENTRY _ZTV4E9x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G9x4y2[] = {
+ // 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E9x4, 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,28), //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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G9x4y2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G9x4y2[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x4y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI6G9x4y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x4y2[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E9x4__6G9x4y2[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C94E9x4__6G9x4y2[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x4y2[] = {
+ {&(_ZTV6G9x4y2[4]), 4,9},
+ {&(_tg__ZTV4E9x4__6G9x4y2[3]), 3,4},
+ {&(_tg__ZTV2C94E9x4__6G9x4y2[3]), 3,4},
+ {&(_ZTV6G9x4y2[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI6G9x4y2[];
+extern VTBL_ENTRY _ZTV6G9x4y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x4y2[];
+Class_Descriptor cd_G9x4y2 = { "G9x4y2", // class name
+ bases_G9x4y2, 6,
+ &(vtc_G9x4y2[0]), // expected_vtbl_contents
+ &(vtt_G9x4y2[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G9x4y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x4y2),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x4y2),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 G9x4y3 : virtual E9x4 , virtual F1 {
+ int ff;
+ ~G9x4y3(); // tgen
+ G9x4y3(); // tgen
+};
+//SIG(1 G9x4y3) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G9x4y3 ::~G9x4y3(){ note_dtor("G9x4y3", this);} // tgen
+G9x4y3 ::G9x4y3(){ note_ctor("G9x4y3", this);} // tgen
+
+static void Test_G9x4y3()
+{
+ extern Class_Descriptor cd_G9x4y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G9x4y3, buf);
+ G9x4y3 *dp, &lv = *(dp=new (buf) G9x4y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G9x4y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x4y3)");
+ check_base_class_offset(lv, (A1*)(C9*)(E9x4*), ABISELECT(16,8), "G9x4y3");
+ check_base_class_offset(lv, (B0*)(C9*)(E9x4*), ABISELECT(40,28), "G9x4y3");
+ check_base_class_offset(lv, (C9*)(E9x4*), ABISELECT(16,8), "G9x4y3");
+ check_base_class_offset(lv, (D0*)(E9x4*), ABISELECT(32,20), "G9x4y3");
+ check_base_class_offset(lv, (E9x4*), ABISELECT(16,8), "G9x4y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G9x4y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G9x4y3.ff");
+ test_class_info(&lv, &cd_G9x4y3);
+ dp->~G9x4y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x4y3(Test_G9x4y3, "G9x4y3", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G9x4y3C1Ev();
+extern void _ZN6G9x4y3D1Ev();
+Name_Map name_map_G9x4y3[] = {
+ NSPAIR(_ZN6G9x4y3C1Ev),
+ NSPAIR(_ZN6G9x4y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E9x4;
+extern VTBL_ENTRY _ZTI4E9x4[];
+extern VTBL_ENTRY _ZTV4E9x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G9x4y3[] = {
+ // 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(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(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_D0, 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, 0},
+ {&cd_E9x4, 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_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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G9x4y3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G9x4y3[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x4y3[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G9x4y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G9x4y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x4y3[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E9x4__6G9x4y3[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C94E9x4__6G9x4y3[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x4y3[] = {
+ {&(_ZTV6G9x4y3[5]), 5,14},
+ {&(_ZTV6G9x4y3[9]), 9,14},
+ {&(_ZTV6G9x4y3[13]), 13,14},
+ {&(_tg__ZTV4E9x4__6G9x4y3[3]), 3,4},
+ {&(_tg__ZTV2C94E9x4__6G9x4y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x4y3[];
+extern VTBL_ENTRY _ZTV6G9x4y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x4y3[];
+Class_Descriptor cd_G9x4y3 = { "G9x4y3", // class name
+ bases_G9x4y3, 6,
+ &(vtc_G9x4y3[0]), // expected_vtbl_contents
+ &(vtt_G9x4y3[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G9x4y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x4y3),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x4y3),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 G9x4y4 : E9x4 , F0 {
+ int ff;
+ ~G9x4y4(); // tgen
+ G9x4y4(); // tgen
+};
+//SIG(1 G9x4y4) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G9x4y4 ::~G9x4y4(){ note_dtor("G9x4y4", this);} // tgen
+G9x4y4 ::G9x4y4(){ note_ctor("G9x4y4", this);} // tgen
+
+static void Test_G9x4y4()
+{
+ extern Class_Descriptor cd_G9x4y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G9x4y4, buf);
+ G9x4y4 *dp, &lv = *(dp=new (buf) G9x4y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G9x4y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x4y4)");
+ check_base_class_offset(lv, (A1*)(C9*)(E9x4*), 0, "G9x4y4");
+ check_base_class_offset(lv, (B0*)(C9*)(E9x4*), ABISELECT(32,28), "G9x4y4");
+ check_base_class_offset(lv, (C9*)(E9x4*), 0, "G9x4y4");
+ check_base_class_offset(lv, (D0*)(E9x4*), ABISELECT(16,12), "G9x4y4");
+ check_base_class_offset(lv, (E9x4*), 0, "G9x4y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(24,20), "G9x4y4");
+ check_field_offset(lv, ff, ABISELECT(28,24), "G9x4y4.ff");
+ test_class_info(&lv, &cd_G9x4y4);
+ dp->~G9x4y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x4y4(Test_G9x4y4, "G9x4y4", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN6G9x4y4C1Ev();
+extern void _ZN6G9x4y4D1Ev();
+Name_Map name_map_G9x4y4[] = {
+ NSPAIR(_ZN6G9x4y4C1Ev),
+ NSPAIR(_ZN6G9x4y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E9x4;
+extern VTBL_ENTRY _ZTI4E9x4[];
+extern VTBL_ENTRY _ZTV4E9x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G9x4y4[] = {
+ // 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,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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E9x4, 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 _ZTI6G9x4y4[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G9x4y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x4y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x4y4[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E9x4__6G9x4y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C94E9x4__6G9x4y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x4y4[] = {
+ {&(_ZTV6G9x4y4[3]), 3,4},
+ {&(_tg__ZTV4E9x4__6G9x4y4[3]), 3,4},
+ {&(_tg__ZTV2C94E9x4__6G9x4y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x4y4[];
+extern VTBL_ENTRY _ZTV6G9x4y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x4y4[];
+Class_Descriptor cd_G9x4y4 = { "G9x4y4", // class name
+ bases_G9x4y4, 6,
+ &(vtc_G9x4y4[0]), // expected_vtbl_contents
+ &(vtt_G9x4y4[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI6G9x4y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x4y4),4, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x4y4),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 G9x4y5 : virtual E9x4 , F0 {
+ int ff;
+ ~G9x4y5(); // tgen
+ G9x4y5(); // tgen
+};
+//SIG(1 G9x4y5) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G9x4y5 ::~G9x4y5(){ note_dtor("G9x4y5", this);} // tgen
+G9x4y5 ::G9x4y5(){ note_ctor("G9x4y5", this);} // tgen
+
+static void Test_G9x4y5()
+{
+ extern Class_Descriptor cd_G9x4y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G9x4y5, buf);
+ G9x4y5 *dp, &lv = *(dp=new (buf) G9x4y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G9x4y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x4y5)");
+ check_base_class_offset(lv, (A1*)(C9*)(E9x4*), ABISELECT(16,12), "G9x4y5");
+ check_base_class_offset(lv, (B0*)(C9*)(E9x4*), ABISELECT(40,32), "G9x4y5");
+ check_base_class_offset(lv, (C9*)(E9x4*), ABISELECT(16,12), "G9x4y5");
+ check_base_class_offset(lv, (D0*)(E9x4*), ABISELECT(32,24), "G9x4y5");
+ check_base_class_offset(lv, (E9x4*), ABISELECT(16,12), "G9x4y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G9x4y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G9x4y5.ff");
+ test_class_info(&lv, &cd_G9x4y5);
+ dp->~G9x4y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x4y5(Test_G9x4y5, "G9x4y5", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G9x4y5C1Ev();
+extern void _ZN6G9x4y5D1Ev();
+Name_Map name_map_G9x4y5[] = {
+ NSPAIR(_ZN6G9x4y5C1Ev),
+ NSPAIR(_ZN6G9x4y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E9x4;
+extern VTBL_ENTRY _ZTI4E9x4[];
+extern VTBL_ENTRY _ZTV4E9x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G9x4y5[] = {
+ // 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(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(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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, 0},
+ {&cd_E9x4, 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
+ 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 _ZTI6G9x4y5[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G9x4y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x4y5[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G9x4y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x4y5[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E9x4__6G9x4y5[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C94E9x4__6G9x4y5[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x4y5[] = {
+ {&(_ZTV6G9x4y5[4]), 4,9},
+ {&(_ZTV6G9x4y5[8]), 8,9},
+ {&(_tg__ZTV4E9x4__6G9x4y5[3]), 3,4},
+ {&(_tg__ZTV2C94E9x4__6G9x4y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x4y5[];
+extern VTBL_ENTRY _ZTV6G9x4y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x4y5[];
+Class_Descriptor cd_G9x4y5 = { "G9x4y5", // class name
+ bases_G9x4y5, 6,
+ &(vtc_G9x4y5[0]), // expected_vtbl_contents
+ &(vtt_G9x4y5[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G9x4y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x4y5),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x4y5),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 G9x4y6 : E9x4 , virtual F0 {
+ int ff;
+ ~G9x4y6(); // tgen
+ G9x4y6(); // tgen
+};
+//SIG(1 G9x4y6) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G9x4y6 ::~G9x4y6(){ note_dtor("G9x4y6", this);} // tgen
+G9x4y6 ::G9x4y6(){ note_ctor("G9x4y6", this);} // tgen
+
+static void Test_G9x4y6()
+{
+ extern Class_Descriptor cd_G9x4y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G9x4y6, buf);
+ G9x4y6 *dp, &lv = *(dp=new (buf) G9x4y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G9x4y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x4y6)");
+ check_base_class_offset(lv, (A1*)(C9*)(E9x4*), 0, "G9x4y6");
+ check_base_class_offset(lv, (B0*)(C9*)(E9x4*), ABISELECT(28,24), "G9x4y6");
+ check_base_class_offset(lv, (C9*)(E9x4*), 0, "G9x4y6");
+ check_base_class_offset(lv, (D0*)(E9x4*), ABISELECT(16,12), "G9x4y6");
+ check_base_class_offset(lv, (E9x4*), 0, "G9x4y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,28), "G9x4y6");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G9x4y6.ff");
+ test_class_info(&lv, &cd_G9x4y6);
+ dp->~G9x4y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x4y6(Test_G9x4y6, "G9x4y6", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN6G9x4y6C1Ev();
+extern void _ZN6G9x4y6D1Ev();
+Name_Map name_map_G9x4y6[] = {
+ NSPAIR(_ZN6G9x4y6C1Ev),
+ NSPAIR(_ZN6G9x4y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E9x4;
+extern VTBL_ENTRY _ZTI4E9x4[];
+extern VTBL_ENTRY _ZTV4E9x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G9x4y6[] = {
+ // 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(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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E9x4, 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,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 _ZTI6G9x4y6[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G9x4y6[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x4y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x4y6[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E9x4__6G9x4y6[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C94E9x4__6G9x4y6[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x4y6[] = {
+ {&(_ZTV6G9x4y6[4]), 4,5},
+ {&(_tg__ZTV4E9x4__6G9x4y6[3]), 3,4},
+ {&(_tg__ZTV2C94E9x4__6G9x4y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x4y6[];
+extern VTBL_ENTRY _ZTV6G9x4y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x4y6[];
+Class_Descriptor cd_G9x4y6 = { "G9x4y6", // class name
+ bases_G9x4y6, 6,
+ &(vtc_G9x4y6[0]), // expected_vtbl_contents
+ &(vtt_G9x4y6[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI6G9x4y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x4y6),5, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x4y6),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 G9x4y7 : virtual E9x4 , virtual F0 {
+ int ff;
+ ~G9x4y7(); // tgen
+ G9x4y7(); // tgen
+};
+//SIG(1 G9x4y7) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G9x4y7 ::~G9x4y7(){ note_dtor("G9x4y7", this);} // tgen
+G9x4y7 ::G9x4y7(){ note_ctor("G9x4y7", this);} // tgen
+
+static void Test_G9x4y7()
+{
+ extern Class_Descriptor cd_G9x4y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G9x4y7, buf);
+ G9x4y7 *dp, &lv = *(dp=new (buf) G9x4y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G9x4y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x4y7)");
+ check_base_class_offset(lv, (A1*)(C9*)(E9x4*), ABISELECT(16,8), "G9x4y7");
+ check_base_class_offset(lv, (B0*)(C9*)(E9x4*), ABISELECT(40,28), "G9x4y7");
+ check_base_class_offset(lv, (C9*)(E9x4*), ABISELECT(16,8), "G9x4y7");
+ check_base_class_offset(lv, (D0*)(E9x4*), ABISELECT(32,20), "G9x4y7");
+ check_base_class_offset(lv, (E9x4*), ABISELECT(16,8), "G9x4y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G9x4y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G9x4y7.ff");
+ test_class_info(&lv, &cd_G9x4y7);
+ dp->~G9x4y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x4y7(Test_G9x4y7, "G9x4y7", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G9x4y7C1Ev();
+extern void _ZN6G9x4y7D1Ev();
+Name_Map name_map_G9x4y7[] = {
+ NSPAIR(_ZN6G9x4y7C1Ev),
+ NSPAIR(_ZN6G9x4y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E9x4;
+extern VTBL_ENTRY _ZTI4E9x4[];
+extern VTBL_ENTRY _ZTV4E9x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G9x4y7[] = {
+ // 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(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(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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, 0},
+ {&cd_E9x4, 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
+ 3, //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 _ZTI6G9x4y7[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G9x4y7[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x4y7[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G9x4y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x4y7[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E9x4__6G9x4y7[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C94E9x4__6G9x4y7[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x4y7[] = {
+ {&(_ZTV6G9x4y7[5]), 5,10},
+ {&(_ZTV6G9x4y7[9]), 9,10},
+ {&(_tg__ZTV4E9x4__6G9x4y7[3]), 3,4},
+ {&(_tg__ZTV2C94E9x4__6G9x4y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x4y7[];
+extern VTBL_ENTRY _ZTV6G9x4y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x4y7[];
+Class_Descriptor cd_G9x4y7 = { "G9x4y7", // class name
+ bases_G9x4y7, 6,
+ &(vtc_G9x4y7[0]), // expected_vtbl_contents
+ &(vtt_G9x4y7[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G9x4y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x4y7),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x4y7),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 E10x4 : C10 , D0 {
+ int fd;
+ ~E10x4(); // tgen
+ E10x4(); // tgen
+};
+//SIG(-1 E10x4) C1{ BC2{ VBC3{ Fi} VBC4{ Fi} Fi} BC5{ Fi} Fi}
+
+
+E10x4 ::~E10x4(){ note_dtor("E10x4", this);} // tgen
+E10x4 ::E10x4(){ note_ctor("E10x4", this);} // tgen
+
+static void Test_E10x4()
+{
+ extern Class_Descriptor cd_E10x4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(5,7)];
+ init_test(&cd_E10x4, buf);
+ E10x4 *dp, &lv = *(dp=new (buf) E10x4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(32,24), "sizeof(E10x4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E10x4)");
+ check_base_class_offset(lv, (A0*)(C10*), ABISELECT(20,16), "E10x4");
+ check_base_class_offset(lv, (B0*)(C10*), ABISELECT(24,20), "E10x4");
+ check_base_class_offset(lv, (C10*), 0, "E10x4");
+ check_base_class_offset(lv, (D0*), ABISELECT(12,8), "E10x4");
+ check_field_offset(lv, fd, ABISELECT(16,12), "E10x4.fd");
+ test_class_info(&lv, &cd_E10x4);
+ dp->~E10x4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE10x4(Test_E10x4, "E10x4", ABISELECT(32,24));
+
+#else // __cplusplus
+
+extern void _ZN5E10x4C1Ev();
+extern void _ZN5E10x4D1Ev();
+Name_Map name_map_E10x4[] = {
+ NSPAIR(_ZN5E10x4C1Ev),
+ NSPAIR(_ZN5E10x4D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E10x4[] = {
+ // 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
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D0, 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 _ZTI5E10x4[];
+static VTBL_ENTRY vtc_E10x4[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x4[0]),
+};
+extern VTBL_ENTRY _ZTV5E10x4[];
+static VTBL_ENTRY _tg__ZTV3C10__5E10x4[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_E10x4[] = {
+ {&(_ZTV5E10x4[4]), 4,4},
+ {&(_tg__ZTV3C10__5E10x4[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI5E10x4[];
+extern VTBL_ENTRY _ZTV5E10x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x4[];
+Class_Descriptor cd_E10x4 = { "E10x4", // class name
+ bases_E10x4, 4,
+ &(vtc_E10x4[0]), // expected_vtbl_contents
+ &(vtt_E10x4[0]), // expected_vtt_contents
+ ABISELECT(32,24), // object size
+ NSPAIRA(_ZTI5E10x4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E10x4),4, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E10x4),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 G10x4y0 : E10x4 , F1 {
+ int ff;
+ ~G10x4y0(); // tgen
+ G10x4y0(); // tgen
+};
+//SIG(1 G10x4y0) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ v1 Fi} Fi}
+
+
+G10x4y0 ::~G10x4y0(){ note_dtor("G10x4y0", this);} // tgen
+G10x4y0 ::G10x4y0(){ note_ctor("G10x4y0", this);} // tgen
+
+static void Test_G10x4y0()
+{
+ extern Class_Descriptor cd_G10x4y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G10x4y0, buf);
+ G10x4y0 *dp, &lv = *(dp=new (buf) G10x4y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G10x4y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x4y0)");
+ check_base_class_offset(lv, (A0*)(C10*)(E10x4*), ABISELECT(40,28), "G10x4y0");
+ check_base_class_offset(lv, (B0*)(C10*)(E10x4*), ABISELECT(44,32), "G10x4y0");
+ check_base_class_offset(lv, (C10*)(E10x4*), 0, "G10x4y0");
+ check_base_class_offset(lv, (D0*)(E10x4*), ABISELECT(12,8), "G10x4y0");
+ check_base_class_offset(lv, (E10x4*), 0, "G10x4y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,16), "G10x4y0");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G10x4y0.ff");
+ test_class_info(&lv, &cd_G10x4y0);
+ dp->~G10x4y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x4y0(Test_G10x4y0, "G10x4y0", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G10x4y0C1Ev();
+extern void _ZN7G10x4y0D1Ev();
+Name_Map name_map_G10x4y0[] = {
+ NSPAIR(_ZN7G10x4y0C1Ev),
+ NSPAIR(_ZN7G10x4y0D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E10x4;
+extern VTBL_ENTRY _ZTI5E10x4[];
+extern VTBL_ENTRY _ZTV5E10x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G10x4y0[] = {
+ // 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_D0, 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_E10x4, 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(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
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G10x4y0[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G10x4y0[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x4y0[0]),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G10x4y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G10x4y0[];
+static VTBL_ENTRY _tg__ZTV5E10x4__7G10x4y0[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C105E10x4__7G10x4y0[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x4y0[] = {
+ {&(_ZTV7G10x4y0[4]), 4,7},
+ {&(_tg__ZTV5E10x4__7G10x4y0[4]), 4,4},
+ {&(_tg__ZTV3C105E10x4__7G10x4y0[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x4y0[];
+extern VTBL_ENTRY _ZTV7G10x4y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x4y0[];
+Class_Descriptor cd_G10x4y0 = { "G10x4y0", // class name
+ bases_G10x4y0, 6,
+ &(vtc_G10x4y0[0]), // expected_vtbl_contents
+ &(vtt_G10x4y0[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G10x4y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x4y0),7, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x4y0),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 G10x4y1 : virtual E10x4 , F1 {
+ int ff;
+ ~G10x4y1(); // tgen
+ G10x4y1(); // tgen
+};
+//SIG(1 G10x4y1) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ v1 Fi} Fi}
+
+
+G10x4y1 ::~G10x4y1(){ note_dtor("G10x4y1", this);} // tgen
+G10x4y1 ::G10x4y1(){ note_ctor("G10x4y1", this);} // tgen
+
+static void Test_G10x4y1()
+{
+ extern Class_Descriptor cd_G10x4y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G10x4y1, buf);
+ G10x4y1 *dp, &lv = *(dp=new (buf) G10x4y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G10x4y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x4y1)");
+ check_base_class_offset(lv, (A0*)(C10*)(E10x4*), ABISELECT(36,28), "G10x4y1");
+ check_base_class_offset(lv, (B0*)(C10*)(E10x4*), ABISELECT(40,32), "G10x4y1");
+ check_base_class_offset(lv, (C10*)(E10x4*), ABISELECT(16,12), "G10x4y1");
+ check_base_class_offset(lv, (D0*)(E10x4*), ABISELECT(28,20), "G10x4y1");
+ check_base_class_offset(lv, (E10x4*), ABISELECT(16,12), "G10x4y1");
+ check_base_class_offset(lv, (F1*), 0, "G10x4y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G10x4y1.ff");
+ test_class_info(&lv, &cd_G10x4y1);
+ dp->~G10x4y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x4y1(Test_G10x4y1, "G10x4y1", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G10x4y1C1Ev();
+extern void _ZN7G10x4y1D1Ev();
+Name_Map name_map_G10x4y1[] = {
+ NSPAIR(_ZN7G10x4y1C1Ev),
+ NSPAIR(_ZN7G10x4y1D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E10x4;
+extern VTBL_ENTRY _ZTI5E10x4[];
+extern VTBL_ENTRY _ZTV5E10x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G10x4y1[] = {
+ // 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(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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_E10x4, 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
+ 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 _ZTI7G10x4y1[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G10x4y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x4y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G10x4y1[0]),
+};
+extern VTBL_ENTRY _ZTV7G10x4y1[];
+static VTBL_ENTRY _tg__ZTV5E10x4__7G10x4y1[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C105E10x4__7G10x4y1[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x4y1[] = {
+ {&(_ZTV7G10x4y1[5]), 5,10},
+ {&(_ZTV7G10x4y1[10]), 10,10},
+ {&(_tg__ZTV5E10x4__7G10x4y1[4]), 4,4},
+ {&(_tg__ZTV3C105E10x4__7G10x4y1[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x4y1[];
+extern VTBL_ENTRY _ZTV7G10x4y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x4y1[];
+Class_Descriptor cd_G10x4y1 = { "G10x4y1", // class name
+ bases_G10x4y1, 6,
+ &(vtc_G10x4y1[0]), // expected_vtbl_contents
+ &(vtt_G10x4y1[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G10x4y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x4y1),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x4y1),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 G10x4y2 : E10x4 , virtual F1 {
+ int ff;
+ ~G10x4y2(); // tgen
+ G10x4y2(); // tgen
+};
+//SIG(1 G10x4y2) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ v1 Fi} Fi}
+
+
+G10x4y2 ::~G10x4y2(){ note_dtor("G10x4y2", this);} // tgen
+G10x4y2 ::G10x4y2(){ note_ctor("G10x4y2", this);} // tgen
+
+static void Test_G10x4y2()
+{
+ extern Class_Descriptor cd_G10x4y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G10x4y2, buf);
+ G10x4y2 *dp, &lv = *(dp=new (buf) G10x4y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G10x4y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x4y2)");
+ check_base_class_offset(lv, (A0*)(C10*)(E10x4*), ABISELECT(24,20), "G10x4y2");
+ check_base_class_offset(lv, (B0*)(C10*)(E10x4*), ABISELECT(28,24), "G10x4y2");
+ check_base_class_offset(lv, (C10*)(E10x4*), 0, "G10x4y2");
+ check_base_class_offset(lv, (D0*)(E10x4*), ABISELECT(12,8), "G10x4y2");
+ check_base_class_offset(lv, (E10x4*), 0, "G10x4y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,28), "G10x4y2");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G10x4y2.ff");
+ test_class_info(&lv, &cd_G10x4y2);
+ dp->~G10x4y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x4y2(Test_G10x4y2, "G10x4y2", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G10x4y2C1Ev();
+extern void _ZN7G10x4y2D1Ev();
+Name_Map name_map_G10x4y2[] = {
+ NSPAIR(_ZN7G10x4y2C1Ev),
+ NSPAIR(_ZN7G10x4y2D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E10x4;
+extern VTBL_ENTRY _ZTI5E10x4[];
+extern VTBL_ENTRY _ZTV5E10x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G10x4y2[] = {
+ // 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_D0, 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_E10x4, 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,28), //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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G10x4y2[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G10x4y2[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x4y2[0]),
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI7G10x4y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G10x4y2[];
+static VTBL_ENTRY _tg__ZTV5E10x4__7G10x4y2[] = {
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C105E10x4__7G10x4y2[] = {
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x4y2[] = {
+ {&(_ZTV7G10x4y2[5]), 5,9},
+ {&(_tg__ZTV5E10x4__7G10x4y2[4]), 4,4},
+ {&(_tg__ZTV3C105E10x4__7G10x4y2[4]), 4,4},
+ {&(_ZTV7G10x4y2[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI7G10x4y2[];
+extern VTBL_ENTRY _ZTV7G10x4y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x4y2[];
+Class_Descriptor cd_G10x4y2 = { "G10x4y2", // class name
+ bases_G10x4y2, 6,
+ &(vtc_G10x4y2[0]), // expected_vtbl_contents
+ &(vtt_G10x4y2[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G10x4y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x4y2),9, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x4y2),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 G10x4y3 : virtual E10x4 , virtual F1 {
+ int ff;
+ ~G10x4y3(); // tgen
+ G10x4y3(); // tgen
+};
+//SIG(1 G10x4y3) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ v1 Fi} Fi}
+
+
+G10x4y3 ::~G10x4y3(){ note_dtor("G10x4y3", this);} // tgen
+G10x4y3 ::G10x4y3(){ note_ctor("G10x4y3", this);} // tgen
+
+static void Test_G10x4y3()
+{
+ extern Class_Descriptor cd_G10x4y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G10x4y3, buf);
+ G10x4y3 *dp, &lv = *(dp=new (buf) G10x4y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G10x4y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x4y3)");
+ check_base_class_offset(lv, (A0*)(C10*)(E10x4*), ABISELECT(36,24), "G10x4y3");
+ check_base_class_offset(lv, (B0*)(C10*)(E10x4*), ABISELECT(40,28), "G10x4y3");
+ check_base_class_offset(lv, (C10*)(E10x4*), ABISELECT(16,8), "G10x4y3");
+ check_base_class_offset(lv, (D0*)(E10x4*), ABISELECT(28,16), "G10x4y3");
+ check_base_class_offset(lv, (E10x4*), ABISELECT(16,8), "G10x4y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G10x4y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G10x4y3.ff");
+ test_class_info(&lv, &cd_G10x4y3);
+ dp->~G10x4y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x4y3(Test_G10x4y3, "G10x4y3", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G10x4y3C1Ev();
+extern void _ZN7G10x4y3D1Ev();
+Name_Map name_map_G10x4y3[] = {
+ NSPAIR(_ZN7G10x4y3C1Ev),
+ NSPAIR(_ZN7G10x4y3D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E10x4;
+extern VTBL_ENTRY _ZTI5E10x4[];
+extern VTBL_ENTRY _ZTV5E10x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G10x4y3[] = {
+ // 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(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_D0, 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_E10x4, 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_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 _ZTI7G10x4y3[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G10x4y3[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x4y3[0]),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G10x4y3[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G10x4y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G10x4y3[];
+static VTBL_ENTRY _tg__ZTV5E10x4__7G10x4y3[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C105E10x4__7G10x4y3[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x4y3[] = {
+ {&(_ZTV7G10x4y3[6]), 6,14},
+ {&(_ZTV7G10x4y3[10]), 10,14},
+ {&(_ZTV7G10x4y3[13]), 13,14},
+ {&(_tg__ZTV5E10x4__7G10x4y3[4]), 4,4},
+ {&(_tg__ZTV3C105E10x4__7G10x4y3[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x4y3[];
+extern VTBL_ENTRY _ZTV7G10x4y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x4y3[];
+Class_Descriptor cd_G10x4y3 = { "G10x4y3", // class name
+ bases_G10x4y3, 6,
+ &(vtc_G10x4y3[0]), // expected_vtbl_contents
+ &(vtt_G10x4y3[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G10x4y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x4y3),14, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x4y3),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 G10x4y4 : E10x4 , F0 {
+ int ff;
+ ~G10x4y4(); // tgen
+ G10x4y4(); // tgen
+};
+//SIG(1 G10x4y4) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G10x4y4 ::~G10x4y4(){ note_dtor("G10x4y4", this);} // tgen
+G10x4y4 ::G10x4y4(){ note_ctor("G10x4y4", this);} // tgen
+
+static void Test_G10x4y4()
+{
+ extern Class_Descriptor cd_G10x4y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G10x4y4, buf);
+ G10x4y4 *dp, &lv = *(dp=new (buf) G10x4y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G10x4y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x4y4)");
+ check_base_class_offset(lv, (A0*)(C10*)(E10x4*), ABISELECT(28,24), "G10x4y4");
+ check_base_class_offset(lv, (B0*)(C10*)(E10x4*), ABISELECT(32,28), "G10x4y4");
+ check_base_class_offset(lv, (C10*)(E10x4*), 0, "G10x4y4");
+ check_base_class_offset(lv, (D0*)(E10x4*), ABISELECT(12,8), "G10x4y4");
+ check_base_class_offset(lv, (E10x4*), 0, "G10x4y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(20,16), "G10x4y4");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G10x4y4.ff");
+ test_class_info(&lv, &cd_G10x4y4);
+ dp->~G10x4y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x4y4(Test_G10x4y4, "G10x4y4", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN7G10x4y4C1Ev();
+extern void _ZN7G10x4y4D1Ev();
+Name_Map name_map_G10x4y4[] = {
+ NSPAIR(_ZN7G10x4y4C1Ev),
+ NSPAIR(_ZN7G10x4y4D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E10x4;
+extern VTBL_ENTRY _ZTI5E10x4[];
+extern VTBL_ENTRY _ZTV5E10x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G10x4y4[] = {
+ // 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(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
+ 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_D0, 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_E10x4, 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(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 _ZTI7G10x4y4[];
+static VTBL_ENTRY vtc_G10x4y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x4y4[0]),
+};
+extern VTBL_ENTRY _ZTV7G10x4y4[];
+static VTBL_ENTRY _tg__ZTV5E10x4__7G10x4y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C105E10x4__7G10x4y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x4y4[] = {
+ {&(_ZTV7G10x4y4[4]), 4,4},
+ {&(_tg__ZTV5E10x4__7G10x4y4[4]), 4,4},
+ {&(_tg__ZTV3C105E10x4__7G10x4y4[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x4y4[];
+extern VTBL_ENTRY _ZTV7G10x4y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x4y4[];
+Class_Descriptor cd_G10x4y4 = { "G10x4y4", // class name
+ bases_G10x4y4, 6,
+ &(vtc_G10x4y4[0]), // expected_vtbl_contents
+ &(vtt_G10x4y4[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI7G10x4y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x4y4),4, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x4y4),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 G10x4y5 : virtual E10x4 , F0 {
+ int ff;
+ ~G10x4y5(); // tgen
+ G10x4y5(); // tgen
+};
+//SIG(1 G10x4y5) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G10x4y5 ::~G10x4y5(){ note_dtor("G10x4y5", this);} // tgen
+G10x4y5 ::G10x4y5(){ note_ctor("G10x4y5", this);} // tgen
+
+static void Test_G10x4y5()
+{
+ extern Class_Descriptor cd_G10x4y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G10x4y5, buf);
+ G10x4y5 *dp, &lv = *(dp=new (buf) G10x4y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G10x4y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x4y5)");
+ check_base_class_offset(lv, (A0*)(C10*)(E10x4*), ABISELECT(36,28), "G10x4y5");
+ check_base_class_offset(lv, (B0*)(C10*)(E10x4*), ABISELECT(40,32), "G10x4y5");
+ check_base_class_offset(lv, (C10*)(E10x4*), ABISELECT(16,12), "G10x4y5");
+ check_base_class_offset(lv, (D0*)(E10x4*), ABISELECT(28,20), "G10x4y5");
+ check_base_class_offset(lv, (E10x4*), ABISELECT(16,12), "G10x4y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G10x4y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G10x4y5.ff");
+ test_class_info(&lv, &cd_G10x4y5);
+ dp->~G10x4y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x4y5(Test_G10x4y5, "G10x4y5", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G10x4y5C1Ev();
+extern void _ZN7G10x4y5D1Ev();
+Name_Map name_map_G10x4y5[] = {
+ NSPAIR(_ZN7G10x4y5C1Ev),
+ NSPAIR(_ZN7G10x4y5D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E10x4;
+extern VTBL_ENTRY _ZTI5E10x4[];
+extern VTBL_ENTRY _ZTV5E10x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G10x4y5[] = {
+ // 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(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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_E10x4, 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_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 _ZTI7G10x4y5[];
+static VTBL_ENTRY vtc_G10x4y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x4y5[0]),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G10x4y5[0]),
+};
+extern VTBL_ENTRY _ZTV7G10x4y5[];
+static VTBL_ENTRY _tg__ZTV5E10x4__7G10x4y5[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C105E10x4__7G10x4y5[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x4y5[] = {
+ {&(_ZTV7G10x4y5[5]), 5,9},
+ {&(_ZTV7G10x4y5[9]), 9,9},
+ {&(_tg__ZTV5E10x4__7G10x4y5[4]), 4,4},
+ {&(_tg__ZTV3C105E10x4__7G10x4y5[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x4y5[];
+extern VTBL_ENTRY _ZTV7G10x4y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x4y5[];
+Class_Descriptor cd_G10x4y5 = { "G10x4y5", // class name
+ bases_G10x4y5, 6,
+ &(vtc_G10x4y5[0]), // expected_vtbl_contents
+ &(vtt_G10x4y5[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G10x4y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x4y5),9, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x4y5),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 G10x4y6 : E10x4 , virtual F0 {
+ int ff;
+ ~G10x4y6(); // tgen
+ G10x4y6(); // tgen
+};
+//SIG(1 G10x4y6) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G10x4y6 ::~G10x4y6(){ note_dtor("G10x4y6", this);} // tgen
+G10x4y6 ::G10x4y6(){ note_ctor("G10x4y6", this);} // tgen
+
+static void Test_G10x4y6()
+{
+ extern Class_Descriptor cd_G10x4y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G10x4y6, buf);
+ G10x4y6 *dp, &lv = *(dp=new (buf) G10x4y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G10x4y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x4y6)");
+ check_base_class_offset(lv, (A0*)(C10*)(E10x4*), ABISELECT(24,20), "G10x4y6");
+ check_base_class_offset(lv, (B0*)(C10*)(E10x4*), ABISELECT(28,24), "G10x4y6");
+ check_base_class_offset(lv, (C10*)(E10x4*), 0, "G10x4y6");
+ check_base_class_offset(lv, (D0*)(E10x4*), ABISELECT(12,8), "G10x4y6");
+ check_base_class_offset(lv, (E10x4*), 0, "G10x4y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,28), "G10x4y6");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G10x4y6.ff");
+ test_class_info(&lv, &cd_G10x4y6);
+ dp->~G10x4y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x4y6(Test_G10x4y6, "G10x4y6", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN7G10x4y6C1Ev();
+extern void _ZN7G10x4y6D1Ev();
+Name_Map name_map_G10x4y6[] = {
+ NSPAIR(_ZN7G10x4y6C1Ev),
+ NSPAIR(_ZN7G10x4y6D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E10x4;
+extern VTBL_ENTRY _ZTI5E10x4[];
+extern VTBL_ENTRY _ZTV5E10x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G10x4y6[] = {
+ // 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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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_E10x4, 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(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 _ZTI7G10x4y6[];
+static VTBL_ENTRY vtc_G10x4y6[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x4y6[0]),
+};
+extern VTBL_ENTRY _ZTV7G10x4y6[];
+static VTBL_ENTRY _tg__ZTV5E10x4__7G10x4y6[] = {
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C105E10x4__7G10x4y6[] = {
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x4y6[] = {
+ {&(_ZTV7G10x4y6[5]), 5,5},
+ {&(_tg__ZTV5E10x4__7G10x4y6[4]), 4,4},
+ {&(_tg__ZTV3C105E10x4__7G10x4y6[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x4y6[];
+extern VTBL_ENTRY _ZTV7G10x4y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x4y6[];
+Class_Descriptor cd_G10x4y6 = { "G10x4y6", // class name
+ bases_G10x4y6, 6,
+ &(vtc_G10x4y6[0]), // expected_vtbl_contents
+ &(vtt_G10x4y6[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI7G10x4y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x4y6),5, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x4y6),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 G10x4y7 : virtual E10x4 , virtual F0 {
+ int ff;
+ ~G10x4y7(); // tgen
+ G10x4y7(); // tgen
+};
+//SIG(1 G10x4y7) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G10x4y7 ::~G10x4y7(){ note_dtor("G10x4y7", this);} // tgen
+G10x4y7 ::G10x4y7(){ note_ctor("G10x4y7", this);} // tgen
+
+static void Test_G10x4y7()
+{
+ extern Class_Descriptor cd_G10x4y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G10x4y7, buf);
+ G10x4y7 *dp, &lv = *(dp=new (buf) G10x4y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G10x4y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x4y7)");
+ check_base_class_offset(lv, (A0*)(C10*)(E10x4*), ABISELECT(36,24), "G10x4y7");
+ check_base_class_offset(lv, (B0*)(C10*)(E10x4*), ABISELECT(40,28), "G10x4y7");
+ check_base_class_offset(lv, (C10*)(E10x4*), ABISELECT(16,8), "G10x4y7");
+ check_base_class_offset(lv, (D0*)(E10x4*), ABISELECT(28,16), "G10x4y7");
+ check_base_class_offset(lv, (E10x4*), ABISELECT(16,8), "G10x4y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G10x4y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G10x4y7.ff");
+ test_class_info(&lv, &cd_G10x4y7);
+ dp->~G10x4y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x4y7(Test_G10x4y7, "G10x4y7", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G10x4y7C1Ev();
+extern void _ZN7G10x4y7D1Ev();
+Name_Map name_map_G10x4y7[] = {
+ NSPAIR(_ZN7G10x4y7C1Ev),
+ NSPAIR(_ZN7G10x4y7D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E10x4;
+extern VTBL_ENTRY _ZTI5E10x4[];
+extern VTBL_ENTRY _ZTV5E10x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G10x4y7[] = {
+ // 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(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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_E10x4, 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
+ 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 _ZTI7G10x4y7[];
+static VTBL_ENTRY vtc_G10x4y7[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x4y7[0]),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G10x4y7[0]),
+};
+extern VTBL_ENTRY _ZTV7G10x4y7[];
+static VTBL_ENTRY _tg__ZTV5E10x4__7G10x4y7[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C105E10x4__7G10x4y7[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x4y7[] = {
+ {&(_ZTV7G10x4y7[6]), 6,10},
+ {&(_ZTV7G10x4y7[10]), 10,10},
+ {&(_tg__ZTV5E10x4__7G10x4y7[4]), 4,4},
+ {&(_tg__ZTV3C105E10x4__7G10x4y7[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x4y7[];
+extern VTBL_ENTRY _ZTV7G10x4y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x4y7[];
+Class_Descriptor cd_G10x4y7 = { "G10x4y7", // class name
+ bases_G10x4y7, 6,
+ &(vtc_G10x4y7[0]), // expected_vtbl_contents
+ &(vtt_G10x4y7[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G10x4y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x4y7),10, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x4y7),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 E11x4 : C11 , D0 {
+ int fd;
+ ~E11x4(); // tgen
+ E11x4(); // tgen
+};
+//SIG(-1 E11x4) C1{ BC2{ VBC3{ v1 Fi} VBC4{ Fi} Fi} BC5{ Fi} Fi}
+
+
+E11x4 ::~E11x4(){ note_dtor("E11x4", this);} // tgen
+E11x4 ::E11x4(){ note_ctor("E11x4", this);} // tgen
+
+static void Test_E11x4()
+{
+ extern Class_Descriptor cd_E11x4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E11x4, buf);
+ E11x4 *dp, &lv = *(dp=new (buf) E11x4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E11x4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E11x4)");
+ check_base_class_offset(lv, (A1*)(C11*), ABISELECT(24,16), "E11x4");
+ check_base_class_offset(lv, (B0*)(C11*), ABISELECT(36,24), "E11x4");
+ check_base_class_offset(lv, (C11*), 0, "E11x4");
+ check_base_class_offset(lv, (D0*), ABISELECT(12,8), "E11x4");
+ check_field_offset(lv, fd, ABISELECT(16,12), "E11x4.fd");
+ test_class_info(&lv, &cd_E11x4);
+ dp->~E11x4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE11x4(Test_E11x4, "E11x4", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E11x4C1Ev();
+extern void _ZN5E11x4D1Ev();
+Name_Map name_map_E11x4[] = {
+ NSPAIR(_ZN5E11x4C1Ev),
+ NSPAIR(_ZN5E11x4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E11x4[] = {
+ // 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(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
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D0, 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 _ZTI5E11x4[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_E11x4[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x4[0]),
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E11x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E11x4[];
+static VTBL_ENTRY _tg__ZTV3C11__5E11x4[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C11__5E11x4[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_E11x4[] = {
+ {&(_ZTV5E11x4[4]), 4,8},
+ {&(_tg__ZTV3C11__5E11x4[4]), 4,4},
+ {&(_tg__ZTV2A1__3C11__5E11x4[3]), 3,4},
+ {&(_ZTV5E11x4[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI5E11x4[];
+extern VTBL_ENTRY _ZTV5E11x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x4[];
+Class_Descriptor cd_E11x4 = { "E11x4", // class name
+ bases_E11x4, 4,
+ &(vtc_E11x4[0]), // expected_vtbl_contents
+ &(vtt_E11x4[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E11x4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E11x4),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E11x4),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 G11x4y0 : E11x4 , F1 {
+ int ff;
+ ~G11x4y0(); // tgen
+ G11x4y0(); // tgen
+};
+//SIG(1 G11x4y0) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G11x4y0 ::~G11x4y0(){ note_dtor("G11x4y0", this);} // tgen
+G11x4y0 ::G11x4y0(){ note_ctor("G11x4y0", this);} // tgen
+
+static void Test_G11x4y0()
+{
+ extern Class_Descriptor cd_G11x4y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G11x4y0, buf);
+ G11x4y0 *dp, &lv = *(dp=new (buf) G11x4y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G11x4y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x4y0)");
+ check_base_class_offset(lv, (A1*)(C11*)(E11x4*), ABISELECT(40,28), "G11x4y0");
+ check_base_class_offset(lv, (B0*)(C11*)(E11x4*), ABISELECT(52,36), "G11x4y0");
+ check_base_class_offset(lv, (C11*)(E11x4*), 0, "G11x4y0");
+ check_base_class_offset(lv, (D0*)(E11x4*), ABISELECT(12,8), "G11x4y0");
+ check_base_class_offset(lv, (E11x4*), 0, "G11x4y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,16), "G11x4y0");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G11x4y0.ff");
+ test_class_info(&lv, &cd_G11x4y0);
+ dp->~G11x4y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x4y0(Test_G11x4y0, "G11x4y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G11x4y0C1Ev();
+extern void _ZN7G11x4y0D1Ev();
+Name_Map name_map_G11x4y0[] = {
+ NSPAIR(_ZN7G11x4y0C1Ev),
+ NSPAIR(_ZN7G11x4y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E11x4;
+extern VTBL_ENTRY _ZTI5E11x4[];
+extern VTBL_ENTRY _ZTV5E11x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G11x4y0[] = {
+ // 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_D0, 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_E11x4, 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 _ZTI7G11x4y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G11x4y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x4y0[0]),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G11x4y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G11x4y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x4y0[];
+static VTBL_ENTRY _tg__ZTV5E11x4__7G11x4y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C115E11x4__7G11x4y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C115E11x4__7G11x4y0[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x4__7G11x4y0[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E11x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x4y0[] = {
+ {&(_ZTV7G11x4y0[4]), 4,11},
+ {&(_tg__ZTV5E11x4__7G11x4y0[4]), 4,4},
+ {&(_tg__ZTV3C115E11x4__7G11x4y0[4]), 4,4},
+ {&(_tg__ZTV2A1__3C115E11x4__7G11x4y0[3]), 3,4},
+ {&(_tg__ZTV2A1__5E11x4__7G11x4y0[3]), 3,4},
+ {&(_ZTV7G11x4y0[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI7G11x4y0[];
+extern VTBL_ENTRY _ZTV7G11x4y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x4y0[];
+Class_Descriptor cd_G11x4y0 = { "G11x4y0", // class name
+ bases_G11x4y0, 6,
+ &(vtc_G11x4y0[0]), // expected_vtbl_contents
+ &(vtt_G11x4y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G11x4y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x4y0),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x4y0),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 G11x4y1 : virtual E11x4 , F1 {
+ int ff;
+ ~G11x4y1(); // tgen
+ G11x4y1(); // tgen
+};
+//SIG(1 G11x4y1) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G11x4y1 ::~G11x4y1(){ note_dtor("G11x4y1", this);} // tgen
+G11x4y1 ::G11x4y1(){ note_ctor("G11x4y1", this);} // tgen
+
+static void Test_G11x4y1()
+{
+ extern Class_Descriptor cd_G11x4y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G11x4y1, buf);
+ G11x4y1 *dp, &lv = *(dp=new (buf) G11x4y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G11x4y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x4y1)");
+ check_base_class_offset(lv, (A1*)(C11*)(E11x4*), ABISELECT(40,28), "G11x4y1");
+ check_base_class_offset(lv, (B0*)(C11*)(E11x4*), ABISELECT(52,36), "G11x4y1");
+ check_base_class_offset(lv, (C11*)(E11x4*), ABISELECT(16,12), "G11x4y1");
+ check_base_class_offset(lv, (D0*)(E11x4*), ABISELECT(28,20), "G11x4y1");
+ check_base_class_offset(lv, (E11x4*), ABISELECT(16,12), "G11x4y1");
+ check_base_class_offset(lv, (F1*), 0, "G11x4y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G11x4y1.ff");
+ test_class_info(&lv, &cd_G11x4y1);
+ dp->~G11x4y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x4y1(Test_G11x4y1, "G11x4y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G11x4y1C1Ev();
+extern void _ZN7G11x4y1D1Ev();
+Name_Map name_map_G11x4y1[] = {
+ NSPAIR(_ZN7G11x4y1C1Ev),
+ NSPAIR(_ZN7G11x4y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E11x4;
+extern VTBL_ENTRY _ZTI5E11x4[];
+extern VTBL_ENTRY _ZTV5E11x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G11x4y1[] = {
+ // 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(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(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_D0, 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_E11x4, 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 _ZTI7G11x4y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G11x4y1[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x4y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G11x4y1[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G11x4y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x4y1[];
+static VTBL_ENTRY _tg__ZTV5E11x4__7G11x4y1[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C115E11x4__7G11x4y1[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C115E11x4__7G11x4y1[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x4__7G11x4y1[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E11x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x4y1[] = {
+ {&(_ZTV7G11x4y1[5]), 5,14},
+ {&(_ZTV7G11x4y1[10]), 10,14},
+ {&(_ZTV7G11x4y1[13]), 13,14},
+ {&(_tg__ZTV5E11x4__7G11x4y1[4]), 4,4},
+ {&(_tg__ZTV3C115E11x4__7G11x4y1[4]), 4,4},
+ {&(_tg__ZTV2A1__3C115E11x4__7G11x4y1[3]), 3,4},
+ {&(_tg__ZTV2A1__5E11x4__7G11x4y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G11x4y1[];
+extern VTBL_ENTRY _ZTV7G11x4y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x4y1[];
+Class_Descriptor cd_G11x4y1 = { "G11x4y1", // class name
+ bases_G11x4y1, 6,
+ &(vtc_G11x4y1[0]), // expected_vtbl_contents
+ &(vtt_G11x4y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G11x4y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x4y1),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x4y1),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 G11x4y2 : E11x4 , virtual F1 {
+ int ff;
+ ~G11x4y2(); // tgen
+ G11x4y2(); // tgen
+};
+//SIG(1 G11x4y2) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G11x4y2 ::~G11x4y2(){ note_dtor("G11x4y2", this);} // tgen
+G11x4y2 ::G11x4y2(){ note_ctor("G11x4y2", this);} // tgen
+
+static void Test_G11x4y2()
+{
+ extern Class_Descriptor cd_G11x4y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G11x4y2, buf);
+ G11x4y2 *dp, &lv = *(dp=new (buf) G11x4y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G11x4y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x4y2)");
+ check_base_class_offset(lv, (A1*)(C11*)(E11x4*), ABISELECT(24,20), "G11x4y2");
+ check_base_class_offset(lv, (B0*)(C11*)(E11x4*), ABISELECT(36,28), "G11x4y2");
+ check_base_class_offset(lv, (C11*)(E11x4*), 0, "G11x4y2");
+ check_base_class_offset(lv, (D0*)(E11x4*), ABISELECT(12,8), "G11x4y2");
+ check_base_class_offset(lv, (E11x4*), 0, "G11x4y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(40,32), "G11x4y2");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G11x4y2.ff");
+ test_class_info(&lv, &cd_G11x4y2);
+ dp->~G11x4y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x4y2(Test_G11x4y2, "G11x4y2", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G11x4y2C1Ev();
+extern void _ZN7G11x4y2D1Ev();
+Name_Map name_map_G11x4y2[] = {
+ NSPAIR(_ZN7G11x4y2C1Ev),
+ NSPAIR(_ZN7G11x4y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E11x4;
+extern VTBL_ENTRY _ZTI5E11x4[];
+extern VTBL_ENTRY _ZTV5E11x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G11x4y2[] = {
+ // 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)
+ 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(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_D0, 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_E11x4, 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(40,32), //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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G11x4y2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G11x4y2[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x4y2[0]),
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G11x4y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G11x4y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x4y2[];
+static VTBL_ENTRY _tg__ZTV5E11x4__7G11x4y2[] = {
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C115E11x4__7G11x4y2[] = {
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C115E11x4__7G11x4y2[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x4__7G11x4y2[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E11x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x4y2[] = {
+ {&(_ZTV7G11x4y2[5]), 5,13},
+ {&(_tg__ZTV5E11x4__7G11x4y2[4]), 4,4},
+ {&(_tg__ZTV3C115E11x4__7G11x4y2[4]), 4,4},
+ {&(_tg__ZTV2A1__3C115E11x4__7G11x4y2[3]), 3,4},
+ {&(_tg__ZTV2A1__5E11x4__7G11x4y2[3]), 3,4},
+ {&(_ZTV7G11x4y2[8]), 8,13},
+ {&(_ZTV7G11x4y2[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI7G11x4y2[];
+extern VTBL_ENTRY _ZTV7G11x4y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x4y2[];
+Class_Descriptor cd_G11x4y2 = { "G11x4y2", // class name
+ bases_G11x4y2, 6,
+ &(vtc_G11x4y2[0]), // expected_vtbl_contents
+ &(vtt_G11x4y2[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G11x4y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x4y2),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x4y2),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 G11x4y3 : virtual E11x4 , virtual F1 {
+ int ff;
+ ~G11x4y3(); // tgen
+ G11x4y3(); // tgen
+};
+//SIG(1 G11x4y3) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G11x4y3 ::~G11x4y3(){ note_dtor("G11x4y3", this);} // tgen
+G11x4y3 ::G11x4y3(){ note_ctor("G11x4y3", this);} // tgen
+
+static void Test_G11x4y3()
+{
+ extern Class_Descriptor cd_G11x4y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G11x4y3, buf);
+ G11x4y3 *dp, &lv = *(dp=new (buf) G11x4y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G11x4y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x4y3)");
+ check_base_class_offset(lv, (A1*)(C11*)(E11x4*), ABISELECT(40,24), "G11x4y3");
+ check_base_class_offset(lv, (B0*)(C11*)(E11x4*), ABISELECT(52,32), "G11x4y3");
+ check_base_class_offset(lv, (C11*)(E11x4*), ABISELECT(16,8), "G11x4y3");
+ check_base_class_offset(lv, (D0*)(E11x4*), ABISELECT(28,16), "G11x4y3");
+ check_base_class_offset(lv, (E11x4*), ABISELECT(16,8), "G11x4y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G11x4y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G11x4y3.ff");
+ test_class_info(&lv, &cd_G11x4y3);
+ dp->~G11x4y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x4y3(Test_G11x4y3, "G11x4y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G11x4y3C1Ev();
+extern void _ZN7G11x4y3D1Ev();
+Name_Map name_map_G11x4y3[] = {
+ NSPAIR(_ZN7G11x4y3C1Ev),
+ NSPAIR(_ZN7G11x4y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E11x4;
+extern VTBL_ENTRY _ZTI5E11x4[];
+extern VTBL_ENTRY _ZTV5E11x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G11x4y3[] = {
+ // 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(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(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_D0, 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_E11x4, 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 _ZTI7G11x4y3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G11x4y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x4y3[0]),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G11x4y3[0]),
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G11x4y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G11x4y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x4y3[];
+static VTBL_ENTRY _tg__ZTV5E11x4__7G11x4y3[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C115E11x4__7G11x4y3[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C115E11x4__7G11x4y3[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x4__7G11x4y3[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E11x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x4y3[] = {
+ {&(_ZTV7G11x4y3[6]), 6,18},
+ {&(_ZTV7G11x4y3[10]), 10,18},
+ {&(_ZTV7G11x4y3[13]), 13,18},
+ {&(_ZTV7G11x4y3[17]), 17,18},
+ {&(_tg__ZTV5E11x4__7G11x4y3[4]), 4,4},
+ {&(_tg__ZTV3C115E11x4__7G11x4y3[4]), 4,4},
+ {&(_tg__ZTV2A1__3C115E11x4__7G11x4y3[3]), 3,4},
+ {&(_tg__ZTV2A1__5E11x4__7G11x4y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G11x4y3[];
+extern VTBL_ENTRY _ZTV7G11x4y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x4y3[];
+Class_Descriptor cd_G11x4y3 = { "G11x4y3", // class name
+ bases_G11x4y3, 6,
+ &(vtc_G11x4y3[0]), // expected_vtbl_contents
+ &(vtt_G11x4y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G11x4y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x4y3),18, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x4y3),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 G11x4y4 : E11x4 , F0 {
+ int ff;
+ ~G11x4y4(); // tgen
+ G11x4y4(); // tgen
+};
+//SIG(1 G11x4y4) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G11x4y4 ::~G11x4y4(){ note_dtor("G11x4y4", this);} // tgen
+G11x4y4 ::G11x4y4(){ note_ctor("G11x4y4", this);} // tgen
+
+static void Test_G11x4y4()
+{
+ extern Class_Descriptor cd_G11x4y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G11x4y4, buf);
+ G11x4y4 *dp, &lv = *(dp=new (buf) G11x4y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G11x4y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x4y4)");
+ check_base_class_offset(lv, (A1*)(C11*)(E11x4*), ABISELECT(32,24), "G11x4y4");
+ check_base_class_offset(lv, (B0*)(C11*)(E11x4*), ABISELECT(44,32), "G11x4y4");
+ check_base_class_offset(lv, (C11*)(E11x4*), 0, "G11x4y4");
+ check_base_class_offset(lv, (D0*)(E11x4*), ABISELECT(12,8), "G11x4y4");
+ check_base_class_offset(lv, (E11x4*), 0, "G11x4y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(20,16), "G11x4y4");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G11x4y4.ff");
+ test_class_info(&lv, &cd_G11x4y4);
+ dp->~G11x4y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x4y4(Test_G11x4y4, "G11x4y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G11x4y4C1Ev();
+extern void _ZN7G11x4y4D1Ev();
+Name_Map name_map_G11x4y4[] = {
+ NSPAIR(_ZN7G11x4y4C1Ev),
+ NSPAIR(_ZN7G11x4y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E11x4;
+extern VTBL_ENTRY _ZTI5E11x4[];
+extern VTBL_ENTRY _ZTV5E11x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G11x4y4[] = {
+ // 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)
+ 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(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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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_E11x4, 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 _ZTI7G11x4y4[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G11x4y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x4y4[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G11x4y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x4y4[];
+static VTBL_ENTRY _tg__ZTV5E11x4__7G11x4y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C115E11x4__7G11x4y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C115E11x4__7G11x4y4[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x4__7G11x4y4[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E11x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x4y4[] = {
+ {&(_ZTV7G11x4y4[4]), 4,8},
+ {&(_tg__ZTV5E11x4__7G11x4y4[4]), 4,4},
+ {&(_tg__ZTV3C115E11x4__7G11x4y4[4]), 4,4},
+ {&(_tg__ZTV2A1__3C115E11x4__7G11x4y4[3]), 3,4},
+ {&(_tg__ZTV2A1__5E11x4__7G11x4y4[3]), 3,4},
+ {&(_ZTV7G11x4y4[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI7G11x4y4[];
+extern VTBL_ENTRY _ZTV7G11x4y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x4y4[];
+Class_Descriptor cd_G11x4y4 = { "G11x4y4", // class name
+ bases_G11x4y4, 6,
+ &(vtc_G11x4y4[0]), // expected_vtbl_contents
+ &(vtt_G11x4y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G11x4y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x4y4),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x4y4),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 G11x4y5 : virtual E11x4 , F0 {
+ int ff;
+ ~G11x4y5(); // tgen
+ G11x4y5(); // tgen
+};
+//SIG(1 G11x4y5) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G11x4y5 ::~G11x4y5(){ note_dtor("G11x4y5", this);} // tgen
+G11x4y5 ::G11x4y5(){ note_ctor("G11x4y5", this);} // tgen
+
+static void Test_G11x4y5()
+{
+ extern Class_Descriptor cd_G11x4y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G11x4y5, buf);
+ G11x4y5 *dp, &lv = *(dp=new (buf) G11x4y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G11x4y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x4y5)");
+ check_base_class_offset(lv, (A1*)(C11*)(E11x4*), ABISELECT(40,28), "G11x4y5");
+ check_base_class_offset(lv, (B0*)(C11*)(E11x4*), ABISELECT(52,36), "G11x4y5");
+ check_base_class_offset(lv, (C11*)(E11x4*), ABISELECT(16,12), "G11x4y5");
+ check_base_class_offset(lv, (D0*)(E11x4*), ABISELECT(28,20), "G11x4y5");
+ check_base_class_offset(lv, (E11x4*), ABISELECT(16,12), "G11x4y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G11x4y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G11x4y5.ff");
+ test_class_info(&lv, &cd_G11x4y5);
+ dp->~G11x4y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x4y5(Test_G11x4y5, "G11x4y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G11x4y5C1Ev();
+extern void _ZN7G11x4y5D1Ev();
+Name_Map name_map_G11x4y5[] = {
+ NSPAIR(_ZN7G11x4y5C1Ev),
+ NSPAIR(_ZN7G11x4y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E11x4;
+extern VTBL_ENTRY _ZTI5E11x4[];
+extern VTBL_ENTRY _ZTV5E11x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G11x4y5[] = {
+ // 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(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(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_D0, 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_E11x4, 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 _ZTI7G11x4y5[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G11x4y5[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x4y5[0]),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G11x4y5[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G11x4y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x4y5[];
+static VTBL_ENTRY _tg__ZTV5E11x4__7G11x4y5[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C115E11x4__7G11x4y5[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C115E11x4__7G11x4y5[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x4__7G11x4y5[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E11x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x4y5[] = {
+ {&(_ZTV7G11x4y5[5]), 5,13},
+ {&(_ZTV7G11x4y5[9]), 9,13},
+ {&(_ZTV7G11x4y5[12]), 12,13},
+ {&(_tg__ZTV5E11x4__7G11x4y5[4]), 4,4},
+ {&(_tg__ZTV3C115E11x4__7G11x4y5[4]), 4,4},
+ {&(_tg__ZTV2A1__3C115E11x4__7G11x4y5[3]), 3,4},
+ {&(_tg__ZTV2A1__5E11x4__7G11x4y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G11x4y5[];
+extern VTBL_ENTRY _ZTV7G11x4y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x4y5[];
+Class_Descriptor cd_G11x4y5 = { "G11x4y5", // class name
+ bases_G11x4y5, 6,
+ &(vtc_G11x4y5[0]), // expected_vtbl_contents
+ &(vtt_G11x4y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G11x4y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x4y5),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x4y5),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 G11x4y6 : E11x4 , virtual F0 {
+ int ff;
+ ~G11x4y6(); // tgen
+ G11x4y6(); // tgen
+};
+//SIG(1 G11x4y6) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G11x4y6 ::~G11x4y6(){ note_dtor("G11x4y6", this);} // tgen
+G11x4y6 ::G11x4y6(){ note_ctor("G11x4y6", this);} // tgen
+
+static void Test_G11x4y6()
+{
+ extern Class_Descriptor cd_G11x4y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G11x4y6, buf);
+ G11x4y6 *dp, &lv = *(dp=new (buf) G11x4y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G11x4y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x4y6)");
+ check_base_class_offset(lv, (A1*)(C11*)(E11x4*), ABISELECT(24,20), "G11x4y6");
+ check_base_class_offset(lv, (B0*)(C11*)(E11x4*), ABISELECT(36,28), "G11x4y6");
+ check_base_class_offset(lv, (C11*)(E11x4*), 0, "G11x4y6");
+ check_base_class_offset(lv, (D0*)(E11x4*), ABISELECT(12,8), "G11x4y6");
+ check_base_class_offset(lv, (E11x4*), 0, "G11x4y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(40,32), "G11x4y6");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G11x4y6.ff");
+ test_class_info(&lv, &cd_G11x4y6);
+ dp->~G11x4y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x4y6(Test_G11x4y6, "G11x4y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G11x4y6C1Ev();
+extern void _ZN7G11x4y6D1Ev();
+Name_Map name_map_G11x4y6[] = {
+ NSPAIR(_ZN7G11x4y6C1Ev),
+ NSPAIR(_ZN7G11x4y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E11x4;
+extern VTBL_ENTRY _ZTI5E11x4[];
+extern VTBL_ENTRY _ZTV5E11x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G11x4y6[] = {
+ // 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)
+ 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(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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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_E11x4, 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(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 _ZTI7G11x4y6[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G11x4y6[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x4y6[0]),
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G11x4y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x4y6[];
+static VTBL_ENTRY _tg__ZTV5E11x4__7G11x4y6[] = {
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C115E11x4__7G11x4y6[] = {
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C115E11x4__7G11x4y6[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x4__7G11x4y6[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E11x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x4y6[] = {
+ {&(_ZTV7G11x4y6[5]), 5,9},
+ {&(_tg__ZTV5E11x4__7G11x4y6[4]), 4,4},
+ {&(_tg__ZTV3C115E11x4__7G11x4y6[4]), 4,4},
+ {&(_tg__ZTV2A1__3C115E11x4__7G11x4y6[3]), 3,4},
+ {&(_tg__ZTV2A1__5E11x4__7G11x4y6[3]), 3,4},
+ {&(_ZTV7G11x4y6[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI7G11x4y6[];
+extern VTBL_ENTRY _ZTV7G11x4y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x4y6[];
+Class_Descriptor cd_G11x4y6 = { "G11x4y6", // class name
+ bases_G11x4y6, 6,
+ &(vtc_G11x4y6[0]), // expected_vtbl_contents
+ &(vtt_G11x4y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G11x4y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x4y6),9, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x4y6),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 G11x4y7 : virtual E11x4 , virtual F0 {
+ int ff;
+ ~G11x4y7(); // tgen
+ G11x4y7(); // tgen
+};
+//SIG(1 G11x4y7) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G11x4y7 ::~G11x4y7(){ note_dtor("G11x4y7", this);} // tgen
+G11x4y7 ::G11x4y7(){ note_ctor("G11x4y7", this);} // tgen
+
+static void Test_G11x4y7()
+{
+ extern Class_Descriptor cd_G11x4y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G11x4y7, buf);
+ G11x4y7 *dp, &lv = *(dp=new (buf) G11x4y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G11x4y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x4y7)");
+ check_base_class_offset(lv, (A1*)(C11*)(E11x4*), ABISELECT(40,24), "G11x4y7");
+ check_base_class_offset(lv, (B0*)(C11*)(E11x4*), ABISELECT(52,32), "G11x4y7");
+ check_base_class_offset(lv, (C11*)(E11x4*), ABISELECT(16,8), "G11x4y7");
+ check_base_class_offset(lv, (D0*)(E11x4*), ABISELECT(28,16), "G11x4y7");
+ check_base_class_offset(lv, (E11x4*), ABISELECT(16,8), "G11x4y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G11x4y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G11x4y7.ff");
+ test_class_info(&lv, &cd_G11x4y7);
+ dp->~G11x4y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x4y7(Test_G11x4y7, "G11x4y7", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G11x4y7C1Ev();
+extern void _ZN7G11x4y7D1Ev();
+Name_Map name_map_G11x4y7[] = {
+ NSPAIR(_ZN7G11x4y7C1Ev),
+ NSPAIR(_ZN7G11x4y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E11x4;
+extern VTBL_ENTRY _ZTI5E11x4[];
+extern VTBL_ENTRY _ZTV5E11x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G11x4y7[] = {
+ // 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(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(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_D0, 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_E11x4, 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(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 _ZTI7G11x4y7[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G11x4y7[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x4y7[0]),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G11x4y7[0]),
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G11x4y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x4y7[];
+static VTBL_ENTRY _tg__ZTV5E11x4__7G11x4y7[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C115E11x4__7G11x4y7[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C115E11x4__7G11x4y7[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x4__7G11x4y7[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E11x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x4y7[] = {
+ {&(_ZTV7G11x4y7[6]), 6,14},
+ {&(_ZTV7G11x4y7[10]), 10,14},
+ {&(_ZTV7G11x4y7[13]), 13,14},
+ {&(_tg__ZTV5E11x4__7G11x4y7[4]), 4,4},
+ {&(_tg__ZTV3C115E11x4__7G11x4y7[4]), 4,4},
+ {&(_tg__ZTV2A1__3C115E11x4__7G11x4y7[3]), 3,4},
+ {&(_tg__ZTV2A1__5E11x4__7G11x4y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G11x4y7[];
+extern VTBL_ENTRY _ZTV7G11x4y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x4y7[];
+Class_Descriptor cd_G11x4y7 = { "G11x4y7", // class name
+ bases_G11x4y7, 6,
+ &(vtc_G11x4y7[0]), // expected_vtbl_contents
+ &(vtt_G11x4y7[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G11x4y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x4y7),14, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x4y7),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 E12x4 : C12 , D0 {
+ int fd;
+ ~E12x4(); // tgen
+ E12x4(); // tgen
+};
+//SIG(-1 E12x4) C1{ BC2{ BC3{ Fi} VBC4{ v1 Fi} Fi} BC5{ Fi} Fi}
+
+
+E12x4 ::~E12x4(){ note_dtor("E12x4", this);} // tgen
+E12x4 ::E12x4(){ note_ctor("E12x4", this);} // tgen
+
+static void Test_E12x4()
+{
+ extern Class_Descriptor cd_E12x4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E12x4, buf);
+ E12x4 *dp, &lv = *(dp=new (buf) E12x4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E12x4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E12x4)");
+ check_base_class_offset(lv, (A0*)(C12*), ABISELECT(8,4), "E12x4");
+ check_base_class_offset(lv, (B1*)(C12*), ABISELECT(24,20), "E12x4");
+ check_base_class_offset(lv, (C12*), 0, "E12x4");
+ check_base_class_offset(lv, (D0*), ABISELECT(16,12), "E12x4");
+ check_field_offset(lv, fd, ABISELECT(20,16), "E12x4.fd");
+ test_class_info(&lv, &cd_E12x4);
+ dp->~E12x4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE12x4(Test_E12x4, "E12x4", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E12x4C1Ev();
+extern void _ZN5E12x4D1Ev();
+Name_Map name_map_E12x4[] = {
+ NSPAIR(_ZN5E12x4C1Ev),
+ NSPAIR(_ZN5E12x4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E12x4[] = {
+ // 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
+ 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
+ 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E12x4[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_E12x4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x4[0]),
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E12x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E12x4[];
+static VTBL_ENTRY _tg__ZTV3C12__5E12x4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C12__5E12x4[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_E12x4[] = {
+ {&(_ZTV5E12x4[3]), 3,7},
+ {&(_tg__ZTV3C12__5E12x4[3]), 3,3},
+ {&(_tg__ZTV2B1__3C12__5E12x4[3]), 3,4},
+ {&(_ZTV5E12x4[6]), 6,7},
+};
+extern VTBL_ENTRY _ZTI5E12x4[];
+extern VTBL_ENTRY _ZTV5E12x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x4[];
+Class_Descriptor cd_E12x4 = { "E12x4", // class name
+ bases_E12x4, 4,
+ &(vtc_E12x4[0]), // expected_vtbl_contents
+ &(vtt_E12x4[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E12x4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E12x4),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E12x4),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 G12x4y0 : E12x4 , F1 {
+ int ff;
+ ~G12x4y0(); // tgen
+ G12x4y0(); // tgen
+};
+//SIG(1 G12x4y0) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G12x4y0 ::~G12x4y0(){ note_dtor("G12x4y0", this);} // tgen
+G12x4y0 ::G12x4y0(){ note_ctor("G12x4y0", this);} // tgen
+
+static void Test_G12x4y0()
+{
+ extern Class_Descriptor cd_G12x4y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G12x4y0, buf);
+ G12x4y0 *dp, &lv = *(dp=new (buf) G12x4y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G12x4y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x4y0)");
+ check_base_class_offset(lv, (A0*)(C12*)(E12x4*), ABISELECT(8,4), "G12x4y0");
+ check_base_class_offset(lv, (B1*)(C12*)(E12x4*), ABISELECT(40,32), "G12x4y0");
+ check_base_class_offset(lv, (C12*)(E12x4*), 0, "G12x4y0");
+ check_base_class_offset(lv, (D0*)(E12x4*), ABISELECT(16,12), "G12x4y0");
+ check_base_class_offset(lv, (E12x4*), 0, "G12x4y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,20), "G12x4y0");
+ check_field_offset(lv, ff, ABISELECT(36,28), "G12x4y0.ff");
+ test_class_info(&lv, &cd_G12x4y0);
+ dp->~G12x4y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x4y0(Test_G12x4y0, "G12x4y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G12x4y0C1Ev();
+extern void _ZN7G12x4y0D1Ev();
+Name_Map name_map_G12x4y0[] = {
+ NSPAIR(_ZN7G12x4y0C1Ev),
+ NSPAIR(_ZN7G12x4y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E12x4;
+extern VTBL_ENTRY _ZTI5E12x4[];
+extern VTBL_ENTRY _ZTV5E12x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G12x4y0[] = {
+ // 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E12x4, 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
+ 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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G12x4y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G12x4y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x4y0[0]),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G12x4y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G12x4y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x4y0[];
+static VTBL_ENTRY _tg__ZTV5E12x4__7G12x4y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C125E12x4__7G12x4y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C125E12x4__7G12x4y0[] = {
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x4__7G12x4y0[] = {
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI5E12x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x4y0[] = {
+ {&(_ZTV7G12x4y0[3]), 3,10},
+ {&(_tg__ZTV5E12x4__7G12x4y0[3]), 3,3},
+ {&(_tg__ZTV3C125E12x4__7G12x4y0[3]), 3,3},
+ {&(_tg__ZTV2B1__3C125E12x4__7G12x4y0[3]), 3,4},
+ {&(_tg__ZTV2B1__5E12x4__7G12x4y0[3]), 3,4},
+ {&(_ZTV7G12x4y0[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI7G12x4y0[];
+extern VTBL_ENTRY _ZTV7G12x4y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x4y0[];
+Class_Descriptor cd_G12x4y0 = { "G12x4y0", // class name
+ bases_G12x4y0, 6,
+ &(vtc_G12x4y0[0]), // expected_vtbl_contents
+ &(vtt_G12x4y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G12x4y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x4y0),10, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x4y0),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 G12x4y1 : virtual E12x4 , F1 {
+ int ff;
+ ~G12x4y1(); // tgen
+ G12x4y1(); // tgen
+};
+//SIG(1 G12x4y1) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G12x4y1 ::~G12x4y1(){ note_dtor("G12x4y1", this);} // tgen
+G12x4y1 ::G12x4y1(){ note_ctor("G12x4y1", this);} // tgen
+
+static void Test_G12x4y1()
+{
+ extern Class_Descriptor cd_G12x4y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G12x4y1, buf);
+ G12x4y1 *dp, &lv = *(dp=new (buf) G12x4y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G12x4y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x4y1)");
+ check_base_class_offset(lv, (A0*)(C12*)(E12x4*), ABISELECT(24,16), "G12x4y1");
+ check_base_class_offset(lv, (B1*)(C12*)(E12x4*), ABISELECT(40,32), "G12x4y1");
+ check_base_class_offset(lv, (C12*)(E12x4*), ABISELECT(16,12), "G12x4y1");
+ check_base_class_offset(lv, (D0*)(E12x4*), ABISELECT(32,24), "G12x4y1");
+ check_base_class_offset(lv, (E12x4*), ABISELECT(16,12), "G12x4y1");
+ check_base_class_offset(lv, (F1*), 0, "G12x4y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G12x4y1.ff");
+ test_class_info(&lv, &cd_G12x4y1);
+ dp->~G12x4y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x4y1(Test_G12x4y1, "G12x4y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G12x4y1C1Ev();
+extern void _ZN7G12x4y1D1Ev();
+Name_Map name_map_G12x4y1[] = {
+ NSPAIR(_ZN7G12x4y1C1Ev),
+ NSPAIR(_ZN7G12x4y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E12x4;
+extern VTBL_ENTRY _ZTI5E12x4[];
+extern VTBL_ENTRY _ZTV5E12x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G12x4y1[] = {
+ // 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,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
+ 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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, 0},
+ {&cd_E12x4, 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
+ 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 _ZTI7G12x4y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G12x4y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x4y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G12x4y1[0]),
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G12x4y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x4y1[];
+static VTBL_ENTRY _tg__ZTV5E12x4__7G12x4y1[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C125E12x4__7G12x4y1[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C125E12x4__7G12x4y1[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x4__7G12x4y1[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E12x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x4y1[] = {
+ {&(_ZTV7G12x4y1[4]), 4,12},
+ {&(_ZTV7G12x4y1[8]), 8,12},
+ {&(_ZTV7G12x4y1[11]), 11,12},
+ {&(_tg__ZTV5E12x4__7G12x4y1[3]), 3,3},
+ {&(_tg__ZTV3C125E12x4__7G12x4y1[3]), 3,3},
+ {&(_tg__ZTV2B1__3C125E12x4__7G12x4y1[3]), 3,4},
+ {&(_tg__ZTV2B1__5E12x4__7G12x4y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G12x4y1[];
+extern VTBL_ENTRY _ZTV7G12x4y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x4y1[];
+Class_Descriptor cd_G12x4y1 = { "G12x4y1", // class name
+ bases_G12x4y1, 6,
+ &(vtc_G12x4y1[0]), // expected_vtbl_contents
+ &(vtt_G12x4y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G12x4y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x4y1),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x4y1),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 G12x4y2 : E12x4 , virtual F1 {
+ int ff;
+ ~G12x4y2(); // tgen
+ G12x4y2(); // tgen
+};
+//SIG(1 G12x4y2) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G12x4y2 ::~G12x4y2(){ note_dtor("G12x4y2", this);} // tgen
+G12x4y2 ::G12x4y2(){ note_ctor("G12x4y2", this);} // tgen
+
+static void Test_G12x4y2()
+{
+ extern Class_Descriptor cd_G12x4y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G12x4y2, buf);
+ G12x4y2 *dp, &lv = *(dp=new (buf) G12x4y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G12x4y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x4y2)");
+ check_base_class_offset(lv, (A0*)(C12*)(E12x4*), ABISELECT(8,4), "G12x4y2");
+ check_base_class_offset(lv, (B1*)(C12*)(E12x4*), ABISELECT(32,24), "G12x4y2");
+ check_base_class_offset(lv, (C12*)(E12x4*), 0, "G12x4y2");
+ check_base_class_offset(lv, (D0*)(E12x4*), ABISELECT(16,12), "G12x4y2");
+ check_base_class_offset(lv, (E12x4*), 0, "G12x4y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G12x4y2");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G12x4y2.ff");
+ test_class_info(&lv, &cd_G12x4y2);
+ dp->~G12x4y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x4y2(Test_G12x4y2, "G12x4y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G12x4y2C1Ev();
+extern void _ZN7G12x4y2D1Ev();
+Name_Map name_map_G12x4y2[] = {
+ NSPAIR(_ZN7G12x4y2C1Ev),
+ NSPAIR(_ZN7G12x4y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E12x4;
+extern VTBL_ENTRY _ZTI5E12x4[];
+extern VTBL_ENTRY _ZTV5E12x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G12x4y2[] = {
+ // 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)
+ 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E12x4, 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
+ 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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G12x4y2[];
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G12x4y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x4y2[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G12x4y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G12x4y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x4y2[];
+static VTBL_ENTRY _tg__ZTV5E12x4__7G12x4y2[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C125E12x4__7G12x4y2[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C125E12x4__7G12x4y2[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x4__7G12x4y2[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E12x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x4y2[] = {
+ {&(_ZTV7G12x4y2[4]), 4,12},
+ {&(_tg__ZTV5E12x4__7G12x4y2[3]), 3,3},
+ {&(_tg__ZTV3C125E12x4__7G12x4y2[3]), 3,3},
+ {&(_tg__ZTV2B1__3C125E12x4__7G12x4y2[3]), 3,4},
+ {&(_tg__ZTV2B1__5E12x4__7G12x4y2[3]), 3,4},
+ {&(_ZTV7G12x4y2[7]), 7,12},
+ {&(_ZTV7G12x4y2[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI7G12x4y2[];
+extern VTBL_ENTRY _ZTV7G12x4y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x4y2[];
+Class_Descriptor cd_G12x4y2 = { "G12x4y2", // class name
+ bases_G12x4y2, 6,
+ &(vtc_G12x4y2[0]), // expected_vtbl_contents
+ &(vtt_G12x4y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G12x4y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x4y2),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x4y2),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 G12x4y3 : virtual E12x4 , virtual F1 {
+ int ff;
+ ~G12x4y3(); // tgen
+ G12x4y3(); // tgen
+};
+//SIG(1 G12x4y3) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G12x4y3 ::~G12x4y3(){ note_dtor("G12x4y3", this);} // tgen
+G12x4y3 ::G12x4y3(){ note_ctor("G12x4y3", this);} // tgen
+
+static void Test_G12x4y3()
+{
+ extern Class_Descriptor cd_G12x4y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G12x4y3, buf);
+ G12x4y3 *dp, &lv = *(dp=new (buf) G12x4y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G12x4y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x4y3)");
+ check_base_class_offset(lv, (A0*)(C12*)(E12x4*), ABISELECT(24,12), "G12x4y3");
+ check_base_class_offset(lv, (B1*)(C12*)(E12x4*), ABISELECT(40,28), "G12x4y3");
+ check_base_class_offset(lv, (C12*)(E12x4*), ABISELECT(16,8), "G12x4y3");
+ check_base_class_offset(lv, (D0*)(E12x4*), ABISELECT(32,20), "G12x4y3");
+ check_base_class_offset(lv, (E12x4*), ABISELECT(16,8), "G12x4y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G12x4y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G12x4y3.ff");
+ test_class_info(&lv, &cd_G12x4y3);
+ dp->~G12x4y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x4y3(Test_G12x4y3, "G12x4y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G12x4y3C1Ev();
+extern void _ZN7G12x4y3D1Ev();
+Name_Map name_map_G12x4y3[] = {
+ NSPAIR(_ZN7G12x4y3C1Ev),
+ NSPAIR(_ZN7G12x4y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E12x4;
+extern VTBL_ENTRY _ZTI5E12x4[];
+extern VTBL_ENTRY _ZTV5E12x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G12x4y3[] = {
+ // 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,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
+ 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_D0, 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, 0},
+ {&cd_E12x4, 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
+ 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 _ZTI7G12x4y3[];
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G12x4y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x4y3[0]),
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G12x4y3[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G12x4y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G12x4y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x4y3[];
+static VTBL_ENTRY _tg__ZTV5E12x4__7G12x4y3[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C125E12x4__7G12x4y3[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C125E12x4__7G12x4y3[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x4__7G12x4y3[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E12x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x4y3[] = {
+ {&(_ZTV7G12x4y3[5]), 5,16},
+ {&(_ZTV7G12x4y3[8]), 8,16},
+ {&(_ZTV7G12x4y3[11]), 11,16},
+ {&(_ZTV7G12x4y3[15]), 15,16},
+ {&(_tg__ZTV5E12x4__7G12x4y3[3]), 3,3},
+ {&(_tg__ZTV3C125E12x4__7G12x4y3[3]), 3,3},
+ {&(_tg__ZTV2B1__3C125E12x4__7G12x4y3[3]), 3,4},
+ {&(_tg__ZTV2B1__5E12x4__7G12x4y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G12x4y3[];
+extern VTBL_ENTRY _ZTV7G12x4y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x4y3[];
+Class_Descriptor cd_G12x4y3 = { "G12x4y3", // class name
+ bases_G12x4y3, 6,
+ &(vtc_G12x4y3[0]), // expected_vtbl_contents
+ &(vtt_G12x4y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G12x4y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x4y3),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x4y3),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 G12x4y4 : E12x4 , F0 {
+ int ff;
+ ~G12x4y4(); // tgen
+ G12x4y4(); // tgen
+};
+//SIG(1 G12x4y4) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G12x4y4 ::~G12x4y4(){ note_dtor("G12x4y4", this);} // tgen
+G12x4y4 ::G12x4y4(){ note_ctor("G12x4y4", this);} // tgen
+
+static void Test_G12x4y4()
+{
+ extern Class_Descriptor cd_G12x4y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G12x4y4, buf);
+ G12x4y4 *dp, &lv = *(dp=new (buf) G12x4y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G12x4y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x4y4)");
+ check_base_class_offset(lv, (A0*)(C12*)(E12x4*), ABISELECT(8,4), "G12x4y4");
+ check_base_class_offset(lv, (B1*)(C12*)(E12x4*), ABISELECT(32,28), "G12x4y4");
+ check_base_class_offset(lv, (C12*)(E12x4*), 0, "G12x4y4");
+ check_base_class_offset(lv, (D0*)(E12x4*), ABISELECT(16,12), "G12x4y4");
+ check_base_class_offset(lv, (E12x4*), 0, "G12x4y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(24,20), "G12x4y4");
+ check_field_offset(lv, ff, ABISELECT(28,24), "G12x4y4.ff");
+ test_class_info(&lv, &cd_G12x4y4);
+ dp->~G12x4y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x4y4(Test_G12x4y4, "G12x4y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G12x4y4C1Ev();
+extern void _ZN7G12x4y4D1Ev();
+Name_Map name_map_G12x4y4[] = {
+ NSPAIR(_ZN7G12x4y4C1Ev),
+ NSPAIR(_ZN7G12x4y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E12x4;
+extern VTBL_ENTRY _ZTI5E12x4[];
+extern VTBL_ENTRY _ZTV5E12x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G12x4y4[] = {
+ // 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,28), //bcp->offset
+ 3, //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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E12x4, 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 _ZTI7G12x4y4[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G12x4y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x4y4[0]),
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI7G12x4y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x4y4[];
+static VTBL_ENTRY _tg__ZTV5E12x4__7G12x4y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C125E12x4__7G12x4y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C125E12x4__7G12x4y4[] = {
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x4__7G12x4y4[] = {
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI5E12x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x4y4[] = {
+ {&(_ZTV7G12x4y4[3]), 3,7},
+ {&(_tg__ZTV5E12x4__7G12x4y4[3]), 3,3},
+ {&(_tg__ZTV3C125E12x4__7G12x4y4[3]), 3,3},
+ {&(_tg__ZTV2B1__3C125E12x4__7G12x4y4[3]), 3,4},
+ {&(_tg__ZTV2B1__5E12x4__7G12x4y4[3]), 3,4},
+ {&(_ZTV7G12x4y4[6]), 6,7},
+};
+extern VTBL_ENTRY _ZTI7G12x4y4[];
+extern VTBL_ENTRY _ZTV7G12x4y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x4y4[];
+Class_Descriptor cd_G12x4y4 = { "G12x4y4", // class name
+ bases_G12x4y4, 6,
+ &(vtc_G12x4y4[0]), // expected_vtbl_contents
+ &(vtt_G12x4y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G12x4y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x4y4),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x4y4),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 G12x4y5 : virtual E12x4 , F0 {
+ int ff;
+ ~G12x4y5(); // tgen
+ G12x4y5(); // tgen
+};
+//SIG(1 G12x4y5) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G12x4y5 ::~G12x4y5(){ note_dtor("G12x4y5", this);} // tgen
+G12x4y5 ::G12x4y5(){ note_ctor("G12x4y5", this);} // tgen
+
+static void Test_G12x4y5()
+{
+ extern Class_Descriptor cd_G12x4y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G12x4y5, buf);
+ G12x4y5 *dp, &lv = *(dp=new (buf) G12x4y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G12x4y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x4y5)");
+ check_base_class_offset(lv, (A0*)(C12*)(E12x4*), ABISELECT(24,16), "G12x4y5");
+ check_base_class_offset(lv, (B1*)(C12*)(E12x4*), ABISELECT(40,32), "G12x4y5");
+ check_base_class_offset(lv, (C12*)(E12x4*), ABISELECT(16,12), "G12x4y5");
+ check_base_class_offset(lv, (D0*)(E12x4*), ABISELECT(32,24), "G12x4y5");
+ check_base_class_offset(lv, (E12x4*), ABISELECT(16,12), "G12x4y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G12x4y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G12x4y5.ff");
+ test_class_info(&lv, &cd_G12x4y5);
+ dp->~G12x4y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x4y5(Test_G12x4y5, "G12x4y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G12x4y5C1Ev();
+extern void _ZN7G12x4y5D1Ev();
+Name_Map name_map_G12x4y5[] = {
+ NSPAIR(_ZN7G12x4y5C1Ev),
+ NSPAIR(_ZN7G12x4y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E12x4;
+extern VTBL_ENTRY _ZTI5E12x4[];
+extern VTBL_ENTRY _ZTV5E12x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G12x4y5[] = {
+ // 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,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
+ 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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, 0},
+ {&cd_E12x4, 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
+ 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 _ZTI7G12x4y5[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G12x4y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x4y5[0]),
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G12x4y5[0]),
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G12x4y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x4y5[];
+static VTBL_ENTRY _tg__ZTV5E12x4__7G12x4y5[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C125E12x4__7G12x4y5[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C125E12x4__7G12x4y5[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x4__7G12x4y5[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E12x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x4y5[] = {
+ {&(_ZTV7G12x4y5[4]), 4,11},
+ {&(_ZTV7G12x4y5[7]), 7,11},
+ {&(_ZTV7G12x4y5[10]), 10,11},
+ {&(_tg__ZTV5E12x4__7G12x4y5[3]), 3,3},
+ {&(_tg__ZTV3C125E12x4__7G12x4y5[3]), 3,3},
+ {&(_tg__ZTV2B1__3C125E12x4__7G12x4y5[3]), 3,4},
+ {&(_tg__ZTV2B1__5E12x4__7G12x4y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G12x4y5[];
+extern VTBL_ENTRY _ZTV7G12x4y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x4y5[];
+Class_Descriptor cd_G12x4y5 = { "G12x4y5", // class name
+ bases_G12x4y5, 6,
+ &(vtc_G12x4y5[0]), // expected_vtbl_contents
+ &(vtt_G12x4y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G12x4y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x4y5),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x4y5),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 G12x4y6 : E12x4 , virtual F0 {
+ int ff;
+ ~G12x4y6(); // tgen
+ G12x4y6(); // tgen
+};
+//SIG(1 G12x4y6) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G12x4y6 ::~G12x4y6(){ note_dtor("G12x4y6", this);} // tgen
+G12x4y6 ::G12x4y6(){ note_ctor("G12x4y6", this);} // tgen
+
+static void Test_G12x4y6()
+{
+ extern Class_Descriptor cd_G12x4y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G12x4y6, buf);
+ G12x4y6 *dp, &lv = *(dp=new (buf) G12x4y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G12x4y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x4y6)");
+ check_base_class_offset(lv, (A0*)(C12*)(E12x4*), ABISELECT(8,4), "G12x4y6");
+ check_base_class_offset(lv, (B1*)(C12*)(E12x4*), ABISELECT(32,24), "G12x4y6");
+ check_base_class_offset(lv, (C12*)(E12x4*), 0, "G12x4y6");
+ check_base_class_offset(lv, (D0*)(E12x4*), ABISELECT(16,12), "G12x4y6");
+ check_base_class_offset(lv, (E12x4*), 0, "G12x4y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G12x4y6");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G12x4y6.ff");
+ test_class_info(&lv, &cd_G12x4y6);
+ dp->~G12x4y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x4y6(Test_G12x4y6, "G12x4y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G12x4y6C1Ev();
+extern void _ZN7G12x4y6D1Ev();
+Name_Map name_map_G12x4y6[] = {
+ NSPAIR(_ZN7G12x4y6C1Ev),
+ NSPAIR(_ZN7G12x4y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E12x4;
+extern VTBL_ENTRY _ZTI5E12x4[];
+extern VTBL_ENTRY _ZTV5E12x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G12x4y6[] = {
+ // 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)
+ 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E12x4, 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 _ZTI7G12x4y6[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G12x4y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x4y6[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G12x4y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x4y6[];
+static VTBL_ENTRY _tg__ZTV5E12x4__7G12x4y6[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C125E12x4__7G12x4y6[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C125E12x4__7G12x4y6[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x4__7G12x4y6[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E12x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x4y6[] = {
+ {&(_ZTV7G12x4y6[4]), 4,8},
+ {&(_tg__ZTV5E12x4__7G12x4y6[3]), 3,3},
+ {&(_tg__ZTV3C125E12x4__7G12x4y6[3]), 3,3},
+ {&(_tg__ZTV2B1__3C125E12x4__7G12x4y6[3]), 3,4},
+ {&(_tg__ZTV2B1__5E12x4__7G12x4y6[3]), 3,4},
+ {&(_ZTV7G12x4y6[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI7G12x4y6[];
+extern VTBL_ENTRY _ZTV7G12x4y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x4y6[];
+Class_Descriptor cd_G12x4y6 = { "G12x4y6", // class name
+ bases_G12x4y6, 6,
+ &(vtc_G12x4y6[0]), // expected_vtbl_contents
+ &(vtt_G12x4y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G12x4y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x4y6),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x4y6),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 G12x4y7 : virtual E12x4 , virtual F0 {
+ int ff;
+ ~G12x4y7(); // tgen
+ G12x4y7(); // tgen
+};
+//SIG(1 G12x4y7) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G12x4y7 ::~G12x4y7(){ note_dtor("G12x4y7", this);} // tgen
+G12x4y7 ::G12x4y7(){ note_ctor("G12x4y7", this);} // tgen
+
+static void Test_G12x4y7()
+{
+ extern Class_Descriptor cd_G12x4y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G12x4y7, buf);
+ G12x4y7 *dp, &lv = *(dp=new (buf) G12x4y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G12x4y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x4y7)");
+ check_base_class_offset(lv, (A0*)(C12*)(E12x4*), ABISELECT(24,12), "G12x4y7");
+ check_base_class_offset(lv, (B1*)(C12*)(E12x4*), ABISELECT(40,28), "G12x4y7");
+ check_base_class_offset(lv, (C12*)(E12x4*), ABISELECT(16,8), "G12x4y7");
+ check_base_class_offset(lv, (D0*)(E12x4*), ABISELECT(32,20), "G12x4y7");
+ check_base_class_offset(lv, (E12x4*), ABISELECT(16,8), "G12x4y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G12x4y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G12x4y7.ff");
+ test_class_info(&lv, &cd_G12x4y7);
+ dp->~G12x4y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x4y7(Test_G12x4y7, "G12x4y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G12x4y7C1Ev();
+extern void _ZN7G12x4y7D1Ev();
+Name_Map name_map_G12x4y7[] = {
+ NSPAIR(_ZN7G12x4y7C1Ev),
+ NSPAIR(_ZN7G12x4y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E12x4;
+extern VTBL_ENTRY _ZTI5E12x4[];
+extern VTBL_ENTRY _ZTV5E12x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G12x4y7[] = {
+ // 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,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
+ 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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, 0},
+ {&cd_E12x4, 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
+ 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 _ZTI7G12x4y7[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G12x4y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x4y7[0]),
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G12x4y7[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G12x4y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x4y7[];
+static VTBL_ENTRY _tg__ZTV5E12x4__7G12x4y7[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C125E12x4__7G12x4y7[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C125E12x4__7G12x4y7[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x4__7G12x4y7[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E12x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x4y7[] = {
+ {&(_ZTV7G12x4y7[5]), 5,12},
+ {&(_ZTV7G12x4y7[8]), 8,12},
+ {&(_ZTV7G12x4y7[11]), 11,12},
+ {&(_tg__ZTV5E12x4__7G12x4y7[3]), 3,3},
+ {&(_tg__ZTV3C125E12x4__7G12x4y7[3]), 3,3},
+ {&(_tg__ZTV2B1__3C125E12x4__7G12x4y7[3]), 3,4},
+ {&(_tg__ZTV2B1__5E12x4__7G12x4y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G12x4y7[];
+extern VTBL_ENTRY _ZTV7G12x4y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x4y7[];
+Class_Descriptor cd_G12x4y7 = { "G12x4y7", // class name
+ bases_G12x4y7, 6,
+ &(vtc_G12x4y7[0]), // expected_vtbl_contents
+ &(vtt_G12x4y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G12x4y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x4y7),12, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x4y7),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 E13x4 : C13 , D0 {
+ int fd;
+ ~E13x4(); // tgen
+ E13x4(); // tgen
+};
+//SIG(-1 E13x4) C1{ BC2{ BC3{ v1 Fi} VBC4{ v2 Fi} Fi} BC5{ Fi} Fi}
+
+
+E13x4 ::~E13x4(){ note_dtor("E13x4", this);} // tgen
+E13x4 ::E13x4(){ note_ctor("E13x4", this);} // tgen
+
+static void Test_E13x4()
+{
+ extern Class_Descriptor cd_E13x4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E13x4, buf);
+ E13x4 *dp, &lv = *(dp=new (buf) E13x4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E13x4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E13x4)");
+ check_base_class_offset(lv, (A1*)(C13*), 0, "E13x4");
+ check_base_class_offset(lv, (B1*)(C13*), ABISELECT(24,20), "E13x4");
+ check_base_class_offset(lv, (C13*), 0, "E13x4");
+ check_base_class_offset(lv, (D0*), ABISELECT(16,12), "E13x4");
+ check_field_offset(lv, fd, ABISELECT(20,16), "E13x4.fd");
+ test_class_info(&lv, &cd_E13x4);
+ dp->~E13x4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE13x4(Test_E13x4, "E13x4", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E13x4C1Ev();
+extern void _ZN5E13x4D1Ev();
+Name_Map name_map_E13x4[] = {
+ NSPAIR(_ZN5E13x4C1Ev),
+ NSPAIR(_ZN5E13x4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E13x4[] = {
+ // 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(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
+ 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E13x4[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_E13x4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E13x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E13x4[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__5E13x4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C13__5E13x4[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_E13x4[] = {
+ {&(_ZTV5E13x4[3]), 3,8},
+ {&(_tg__ZTV3C13__5E13x4[3]), 3,4},
+ {&(_tg__ZTV2B1__3C13__5E13x4[3]), 3,4},
+ {&(_ZTV5E13x4[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI5E13x4[];
+extern VTBL_ENTRY _ZTV5E13x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x4[];
+Class_Descriptor cd_E13x4 = { "E13x4", // class name
+ bases_E13x4, 4,
+ &(vtc_E13x4[0]), // expected_vtbl_contents
+ &(vtt_E13x4[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E13x4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E13x4),8, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E13x4),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 G13x4y0 : E13x4 , F1 {
+ int ff;
+ ~G13x4y0(); // tgen
+ G13x4y0(); // tgen
+};
+//SIG(1 G13x4y0) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G13x4y0 ::~G13x4y0(){ note_dtor("G13x4y0", this);} // tgen
+G13x4y0 ::G13x4y0(){ note_ctor("G13x4y0", this);} // tgen
+
+static void Test_G13x4y0()
+{
+ extern Class_Descriptor cd_G13x4y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G13x4y0, buf);
+ G13x4y0 *dp, &lv = *(dp=new (buf) G13x4y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G13x4y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x4y0)");
+ check_base_class_offset(lv, (A1*)(C13*)(E13x4*), 0, "G13x4y0");
+ check_base_class_offset(lv, (B1*)(C13*)(E13x4*), ABISELECT(40,32), "G13x4y0");
+ check_base_class_offset(lv, (C13*)(E13x4*), 0, "G13x4y0");
+ check_base_class_offset(lv, (D0*)(E13x4*), ABISELECT(16,12), "G13x4y0");
+ check_base_class_offset(lv, (E13x4*), 0, "G13x4y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,20), "G13x4y0");
+ check_field_offset(lv, ff, ABISELECT(36,28), "G13x4y0.ff");
+ test_class_info(&lv, &cd_G13x4y0);
+ dp->~G13x4y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x4y0(Test_G13x4y0, "G13x4y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G13x4y0C1Ev();
+extern void _ZN7G13x4y0D1Ev();
+Name_Map name_map_G13x4y0[] = {
+ NSPAIR(_ZN7G13x4y0C1Ev),
+ NSPAIR(_ZN7G13x4y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E13x4;
+extern VTBL_ENTRY _ZTI5E13x4[];
+extern VTBL_ENTRY _ZTV5E13x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G13x4y0[] = {
+ // 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E13x4, 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 _ZTI7G13x4y0[];
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G13x4y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x4y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G13x4y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G13x4y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x4y0[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV5E13x4__7G13x4y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C135E13x4__7G13x4y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C135E13x4__7G13x4y0[] = {
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x4__7G13x4y0[] = {
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI5E13x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x4y0[] = {
+ {&(_ZTV7G13x4y0[3]), 3,11},
+ {&(_tg__ZTV5E13x4__7G13x4y0[3]), 3,4},
+ {&(_tg__ZTV3C135E13x4__7G13x4y0[3]), 3,4},
+ {&(_tg__ZTV2B1__3C135E13x4__7G13x4y0[3]), 3,4},
+ {&(_tg__ZTV2B1__5E13x4__7G13x4y0[3]), 3,4},
+ {&(_ZTV7G13x4y0[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI7G13x4y0[];
+extern VTBL_ENTRY _ZTV7G13x4y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x4y0[];
+Class_Descriptor cd_G13x4y0 = { "G13x4y0", // class name
+ bases_G13x4y0, 6,
+ &(vtc_G13x4y0[0]), // expected_vtbl_contents
+ &(vtt_G13x4y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G13x4y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x4y0),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x4y0),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 G13x4y1 : virtual E13x4 , F1 {
+ int ff;
+ ~G13x4y1(); // tgen
+ G13x4y1(); // tgen
+};
+//SIG(1 G13x4y1) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G13x4y1 ::~G13x4y1(){ note_dtor("G13x4y1", this);} // tgen
+G13x4y1 ::G13x4y1(){ note_ctor("G13x4y1", this);} // tgen
+
+static void Test_G13x4y1()
+{
+ extern Class_Descriptor cd_G13x4y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G13x4y1, buf);
+ G13x4y1 *dp, &lv = *(dp=new (buf) G13x4y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G13x4y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x4y1)");
+ check_base_class_offset(lv, (A1*)(C13*)(E13x4*), ABISELECT(16,12), "G13x4y1");
+ check_base_class_offset(lv, (B1*)(C13*)(E13x4*), ABISELECT(40,32), "G13x4y1");
+ check_base_class_offset(lv, (C13*)(E13x4*), ABISELECT(16,12), "G13x4y1");
+ check_base_class_offset(lv, (D0*)(E13x4*), ABISELECT(32,24), "G13x4y1");
+ check_base_class_offset(lv, (E13x4*), ABISELECT(16,12), "G13x4y1");
+ check_base_class_offset(lv, (F1*), 0, "G13x4y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G13x4y1.ff");
+ test_class_info(&lv, &cd_G13x4y1);
+ dp->~G13x4y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x4y1(Test_G13x4y1, "G13x4y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G13x4y1C1Ev();
+extern void _ZN7G13x4y1D1Ev();
+Name_Map name_map_G13x4y1[] = {
+ NSPAIR(_ZN7G13x4y1C1Ev),
+ NSPAIR(_ZN7G13x4y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E13x4;
+extern VTBL_ENTRY _ZTI5E13x4[];
+extern VTBL_ENTRY _ZTV5E13x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G13x4y1[] = {
+ // 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(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
+ 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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, 0},
+ {&cd_E13x4, 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 _ZTI7G13x4y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G13x4y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x4y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G13x4y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G13x4y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x4y1[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV5E13x4__7G13x4y1[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C135E13x4__7G13x4y1[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C135E13x4__7G13x4y1[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x4__7G13x4y1[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E13x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x4y1[] = {
+ {&(_ZTV7G13x4y1[4]), 4,14},
+ {&(_ZTV7G13x4y1[9]), 9,14},
+ {&(_ZTV7G13x4y1[13]), 13,14},
+ {&(_tg__ZTV5E13x4__7G13x4y1[3]), 3,4},
+ {&(_tg__ZTV3C135E13x4__7G13x4y1[3]), 3,4},
+ {&(_tg__ZTV2B1__3C135E13x4__7G13x4y1[3]), 3,4},
+ {&(_tg__ZTV2B1__5E13x4__7G13x4y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G13x4y1[];
+extern VTBL_ENTRY _ZTV7G13x4y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x4y1[];
+Class_Descriptor cd_G13x4y1 = { "G13x4y1", // class name
+ bases_G13x4y1, 6,
+ &(vtc_G13x4y1[0]), // expected_vtbl_contents
+ &(vtt_G13x4y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G13x4y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x4y1),14, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x4y1),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 G13x4y2 : E13x4 , virtual F1 {
+ int ff;
+ ~G13x4y2(); // tgen
+ G13x4y2(); // tgen
+};
+//SIG(1 G13x4y2) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G13x4y2 ::~G13x4y2(){ note_dtor("G13x4y2", this);} // tgen
+G13x4y2 ::G13x4y2(){ note_ctor("G13x4y2", this);} // tgen
+
+static void Test_G13x4y2()
+{
+ extern Class_Descriptor cd_G13x4y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G13x4y2, buf);
+ G13x4y2 *dp, &lv = *(dp=new (buf) G13x4y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G13x4y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x4y2)");
+ check_base_class_offset(lv, (A1*)(C13*)(E13x4*), 0, "G13x4y2");
+ check_base_class_offset(lv, (B1*)(C13*)(E13x4*), ABISELECT(32,24), "G13x4y2");
+ check_base_class_offset(lv, (C13*)(E13x4*), 0, "G13x4y2");
+ check_base_class_offset(lv, (D0*)(E13x4*), ABISELECT(16,12), "G13x4y2");
+ check_base_class_offset(lv, (E13x4*), 0, "G13x4y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G13x4y2");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G13x4y2.ff");
+ test_class_info(&lv, &cd_G13x4y2);
+ dp->~G13x4y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x4y2(Test_G13x4y2, "G13x4y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G13x4y2C1Ev();
+extern void _ZN7G13x4y2D1Ev();
+Name_Map name_map_G13x4y2[] = {
+ NSPAIR(_ZN7G13x4y2C1Ev),
+ NSPAIR(_ZN7G13x4y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E13x4;
+extern VTBL_ENTRY _ZTI5E13x4[];
+extern VTBL_ENTRY _ZTV5E13x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G13x4y2[] = {
+ // 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)
+ 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E13x4, 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)
+ 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 _ZTI7G13x4y2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G13x4y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x4y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G13x4y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G13x4y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x4y2[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV5E13x4__7G13x4y2[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C135E13x4__7G13x4y2[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C135E13x4__7G13x4y2[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x4__7G13x4y2[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E13x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x4y2[] = {
+ {&(_ZTV7G13x4y2[4]), 4,13},
+ {&(_tg__ZTV5E13x4__7G13x4y2[3]), 3,4},
+ {&(_tg__ZTV3C135E13x4__7G13x4y2[3]), 3,4},
+ {&(_tg__ZTV2B1__3C135E13x4__7G13x4y2[3]), 3,4},
+ {&(_tg__ZTV2B1__5E13x4__7G13x4y2[3]), 3,4},
+ {&(_ZTV7G13x4y2[8]), 8,13},
+ {&(_ZTV7G13x4y2[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI7G13x4y2[];
+extern VTBL_ENTRY _ZTV7G13x4y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x4y2[];
+Class_Descriptor cd_G13x4y2 = { "G13x4y2", // class name
+ bases_G13x4y2, 6,
+ &(vtc_G13x4y2[0]), // expected_vtbl_contents
+ &(vtt_G13x4y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G13x4y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x4y2),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x4y2),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 G13x4y3 : virtual E13x4 , virtual F1 {
+ int ff;
+ ~G13x4y3(); // tgen
+ G13x4y3(); // tgen
+};
+//SIG(1 G13x4y3) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G13x4y3 ::~G13x4y3(){ note_dtor("G13x4y3", this);} // tgen
+G13x4y3 ::G13x4y3(){ note_ctor("G13x4y3", this);} // tgen
+
+static void Test_G13x4y3()
+{
+ extern Class_Descriptor cd_G13x4y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G13x4y3, buf);
+ G13x4y3 *dp, &lv = *(dp=new (buf) G13x4y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G13x4y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x4y3)");
+ check_base_class_offset(lv, (A1*)(C13*)(E13x4*), ABISELECT(16,8), "G13x4y3");
+ check_base_class_offset(lv, (B1*)(C13*)(E13x4*), ABISELECT(40,28), "G13x4y3");
+ check_base_class_offset(lv, (C13*)(E13x4*), ABISELECT(16,8), "G13x4y3");
+ check_base_class_offset(lv, (D0*)(E13x4*), ABISELECT(32,20), "G13x4y3");
+ check_base_class_offset(lv, (E13x4*), ABISELECT(16,8), "G13x4y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G13x4y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G13x4y3.ff");
+ test_class_info(&lv, &cd_G13x4y3);
+ dp->~G13x4y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x4y3(Test_G13x4y3, "G13x4y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G13x4y3C1Ev();
+extern void _ZN7G13x4y3D1Ev();
+Name_Map name_map_G13x4y3[] = {
+ NSPAIR(_ZN7G13x4y3C1Ev),
+ NSPAIR(_ZN7G13x4y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E13x4;
+extern VTBL_ENTRY _ZTI5E13x4[];
+extern VTBL_ENTRY _ZTV5E13x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G13x4y3[] = {
+ // 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(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_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_D0, 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, 0},
+ {&cd_E13x4, 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 _ZTI7G13x4y3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G13x4y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x4y3[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G13x4y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G13x4y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G13x4y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x4y3[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV5E13x4__7G13x4y3[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C135E13x4__7G13x4y3[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C135E13x4__7G13x4y3[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x4__7G13x4y3[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E13x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x4y3[] = {
+ {&(_ZTV7G13x4y3[5]), 5,18},
+ {&(_ZTV7G13x4y3[9]), 9,18},
+ {&(_ZTV7G13x4y3[13]), 13,18},
+ {&(_ZTV7G13x4y3[17]), 17,18},
+ {&(_tg__ZTV5E13x4__7G13x4y3[3]), 3,4},
+ {&(_tg__ZTV3C135E13x4__7G13x4y3[3]), 3,4},
+ {&(_tg__ZTV2B1__3C135E13x4__7G13x4y3[3]), 3,4},
+ {&(_tg__ZTV2B1__5E13x4__7G13x4y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G13x4y3[];
+extern VTBL_ENTRY _ZTV7G13x4y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x4y3[];
+Class_Descriptor cd_G13x4y3 = { "G13x4y3", // class name
+ bases_G13x4y3, 6,
+ &(vtc_G13x4y3[0]), // expected_vtbl_contents
+ &(vtt_G13x4y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G13x4y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x4y3),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x4y3),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 G13x4y4 : E13x4 , F0 {
+ int ff;
+ ~G13x4y4(); // tgen
+ G13x4y4(); // tgen
+};
+//SIG(1 G13x4y4) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G13x4y4 ::~G13x4y4(){ note_dtor("G13x4y4", this);} // tgen
+G13x4y4 ::G13x4y4(){ note_ctor("G13x4y4", this);} // tgen
+
+static void Test_G13x4y4()
+{
+ extern Class_Descriptor cd_G13x4y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G13x4y4, buf);
+ G13x4y4 *dp, &lv = *(dp=new (buf) G13x4y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G13x4y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x4y4)");
+ check_base_class_offset(lv, (A1*)(C13*)(E13x4*), 0, "G13x4y4");
+ check_base_class_offset(lv, (B1*)(C13*)(E13x4*), ABISELECT(32,28), "G13x4y4");
+ check_base_class_offset(lv, (C13*)(E13x4*), 0, "G13x4y4");
+ check_base_class_offset(lv, (D0*)(E13x4*), ABISELECT(16,12), "G13x4y4");
+ check_base_class_offset(lv, (E13x4*), 0, "G13x4y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(24,20), "G13x4y4");
+ check_field_offset(lv, ff, ABISELECT(28,24), "G13x4y4.ff");
+ test_class_info(&lv, &cd_G13x4y4);
+ dp->~G13x4y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x4y4(Test_G13x4y4, "G13x4y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G13x4y4C1Ev();
+extern void _ZN7G13x4y4D1Ev();
+Name_Map name_map_G13x4y4[] = {
+ NSPAIR(_ZN7G13x4y4C1Ev),
+ NSPAIR(_ZN7G13x4y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E13x4;
+extern VTBL_ENTRY _ZTI5E13x4[];
+extern VTBL_ENTRY _ZTV5E13x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G13x4y4[] = {
+ // 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,28), //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
+ 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E13x4, 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 _ZTI7G13x4y4[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G13x4y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x4y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI7G13x4y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x4y4[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV5E13x4__7G13x4y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C135E13x4__7G13x4y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C135E13x4__7G13x4y4[] = {
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x4__7G13x4y4[] = {
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI5E13x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x4y4[] = {
+ {&(_ZTV7G13x4y4[3]), 3,8},
+ {&(_tg__ZTV5E13x4__7G13x4y4[3]), 3,4},
+ {&(_tg__ZTV3C135E13x4__7G13x4y4[3]), 3,4},
+ {&(_tg__ZTV2B1__3C135E13x4__7G13x4y4[3]), 3,4},
+ {&(_tg__ZTV2B1__5E13x4__7G13x4y4[3]), 3,4},
+ {&(_ZTV7G13x4y4[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI7G13x4y4[];
+extern VTBL_ENTRY _ZTV7G13x4y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x4y4[];
+Class_Descriptor cd_G13x4y4 = { "G13x4y4", // class name
+ bases_G13x4y4, 6,
+ &(vtc_G13x4y4[0]), // expected_vtbl_contents
+ &(vtt_G13x4y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G13x4y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x4y4),8, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x4y4),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 G13x4y5 : virtual E13x4 , F0 {
+ int ff;
+ ~G13x4y5(); // tgen
+ G13x4y5(); // tgen
+};
+//SIG(1 G13x4y5) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G13x4y5 ::~G13x4y5(){ note_dtor("G13x4y5", this);} // tgen
+G13x4y5 ::G13x4y5(){ note_ctor("G13x4y5", this);} // tgen
+
+static void Test_G13x4y5()
+{
+ extern Class_Descriptor cd_G13x4y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G13x4y5, buf);
+ G13x4y5 *dp, &lv = *(dp=new (buf) G13x4y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G13x4y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x4y5)");
+ check_base_class_offset(lv, (A1*)(C13*)(E13x4*), ABISELECT(16,12), "G13x4y5");
+ check_base_class_offset(lv, (B1*)(C13*)(E13x4*), ABISELECT(40,32), "G13x4y5");
+ check_base_class_offset(lv, (C13*)(E13x4*), ABISELECT(16,12), "G13x4y5");
+ check_base_class_offset(lv, (D0*)(E13x4*), ABISELECT(32,24), "G13x4y5");
+ check_base_class_offset(lv, (E13x4*), ABISELECT(16,12), "G13x4y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G13x4y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G13x4y5.ff");
+ test_class_info(&lv, &cd_G13x4y5);
+ dp->~G13x4y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x4y5(Test_G13x4y5, "G13x4y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G13x4y5C1Ev();
+extern void _ZN7G13x4y5D1Ev();
+Name_Map name_map_G13x4y5[] = {
+ NSPAIR(_ZN7G13x4y5C1Ev),
+ NSPAIR(_ZN7G13x4y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E13x4;
+extern VTBL_ENTRY _ZTI5E13x4[];
+extern VTBL_ENTRY _ZTV5E13x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G13x4y5[] = {
+ // 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(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
+ 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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, 0},
+ {&cd_E13x4, 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 _ZTI7G13x4y5[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G13x4y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x4y5[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G13x4y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G13x4y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x4y5[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV5E13x4__7G13x4y5[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C135E13x4__7G13x4y5[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C135E13x4__7G13x4y5[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x4__7G13x4y5[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E13x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x4y5[] = {
+ {&(_ZTV7G13x4y5[4]), 4,13},
+ {&(_ZTV7G13x4y5[8]), 8,13},
+ {&(_ZTV7G13x4y5[12]), 12,13},
+ {&(_tg__ZTV5E13x4__7G13x4y5[3]), 3,4},
+ {&(_tg__ZTV3C135E13x4__7G13x4y5[3]), 3,4},
+ {&(_tg__ZTV2B1__3C135E13x4__7G13x4y5[3]), 3,4},
+ {&(_tg__ZTV2B1__5E13x4__7G13x4y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G13x4y5[];
+extern VTBL_ENTRY _ZTV7G13x4y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x4y5[];
+Class_Descriptor cd_G13x4y5 = { "G13x4y5", // class name
+ bases_G13x4y5, 6,
+ &(vtc_G13x4y5[0]), // expected_vtbl_contents
+ &(vtt_G13x4y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G13x4y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x4y5),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x4y5),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 G13x4y6 : E13x4 , virtual F0 {
+ int ff;
+ ~G13x4y6(); // tgen
+ G13x4y6(); // tgen
+};
+//SIG(1 G13x4y6) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G13x4y6 ::~G13x4y6(){ note_dtor("G13x4y6", this);} // tgen
+G13x4y6 ::G13x4y6(){ note_ctor("G13x4y6", this);} // tgen
+
+static void Test_G13x4y6()
+{
+ extern Class_Descriptor cd_G13x4y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G13x4y6, buf);
+ G13x4y6 *dp, &lv = *(dp=new (buf) G13x4y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G13x4y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x4y6)");
+ check_base_class_offset(lv, (A1*)(C13*)(E13x4*), 0, "G13x4y6");
+ check_base_class_offset(lv, (B1*)(C13*)(E13x4*), ABISELECT(32,24), "G13x4y6");
+ check_base_class_offset(lv, (C13*)(E13x4*), 0, "G13x4y6");
+ check_base_class_offset(lv, (D0*)(E13x4*), ABISELECT(16,12), "G13x4y6");
+ check_base_class_offset(lv, (E13x4*), 0, "G13x4y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G13x4y6");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G13x4y6.ff");
+ test_class_info(&lv, &cd_G13x4y6);
+ dp->~G13x4y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x4y6(Test_G13x4y6, "G13x4y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G13x4y6C1Ev();
+extern void _ZN7G13x4y6D1Ev();
+Name_Map name_map_G13x4y6[] = {
+ NSPAIR(_ZN7G13x4y6C1Ev),
+ NSPAIR(_ZN7G13x4y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E13x4;
+extern VTBL_ENTRY _ZTI5E13x4[];
+extern VTBL_ENTRY _ZTV5E13x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G13x4y6[] = {
+ // 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
+ 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
+ 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E13x4, 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 _ZTI7G13x4y6[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G13x4y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x4y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G13x4y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x4y6[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV5E13x4__7G13x4y6[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C135E13x4__7G13x4y6[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C135E13x4__7G13x4y6[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x4__7G13x4y6[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E13x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x4y6[] = {
+ {&(_ZTV7G13x4y6[4]), 4,9},
+ {&(_tg__ZTV5E13x4__7G13x4y6[3]), 3,4},
+ {&(_tg__ZTV3C135E13x4__7G13x4y6[3]), 3,4},
+ {&(_tg__ZTV2B1__3C135E13x4__7G13x4y6[3]), 3,4},
+ {&(_tg__ZTV2B1__5E13x4__7G13x4y6[3]), 3,4},
+ {&(_ZTV7G13x4y6[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI7G13x4y6[];
+extern VTBL_ENTRY _ZTV7G13x4y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x4y6[];
+Class_Descriptor cd_G13x4y6 = { "G13x4y6", // class name
+ bases_G13x4y6, 6,
+ &(vtc_G13x4y6[0]), // expected_vtbl_contents
+ &(vtt_G13x4y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G13x4y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x4y6),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x4y6),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 G13x4y7 : virtual E13x4 , virtual F0 {
+ int ff;
+ ~G13x4y7(); // tgen
+ G13x4y7(); // tgen
+};
+//SIG(1 G13x4y7) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G13x4y7 ::~G13x4y7(){ note_dtor("G13x4y7", this);} // tgen
+G13x4y7 ::G13x4y7(){ note_ctor("G13x4y7", this);} // tgen
+
+static void Test_G13x4y7()
+{
+ extern Class_Descriptor cd_G13x4y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G13x4y7, buf);
+ G13x4y7 *dp, &lv = *(dp=new (buf) G13x4y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G13x4y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x4y7)");
+ check_base_class_offset(lv, (A1*)(C13*)(E13x4*), ABISELECT(16,8), "G13x4y7");
+ check_base_class_offset(lv, (B1*)(C13*)(E13x4*), ABISELECT(40,28), "G13x4y7");
+ check_base_class_offset(lv, (C13*)(E13x4*), ABISELECT(16,8), "G13x4y7");
+ check_base_class_offset(lv, (D0*)(E13x4*), ABISELECT(32,20), "G13x4y7");
+ check_base_class_offset(lv, (E13x4*), ABISELECT(16,8), "G13x4y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G13x4y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G13x4y7.ff");
+ test_class_info(&lv, &cd_G13x4y7);
+ dp->~G13x4y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x4y7(Test_G13x4y7, "G13x4y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G13x4y7C1Ev();
+extern void _ZN7G13x4y7D1Ev();
+Name_Map name_map_G13x4y7[] = {
+ NSPAIR(_ZN7G13x4y7C1Ev),
+ NSPAIR(_ZN7G13x4y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E13x4;
+extern VTBL_ENTRY _ZTI5E13x4[];
+extern VTBL_ENTRY _ZTV5E13x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G13x4y7[] = {
+ // 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(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_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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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, 0},
+ {&cd_E13x4, 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 _ZTI7G13x4y7[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G13x4y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x4y7[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G13x4y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G13x4y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x4y7[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV5E13x4__7G13x4y7[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C135E13x4__7G13x4y7[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C135E13x4__7G13x4y7[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x4__7G13x4y7[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E13x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x4y7[] = {
+ {&(_ZTV7G13x4y7[5]), 5,14},
+ {&(_ZTV7G13x4y7[9]), 9,14},
+ {&(_ZTV7G13x4y7[13]), 13,14},
+ {&(_tg__ZTV5E13x4__7G13x4y7[3]), 3,4},
+ {&(_tg__ZTV3C135E13x4__7G13x4y7[3]), 3,4},
+ {&(_tg__ZTV2B1__3C135E13x4__7G13x4y7[3]), 3,4},
+ {&(_tg__ZTV2B1__5E13x4__7G13x4y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G13x4y7[];
+extern VTBL_ENTRY _ZTV7G13x4y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x4y7[];
+Class_Descriptor cd_G13x4y7 = { "G13x4y7", // class name
+ bases_G13x4y7, 6,
+ &(vtc_G13x4y7[0]), // expected_vtbl_contents
+ &(vtt_G13x4y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G13x4y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x4y7),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x4y7),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 E14x4 : C14 , D0 {
+ int fd;
+ ~E14x4(); // tgen
+ E14x4(); // tgen
+};
+//SIG(-1 E14x4) C1{ BC2{ VBC3{ Fi} VBC4{ v1 Fi} Fi} BC5{ Fi} Fi}
+
+
+E14x4 ::~E14x4(){ note_dtor("E14x4", this);} // tgen
+E14x4 ::E14x4(){ note_ctor("E14x4", this);} // tgen
+
+static void Test_E14x4()
+{
+ extern Class_Descriptor cd_E14x4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E14x4, buf);
+ E14x4 *dp, &lv = *(dp=new (buf) E14x4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E14x4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E14x4)");
+ check_base_class_offset(lv, (A0*)(C14*), ABISELECT(20,16), "E14x4");
+ check_base_class_offset(lv, (B1*)(C14*), ABISELECT(24,20), "E14x4");
+ check_base_class_offset(lv, (C14*), 0, "E14x4");
+ check_base_class_offset(lv, (D0*), ABISELECT(12,8), "E14x4");
+ check_field_offset(lv, fd, ABISELECT(16,12), "E14x4.fd");
+ test_class_info(&lv, &cd_E14x4);
+ dp->~E14x4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE14x4(Test_E14x4, "E14x4", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E14x4C1Ev();
+extern void _ZN5E14x4D1Ev();
+Name_Map name_map_E14x4[] = {
+ NSPAIR(_ZN5E14x4C1Ev),
+ NSPAIR(_ZN5E14x4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E14x4[] = {
+ // 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
+ 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_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_D0, 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 _ZTI5E14x4[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_E14x4[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x4[0]),
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E14x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E14x4[];
+static VTBL_ENTRY _tg__ZTV3C14__5E14x4[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C14__5E14x4[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_E14x4[] = {
+ {&(_ZTV5E14x4[4]), 4,8},
+ {&(_tg__ZTV3C14__5E14x4[4]), 4,4},
+ {&(_tg__ZTV2B1__3C14__5E14x4[3]), 3,4},
+ {&(_ZTV5E14x4[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI5E14x4[];
+extern VTBL_ENTRY _ZTV5E14x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x4[];
+Class_Descriptor cd_E14x4 = { "E14x4", // class name
+ bases_E14x4, 4,
+ &(vtc_E14x4[0]), // expected_vtbl_contents
+ &(vtt_E14x4[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E14x4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E14x4),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E14x4),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 G14x4y0 : E14x4 , F1 {
+ int ff;
+ ~G14x4y0(); // tgen
+ G14x4y0(); // tgen
+};
+//SIG(1 G14x4y0) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G14x4y0 ::~G14x4y0(){ note_dtor("G14x4y0", this);} // tgen
+G14x4y0 ::G14x4y0(){ note_ctor("G14x4y0", this);} // tgen
+
+static void Test_G14x4y0()
+{
+ extern Class_Descriptor cd_G14x4y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G14x4y0, buf);
+ G14x4y0 *dp, &lv = *(dp=new (buf) G14x4y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G14x4y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x4y0)");
+ check_base_class_offset(lv, (A0*)(C14*)(E14x4*), ABISELECT(40,28), "G14x4y0");
+ check_base_class_offset(lv, (B1*)(C14*)(E14x4*), ABISELECT(48,32), "G14x4y0");
+ check_base_class_offset(lv, (C14*)(E14x4*), 0, "G14x4y0");
+ check_base_class_offset(lv, (D0*)(E14x4*), ABISELECT(12,8), "G14x4y0");
+ check_base_class_offset(lv, (E14x4*), 0, "G14x4y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,16), "G14x4y0");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G14x4y0.ff");
+ test_class_info(&lv, &cd_G14x4y0);
+ dp->~G14x4y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x4y0(Test_G14x4y0, "G14x4y0", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G14x4y0C1Ev();
+extern void _ZN7G14x4y0D1Ev();
+Name_Map name_map_G14x4y0[] = {
+ NSPAIR(_ZN7G14x4y0C1Ev),
+ NSPAIR(_ZN7G14x4y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E14x4;
+extern VTBL_ENTRY _ZTI5E14x4[];
+extern VTBL_ENTRY _ZTV5E14x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G14x4y0[] = {
+ // 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_D0, 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_E14x4, 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 _ZTI7G14x4y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G14x4y0[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x4y0[0]),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G14x4y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G14x4y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x4y0[];
+static VTBL_ENTRY _tg__ZTV5E14x4__7G14x4y0[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C145E14x4__7G14x4y0[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C145E14x4__7G14x4y0[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x4__7G14x4y0[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E14x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x4y0[] = {
+ {&(_ZTV7G14x4y0[4]), 4,11},
+ {&(_tg__ZTV5E14x4__7G14x4y0[4]), 4,4},
+ {&(_tg__ZTV3C145E14x4__7G14x4y0[4]), 4,4},
+ {&(_tg__ZTV2B1__3C145E14x4__7G14x4y0[3]), 3,4},
+ {&(_tg__ZTV2B1__5E14x4__7G14x4y0[3]), 3,4},
+ {&(_ZTV7G14x4y0[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI7G14x4y0[];
+extern VTBL_ENTRY _ZTV7G14x4y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x4y0[];
+Class_Descriptor cd_G14x4y0 = { "G14x4y0", // class name
+ bases_G14x4y0, 6,
+ &(vtc_G14x4y0[0]), // expected_vtbl_contents
+ &(vtt_G14x4y0[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G14x4y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x4y0),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x4y0),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 G14x4y1 : virtual E14x4 , F1 {
+ int ff;
+ ~G14x4y1(); // tgen
+ G14x4y1(); // tgen
+};
+//SIG(1 G14x4y1) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G14x4y1 ::~G14x4y1(){ note_dtor("G14x4y1", this);} // tgen
+G14x4y1 ::G14x4y1(){ note_ctor("G14x4y1", this);} // tgen
+
+static void Test_G14x4y1()
+{
+ extern Class_Descriptor cd_G14x4y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G14x4y1, buf);
+ G14x4y1 *dp, &lv = *(dp=new (buf) G14x4y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G14x4y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x4y1)");
+ check_base_class_offset(lv, (A0*)(C14*)(E14x4*), ABISELECT(36,28), "G14x4y1");
+ check_base_class_offset(lv, (B1*)(C14*)(E14x4*), ABISELECT(40,32), "G14x4y1");
+ check_base_class_offset(lv, (C14*)(E14x4*), ABISELECT(16,12), "G14x4y1");
+ check_base_class_offset(lv, (D0*)(E14x4*), ABISELECT(28,20), "G14x4y1");
+ check_base_class_offset(lv, (E14x4*), ABISELECT(16,12), "G14x4y1");
+ check_base_class_offset(lv, (F1*), 0, "G14x4y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G14x4y1.ff");
+ test_class_info(&lv, &cd_G14x4y1);
+ dp->~G14x4y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x4y1(Test_G14x4y1, "G14x4y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G14x4y1C1Ev();
+extern void _ZN7G14x4y1D1Ev();
+Name_Map name_map_G14x4y1[] = {
+ NSPAIR(_ZN7G14x4y1C1Ev),
+ NSPAIR(_ZN7G14x4y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E14x4;
+extern VTBL_ENTRY _ZTI5E14x4[];
+extern VTBL_ENTRY _ZTV5E14x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G14x4y1[] = {
+ // 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)
+ 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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_E14x4, 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 _ZTI7G14x4y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G14x4y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x4y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G14x4y1[0]),
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G14x4y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x4y1[];
+static VTBL_ENTRY _tg__ZTV5E14x4__7G14x4y1[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C145E14x4__7G14x4y1[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C145E14x4__7G14x4y1[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x4__7G14x4y1[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E14x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x4y1[] = {
+ {&(_ZTV7G14x4y1[5]), 5,14},
+ {&(_ZTV7G14x4y1[10]), 10,14},
+ {&(_ZTV7G14x4y1[13]), 13,14},
+ {&(_tg__ZTV5E14x4__7G14x4y1[4]), 4,4},
+ {&(_tg__ZTV3C145E14x4__7G14x4y1[4]), 4,4},
+ {&(_tg__ZTV2B1__3C145E14x4__7G14x4y1[3]), 3,4},
+ {&(_tg__ZTV2B1__5E14x4__7G14x4y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G14x4y1[];
+extern VTBL_ENTRY _ZTV7G14x4y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x4y1[];
+Class_Descriptor cd_G14x4y1 = { "G14x4y1", // class name
+ bases_G14x4y1, 6,
+ &(vtc_G14x4y1[0]), // expected_vtbl_contents
+ &(vtt_G14x4y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G14x4y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x4y1),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x4y1),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 G14x4y2 : E14x4 , virtual F1 {
+ int ff;
+ ~G14x4y2(); // tgen
+ G14x4y2(); // tgen
+};
+//SIG(1 G14x4y2) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G14x4y2 ::~G14x4y2(){ note_dtor("G14x4y2", this);} // tgen
+G14x4y2 ::G14x4y2(){ note_ctor("G14x4y2", this);} // tgen
+
+static void Test_G14x4y2()
+{
+ extern Class_Descriptor cd_G14x4y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G14x4y2, buf);
+ G14x4y2 *dp, &lv = *(dp=new (buf) G14x4y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G14x4y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x4y2)");
+ check_base_class_offset(lv, (A0*)(C14*)(E14x4*), ABISELECT(24,20), "G14x4y2");
+ check_base_class_offset(lv, (B1*)(C14*)(E14x4*), ABISELECT(32,24), "G14x4y2");
+ check_base_class_offset(lv, (C14*)(E14x4*), 0, "G14x4y2");
+ check_base_class_offset(lv, (D0*)(E14x4*), ABISELECT(12,8), "G14x4y2");
+ check_base_class_offset(lv, (E14x4*), 0, "G14x4y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G14x4y2");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G14x4y2.ff");
+ test_class_info(&lv, &cd_G14x4y2);
+ dp->~G14x4y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x4y2(Test_G14x4y2, "G14x4y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G14x4y2C1Ev();
+extern void _ZN7G14x4y2D1Ev();
+Name_Map name_map_G14x4y2[] = {
+ NSPAIR(_ZN7G14x4y2C1Ev),
+ NSPAIR(_ZN7G14x4y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E14x4;
+extern VTBL_ENTRY _ZTI5E14x4[];
+extern VTBL_ENTRY _ZTV5E14x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G14x4y2[] = {
+ // 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)
+ 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_D0, 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_E14x4, 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)
+ 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 _ZTI7G14x4y2[];
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G14x4y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x4y2[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G14x4y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G14x4y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x4y2[];
+static VTBL_ENTRY _tg__ZTV5E14x4__7G14x4y2[] = {
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C145E14x4__7G14x4y2[] = {
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C145E14x4__7G14x4y2[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x4__7G14x4y2[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E14x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x4y2[] = {
+ {&(_ZTV7G14x4y2[5]), 5,13},
+ {&(_tg__ZTV5E14x4__7G14x4y2[4]), 4,4},
+ {&(_tg__ZTV3C145E14x4__7G14x4y2[4]), 4,4},
+ {&(_tg__ZTV2B1__3C145E14x4__7G14x4y2[3]), 3,4},
+ {&(_tg__ZTV2B1__5E14x4__7G14x4y2[3]), 3,4},
+ {&(_ZTV7G14x4y2[8]), 8,13},
+ {&(_ZTV7G14x4y2[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI7G14x4y2[];
+extern VTBL_ENTRY _ZTV7G14x4y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x4y2[];
+Class_Descriptor cd_G14x4y2 = { "G14x4y2", // class name
+ bases_G14x4y2, 6,
+ &(vtc_G14x4y2[0]), // expected_vtbl_contents
+ &(vtt_G14x4y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G14x4y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x4y2),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x4y2),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 G14x4y3 : virtual E14x4 , virtual F1 {
+ int ff;
+ ~G14x4y3(); // tgen
+ G14x4y3(); // tgen
+};
+//SIG(1 G14x4y3) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G14x4y3 ::~G14x4y3(){ note_dtor("G14x4y3", this);} // tgen
+G14x4y3 ::G14x4y3(){ note_ctor("G14x4y3", this);} // tgen
+
+static void Test_G14x4y3()
+{
+ extern Class_Descriptor cd_G14x4y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G14x4y3, buf);
+ G14x4y3 *dp, &lv = *(dp=new (buf) G14x4y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G14x4y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x4y3)");
+ check_base_class_offset(lv, (A0*)(C14*)(E14x4*), ABISELECT(36,24), "G14x4y3");
+ check_base_class_offset(lv, (B1*)(C14*)(E14x4*), ABISELECT(40,28), "G14x4y3");
+ check_base_class_offset(lv, (C14*)(E14x4*), ABISELECT(16,8), "G14x4y3");
+ check_base_class_offset(lv, (D0*)(E14x4*), ABISELECT(28,16), "G14x4y3");
+ check_base_class_offset(lv, (E14x4*), ABISELECT(16,8), "G14x4y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G14x4y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G14x4y3.ff");
+ test_class_info(&lv, &cd_G14x4y3);
+ dp->~G14x4y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x4y3(Test_G14x4y3, "G14x4y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G14x4y3C1Ev();
+extern void _ZN7G14x4y3D1Ev();
+Name_Map name_map_G14x4y3[] = {
+ NSPAIR(_ZN7G14x4y3C1Ev),
+ NSPAIR(_ZN7G14x4y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E14x4;
+extern VTBL_ENTRY _ZTI5E14x4[];
+extern VTBL_ENTRY _ZTV5E14x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G14x4y3[] = {
+ // 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)
+ 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_D0, 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_E14x4, 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 _ZTI7G14x4y3[];
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G14x4y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x4y3[0]),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G14x4y3[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G14x4y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G14x4y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x4y3[];
+static VTBL_ENTRY _tg__ZTV5E14x4__7G14x4y3[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C145E14x4__7G14x4y3[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C145E14x4__7G14x4y3[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x4__7G14x4y3[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E14x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x4y3[] = {
+ {&(_ZTV7G14x4y3[6]), 6,18},
+ {&(_ZTV7G14x4y3[10]), 10,18},
+ {&(_ZTV7G14x4y3[13]), 13,18},
+ {&(_ZTV7G14x4y3[17]), 17,18},
+ {&(_tg__ZTV5E14x4__7G14x4y3[4]), 4,4},
+ {&(_tg__ZTV3C145E14x4__7G14x4y3[4]), 4,4},
+ {&(_tg__ZTV2B1__3C145E14x4__7G14x4y3[3]), 3,4},
+ {&(_tg__ZTV2B1__5E14x4__7G14x4y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G14x4y3[];
+extern VTBL_ENTRY _ZTV7G14x4y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x4y3[];
+Class_Descriptor cd_G14x4y3 = { "G14x4y3", // class name
+ bases_G14x4y3, 6,
+ &(vtc_G14x4y3[0]), // expected_vtbl_contents
+ &(vtt_G14x4y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G14x4y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x4y3),18, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x4y3),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 G14x4y4 : E14x4 , F0 {
+ int ff;
+ ~G14x4y4(); // tgen
+ G14x4y4(); // tgen
+};
+//SIG(1 G14x4y4) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G14x4y4 ::~G14x4y4(){ note_dtor("G14x4y4", this);} // tgen
+G14x4y4 ::G14x4y4(){ note_ctor("G14x4y4", this);} // tgen
+
+static void Test_G14x4y4()
+{
+ extern Class_Descriptor cd_G14x4y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G14x4y4, buf);
+ G14x4y4 *dp, &lv = *(dp=new (buf) G14x4y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G14x4y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x4y4)");
+ check_base_class_offset(lv, (A0*)(C14*)(E14x4*), ABISELECT(28,24), "G14x4y4");
+ check_base_class_offset(lv, (B1*)(C14*)(E14x4*), ABISELECT(32,28), "G14x4y4");
+ check_base_class_offset(lv, (C14*)(E14x4*), 0, "G14x4y4");
+ check_base_class_offset(lv, (D0*)(E14x4*), ABISELECT(12,8), "G14x4y4");
+ check_base_class_offset(lv, (E14x4*), 0, "G14x4y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(20,16), "G14x4y4");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G14x4y4.ff");
+ test_class_info(&lv, &cd_G14x4y4);
+ dp->~G14x4y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x4y4(Test_G14x4y4, "G14x4y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G14x4y4C1Ev();
+extern void _ZN7G14x4y4D1Ev();
+Name_Map name_map_G14x4y4[] = {
+ NSPAIR(_ZN7G14x4y4C1Ev),
+ NSPAIR(_ZN7G14x4y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E14x4;
+extern VTBL_ENTRY _ZTI5E14x4[];
+extern VTBL_ENTRY _ZTV5E14x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G14x4y4[] = {
+ // 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, ABISELECT(32,28), //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
+ 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_D0, 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_E14x4, 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 _ZTI7G14x4y4[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G14x4y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x4y4[0]),
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI7G14x4y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x4y4[];
+static VTBL_ENTRY _tg__ZTV5E14x4__7G14x4y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C145E14x4__7G14x4y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C145E14x4__7G14x4y4[] = {
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x4__7G14x4y4[] = {
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI5E14x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x4y4[] = {
+ {&(_ZTV7G14x4y4[4]), 4,8},
+ {&(_tg__ZTV5E14x4__7G14x4y4[4]), 4,4},
+ {&(_tg__ZTV3C145E14x4__7G14x4y4[4]), 4,4},
+ {&(_tg__ZTV2B1__3C145E14x4__7G14x4y4[3]), 3,4},
+ {&(_tg__ZTV2B1__5E14x4__7G14x4y4[3]), 3,4},
+ {&(_ZTV7G14x4y4[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI7G14x4y4[];
+extern VTBL_ENTRY _ZTV7G14x4y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x4y4[];
+Class_Descriptor cd_G14x4y4 = { "G14x4y4", // class name
+ bases_G14x4y4, 6,
+ &(vtc_G14x4y4[0]), // expected_vtbl_contents
+ &(vtt_G14x4y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G14x4y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x4y4),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x4y4),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 G14x4y5 : virtual E14x4 , F0 {
+ int ff;
+ ~G14x4y5(); // tgen
+ G14x4y5(); // tgen
+};
+//SIG(1 G14x4y5) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G14x4y5 ::~G14x4y5(){ note_dtor("G14x4y5", this);} // tgen
+G14x4y5 ::G14x4y5(){ note_ctor("G14x4y5", this);} // tgen
+
+static void Test_G14x4y5()
+{
+ extern Class_Descriptor cd_G14x4y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G14x4y5, buf);
+ G14x4y5 *dp, &lv = *(dp=new (buf) G14x4y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G14x4y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x4y5)");
+ check_base_class_offset(lv, (A0*)(C14*)(E14x4*), ABISELECT(36,28), "G14x4y5");
+ check_base_class_offset(lv, (B1*)(C14*)(E14x4*), ABISELECT(40,32), "G14x4y5");
+ check_base_class_offset(lv, (C14*)(E14x4*), ABISELECT(16,12), "G14x4y5");
+ check_base_class_offset(lv, (D0*)(E14x4*), ABISELECT(28,20), "G14x4y5");
+ check_base_class_offset(lv, (E14x4*), ABISELECT(16,12), "G14x4y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G14x4y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G14x4y5.ff");
+ test_class_info(&lv, &cd_G14x4y5);
+ dp->~G14x4y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x4y5(Test_G14x4y5, "G14x4y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G14x4y5C1Ev();
+extern void _ZN7G14x4y5D1Ev();
+Name_Map name_map_G14x4y5[] = {
+ NSPAIR(_ZN7G14x4y5C1Ev),
+ NSPAIR(_ZN7G14x4y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E14x4;
+extern VTBL_ENTRY _ZTI5E14x4[];
+extern VTBL_ENTRY _ZTV5E14x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G14x4y5[] = {
+ // 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
+ 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_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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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_E14x4, 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 _ZTI7G14x4y5[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G14x4y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x4y5[0]),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G14x4y5[0]),
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G14x4y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x4y5[];
+static VTBL_ENTRY _tg__ZTV5E14x4__7G14x4y5[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C145E14x4__7G14x4y5[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C145E14x4__7G14x4y5[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x4__7G14x4y5[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E14x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x4y5[] = {
+ {&(_ZTV7G14x4y5[5]), 5,13},
+ {&(_ZTV7G14x4y5[9]), 9,13},
+ {&(_ZTV7G14x4y5[12]), 12,13},
+ {&(_tg__ZTV5E14x4__7G14x4y5[4]), 4,4},
+ {&(_tg__ZTV3C145E14x4__7G14x4y5[4]), 4,4},
+ {&(_tg__ZTV2B1__3C145E14x4__7G14x4y5[3]), 3,4},
+ {&(_tg__ZTV2B1__5E14x4__7G14x4y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G14x4y5[];
+extern VTBL_ENTRY _ZTV7G14x4y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x4y5[];
+Class_Descriptor cd_G14x4y5 = { "G14x4y5", // class name
+ bases_G14x4y5, 6,
+ &(vtc_G14x4y5[0]), // expected_vtbl_contents
+ &(vtt_G14x4y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G14x4y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x4y5),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x4y5),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 G14x4y6 : E14x4 , virtual F0 {
+ int ff;
+ ~G14x4y6(); // tgen
+ G14x4y6(); // tgen
+};
+//SIG(1 G14x4y6) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G14x4y6 ::~G14x4y6(){ note_dtor("G14x4y6", this);} // tgen
+G14x4y6 ::G14x4y6(){ note_ctor("G14x4y6", this);} // tgen
+
+static void Test_G14x4y6()
+{
+ extern Class_Descriptor cd_G14x4y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G14x4y6, buf);
+ G14x4y6 *dp, &lv = *(dp=new (buf) G14x4y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G14x4y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x4y6)");
+ check_base_class_offset(lv, (A0*)(C14*)(E14x4*), ABISELECT(24,20), "G14x4y6");
+ check_base_class_offset(lv, (B1*)(C14*)(E14x4*), ABISELECT(32,24), "G14x4y6");
+ check_base_class_offset(lv, (C14*)(E14x4*), 0, "G14x4y6");
+ check_base_class_offset(lv, (D0*)(E14x4*), ABISELECT(12,8), "G14x4y6");
+ check_base_class_offset(lv, (E14x4*), 0, "G14x4y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G14x4y6");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G14x4y6.ff");
+ test_class_info(&lv, &cd_G14x4y6);
+ dp->~G14x4y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x4y6(Test_G14x4y6, "G14x4y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G14x4y6C1Ev();
+extern void _ZN7G14x4y6D1Ev();
+Name_Map name_map_G14x4y6[] = {
+ NSPAIR(_ZN7G14x4y6C1Ev),
+ NSPAIR(_ZN7G14x4y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E14x4;
+extern VTBL_ENTRY _ZTI5E14x4[];
+extern VTBL_ENTRY _ZTV5E14x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G14x4y6[] = {
+ // 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)
+ 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_D0, 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_E14x4, 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 _ZTI7G14x4y6[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G14x4y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x4y6[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G14x4y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x4y6[];
+static VTBL_ENTRY _tg__ZTV5E14x4__7G14x4y6[] = {
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C145E14x4__7G14x4y6[] = {
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C145E14x4__7G14x4y6[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x4__7G14x4y6[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E14x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x4y6[] = {
+ {&(_ZTV7G14x4y6[5]), 5,9},
+ {&(_tg__ZTV5E14x4__7G14x4y6[4]), 4,4},
+ {&(_tg__ZTV3C145E14x4__7G14x4y6[4]), 4,4},
+ {&(_tg__ZTV2B1__3C145E14x4__7G14x4y6[3]), 3,4},
+ {&(_tg__ZTV2B1__5E14x4__7G14x4y6[3]), 3,4},
+ {&(_ZTV7G14x4y6[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI7G14x4y6[];
+extern VTBL_ENTRY _ZTV7G14x4y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x4y6[];
+Class_Descriptor cd_G14x4y6 = { "G14x4y6", // class name
+ bases_G14x4y6, 6,
+ &(vtc_G14x4y6[0]), // expected_vtbl_contents
+ &(vtt_G14x4y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G14x4y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x4y6),9, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x4y6),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 G14x4y7 : virtual E14x4 , virtual F0 {
+ int ff;
+ ~G14x4y7(); // tgen
+ G14x4y7(); // tgen
+};
+//SIG(1 G14x4y7) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G14x4y7 ::~G14x4y7(){ note_dtor("G14x4y7", this);} // tgen
+G14x4y7 ::G14x4y7(){ note_ctor("G14x4y7", this);} // tgen
+
+static void Test_G14x4y7()
+{
+ extern Class_Descriptor cd_G14x4y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G14x4y7, buf);
+ G14x4y7 *dp, &lv = *(dp=new (buf) G14x4y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G14x4y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x4y7)");
+ check_base_class_offset(lv, (A0*)(C14*)(E14x4*), ABISELECT(36,24), "G14x4y7");
+ check_base_class_offset(lv, (B1*)(C14*)(E14x4*), ABISELECT(40,28), "G14x4y7");
+ check_base_class_offset(lv, (C14*)(E14x4*), ABISELECT(16,8), "G14x4y7");
+ check_base_class_offset(lv, (D0*)(E14x4*), ABISELECT(28,16), "G14x4y7");
+ check_base_class_offset(lv, (E14x4*), ABISELECT(16,8), "G14x4y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G14x4y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G14x4y7.ff");
+ test_class_info(&lv, &cd_G14x4y7);
+ dp->~G14x4y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x4y7(Test_G14x4y7, "G14x4y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G14x4y7C1Ev();
+extern void _ZN7G14x4y7D1Ev();
+Name_Map name_map_G14x4y7[] = {
+ NSPAIR(_ZN7G14x4y7C1Ev),
+ NSPAIR(_ZN7G14x4y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E14x4;
+extern VTBL_ENTRY _ZTI5E14x4[];
+extern VTBL_ENTRY _ZTV5E14x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G14x4y7[] = {
+ // 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)
+ 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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_E14x4, 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 _ZTI7G14x4y7[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G14x4y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x4y7[0]),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G14x4y7[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G14x4y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x4y7[];
+static VTBL_ENTRY _tg__ZTV5E14x4__7G14x4y7[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C145E14x4__7G14x4y7[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C145E14x4__7G14x4y7[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x4__7G14x4y7[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E14x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x4y7[] = {
+ {&(_ZTV7G14x4y7[6]), 6,14},
+ {&(_ZTV7G14x4y7[10]), 10,14},
+ {&(_ZTV7G14x4y7[13]), 13,14},
+ {&(_tg__ZTV5E14x4__7G14x4y7[4]), 4,4},
+ {&(_tg__ZTV3C145E14x4__7G14x4y7[4]), 4,4},
+ {&(_tg__ZTV2B1__3C145E14x4__7G14x4y7[3]), 3,4},
+ {&(_tg__ZTV2B1__5E14x4__7G14x4y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G14x4y7[];
+extern VTBL_ENTRY _ZTV7G14x4y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x4y7[];
+Class_Descriptor cd_G14x4y7 = { "G14x4y7", // class name
+ bases_G14x4y7, 6,
+ &(vtc_G14x4y7[0]), // expected_vtbl_contents
+ &(vtt_G14x4y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G14x4y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x4y7),14, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x4y7),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 E15x4 : C15 , D0 {
+ int fd;
+ ~E15x4(); // tgen
+ E15x4(); // tgen
+};
+//SIG(-1 E15x4) C1{ BC2{ VBC3{ v1 Fi} VBC4{ v2 Fi} Fi} BC5{ Fi} Fi}
+
+
+E15x4 ::~E15x4(){ note_dtor("E15x4", this);} // tgen
+E15x4 ::E15x4(){ note_ctor("E15x4", this);} // tgen
+
+static void Test_E15x4()
+{
+ extern Class_Descriptor cd_E15x4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,9)];
+ init_test(&cd_E15x4, buf);
+ E15x4 *dp, &lv = *(dp=new (buf) E15x4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,32), "sizeof(E15x4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E15x4)");
+ check_base_class_offset(lv, (A1*)(C15*), ABISELECT(24,16), "E15x4");
+ check_base_class_offset(lv, (B1*)(C15*), ABISELECT(40,24), "E15x4");
+ check_base_class_offset(lv, (C15*), 0, "E15x4");
+ check_base_class_offset(lv, (D0*), ABISELECT(12,8), "E15x4");
+ check_field_offset(lv, fd, ABISELECT(16,12), "E15x4.fd");
+ test_class_info(&lv, &cd_E15x4);
+ dp->~E15x4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE15x4(Test_E15x4, "E15x4", ABISELECT(56,32));
+
+#else // __cplusplus
+
+extern void _ZN5E15x4C1Ev();
+extern void _ZN5E15x4D1Ev();
+Name_Map name_map_E15x4[] = {
+ NSPAIR(_ZN5E15x4C1Ev),
+ NSPAIR(_ZN5E15x4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E15x4[] = {
+ // 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)
+ 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(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
+ 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_D0, 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 _ZTI5E15x4[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_E15x4[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x4[0]),
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E15x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E15x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E15x4[];
+static VTBL_ENTRY _tg__ZTV3C15__5E15x4[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C15__5E15x4[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C15__5E15x4[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_E15x4[] = {
+ {&(_ZTV5E15x4[4]), 4,12},
+ {&(_tg__ZTV3C15__5E15x4[4]), 4,4},
+ {&(_tg__ZTV2A1__3C15__5E15x4[3]), 3,4},
+ {&(_tg__ZTV2B1__3C15__5E15x4[3]), 3,4},
+ {&(_ZTV5E15x4[7]), 7,12},
+ {&(_ZTV5E15x4[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI5E15x4[];
+extern VTBL_ENTRY _ZTV5E15x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x4[];
+Class_Descriptor cd_E15x4 = { "E15x4", // class name
+ bases_E15x4, 4,
+ &(vtc_E15x4[0]), // expected_vtbl_contents
+ &(vtt_E15x4[0]), // expected_vtt_contents
+ ABISELECT(56,32), // object size
+ NSPAIRA(_ZTI5E15x4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E15x4),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E15x4),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 G15x4y0 : E15x4 , F1 {
+ int ff;
+ ~G15x4y0(); // tgen
+ G15x4y0(); // tgen
+};
+//SIG(1 G15x4y0) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G15x4y0 ::~G15x4y0(){ note_dtor("G15x4y0", this);} // tgen
+G15x4y0 ::G15x4y0(){ note_ctor("G15x4y0", this);} // tgen
+
+static void Test_G15x4y0()
+{
+ extern Class_Descriptor cd_G15x4y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G15x4y0, buf);
+ G15x4y0 *dp, &lv = *(dp=new (buf) G15x4y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G15x4y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x4y0)");
+ check_base_class_offset(lv, (A1*)(C15*)(E15x4*), ABISELECT(40,28), "G15x4y0");
+ check_base_class_offset(lv, (B1*)(C15*)(E15x4*), ABISELECT(56,36), "G15x4y0");
+ check_base_class_offset(lv, (C15*)(E15x4*), 0, "G15x4y0");
+ check_base_class_offset(lv, (D0*)(E15x4*), ABISELECT(12,8), "G15x4y0");
+ check_base_class_offset(lv, (E15x4*), 0, "G15x4y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,16), "G15x4y0");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G15x4y0.ff");
+ test_class_info(&lv, &cd_G15x4y0);
+ dp->~G15x4y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x4y0(Test_G15x4y0, "G15x4y0", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G15x4y0C1Ev();
+extern void _ZN7G15x4y0D1Ev();
+Name_Map name_map_G15x4y0[] = {
+ NSPAIR(_ZN7G15x4y0C1Ev),
+ NSPAIR(_ZN7G15x4y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E15x4;
+extern VTBL_ENTRY _ZTI5E15x4[];
+extern VTBL_ENTRY _ZTV5E15x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G15x4y0[] = {
+ // 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_D0, 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_E15x4, 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 _ZTI7G15x4y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G15x4y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x4y0[0]),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G15x4y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G15x4y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G15x4y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x4y0[];
+static VTBL_ENTRY _tg__ZTV5E15x4__7G15x4y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C155E15x4__7G15x4y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C155E15x4__7G15x4y0[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C155E15x4__7G15x4y0[] = {
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x4__7G15x4y0[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E15x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x4__7G15x4y0[] = {
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI5E15x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x4y0[] = {
+ {&(_ZTV7G15x4y0[4]), 4,15},
+ {&(_tg__ZTV5E15x4__7G15x4y0[4]), 4,4},
+ {&(_tg__ZTV3C155E15x4__7G15x4y0[4]), 4,4},
+ {&(_tg__ZTV2A1__3C155E15x4__7G15x4y0[3]), 3,4},
+ {&(_tg__ZTV2B1__3C155E15x4__7G15x4y0[3]), 3,4},
+ {&(_tg__ZTV2A1__5E15x4__7G15x4y0[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x4__7G15x4y0[3]), 3,4},
+ {&(_ZTV7G15x4y0[10]), 10,15},
+ {&(_ZTV7G15x4y0[14]), 14,15},
+};
+extern VTBL_ENTRY _ZTI7G15x4y0[];
+extern VTBL_ENTRY _ZTV7G15x4y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x4y0[];
+Class_Descriptor cd_G15x4y0 = { "G15x4y0", // class name
+ bases_G15x4y0, 6,
+ &(vtc_G15x4y0[0]), // expected_vtbl_contents
+ &(vtt_G15x4y0[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G15x4y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x4y0),15, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x4y0),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 G15x4y1 : virtual E15x4 , F1 {
+ int ff;
+ ~G15x4y1(); // tgen
+ G15x4y1(); // tgen
+};
+//SIG(1 G15x4y1) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G15x4y1 ::~G15x4y1(){ note_dtor("G15x4y1", this);} // tgen
+G15x4y1 ::G15x4y1(){ note_ctor("G15x4y1", this);} // tgen
+
+static void Test_G15x4y1()
+{
+ extern Class_Descriptor cd_G15x4y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G15x4y1, buf);
+ G15x4y1 *dp, &lv = *(dp=new (buf) G15x4y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G15x4y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x4y1)");
+ check_base_class_offset(lv, (A1*)(C15*)(E15x4*), ABISELECT(40,28), "G15x4y1");
+ check_base_class_offset(lv, (B1*)(C15*)(E15x4*), ABISELECT(56,36), "G15x4y1");
+ check_base_class_offset(lv, (C15*)(E15x4*), ABISELECT(16,12), "G15x4y1");
+ check_base_class_offset(lv, (D0*)(E15x4*), ABISELECT(28,20), "G15x4y1");
+ check_base_class_offset(lv, (E15x4*), ABISELECT(16,12), "G15x4y1");
+ check_base_class_offset(lv, (F1*), 0, "G15x4y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G15x4y1.ff");
+ test_class_info(&lv, &cd_G15x4y1);
+ dp->~G15x4y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x4y1(Test_G15x4y1, "G15x4y1", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G15x4y1C1Ev();
+extern void _ZN7G15x4y1D1Ev();
+Name_Map name_map_G15x4y1[] = {
+ NSPAIR(_ZN7G15x4y1C1Ev),
+ NSPAIR(_ZN7G15x4y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E15x4;
+extern VTBL_ENTRY _ZTI5E15x4[];
+extern VTBL_ENTRY _ZTV5E15x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G15x4y1[] = {
+ // 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_B1, 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
+ 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
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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_E15x4, 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 _ZTI7G15x4y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G15x4y1[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x4y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G15x4y1[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G15x4y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G15x4y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x4y1[];
+static VTBL_ENTRY _tg__ZTV5E15x4__7G15x4y1[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C155E15x4__7G15x4y1[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C155E15x4__7G15x4y1[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C155E15x4__7G15x4y1[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x4__7G15x4y1[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E15x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x4__7G15x4y1[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E15x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x4y1[] = {
+ {&(_ZTV7G15x4y1[5]), 5,18},
+ {&(_ZTV7G15x4y1[10]), 10,18},
+ {&(_ZTV7G15x4y1[13]), 13,18},
+ {&(_ZTV7G15x4y1[17]), 17,18},
+ {&(_tg__ZTV5E15x4__7G15x4y1[4]), 4,4},
+ {&(_tg__ZTV3C155E15x4__7G15x4y1[4]), 4,4},
+ {&(_tg__ZTV2A1__3C155E15x4__7G15x4y1[3]), 3,4},
+ {&(_tg__ZTV2B1__3C155E15x4__7G15x4y1[3]), 3,4},
+ {&(_tg__ZTV2A1__5E15x4__7G15x4y1[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x4__7G15x4y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G15x4y1[];
+extern VTBL_ENTRY _ZTV7G15x4y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x4y1[];
+Class_Descriptor cd_G15x4y1 = { "G15x4y1", // class name
+ bases_G15x4y1, 6,
+ &(vtc_G15x4y1[0]), // expected_vtbl_contents
+ &(vtt_G15x4y1[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G15x4y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x4y1),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x4y1),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 G15x4y2 : E15x4 , virtual F1 {
+ int ff;
+ ~G15x4y2(); // tgen
+ G15x4y2(); // tgen
+};
+//SIG(1 G15x4y2) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G15x4y2 ::~G15x4y2(){ note_dtor("G15x4y2", this);} // tgen
+G15x4y2 ::G15x4y2(){ note_ctor("G15x4y2", this);} // tgen
+
+static void Test_G15x4y2()
+{
+ extern Class_Descriptor cd_G15x4y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G15x4y2, buf);
+ G15x4y2 *dp, &lv = *(dp=new (buf) G15x4y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G15x4y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x4y2)");
+ check_base_class_offset(lv, (A1*)(C15*)(E15x4*), ABISELECT(24,20), "G15x4y2");
+ check_base_class_offset(lv, (B1*)(C15*)(E15x4*), ABISELECT(40,28), "G15x4y2");
+ check_base_class_offset(lv, (C15*)(E15x4*), 0, "G15x4y2");
+ check_base_class_offset(lv, (D0*)(E15x4*), ABISELECT(12,8), "G15x4y2");
+ check_base_class_offset(lv, (E15x4*), 0, "G15x4y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G15x4y2");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G15x4y2.ff");
+ test_class_info(&lv, &cd_G15x4y2);
+ dp->~G15x4y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x4y2(Test_G15x4y2, "G15x4y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G15x4y2C1Ev();
+extern void _ZN7G15x4y2D1Ev();
+Name_Map name_map_G15x4y2[] = {
+ NSPAIR(_ZN7G15x4y2C1Ev),
+ NSPAIR(_ZN7G15x4y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E15x4;
+extern VTBL_ENTRY _ZTI5E15x4[];
+extern VTBL_ENTRY _ZTV5E15x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G15x4y2[] = {
+ // 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)
+ 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(40,28), //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
+ 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_D0, 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_E15x4, 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)
+ 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 _ZTI7G15x4y2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G15x4y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x4y2[0]),
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G15x4y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G15x4y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G15x4y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x4y2[];
+static VTBL_ENTRY _tg__ZTV5E15x4__7G15x4y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C155E15x4__7G15x4y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C155E15x4__7G15x4y2[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C155E15x4__7G15x4y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x4__7G15x4y2[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E15x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x4__7G15x4y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E15x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x4y2[] = {
+ {&(_ZTV7G15x4y2[5]), 5,17},
+ {&(_tg__ZTV5E15x4__7G15x4y2[4]), 4,4},
+ {&(_tg__ZTV3C155E15x4__7G15x4y2[4]), 4,4},
+ {&(_tg__ZTV2A1__3C155E15x4__7G15x4y2[3]), 3,4},
+ {&(_tg__ZTV2B1__3C155E15x4__7G15x4y2[3]), 3,4},
+ {&(_tg__ZTV2A1__5E15x4__7G15x4y2[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x4__7G15x4y2[3]), 3,4},
+ {&(_ZTV7G15x4y2[8]), 8,17},
+ {&(_ZTV7G15x4y2[12]), 12,17},
+ {&(_ZTV7G15x4y2[16]), 16,17},
+};
+extern VTBL_ENTRY _ZTI7G15x4y2[];
+extern VTBL_ENTRY _ZTV7G15x4y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x4y2[];
+Class_Descriptor cd_G15x4y2 = { "G15x4y2", // class name
+ bases_G15x4y2, 6,
+ &(vtc_G15x4y2[0]), // expected_vtbl_contents
+ &(vtt_G15x4y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G15x4y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x4y2),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x4y2),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 G15x4y3 : virtual E15x4 , virtual F1 {
+ int ff;
+ ~G15x4y3(); // tgen
+ G15x4y3(); // tgen
+};
+//SIG(1 G15x4y3) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G15x4y3 ::~G15x4y3(){ note_dtor("G15x4y3", this);} // tgen
+G15x4y3 ::G15x4y3(){ note_ctor("G15x4y3", this);} // tgen
+
+static void Test_G15x4y3()
+{
+ extern Class_Descriptor cd_G15x4y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(12,13)];
+ init_test(&cd_G15x4y3, buf);
+ G15x4y3 *dp, &lv = *(dp=new (buf) G15x4y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(88,48), "sizeof(G15x4y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x4y3)");
+ check_base_class_offset(lv, (A1*)(C15*)(E15x4*), ABISELECT(40,24), "G15x4y3");
+ check_base_class_offset(lv, (B1*)(C15*)(E15x4*), ABISELECT(56,32), "G15x4y3");
+ check_base_class_offset(lv, (C15*)(E15x4*), ABISELECT(16,8), "G15x4y3");
+ check_base_class_offset(lv, (D0*)(E15x4*), ABISELECT(28,16), "G15x4y3");
+ check_base_class_offset(lv, (E15x4*), ABISELECT(16,8), "G15x4y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(72,40), "G15x4y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G15x4y3.ff");
+ test_class_info(&lv, &cd_G15x4y3);
+ dp->~G15x4y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x4y3(Test_G15x4y3, "G15x4y3", ABISELECT(88,48));
+
+#else // __cplusplus
+
+extern void _ZN7G15x4y3C1Ev();
+extern void _ZN7G15x4y3D1Ev();
+Name_Map name_map_G15x4y3[] = {
+ NSPAIR(_ZN7G15x4y3C1Ev),
+ NSPAIR(_ZN7G15x4y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E15x4;
+extern VTBL_ENTRY _ZTI5E15x4[];
+extern VTBL_ENTRY _ZTV5E15x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G15x4y3[] = {
+ // 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_B1, 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
+ 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_D0, 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_E15x4, 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 _ZTI7G15x4y3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G15x4y3[] = {
+ ABISELECT(72,40),
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x4y3[0]),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G15x4y3[0]),
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G15x4y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G15x4y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-72,-40),
+ (VTBL_ENTRY)&(_ZTI7G15x4y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x4y3[];
+static VTBL_ENTRY _tg__ZTV5E15x4__7G15x4y3[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C155E15x4__7G15x4y3[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C155E15x4__7G15x4y3[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C155E15x4__7G15x4y3[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x4__7G15x4y3[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E15x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x4__7G15x4y3[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E15x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x4y3[] = {
+ {&(_ZTV7G15x4y3[6]), 6,22},
+ {&(_ZTV7G15x4y3[10]), 10,22},
+ {&(_ZTV7G15x4y3[13]), 13,22},
+ {&(_ZTV7G15x4y3[17]), 17,22},
+ {&(_ZTV7G15x4y3[21]), 21,22},
+ {&(_tg__ZTV5E15x4__7G15x4y3[4]), 4,4},
+ {&(_tg__ZTV3C155E15x4__7G15x4y3[4]), 4,4},
+ {&(_tg__ZTV2A1__3C155E15x4__7G15x4y3[3]), 3,4},
+ {&(_tg__ZTV2B1__3C155E15x4__7G15x4y3[3]), 3,4},
+ {&(_tg__ZTV2A1__5E15x4__7G15x4y3[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x4__7G15x4y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G15x4y3[];
+extern VTBL_ENTRY _ZTV7G15x4y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x4y3[];
+Class_Descriptor cd_G15x4y3 = { "G15x4y3", // class name
+ bases_G15x4y3, 6,
+ &(vtc_G15x4y3[0]), // expected_vtbl_contents
+ &(vtt_G15x4y3[0]), // expected_vtt_contents
+ ABISELECT(88,48), // object size
+ NSPAIRA(_ZTI7G15x4y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x4y3),22, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x4y3),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 G15x4y4 : E15x4 , F0 {
+ int ff;
+ ~G15x4y4(); // tgen
+ G15x4y4(); // tgen
+};
+//SIG(1 G15x4y4) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G15x4y4 ::~G15x4y4(){ note_dtor("G15x4y4", this);} // tgen
+G15x4y4 ::G15x4y4(){ note_ctor("G15x4y4", this);} // tgen
+
+static void Test_G15x4y4()
+{
+ extern Class_Descriptor cd_G15x4y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G15x4y4, buf);
+ G15x4y4 *dp, &lv = *(dp=new (buf) G15x4y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G15x4y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x4y4)");
+ check_base_class_offset(lv, (A1*)(C15*)(E15x4*), ABISELECT(32,24), "G15x4y4");
+ check_base_class_offset(lv, (B1*)(C15*)(E15x4*), ABISELECT(48,32), "G15x4y4");
+ check_base_class_offset(lv, (C15*)(E15x4*), 0, "G15x4y4");
+ check_base_class_offset(lv, (D0*)(E15x4*), ABISELECT(12,8), "G15x4y4");
+ check_base_class_offset(lv, (E15x4*), 0, "G15x4y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(20,16), "G15x4y4");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G15x4y4.ff");
+ test_class_info(&lv, &cd_G15x4y4);
+ dp->~G15x4y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x4y4(Test_G15x4y4, "G15x4y4", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G15x4y4C1Ev();
+extern void _ZN7G15x4y4D1Ev();
+Name_Map name_map_G15x4y4[] = {
+ NSPAIR(_ZN7G15x4y4C1Ev),
+ NSPAIR(_ZN7G15x4y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E15x4;
+extern VTBL_ENTRY _ZTI5E15x4[];
+extern VTBL_ENTRY _ZTV5E15x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G15x4y4[] = {
+ // 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)
+ 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,32), //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
+ 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_D0, 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_E15x4, 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 _ZTI7G15x4y4[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G15x4y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x4y4[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G15x4y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G15x4y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x4y4[];
+static VTBL_ENTRY _tg__ZTV5E15x4__7G15x4y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C155E15x4__7G15x4y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C155E15x4__7G15x4y4[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C155E15x4__7G15x4y4[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x4__7G15x4y4[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E15x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x4__7G15x4y4[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E15x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x4y4[] = {
+ {&(_ZTV7G15x4y4[4]), 4,12},
+ {&(_tg__ZTV5E15x4__7G15x4y4[4]), 4,4},
+ {&(_tg__ZTV3C155E15x4__7G15x4y4[4]), 4,4},
+ {&(_tg__ZTV2A1__3C155E15x4__7G15x4y4[3]), 3,4},
+ {&(_tg__ZTV2B1__3C155E15x4__7G15x4y4[3]), 3,4},
+ {&(_tg__ZTV2A1__5E15x4__7G15x4y4[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x4__7G15x4y4[3]), 3,4},
+ {&(_ZTV7G15x4y4[7]), 7,12},
+ {&(_ZTV7G15x4y4[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI7G15x4y4[];
+extern VTBL_ENTRY _ZTV7G15x4y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x4y4[];
+Class_Descriptor cd_G15x4y4 = { "G15x4y4", // class name
+ bases_G15x4y4, 6,
+ &(vtc_G15x4y4[0]), // expected_vtbl_contents
+ &(vtt_G15x4y4[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G15x4y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x4y4),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x4y4),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 G15x4y5 : virtual E15x4 , F0 {
+ int ff;
+ ~G15x4y5(); // tgen
+ G15x4y5(); // tgen
+};
+//SIG(1 G15x4y5) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G15x4y5 ::~G15x4y5(){ note_dtor("G15x4y5", this);} // tgen
+G15x4y5 ::G15x4y5(){ note_ctor("G15x4y5", this);} // tgen
+
+static void Test_G15x4y5()
+{
+ extern Class_Descriptor cd_G15x4y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G15x4y5, buf);
+ G15x4y5 *dp, &lv = *(dp=new (buf) G15x4y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G15x4y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x4y5)");
+ check_base_class_offset(lv, (A1*)(C15*)(E15x4*), ABISELECT(40,28), "G15x4y5");
+ check_base_class_offset(lv, (B1*)(C15*)(E15x4*), ABISELECT(56,36), "G15x4y5");
+ check_base_class_offset(lv, (C15*)(E15x4*), ABISELECT(16,12), "G15x4y5");
+ check_base_class_offset(lv, (D0*)(E15x4*), ABISELECT(28,20), "G15x4y5");
+ check_base_class_offset(lv, (E15x4*), ABISELECT(16,12), "G15x4y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G15x4y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G15x4y5.ff");
+ test_class_info(&lv, &cd_G15x4y5);
+ dp->~G15x4y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x4y5(Test_G15x4y5, "G15x4y5", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G15x4y5C1Ev();
+extern void _ZN7G15x4y5D1Ev();
+Name_Map name_map_G15x4y5[] = {
+ NSPAIR(_ZN7G15x4y5C1Ev),
+ NSPAIR(_ZN7G15x4y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E15x4;
+extern VTBL_ENTRY _ZTI5E15x4[];
+extern VTBL_ENTRY _ZTV5E15x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G15x4y5[] = {
+ // 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_B1, 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
+ 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
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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_E15x4, 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 _ZTI7G15x4y5[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G15x4y5[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x4y5[0]),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G15x4y5[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G15x4y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G15x4y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x4y5[];
+static VTBL_ENTRY _tg__ZTV5E15x4__7G15x4y5[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C155E15x4__7G15x4y5[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C155E15x4__7G15x4y5[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C155E15x4__7G15x4y5[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x4__7G15x4y5[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E15x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x4__7G15x4y5[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E15x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x4y5[] = {
+ {&(_ZTV7G15x4y5[5]), 5,17},
+ {&(_ZTV7G15x4y5[9]), 9,17},
+ {&(_ZTV7G15x4y5[12]), 12,17},
+ {&(_ZTV7G15x4y5[16]), 16,17},
+ {&(_tg__ZTV5E15x4__7G15x4y5[4]), 4,4},
+ {&(_tg__ZTV3C155E15x4__7G15x4y5[4]), 4,4},
+ {&(_tg__ZTV2A1__3C155E15x4__7G15x4y5[3]), 3,4},
+ {&(_tg__ZTV2B1__3C155E15x4__7G15x4y5[3]), 3,4},
+ {&(_tg__ZTV2A1__5E15x4__7G15x4y5[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x4__7G15x4y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G15x4y5[];
+extern VTBL_ENTRY _ZTV7G15x4y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x4y5[];
+Class_Descriptor cd_G15x4y5 = { "G15x4y5", // class name
+ bases_G15x4y5, 6,
+ &(vtc_G15x4y5[0]), // expected_vtbl_contents
+ &(vtt_G15x4y5[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G15x4y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x4y5),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x4y5),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 G15x4y6 : E15x4 , virtual F0 {
+ int ff;
+ ~G15x4y6(); // tgen
+ G15x4y6(); // tgen
+};
+//SIG(1 G15x4y6) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G15x4y6 ::~G15x4y6(){ note_dtor("G15x4y6", this);} // tgen
+G15x4y6 ::G15x4y6(){ note_ctor("G15x4y6", this);} // tgen
+
+static void Test_G15x4y6()
+{
+ extern Class_Descriptor cd_G15x4y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G15x4y6, buf);
+ G15x4y6 *dp, &lv = *(dp=new (buf) G15x4y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G15x4y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x4y6)");
+ check_base_class_offset(lv, (A1*)(C15*)(E15x4*), ABISELECT(24,20), "G15x4y6");
+ check_base_class_offset(lv, (B1*)(C15*)(E15x4*), ABISELECT(40,28), "G15x4y6");
+ check_base_class_offset(lv, (C15*)(E15x4*), 0, "G15x4y6");
+ check_base_class_offset(lv, (D0*)(E15x4*), ABISELECT(12,8), "G15x4y6");
+ check_base_class_offset(lv, (E15x4*), 0, "G15x4y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G15x4y6");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G15x4y6.ff");
+ test_class_info(&lv, &cd_G15x4y6);
+ dp->~G15x4y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x4y6(Test_G15x4y6, "G15x4y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G15x4y6C1Ev();
+extern void _ZN7G15x4y6D1Ev();
+Name_Map name_map_G15x4y6[] = {
+ NSPAIR(_ZN7G15x4y6C1Ev),
+ NSPAIR(_ZN7G15x4y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E15x4;
+extern VTBL_ENTRY _ZTI5E15x4[];
+extern VTBL_ENTRY _ZTV5E15x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G15x4y6[] = {
+ // 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)
+ 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(40,28), //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
+ 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_D0, 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_E15x4, 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 _ZTI7G15x4y6[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G15x4y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x4y6[0]),
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G15x4y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G15x4y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x4y6[];
+static VTBL_ENTRY _tg__ZTV5E15x4__7G15x4y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C155E15x4__7G15x4y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C155E15x4__7G15x4y6[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C155E15x4__7G15x4y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x4__7G15x4y6[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E15x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x4__7G15x4y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E15x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x4y6[] = {
+ {&(_ZTV7G15x4y6[5]), 5,13},
+ {&(_tg__ZTV5E15x4__7G15x4y6[4]), 4,4},
+ {&(_tg__ZTV3C155E15x4__7G15x4y6[4]), 4,4},
+ {&(_tg__ZTV2A1__3C155E15x4__7G15x4y6[3]), 3,4},
+ {&(_tg__ZTV2B1__3C155E15x4__7G15x4y6[3]), 3,4},
+ {&(_tg__ZTV2A1__5E15x4__7G15x4y6[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x4__7G15x4y6[3]), 3,4},
+ {&(_ZTV7G15x4y6[8]), 8,13},
+ {&(_ZTV7G15x4y6[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI7G15x4y6[];
+extern VTBL_ENTRY _ZTV7G15x4y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x4y6[];
+Class_Descriptor cd_G15x4y6 = { "G15x4y6", // class name
+ bases_G15x4y6, 6,
+ &(vtc_G15x4y6[0]), // expected_vtbl_contents
+ &(vtt_G15x4y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G15x4y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x4y6),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x4y6),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 G15x4y7 : virtual E15x4 , virtual F0 {
+ int ff;
+ ~G15x4y7(); // tgen
+ G15x4y7(); // tgen
+};
+//SIG(1 G15x4y7) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G15x4y7 ::~G15x4y7(){ note_dtor("G15x4y7", this);} // tgen
+G15x4y7 ::G15x4y7(){ note_ctor("G15x4y7", this);} // tgen
+
+static void Test_G15x4y7()
+{
+ extern Class_Descriptor cd_G15x4y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G15x4y7, buf);
+ G15x4y7 *dp, &lv = *(dp=new (buf) G15x4y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G15x4y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x4y7)");
+ check_base_class_offset(lv, (A1*)(C15*)(E15x4*), ABISELECT(40,24), "G15x4y7");
+ check_base_class_offset(lv, (B1*)(C15*)(E15x4*), ABISELECT(56,32), "G15x4y7");
+ check_base_class_offset(lv, (C15*)(E15x4*), ABISELECT(16,8), "G15x4y7");
+ check_base_class_offset(lv, (D0*)(E15x4*), ABISELECT(28,16), "G15x4y7");
+ check_base_class_offset(lv, (E15x4*), ABISELECT(16,8), "G15x4y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(68,40), "G15x4y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G15x4y7.ff");
+ test_class_info(&lv, &cd_G15x4y7);
+ dp->~G15x4y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x4y7(Test_G15x4y7, "G15x4y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G15x4y7C1Ev();
+extern void _ZN7G15x4y7D1Ev();
+Name_Map name_map_G15x4y7[] = {
+ NSPAIR(_ZN7G15x4y7C1Ev),
+ NSPAIR(_ZN7G15x4y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E15x4;
+extern VTBL_ENTRY _ZTI5E15x4[];
+extern VTBL_ENTRY _ZTV5E15x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G15x4y7[] = {
+ // 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_B1, 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
+ 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
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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_E15x4, 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 _ZTI7G15x4y7[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G15x4y7[] = {
+ ABISELECT(68,40),
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x4y7[0]),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G15x4y7[0]),
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G15x4y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G15x4y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x4y7[];
+static VTBL_ENTRY _tg__ZTV5E15x4__7G15x4y7[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x4[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C155E15x4__7G15x4y7[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C155E15x4__7G15x4y7[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C155E15x4__7G15x4y7[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x4__7G15x4y7[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E15x4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x4__7G15x4y7[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E15x4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x4y7[] = {
+ {&(_ZTV7G15x4y7[6]), 6,18},
+ {&(_ZTV7G15x4y7[10]), 10,18},
+ {&(_ZTV7G15x4y7[13]), 13,18},
+ {&(_ZTV7G15x4y7[17]), 17,18},
+ {&(_tg__ZTV5E15x4__7G15x4y7[4]), 4,4},
+ {&(_tg__ZTV3C155E15x4__7G15x4y7[4]), 4,4},
+ {&(_tg__ZTV2A1__3C155E15x4__7G15x4y7[3]), 3,4},
+ {&(_tg__ZTV2B1__3C155E15x4__7G15x4y7[3]), 3,4},
+ {&(_tg__ZTV2A1__5E15x4__7G15x4y7[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x4__7G15x4y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G15x4y7[];
+extern VTBL_ENTRY _ZTV7G15x4y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x4y7[];
+Class_Descriptor cd_G15x4y7 = { "G15x4y7", // class name
+ bases_G15x4y7, 6,
+ &(vtc_G15x4y7[0]), // expected_vtbl_contents
+ &(vtt_G15x4y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G15x4y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x4y7),18, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x4y7),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 E16x4 : C16 , D0 {
+ int fd;
+ ~E16x4(); // tgen
+ E16x4(); // tgen
+};
+//SIG(-1 E16x4) C1{ BC2{ BC3{ Fi} BC4{ Fi} v1 Fi} BC5{ Fi} Fi}
+
+
+E16x4 ::~E16x4(){ note_dtor("E16x4", this);} // tgen
+E16x4 ::E16x4(){ note_ctor("E16x4", this);} // tgen
+
+static void Test_E16x4()
+{
+ extern Class_Descriptor cd_E16x4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(5,7)];
+ init_test(&cd_E16x4, buf);
+ E16x4 *dp, &lv = *(dp=new (buf) E16x4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(32,24), "sizeof(E16x4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E16x4)");
+ check_base_class_offset(lv, (A0*)(C16*), ABISELECT(8,4), "E16x4");
+ check_base_class_offset(lv, (B0*)(C16*), ABISELECT(12,8), "E16x4");
+ check_base_class_offset(lv, (C16*), 0, "E16x4");
+ check_base_class_offset(lv, (D0*), ABISELECT(20,16), "E16x4");
+ check_field_offset(lv, fd, ABISELECT(24,20), "E16x4.fd");
+ test_class_info(&lv, &cd_E16x4);
+ dp->~E16x4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE16x4(Test_E16x4, "E16x4", ABISELECT(32,24));
+
+#else // __cplusplus
+
+extern void _ZN5E16x4C1Ev();
+extern void _ZN5E16x4D1Ev();
+Name_Map name_map_E16x4[] = {
+ NSPAIR(_ZN5E16x4C1Ev),
+ NSPAIR(_ZN5E16x4D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E16x4[] = {
+ // 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_D0, 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 _ZTI5E16x4[];
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY vtc_E16x4[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x4[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+extern VTBL_ENTRY _ZTI5E16x4[];
+extern VTBL_ENTRY _ZTV5E16x4[];
+Class_Descriptor cd_E16x4 = { "E16x4", // class name
+ bases_E16x4, 4,
+ &(vtc_E16x4[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(32,24), // object size
+ NSPAIRA(_ZTI5E16x4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E16x4),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 G16x4y0 : E16x4 , F1 {
+ int ff;
+ ~G16x4y0(); // tgen
+ G16x4y0(); // tgen
+};
+//SIG(1 G16x4y0) C1{ BC2{ BC3{ BC4{ Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G16x4y0 ::~G16x4y0(){ note_dtor("G16x4y0", this);} // tgen
+G16x4y0 ::G16x4y0(){ note_ctor("G16x4y0", this);} // tgen
+
+static void Test_G16x4y0()
+{
+ extern Class_Descriptor cd_G16x4y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G16x4y0, buf);
+ G16x4y0 *dp, &lv = *(dp=new (buf) G16x4y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G16x4y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x4y0)");
+ check_base_class_offset(lv, (A0*)(C16*)(E16x4*), ABISELECT(8,4), "G16x4y0");
+ check_base_class_offset(lv, (B0*)(C16*)(E16x4*), ABISELECT(12,8), "G16x4y0");
+ check_base_class_offset(lv, (C16*)(E16x4*), 0, "G16x4y0");
+ check_base_class_offset(lv, (D0*)(E16x4*), ABISELECT(20,16), "G16x4y0");
+ check_base_class_offset(lv, (E16x4*), 0, "G16x4y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,24), "G16x4y0");
+ check_field_offset(lv, ff, ABISELECT(44,32), "G16x4y0.ff");
+ test_class_info(&lv, &cd_G16x4y0);
+ dp->~G16x4y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x4y0(Test_G16x4y0, "G16x4y0", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G16x4y0C1Ev();
+extern void _ZN7G16x4y0D1Ev();
+Name_Map name_map_G16x4y0[] = {
+ NSPAIR(_ZN7G16x4y0C1Ev),
+ NSPAIR(_ZN7G16x4y0D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E16x4;
+extern VTBL_ENTRY _ZTI5E16x4[];
+extern VTBL_ENTRY _ZTV5E16x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G16x4y0[] = {
+ // 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_D0, 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, 0},
+ {&cd_E16x4, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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 _ZTI7G16x4y0[];
+extern void _ZN3C163fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G16x4y0[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x4y0[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G16x4y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTI7G16x4y0[];
+extern VTBL_ENTRY _ZTV7G16x4y0[];
+Class_Descriptor cd_G16x4y0 = { "G16x4y0", // class name
+ bases_G16x4y0, 6,
+ &(vtc_G16x4y0[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G16x4y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x4y0),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 G16x4y1 : virtual E16x4 , F1 {
+ int ff;
+ ~G16x4y1(); // tgen
+ G16x4y1(); // tgen
+};
+//SIG(1 G16x4y1) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G16x4y1 ::~G16x4y1(){ note_dtor("G16x4y1", this);} // tgen
+G16x4y1 ::G16x4y1(){ note_ctor("G16x4y1", this);} // tgen
+
+static void Test_G16x4y1()
+{
+ extern Class_Descriptor cd_G16x4y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G16x4y1, buf);
+ G16x4y1 *dp, &lv = *(dp=new (buf) G16x4y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G16x4y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x4y1)");
+ check_base_class_offset(lv, (A0*)(C16*)(E16x4*), ABISELECT(24,16), "G16x4y1");
+ check_base_class_offset(lv, (B0*)(C16*)(E16x4*), ABISELECT(28,20), "G16x4y1");
+ check_base_class_offset(lv, (C16*)(E16x4*), ABISELECT(16,12), "G16x4y1");
+ check_base_class_offset(lv, (D0*)(E16x4*), ABISELECT(36,28), "G16x4y1");
+ check_base_class_offset(lv, (E16x4*), ABISELECT(16,12), "G16x4y1");
+ check_base_class_offset(lv, (F1*), 0, "G16x4y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G16x4y1.ff");
+ test_class_info(&lv, &cd_G16x4y1);
+ dp->~G16x4y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x4y1(Test_G16x4y1, "G16x4y1", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G16x4y1C1Ev();
+extern void _ZN7G16x4y1D1Ev();
+Name_Map name_map_G16x4y1[] = {
+ NSPAIR(_ZN7G16x4y1C1Ev),
+ NSPAIR(_ZN7G16x4y1D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E16x4;
+extern VTBL_ENTRY _ZTI5E16x4[];
+extern VTBL_ENTRY _ZTV5E16x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G16x4y1[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E16x4, 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 _ZTI7G16x4y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY vtc_G16x4y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x4y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G16x4y1[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x4y1[];
+static VTT_ENTRY vtt_G16x4y1[] = {
+ {&(_ZTV7G16x4y1[3]), 3,8},
+ {&(_ZTV7G16x4y1[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI7G16x4y1[];
+extern VTBL_ENTRY _ZTV7G16x4y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x4y1[];
+Class_Descriptor cd_G16x4y1 = { "G16x4y1", // class name
+ bases_G16x4y1, 6,
+ &(vtc_G16x4y1[0]), // expected_vtbl_contents
+ &(vtt_G16x4y1[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G16x4y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x4y1),8, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x4y1),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 G16x4y2 : E16x4 , virtual F1 {
+ int ff;
+ ~G16x4y2(); // tgen
+ G16x4y2(); // tgen
+};
+//SIG(1 G16x4y2) C1{ BC2{ BC3{ BC4{ Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G16x4y2 ::~G16x4y2(){ note_dtor("G16x4y2", this);} // tgen
+G16x4y2 ::G16x4y2(){ note_ctor("G16x4y2", this);} // tgen
+
+static void Test_G16x4y2()
+{
+ extern Class_Descriptor cd_G16x4y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G16x4y2, buf);
+ G16x4y2 *dp, &lv = *(dp=new (buf) G16x4y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G16x4y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x4y2)");
+ check_base_class_offset(lv, (A0*)(C16*)(E16x4*), ABISELECT(8,4), "G16x4y2");
+ check_base_class_offset(lv, (B0*)(C16*)(E16x4*), ABISELECT(12,8), "G16x4y2");
+ check_base_class_offset(lv, (C16*)(E16x4*), 0, "G16x4y2");
+ check_base_class_offset(lv, (D0*)(E16x4*), ABISELECT(20,16), "G16x4y2");
+ check_base_class_offset(lv, (E16x4*), 0, "G16x4y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,28), "G16x4y2");
+ check_field_offset(lv, ff, ABISELECT(28,24), "G16x4y2.ff");
+ test_class_info(&lv, &cd_G16x4y2);
+ dp->~G16x4y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x4y2(Test_G16x4y2, "G16x4y2", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G16x4y2C1Ev();
+extern void _ZN7G16x4y2D1Ev();
+Name_Map name_map_G16x4y2[] = {
+ NSPAIR(_ZN7G16x4y2C1Ev),
+ NSPAIR(_ZN7G16x4y2D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E16x4;
+extern VTBL_ENTRY _ZTI5E16x4[];
+extern VTBL_ENTRY _ZTV5E16x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G16x4y2[] = {
+ // 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_D0, 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, 0},
+ {&cd_E16x4, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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 _ZTI7G16x4y2[];
+extern void _ZN3C163fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G16x4y2[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x4y2[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI7G16x4y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x4y2[];
+static VTT_ENTRY vtt_G16x4y2[] = {
+ {&(_ZTV7G16x4y2[3]), 3,8},
+ {&(_ZTV7G16x4y2[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI7G16x4y2[];
+extern VTBL_ENTRY _ZTV7G16x4y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x4y2[];
+Class_Descriptor cd_G16x4y2 = { "G16x4y2", // class name
+ bases_G16x4y2, 6,
+ &(vtc_G16x4y2[0]), // expected_vtbl_contents
+ &(vtt_G16x4y2[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G16x4y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x4y2),8, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x4y2),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 G16x4y3 : virtual E16x4 , virtual F1 {
+ int ff;
+ ~G16x4y3(); // tgen
+ G16x4y3(); // tgen
+};
+//SIG(1 G16x4y3) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G16x4y3 ::~G16x4y3(){ note_dtor("G16x4y3", this);} // tgen
+G16x4y3 ::G16x4y3(){ note_ctor("G16x4y3", this);} // tgen
+
+static void Test_G16x4y3()
+{
+ extern Class_Descriptor cd_G16x4y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G16x4y3, buf);
+ G16x4y3 *dp, &lv = *(dp=new (buf) G16x4y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G16x4y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x4y3)");
+ check_base_class_offset(lv, (A0*)(C16*)(E16x4*), ABISELECT(24,12), "G16x4y3");
+ check_base_class_offset(lv, (B0*)(C16*)(E16x4*), ABISELECT(28,16), "G16x4y3");
+ check_base_class_offset(lv, (C16*)(E16x4*), ABISELECT(16,8), "G16x4y3");
+ check_base_class_offset(lv, (D0*)(E16x4*), ABISELECT(36,24), "G16x4y3");
+ check_base_class_offset(lv, (E16x4*), ABISELECT(16,8), "G16x4y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G16x4y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G16x4y3.ff");
+ test_class_info(&lv, &cd_G16x4y3);
+ dp->~G16x4y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x4y3(Test_G16x4y3, "G16x4y3", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G16x4y3C1Ev();
+extern void _ZN7G16x4y3D1Ev();
+Name_Map name_map_G16x4y3[] = {
+ NSPAIR(_ZN7G16x4y3C1Ev),
+ NSPAIR(_ZN7G16x4y3D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E16x4;
+extern VTBL_ENTRY _ZTI5E16x4[];
+extern VTBL_ENTRY _ZTV5E16x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G16x4y3[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E16x4, 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 _ZTI7G16x4y3[];
+extern void _ZN3C163fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G16x4y3[] = {
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x4y3[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G16x4y3[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G16x4y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x4y3[];
+static VTT_ENTRY vtt_G16x4y3[] = {
+ {&(_ZTV7G16x4y3[4]), 4,12},
+ {&(_ZTV7G16x4y3[7]), 7,12},
+ {&(_ZTV7G16x4y3[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI7G16x4y3[];
+extern VTBL_ENTRY _ZTV7G16x4y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x4y3[];
+Class_Descriptor cd_G16x4y3 = { "G16x4y3", // class name
+ bases_G16x4y3, 6,
+ &(vtc_G16x4y3[0]), // expected_vtbl_contents
+ &(vtt_G16x4y3[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G16x4y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x4y3),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x4y3),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 G16x4y4 : E16x4 , F0 {
+ int ff;
+ ~G16x4y4(); // tgen
+ G16x4y4(); // tgen
+};
+//SIG(1 G16x4y4) C1{ BC2{ BC3{ BC4{ Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G16x4y4 ::~G16x4y4(){ note_dtor("G16x4y4", this);} // tgen
+G16x4y4 ::G16x4y4(){ note_ctor("G16x4y4", this);} // tgen
+
+static void Test_G16x4y4()
+{
+ extern Class_Descriptor cd_G16x4y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G16x4y4, buf);
+ G16x4y4 *dp, &lv = *(dp=new (buf) G16x4y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G16x4y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x4y4)");
+ check_base_class_offset(lv, (A0*)(C16*)(E16x4*), ABISELECT(8,4), "G16x4y4");
+ check_base_class_offset(lv, (B0*)(C16*)(E16x4*), ABISELECT(12,8), "G16x4y4");
+ check_base_class_offset(lv, (C16*)(E16x4*), 0, "G16x4y4");
+ check_base_class_offset(lv, (D0*)(E16x4*), ABISELECT(20,16), "G16x4y4");
+ check_base_class_offset(lv, (E16x4*), 0, "G16x4y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(28,24), "G16x4y4");
+ check_field_offset(lv, ff, ABISELECT(32,28), "G16x4y4.ff");
+ test_class_info(&lv, &cd_G16x4y4);
+ dp->~G16x4y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x4y4(Test_G16x4y4, "G16x4y4", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN7G16x4y4C1Ev();
+extern void _ZN7G16x4y4D1Ev();
+Name_Map name_map_G16x4y4[] = {
+ NSPAIR(_ZN7G16x4y4C1Ev),
+ NSPAIR(_ZN7G16x4y4D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E16x4;
+extern VTBL_ENTRY _ZTI5E16x4[];
+extern VTBL_ENTRY _ZTV5E16x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G16x4y4[] = {
+ // 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_D0, 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, 0},
+ {&cd_E16x4, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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 _ZTI7G16x4y4[];
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY vtc_G16x4y4[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x4y4[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+extern VTBL_ENTRY _ZTI7G16x4y4[];
+extern VTBL_ENTRY _ZTV7G16x4y4[];
+Class_Descriptor cd_G16x4y4 = { "G16x4y4", // class name
+ bases_G16x4y4, 6,
+ &(vtc_G16x4y4[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI7G16x4y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x4y4),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 G16x4y5 : virtual E16x4 , F0 {
+ int ff;
+ ~G16x4y5(); // tgen
+ G16x4y5(); // tgen
+};
+//SIG(1 G16x4y5) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G16x4y5 ::~G16x4y5(){ note_dtor("G16x4y5", this);} // tgen
+G16x4y5 ::G16x4y5(){ note_ctor("G16x4y5", this);} // tgen
+
+static void Test_G16x4y5()
+{
+ extern Class_Descriptor cd_G16x4y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G16x4y5, buf);
+ G16x4y5 *dp, &lv = *(dp=new (buf) G16x4y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G16x4y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x4y5)");
+ check_base_class_offset(lv, (A0*)(C16*)(E16x4*), ABISELECT(24,16), "G16x4y5");
+ check_base_class_offset(lv, (B0*)(C16*)(E16x4*), ABISELECT(28,20), "G16x4y5");
+ check_base_class_offset(lv, (C16*)(E16x4*), ABISELECT(16,12), "G16x4y5");
+ check_base_class_offset(lv, (D0*)(E16x4*), ABISELECT(36,28), "G16x4y5");
+ check_base_class_offset(lv, (E16x4*), ABISELECT(16,12), "G16x4y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G16x4y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G16x4y5.ff");
+ test_class_info(&lv, &cd_G16x4y5);
+ dp->~G16x4y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x4y5(Test_G16x4y5, "G16x4y5", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G16x4y5C1Ev();
+extern void _ZN7G16x4y5D1Ev();
+Name_Map name_map_G16x4y5[] = {
+ NSPAIR(_ZN7G16x4y5C1Ev),
+ NSPAIR(_ZN7G16x4y5D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E16x4;
+extern VTBL_ENTRY _ZTI5E16x4[];
+extern VTBL_ENTRY _ZTV5E16x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G16x4y5[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E16x4, 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 _ZTI7G16x4y5[];
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY vtc_G16x4y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x4y5[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G16x4y5[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x4y5[];
+static VTT_ENTRY vtt_G16x4y5[] = {
+ {&(_ZTV7G16x4y5[3]), 3,7},
+ {&(_ZTV7G16x4y5[6]), 6,7},
+};
+extern VTBL_ENTRY _ZTI7G16x4y5[];
+extern VTBL_ENTRY _ZTV7G16x4y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x4y5[];
+Class_Descriptor cd_G16x4y5 = { "G16x4y5", // class name
+ bases_G16x4y5, 6,
+ &(vtc_G16x4y5[0]), // expected_vtbl_contents
+ &(vtt_G16x4y5[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G16x4y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x4y5),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x4y5),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 G16x4y6 : E16x4 , virtual F0 {
+ int ff;
+ ~G16x4y6(); // tgen
+ G16x4y6(); // tgen
+};
+//SIG(1 G16x4y6) C1{ BC2{ BC3{ BC4{ Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G16x4y6 ::~G16x4y6(){ note_dtor("G16x4y6", this);} // tgen
+G16x4y6 ::G16x4y6(){ note_ctor("G16x4y6", this);} // tgen
+
+static void Test_G16x4y6()
+{
+ extern Class_Descriptor cd_G16x4y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G16x4y6, buf);
+ G16x4y6 *dp, &lv = *(dp=new (buf) G16x4y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G16x4y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x4y6)");
+ check_base_class_offset(lv, (A0*)(C16*)(E16x4*), ABISELECT(8,4), "G16x4y6");
+ check_base_class_offset(lv, (B0*)(C16*)(E16x4*), ABISELECT(12,8), "G16x4y6");
+ check_base_class_offset(lv, (C16*)(E16x4*), 0, "G16x4y6");
+ check_base_class_offset(lv, (D0*)(E16x4*), ABISELECT(20,16), "G16x4y6");
+ check_base_class_offset(lv, (E16x4*), 0, "G16x4y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,28), "G16x4y6");
+ check_field_offset(lv, ff, ABISELECT(28,24), "G16x4y6.ff");
+ test_class_info(&lv, &cd_G16x4y6);
+ dp->~G16x4y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x4y6(Test_G16x4y6, "G16x4y6", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN7G16x4y6C1Ev();
+extern void _ZN7G16x4y6D1Ev();
+Name_Map name_map_G16x4y6[] = {
+ NSPAIR(_ZN7G16x4y6C1Ev),
+ NSPAIR(_ZN7G16x4y6D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E16x4;
+extern VTBL_ENTRY _ZTI5E16x4[];
+extern VTBL_ENTRY _ZTV5E16x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G16x4y6[] = {
+ // 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_D0, 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, 0},
+ {&cd_E16x4, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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 _ZTI7G16x4y6[];
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY vtc_G16x4y6[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x4y6[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x4y6[];
+static VTT_ENTRY vtt_G16x4y6[] = {
+ {&(_ZTV7G16x4y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G16x4y6[];
+extern VTBL_ENTRY _ZTV7G16x4y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x4y6[];
+Class_Descriptor cd_G16x4y6 = { "G16x4y6", // class name
+ bases_G16x4y6, 6,
+ &(vtc_G16x4y6[0]), // expected_vtbl_contents
+ &(vtt_G16x4y6[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI7G16x4y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x4y6),4, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x4y6),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 G16x4y7 : virtual E16x4 , virtual F0 {
+ int ff;
+ ~G16x4y7(); // tgen
+ G16x4y7(); // tgen
+};
+//SIG(1 G16x4y7) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G16x4y7 ::~G16x4y7(){ note_dtor("G16x4y7", this);} // tgen
+G16x4y7 ::G16x4y7(){ note_ctor("G16x4y7", this);} // tgen
+
+static void Test_G16x4y7()
+{
+ extern Class_Descriptor cd_G16x4y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G16x4y7, buf);
+ G16x4y7 *dp, &lv = *(dp=new (buf) G16x4y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G16x4y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x4y7)");
+ check_base_class_offset(lv, (A0*)(C16*)(E16x4*), ABISELECT(24,12), "G16x4y7");
+ check_base_class_offset(lv, (B0*)(C16*)(E16x4*), ABISELECT(28,16), "G16x4y7");
+ check_base_class_offset(lv, (C16*)(E16x4*), ABISELECT(16,8), "G16x4y7");
+ check_base_class_offset(lv, (D0*)(E16x4*), ABISELECT(36,24), "G16x4y7");
+ check_base_class_offset(lv, (E16x4*), ABISELECT(16,8), "G16x4y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G16x4y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G16x4y7.ff");
+ test_class_info(&lv, &cd_G16x4y7);
+ dp->~G16x4y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x4y7(Test_G16x4y7, "G16x4y7", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G16x4y7C1Ev();
+extern void _ZN7G16x4y7D1Ev();
+Name_Map name_map_G16x4y7[] = {
+ NSPAIR(_ZN7G16x4y7C1Ev),
+ NSPAIR(_ZN7G16x4y7D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E16x4;
+extern VTBL_ENTRY _ZTI5E16x4[];
+extern VTBL_ENTRY _ZTV5E16x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G16x4y7[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E16x4, 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 _ZTI7G16x4y7[];
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY vtc_G16x4y7[] = {
+ ABISELECT(44,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x4y7[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G16x4y7[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x4y7[];
+static VTT_ENTRY vtt_G16x4y7[] = {
+ {&(_ZTV7G16x4y7[4]), 4,8},
+ {&(_ZTV7G16x4y7[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI7G16x4y7[];
+extern VTBL_ENTRY _ZTV7G16x4y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x4y7[];
+Class_Descriptor cd_G16x4y7 = { "G16x4y7", // class name
+ bases_G16x4y7, 6,
+ &(vtc_G16x4y7[0]), // expected_vtbl_contents
+ &(vtt_G16x4y7[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G16x4y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x4y7),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x4y7),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 E17x4 : C17 , D0 {
+ int fd;
+ ~E17x4(); // tgen
+ E17x4(); // tgen
+};
+//SIG(-1 E17x4) C1{ BC2{ BC3{ v1 Fi} BC4{ Fi} v1 Fi} BC5{ Fi} Fi}
+
+
+E17x4 ::~E17x4(){ note_dtor("E17x4", this);} // tgen
+E17x4 ::E17x4(){ note_ctor("E17x4", this);} // tgen
+
+static void Test_E17x4()
+{
+ extern Class_Descriptor cd_E17x4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(5,7)];
+ init_test(&cd_E17x4, buf);
+ E17x4 *dp, &lv = *(dp=new (buf) E17x4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(32,24), "sizeof(E17x4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E17x4)");
+ check_base_class_offset(lv, (A1*)(C17*), 0, "E17x4");
+ check_base_class_offset(lv, (B0*)(C17*), ABISELECT(12,8), "E17x4");
+ check_base_class_offset(lv, (C17*), 0, "E17x4");
+ check_base_class_offset(lv, (D0*), ABISELECT(20,16), "E17x4");
+ check_field_offset(lv, fd, ABISELECT(24,20), "E17x4.fd");
+ test_class_info(&lv, &cd_E17x4);
+ dp->~E17x4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE17x4(Test_E17x4, "E17x4", ABISELECT(32,24));
+
+#else // __cplusplus
+
+extern void _ZN5E17x4C1Ev();
+extern void _ZN5E17x4D1Ev();
+Name_Map name_map_E17x4[] = {
+ NSPAIR(_ZN5E17x4C1Ev),
+ NSPAIR(_ZN5E17x4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E17x4[] = {
+ // 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_D0, 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 _ZTI5E17x4[];
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY vtc_E17x4[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x4[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+extern VTBL_ENTRY _ZTI5E17x4[];
+extern VTBL_ENTRY _ZTV5E17x4[];
+Class_Descriptor cd_E17x4 = { "E17x4", // class name
+ bases_E17x4, 4,
+ &(vtc_E17x4[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(32,24), // object size
+ NSPAIRA(_ZTI5E17x4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E17x4),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 G17x4y0 : E17x4 , F1 {
+ int ff;
+ ~G17x4y0(); // tgen
+ G17x4y0(); // tgen
+};
+//SIG(1 G17x4y0) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G17x4y0 ::~G17x4y0(){ note_dtor("G17x4y0", this);} // tgen
+G17x4y0 ::G17x4y0(){ note_ctor("G17x4y0", this);} // tgen
+
+static void Test_G17x4y0()
+{
+ extern Class_Descriptor cd_G17x4y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G17x4y0, buf);
+ G17x4y0 *dp, &lv = *(dp=new (buf) G17x4y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G17x4y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x4y0)");
+ check_base_class_offset(lv, (A1*)(C17*)(E17x4*), 0, "G17x4y0");
+ check_base_class_offset(lv, (B0*)(C17*)(E17x4*), ABISELECT(12,8), "G17x4y0");
+ check_base_class_offset(lv, (C17*)(E17x4*), 0, "G17x4y0");
+ check_base_class_offset(lv, (D0*)(E17x4*), ABISELECT(20,16), "G17x4y0");
+ check_base_class_offset(lv, (E17x4*), 0, "G17x4y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,24), "G17x4y0");
+ check_field_offset(lv, ff, ABISELECT(44,32), "G17x4y0.ff");
+ test_class_info(&lv, &cd_G17x4y0);
+ dp->~G17x4y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x4y0(Test_G17x4y0, "G17x4y0", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G17x4y0C1Ev();
+extern void _ZN7G17x4y0D1Ev();
+Name_Map name_map_G17x4y0[] = {
+ NSPAIR(_ZN7G17x4y0C1Ev),
+ NSPAIR(_ZN7G17x4y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E17x4;
+extern VTBL_ENTRY _ZTI5E17x4[];
+extern VTBL_ENTRY _ZTV5E17x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G17x4y0[] = {
+ // 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_D0, 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, 0},
+ {&cd_E17x4, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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,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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G17x4y0[];
+extern void _ZN3C173fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G17x4y0[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x4y0[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G17x4y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTI7G17x4y0[];
+extern VTBL_ENTRY _ZTV7G17x4y0[];
+Class_Descriptor cd_G17x4y0 = { "G17x4y0", // class name
+ bases_G17x4y0, 6,
+ &(vtc_G17x4y0[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G17x4y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x4y0),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 G17x4y1 : virtual E17x4 , F1 {
+ int ff;
+ ~G17x4y1(); // tgen
+ G17x4y1(); // tgen
+};
+//SIG(1 G17x4y1) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G17x4y1 ::~G17x4y1(){ note_dtor("G17x4y1", this);} // tgen
+G17x4y1 ::G17x4y1(){ note_ctor("G17x4y1", this);} // tgen
+
+static void Test_G17x4y1()
+{
+ extern Class_Descriptor cd_G17x4y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G17x4y1, buf);
+ G17x4y1 *dp, &lv = *(dp=new (buf) G17x4y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G17x4y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x4y1)");
+ check_base_class_offset(lv, (A1*)(C17*)(E17x4*), ABISELECT(16,12), "G17x4y1");
+ check_base_class_offset(lv, (B0*)(C17*)(E17x4*), ABISELECT(28,20), "G17x4y1");
+ check_base_class_offset(lv, (C17*)(E17x4*), ABISELECT(16,12), "G17x4y1");
+ check_base_class_offset(lv, (D0*)(E17x4*), ABISELECT(36,28), "G17x4y1");
+ check_base_class_offset(lv, (E17x4*), ABISELECT(16,12), "G17x4y1");
+ check_base_class_offset(lv, (F1*), 0, "G17x4y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G17x4y1.ff");
+ test_class_info(&lv, &cd_G17x4y1);
+ dp->~G17x4y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x4y1(Test_G17x4y1, "G17x4y1", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G17x4y1C1Ev();
+extern void _ZN7G17x4y1D1Ev();
+Name_Map name_map_G17x4y1[] = {
+ NSPAIR(_ZN7G17x4y1C1Ev),
+ NSPAIR(_ZN7G17x4y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E17x4;
+extern VTBL_ENTRY _ZTI5E17x4[];
+extern VTBL_ENTRY _ZTV5E17x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G17x4y1[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E17x4, 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 _ZTI7G17x4y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY vtc_G17x4y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x4y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G17x4y1[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x4y1[];
+static VTT_ENTRY vtt_G17x4y1[] = {
+ {&(_ZTV7G17x4y1[3]), 3,8},
+ {&(_ZTV7G17x4y1[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI7G17x4y1[];
+extern VTBL_ENTRY _ZTV7G17x4y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x4y1[];
+Class_Descriptor cd_G17x4y1 = { "G17x4y1", // class name
+ bases_G17x4y1, 6,
+ &(vtc_G17x4y1[0]), // expected_vtbl_contents
+ &(vtt_G17x4y1[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G17x4y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x4y1),8, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x4y1),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 G17x4y2 : E17x4 , virtual F1 {
+ int ff;
+ ~G17x4y2(); // tgen
+ G17x4y2(); // tgen
+};
+//SIG(1 G17x4y2) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G17x4y2 ::~G17x4y2(){ note_dtor("G17x4y2", this);} // tgen
+G17x4y2 ::G17x4y2(){ note_ctor("G17x4y2", this);} // tgen
+
+static void Test_G17x4y2()
+{
+ extern Class_Descriptor cd_G17x4y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G17x4y2, buf);
+ G17x4y2 *dp, &lv = *(dp=new (buf) G17x4y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G17x4y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x4y2)");
+ check_base_class_offset(lv, (A1*)(C17*)(E17x4*), 0, "G17x4y2");
+ check_base_class_offset(lv, (B0*)(C17*)(E17x4*), ABISELECT(12,8), "G17x4y2");
+ check_base_class_offset(lv, (C17*)(E17x4*), 0, "G17x4y2");
+ check_base_class_offset(lv, (D0*)(E17x4*), ABISELECT(20,16), "G17x4y2");
+ check_base_class_offset(lv, (E17x4*), 0, "G17x4y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,28), "G17x4y2");
+ check_field_offset(lv, ff, ABISELECT(28,24), "G17x4y2.ff");
+ test_class_info(&lv, &cd_G17x4y2);
+ dp->~G17x4y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x4y2(Test_G17x4y2, "G17x4y2", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G17x4y2C1Ev();
+extern void _ZN7G17x4y2D1Ev();
+Name_Map name_map_G17x4y2[] = {
+ NSPAIR(_ZN7G17x4y2C1Ev),
+ NSPAIR(_ZN7G17x4y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E17x4;
+extern VTBL_ENTRY _ZTI5E17x4[];
+extern VTBL_ENTRY _ZTV5E17x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G17x4y2[] = {
+ // 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_D0, 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, 0},
+ {&cd_E17x4, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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(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 _ZTI7G17x4y2[];
+extern void _ZN3C173fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G17x4y2[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x4y2[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI7G17x4y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x4y2[];
+static VTT_ENTRY vtt_G17x4y2[] = {
+ {&(_ZTV7G17x4y2[3]), 3,8},
+ {&(_ZTV7G17x4y2[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI7G17x4y2[];
+extern VTBL_ENTRY _ZTV7G17x4y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x4y2[];
+Class_Descriptor cd_G17x4y2 = { "G17x4y2", // class name
+ bases_G17x4y2, 6,
+ &(vtc_G17x4y2[0]), // expected_vtbl_contents
+ &(vtt_G17x4y2[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G17x4y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x4y2),8, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x4y2),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 G17x4y3 : virtual E17x4 , virtual F1 {
+ int ff;
+ ~G17x4y3(); // tgen
+ G17x4y3(); // tgen
+};
+//SIG(1 G17x4y3) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G17x4y3 ::~G17x4y3(){ note_dtor("G17x4y3", this);} // tgen
+G17x4y3 ::G17x4y3(){ note_ctor("G17x4y3", this);} // tgen
+
+static void Test_G17x4y3()
+{
+ extern Class_Descriptor cd_G17x4y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G17x4y3, buf);
+ G17x4y3 *dp, &lv = *(dp=new (buf) G17x4y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G17x4y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x4y3)");
+ check_base_class_offset(lv, (A1*)(C17*)(E17x4*), ABISELECT(16,8), "G17x4y3");
+ check_base_class_offset(lv, (B0*)(C17*)(E17x4*), ABISELECT(28,16), "G17x4y3");
+ check_base_class_offset(lv, (C17*)(E17x4*), ABISELECT(16,8), "G17x4y3");
+ check_base_class_offset(lv, (D0*)(E17x4*), ABISELECT(36,24), "G17x4y3");
+ check_base_class_offset(lv, (E17x4*), ABISELECT(16,8), "G17x4y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G17x4y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G17x4y3.ff");
+ test_class_info(&lv, &cd_G17x4y3);
+ dp->~G17x4y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x4y3(Test_G17x4y3, "G17x4y3", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G17x4y3C1Ev();
+extern void _ZN7G17x4y3D1Ev();
+Name_Map name_map_G17x4y3[] = {
+ NSPAIR(_ZN7G17x4y3C1Ev),
+ NSPAIR(_ZN7G17x4y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E17x4;
+extern VTBL_ENTRY _ZTI5E17x4[];
+extern VTBL_ENTRY _ZTV5E17x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G17x4y3[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E17x4, 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(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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G17x4y3[];
+extern void _ZN3C173fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G17x4y3[] = {
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x4y3[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G17x4y3[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G17x4y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x4y3[];
+static VTT_ENTRY vtt_G17x4y3[] = {
+ {&(_ZTV7G17x4y3[4]), 4,12},
+ {&(_ZTV7G17x4y3[7]), 7,12},
+ {&(_ZTV7G17x4y3[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI7G17x4y3[];
+extern VTBL_ENTRY _ZTV7G17x4y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x4y3[];
+Class_Descriptor cd_G17x4y3 = { "G17x4y3", // class name
+ bases_G17x4y3, 6,
+ &(vtc_G17x4y3[0]), // expected_vtbl_contents
+ &(vtt_G17x4y3[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G17x4y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x4y3),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x4y3),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 G17x4y4 : E17x4 , F0 {
+ int ff;
+ ~G17x4y4(); // tgen
+ G17x4y4(); // tgen
+};
+//SIG(1 G17x4y4) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G17x4y4 ::~G17x4y4(){ note_dtor("G17x4y4", this);} // tgen
+G17x4y4 ::G17x4y4(){ note_ctor("G17x4y4", this);} // tgen
+
+static void Test_G17x4y4()
+{
+ extern Class_Descriptor cd_G17x4y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G17x4y4, buf);
+ G17x4y4 *dp, &lv = *(dp=new (buf) G17x4y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G17x4y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x4y4)");
+ check_base_class_offset(lv, (A1*)(C17*)(E17x4*), 0, "G17x4y4");
+ check_base_class_offset(lv, (B0*)(C17*)(E17x4*), ABISELECT(12,8), "G17x4y4");
+ check_base_class_offset(lv, (C17*)(E17x4*), 0, "G17x4y4");
+ check_base_class_offset(lv, (D0*)(E17x4*), ABISELECT(20,16), "G17x4y4");
+ check_base_class_offset(lv, (E17x4*), 0, "G17x4y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(28,24), "G17x4y4");
+ check_field_offset(lv, ff, ABISELECT(32,28), "G17x4y4.ff");
+ test_class_info(&lv, &cd_G17x4y4);
+ dp->~G17x4y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x4y4(Test_G17x4y4, "G17x4y4", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN7G17x4y4C1Ev();
+extern void _ZN7G17x4y4D1Ev();
+Name_Map name_map_G17x4y4[] = {
+ NSPAIR(_ZN7G17x4y4C1Ev),
+ NSPAIR(_ZN7G17x4y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E17x4;
+extern VTBL_ENTRY _ZTI5E17x4[];
+extern VTBL_ENTRY _ZTV5E17x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G17x4y4[] = {
+ // 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_D0, 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, 0},
+ {&cd_E17x4, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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(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 _ZTI7G17x4y4[];
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY vtc_G17x4y4[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x4y4[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+extern VTBL_ENTRY _ZTI7G17x4y4[];
+extern VTBL_ENTRY _ZTV7G17x4y4[];
+Class_Descriptor cd_G17x4y4 = { "G17x4y4", // class name
+ bases_G17x4y4, 6,
+ &(vtc_G17x4y4[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI7G17x4y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x4y4),3, //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 G17x4y5 : virtual E17x4 , F0 {
+ int ff;
+ ~G17x4y5(); // tgen
+ G17x4y5(); // tgen
+};
+//SIG(1 G17x4y5) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G17x4y5 ::~G17x4y5(){ note_dtor("G17x4y5", this);} // tgen
+G17x4y5 ::G17x4y5(){ note_ctor("G17x4y5", this);} // tgen
+
+static void Test_G17x4y5()
+{
+ extern Class_Descriptor cd_G17x4y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G17x4y5, buf);
+ G17x4y5 *dp, &lv = *(dp=new (buf) G17x4y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G17x4y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x4y5)");
+ check_base_class_offset(lv, (A1*)(C17*)(E17x4*), ABISELECT(16,12), "G17x4y5");
+ check_base_class_offset(lv, (B0*)(C17*)(E17x4*), ABISELECT(28,20), "G17x4y5");
+ check_base_class_offset(lv, (C17*)(E17x4*), ABISELECT(16,12), "G17x4y5");
+ check_base_class_offset(lv, (D0*)(E17x4*), ABISELECT(36,28), "G17x4y5");
+ check_base_class_offset(lv, (E17x4*), ABISELECT(16,12), "G17x4y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G17x4y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G17x4y5.ff");
+ test_class_info(&lv, &cd_G17x4y5);
+ dp->~G17x4y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x4y5(Test_G17x4y5, "G17x4y5", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G17x4y5C1Ev();
+extern void _ZN7G17x4y5D1Ev();
+Name_Map name_map_G17x4y5[] = {
+ NSPAIR(_ZN7G17x4y5C1Ev),
+ NSPAIR(_ZN7G17x4y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E17x4;
+extern VTBL_ENTRY _ZTI5E17x4[];
+extern VTBL_ENTRY _ZTV5E17x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G17x4y5[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E17x4, 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 _ZTI7G17x4y5[];
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY vtc_G17x4y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x4y5[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G17x4y5[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x4y5[];
+static VTT_ENTRY vtt_G17x4y5[] = {
+ {&(_ZTV7G17x4y5[3]), 3,7},
+ {&(_ZTV7G17x4y5[6]), 6,7},
+};
+extern VTBL_ENTRY _ZTI7G17x4y5[];
+extern VTBL_ENTRY _ZTV7G17x4y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x4y5[];
+Class_Descriptor cd_G17x4y5 = { "G17x4y5", // class name
+ bases_G17x4y5, 6,
+ &(vtc_G17x4y5[0]), // expected_vtbl_contents
+ &(vtt_G17x4y5[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G17x4y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x4y5),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x4y5),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 G17x4y6 : E17x4 , virtual F0 {
+ int ff;
+ ~G17x4y6(); // tgen
+ G17x4y6(); // tgen
+};
+//SIG(1 G17x4y6) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G17x4y6 ::~G17x4y6(){ note_dtor("G17x4y6", this);} // tgen
+G17x4y6 ::G17x4y6(){ note_ctor("G17x4y6", this);} // tgen
+
+static void Test_G17x4y6()
+{
+ extern Class_Descriptor cd_G17x4y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G17x4y6, buf);
+ G17x4y6 *dp, &lv = *(dp=new (buf) G17x4y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G17x4y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x4y6)");
+ check_base_class_offset(lv, (A1*)(C17*)(E17x4*), 0, "G17x4y6");
+ check_base_class_offset(lv, (B0*)(C17*)(E17x4*), ABISELECT(12,8), "G17x4y6");
+ check_base_class_offset(lv, (C17*)(E17x4*), 0, "G17x4y6");
+ check_base_class_offset(lv, (D0*)(E17x4*), ABISELECT(20,16), "G17x4y6");
+ check_base_class_offset(lv, (E17x4*), 0, "G17x4y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,28), "G17x4y6");
+ check_field_offset(lv, ff, ABISELECT(28,24), "G17x4y6.ff");
+ test_class_info(&lv, &cd_G17x4y6);
+ dp->~G17x4y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x4y6(Test_G17x4y6, "G17x4y6", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN7G17x4y6C1Ev();
+extern void _ZN7G17x4y6D1Ev();
+Name_Map name_map_G17x4y6[] = {
+ NSPAIR(_ZN7G17x4y6C1Ev),
+ NSPAIR(_ZN7G17x4y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E17x4;
+extern VTBL_ENTRY _ZTI5E17x4[];
+extern VTBL_ENTRY _ZTV5E17x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G17x4y6[] = {
+ // 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_D0, 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, 0},
+ {&cd_E17x4, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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(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 _ZTI7G17x4y6[];
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY vtc_G17x4y6[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x4y6[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x4y6[];
+static VTT_ENTRY vtt_G17x4y6[] = {
+ {&(_ZTV7G17x4y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G17x4y6[];
+extern VTBL_ENTRY _ZTV7G17x4y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x4y6[];
+Class_Descriptor cd_G17x4y6 = { "G17x4y6", // class name
+ bases_G17x4y6, 6,
+ &(vtc_G17x4y6[0]), // expected_vtbl_contents
+ &(vtt_G17x4y6[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI7G17x4y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x4y6),4, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x4y6),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 G17x4y7 : virtual E17x4 , virtual F0 {
+ int ff;
+ ~G17x4y7(); // tgen
+ G17x4y7(); // tgen
+};
+//SIG(1 G17x4y7) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G17x4y7 ::~G17x4y7(){ note_dtor("G17x4y7", this);} // tgen
+G17x4y7 ::G17x4y7(){ note_ctor("G17x4y7", this);} // tgen
+
+static void Test_G17x4y7()
+{
+ extern Class_Descriptor cd_G17x4y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G17x4y7, buf);
+ G17x4y7 *dp, &lv = *(dp=new (buf) G17x4y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G17x4y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x4y7)");
+ check_base_class_offset(lv, (A1*)(C17*)(E17x4*), ABISELECT(16,8), "G17x4y7");
+ check_base_class_offset(lv, (B0*)(C17*)(E17x4*), ABISELECT(28,16), "G17x4y7");
+ check_base_class_offset(lv, (C17*)(E17x4*), ABISELECT(16,8), "G17x4y7");
+ check_base_class_offset(lv, (D0*)(E17x4*), ABISELECT(36,24), "G17x4y7");
+ check_base_class_offset(lv, (E17x4*), ABISELECT(16,8), "G17x4y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G17x4y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G17x4y7.ff");
+ test_class_info(&lv, &cd_G17x4y7);
+ dp->~G17x4y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x4y7(Test_G17x4y7, "G17x4y7", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G17x4y7C1Ev();
+extern void _ZN7G17x4y7D1Ev();
+Name_Map name_map_G17x4y7[] = {
+ NSPAIR(_ZN7G17x4y7C1Ev),
+ NSPAIR(_ZN7G17x4y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E17x4;
+extern VTBL_ENTRY _ZTI5E17x4[];
+extern VTBL_ENTRY _ZTV5E17x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G17x4y7[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E17x4, 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(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 _ZTI7G17x4y7[];
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY vtc_G17x4y7[] = {
+ ABISELECT(44,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x4y7[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G17x4y7[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x4y7[];
+static VTT_ENTRY vtt_G17x4y7[] = {
+ {&(_ZTV7G17x4y7[4]), 4,8},
+ {&(_ZTV7G17x4y7[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI7G17x4y7[];
+extern VTBL_ENTRY _ZTV7G17x4y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x4y7[];
+Class_Descriptor cd_G17x4y7 = { "G17x4y7", // class name
+ bases_G17x4y7, 6,
+ &(vtc_G17x4y7[0]), // expected_vtbl_contents
+ &(vtt_G17x4y7[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G17x4y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x4y7),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x4y7),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 E18x4 : C18 , D0 {
+ int fd;
+ ~E18x4(); // tgen
+ E18x4(); // tgen
+};
+//SIG(-1 E18x4) C1{ BC2{ VBC3{ Fi} BC4{ Fi} v1 Fi} BC5{ Fi} Fi}
+
+
+E18x4 ::~E18x4(){ note_dtor("E18x4", this);} // tgen
+E18x4 ::E18x4(){ note_ctor("E18x4", this);} // tgen
+
+static void Test_E18x4()
+{
+ extern Class_Descriptor cd_E18x4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(5,7)];
+ init_test(&cd_E18x4, buf);
+ E18x4 *dp, &lv = *(dp=new (buf) E18x4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(32,24), "sizeof(E18x4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E18x4)");
+ check_base_class_offset(lv, (A0*)(C18*), ABISELECT(24,20), "E18x4");
+ check_base_class_offset(lv, (B0*)(C18*), ABISELECT(8,4), "E18x4");
+ check_base_class_offset(lv, (C18*), 0, "E18x4");
+ check_base_class_offset(lv, (D0*), ABISELECT(16,12), "E18x4");
+ check_field_offset(lv, fd, ABISELECT(20,16), "E18x4.fd");
+ test_class_info(&lv, &cd_E18x4);
+ dp->~E18x4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE18x4(Test_E18x4, "E18x4", ABISELECT(32,24));
+
+#else // __cplusplus
+
+extern void _ZN5E18x4C1Ev();
+extern void _ZN5E18x4D1Ev();
+Name_Map name_map_E18x4[] = {
+ NSPAIR(_ZN5E18x4C1Ev),
+ NSPAIR(_ZN5E18x4D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E18x4[] = {
+ // 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
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E18x4[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY vtc_E18x4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x4[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern VTBL_ENTRY _ZTV5E18x4[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__5E18x4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_E18x4[] = {
+ {&(_ZTV5E18x4[3]), 3,4},
+ {&(_tg__ZTV3C18__5E18x4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E18x4[];
+extern VTBL_ENTRY _ZTV5E18x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x4[];
+Class_Descriptor cd_E18x4 = { "E18x4", // class name
+ bases_E18x4, 4,
+ &(vtc_E18x4[0]), // expected_vtbl_contents
+ &(vtt_E18x4[0]), // expected_vtt_contents
+ ABISELECT(32,24), // object size
+ NSPAIRA(_ZTI5E18x4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E18x4),4, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E18x4),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 G18x4y0 : E18x4 , F1 {
+ int ff;
+ ~G18x4y0(); // tgen
+ G18x4y0(); // tgen
+};
+//SIG(1 G18x4y0) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G18x4y0 ::~G18x4y0(){ note_dtor("G18x4y0", this);} // tgen
+G18x4y0 ::G18x4y0(){ note_ctor("G18x4y0", this);} // tgen
+
+static void Test_G18x4y0()
+{
+ extern Class_Descriptor cd_G18x4y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G18x4y0, buf);
+ G18x4y0 *dp, &lv = *(dp=new (buf) G18x4y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G18x4y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x4y0)");
+ check_base_class_offset(lv, (A0*)(C18*)(E18x4*), ABISELECT(40,32), "G18x4y0");
+ check_base_class_offset(lv, (B0*)(C18*)(E18x4*), ABISELECT(8,4), "G18x4y0");
+ check_base_class_offset(lv, (C18*)(E18x4*), 0, "G18x4y0");
+ check_base_class_offset(lv, (D0*)(E18x4*), ABISELECT(16,12), "G18x4y0");
+ check_base_class_offset(lv, (E18x4*), 0, "G18x4y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,20), "G18x4y0");
+ check_field_offset(lv, ff, ABISELECT(36,28), "G18x4y0.ff");
+ test_class_info(&lv, &cd_G18x4y0);
+ dp->~G18x4y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x4y0(Test_G18x4y0, "G18x4y0", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G18x4y0C1Ev();
+extern void _ZN7G18x4y0D1Ev();
+Name_Map name_map_G18x4y0[] = {
+ NSPAIR(_ZN7G18x4y0C1Ev),
+ NSPAIR(_ZN7G18x4y0D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E18x4;
+extern VTBL_ENTRY _ZTI5E18x4[];
+extern VTBL_ENTRY _ZTV5E18x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G18x4y0[] = {
+ // 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E18x4, 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
+ 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 _ZTI7G18x4y0[];
+extern void _ZN3C183fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G18x4y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x4y0[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G18x4y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x4y0[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV5E18x4__7G18x4y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x4[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C185E18x4__7G18x4y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x4y0[] = {
+ {&(_ZTV7G18x4y0[3]), 3,7},
+ {&(_tg__ZTV5E18x4__7G18x4y0[3]), 3,4},
+ {&(_tg__ZTV3C185E18x4__7G18x4y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x4y0[];
+extern VTBL_ENTRY _ZTV7G18x4y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x4y0[];
+Class_Descriptor cd_G18x4y0 = { "G18x4y0", // class name
+ bases_G18x4y0, 6,
+ &(vtc_G18x4y0[0]), // expected_vtbl_contents
+ &(vtt_G18x4y0[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G18x4y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x4y0),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x4y0),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 G18x4y1 : virtual E18x4 , F1 {
+ int ff;
+ ~G18x4y1(); // tgen
+ G18x4y1(); // tgen
+};
+//SIG(1 G18x4y1) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G18x4y1 ::~G18x4y1(){ note_dtor("G18x4y1", this);} // tgen
+G18x4y1 ::G18x4y1(){ note_ctor("G18x4y1", this);} // tgen
+
+static void Test_G18x4y1()
+{
+ extern Class_Descriptor cd_G18x4y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G18x4y1, buf);
+ G18x4y1 *dp, &lv = *(dp=new (buf) G18x4y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G18x4y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x4y1)");
+ check_base_class_offset(lv, (A0*)(C18*)(E18x4*), ABISELECT(40,32), "G18x4y1");
+ check_base_class_offset(lv, (B0*)(C18*)(E18x4*), ABISELECT(24,16), "G18x4y1");
+ check_base_class_offset(lv, (C18*)(E18x4*), ABISELECT(16,12), "G18x4y1");
+ check_base_class_offset(lv, (D0*)(E18x4*), ABISELECT(32,24), "G18x4y1");
+ check_base_class_offset(lv, (E18x4*), ABISELECT(16,12), "G18x4y1");
+ check_base_class_offset(lv, (F1*), 0, "G18x4y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G18x4y1.ff");
+ test_class_info(&lv, &cd_G18x4y1);
+ dp->~G18x4y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x4y1(Test_G18x4y1, "G18x4y1", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G18x4y1C1Ev();
+extern void _ZN7G18x4y1D1Ev();
+Name_Map name_map_G18x4y1[] = {
+ NSPAIR(_ZN7G18x4y1C1Ev),
+ NSPAIR(_ZN7G18x4y1D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E18x4;
+extern VTBL_ENTRY _ZTI5E18x4[];
+extern VTBL_ENTRY _ZTV5E18x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G18x4y1[] = {
+ // 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(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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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, 0},
+ {&cd_E18x4, 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 _ZTI7G18x4y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY vtc_G18x4y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x4y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G18x4y1[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x4y1[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV5E18x4__7G18x4y1[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x4[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C185E18x4__7G18x4y1[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x4y1[] = {
+ {&(_ZTV7G18x4y1[4]), 4,10},
+ {&(_ZTV7G18x4y1[9]), 9,10},
+ {&(_tg__ZTV5E18x4__7G18x4y1[3]), 3,4},
+ {&(_tg__ZTV3C185E18x4__7G18x4y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x4y1[];
+extern VTBL_ENTRY _ZTV7G18x4y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x4y1[];
+Class_Descriptor cd_G18x4y1 = { "G18x4y1", // class name
+ bases_G18x4y1, 6,
+ &(vtc_G18x4y1[0]), // expected_vtbl_contents
+ &(vtt_G18x4y1[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G18x4y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x4y1),10, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x4y1),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 G18x4y2 : E18x4 , virtual F1 {
+ int ff;
+ ~G18x4y2(); // tgen
+ G18x4y2(); // tgen
+};
+//SIG(1 G18x4y2) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G18x4y2 ::~G18x4y2(){ note_dtor("G18x4y2", this);} // tgen
+G18x4y2 ::G18x4y2(){ note_ctor("G18x4y2", this);} // tgen
+
+static void Test_G18x4y2()
+{
+ extern Class_Descriptor cd_G18x4y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G18x4y2, buf);
+ G18x4y2 *dp, &lv = *(dp=new (buf) G18x4y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G18x4y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x4y2)");
+ check_base_class_offset(lv, (A0*)(C18*)(E18x4*), ABISELECT(28,24), "G18x4y2");
+ check_base_class_offset(lv, (B0*)(C18*)(E18x4*), ABISELECT(8,4), "G18x4y2");
+ check_base_class_offset(lv, (C18*)(E18x4*), 0, "G18x4y2");
+ check_base_class_offset(lv, (D0*)(E18x4*), ABISELECT(16,12), "G18x4y2");
+ check_base_class_offset(lv, (E18x4*), 0, "G18x4y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,28), "G18x4y2");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G18x4y2.ff");
+ test_class_info(&lv, &cd_G18x4y2);
+ dp->~G18x4y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x4y2(Test_G18x4y2, "G18x4y2", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G18x4y2C1Ev();
+extern void _ZN7G18x4y2D1Ev();
+Name_Map name_map_G18x4y2[] = {
+ NSPAIR(_ZN7G18x4y2C1Ev),
+ NSPAIR(_ZN7G18x4y2D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E18x4;
+extern VTBL_ENTRY _ZTI5E18x4[];
+extern VTBL_ENTRY _ZTV5E18x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G18x4y2[] = {
+ // 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E18x4, 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)
+ 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 _ZTI7G18x4y2[];
+extern void _ZN3C183fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G18x4y2[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x4y2[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI7G18x4y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x4y2[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV5E18x4__7G18x4y2[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x4[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C185E18x4__7G18x4y2[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x4y2[] = {
+ {&(_ZTV7G18x4y2[4]), 4,9},
+ {&(_tg__ZTV5E18x4__7G18x4y2[3]), 3,4},
+ {&(_tg__ZTV3C185E18x4__7G18x4y2[3]), 3,4},
+ {&(_ZTV7G18x4y2[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI7G18x4y2[];
+extern VTBL_ENTRY _ZTV7G18x4y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x4y2[];
+Class_Descriptor cd_G18x4y2 = { "G18x4y2", // class name
+ bases_G18x4y2, 6,
+ &(vtc_G18x4y2[0]), // expected_vtbl_contents
+ &(vtt_G18x4y2[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G18x4y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x4y2),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x4y2),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 G18x4y3 : virtual E18x4 , virtual F1 {
+ int ff;
+ ~G18x4y3(); // tgen
+ G18x4y3(); // tgen
+};
+//SIG(1 G18x4y3) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G18x4y3 ::~G18x4y3(){ note_dtor("G18x4y3", this);} // tgen
+G18x4y3 ::G18x4y3(){ note_ctor("G18x4y3", this);} // tgen
+
+static void Test_G18x4y3()
+{
+ extern Class_Descriptor cd_G18x4y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G18x4y3, buf);
+ G18x4y3 *dp, &lv = *(dp=new (buf) G18x4y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G18x4y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x4y3)");
+ check_base_class_offset(lv, (A0*)(C18*)(E18x4*), ABISELECT(40,28), "G18x4y3");
+ check_base_class_offset(lv, (B0*)(C18*)(E18x4*), ABISELECT(24,12), "G18x4y3");
+ check_base_class_offset(lv, (C18*)(E18x4*), ABISELECT(16,8), "G18x4y3");
+ check_base_class_offset(lv, (D0*)(E18x4*), ABISELECT(32,20), "G18x4y3");
+ check_base_class_offset(lv, (E18x4*), ABISELECT(16,8), "G18x4y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G18x4y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G18x4y3.ff");
+ test_class_info(&lv, &cd_G18x4y3);
+ dp->~G18x4y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x4y3(Test_G18x4y3, "G18x4y3", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G18x4y3C1Ev();
+extern void _ZN7G18x4y3D1Ev();
+Name_Map name_map_G18x4y3[] = {
+ NSPAIR(_ZN7G18x4y3C1Ev),
+ NSPAIR(_ZN7G18x4y3D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E18x4;
+extern VTBL_ENTRY _ZTI5E18x4[];
+extern VTBL_ENTRY _ZTV5E18x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G18x4y3[] = {
+ // 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(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_D0, 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, 0},
+ {&cd_E18x4, 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 _ZTI7G18x4y3[];
+extern void _ZN3C183fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G18x4y3[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x4y3[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G18x4y3[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G18x4y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x4y3[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV5E18x4__7G18x4y3[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x4[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C185E18x4__7G18x4y3[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x4y3[] = {
+ {&(_ZTV7G18x4y3[5]), 5,14},
+ {&(_ZTV7G18x4y3[9]), 9,14},
+ {&(_ZTV7G18x4y3[13]), 13,14},
+ {&(_tg__ZTV5E18x4__7G18x4y3[3]), 3,4},
+ {&(_tg__ZTV3C185E18x4__7G18x4y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x4y3[];
+extern VTBL_ENTRY _ZTV7G18x4y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x4y3[];
+Class_Descriptor cd_G18x4y3 = { "G18x4y3", // class name
+ bases_G18x4y3, 6,
+ &(vtc_G18x4y3[0]), // expected_vtbl_contents
+ &(vtt_G18x4y3[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G18x4y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x4y3),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x4y3),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 G18x4y4 : E18x4 , F0 {
+ int ff;
+ ~G18x4y4(); // tgen
+ G18x4y4(); // tgen
+};
+//SIG(1 G18x4y4) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G18x4y4 ::~G18x4y4(){ note_dtor("G18x4y4", this);} // tgen
+G18x4y4 ::G18x4y4(){ note_ctor("G18x4y4", this);} // tgen
+
+static void Test_G18x4y4()
+{
+ extern Class_Descriptor cd_G18x4y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G18x4y4, buf);
+ G18x4y4 *dp, &lv = *(dp=new (buf) G18x4y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G18x4y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x4y4)");
+ check_base_class_offset(lv, (A0*)(C18*)(E18x4*), ABISELECT(32,28), "G18x4y4");
+ check_base_class_offset(lv, (B0*)(C18*)(E18x4*), ABISELECT(8,4), "G18x4y4");
+ check_base_class_offset(lv, (C18*)(E18x4*), 0, "G18x4y4");
+ check_base_class_offset(lv, (D0*)(E18x4*), ABISELECT(16,12), "G18x4y4");
+ check_base_class_offset(lv, (E18x4*), 0, "G18x4y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(24,20), "G18x4y4");
+ check_field_offset(lv, ff, ABISELECT(28,24), "G18x4y4.ff");
+ test_class_info(&lv, &cd_G18x4y4);
+ dp->~G18x4y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x4y4(Test_G18x4y4, "G18x4y4", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN7G18x4y4C1Ev();
+extern void _ZN7G18x4y4D1Ev();
+Name_Map name_map_G18x4y4[] = {
+ NSPAIR(_ZN7G18x4y4C1Ev),
+ NSPAIR(_ZN7G18x4y4D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E18x4;
+extern VTBL_ENTRY _ZTI5E18x4[];
+extern VTBL_ENTRY _ZTV5E18x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G18x4y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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
+ 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E18x4, 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 _ZTI7G18x4y4[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY vtc_G18x4y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x4y4[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x4y4[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV5E18x4__7G18x4y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x4[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C185E18x4__7G18x4y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x4y4[] = {
+ {&(_ZTV7G18x4y4[3]), 3,4},
+ {&(_tg__ZTV5E18x4__7G18x4y4[3]), 3,4},
+ {&(_tg__ZTV3C185E18x4__7G18x4y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x4y4[];
+extern VTBL_ENTRY _ZTV7G18x4y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x4y4[];
+Class_Descriptor cd_G18x4y4 = { "G18x4y4", // class name
+ bases_G18x4y4, 6,
+ &(vtc_G18x4y4[0]), // expected_vtbl_contents
+ &(vtt_G18x4y4[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI7G18x4y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x4y4),4, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x4y4),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 G18x4y5 : virtual E18x4 , F0 {
+ int ff;
+ ~G18x4y5(); // tgen
+ G18x4y5(); // tgen
+};
+//SIG(1 G18x4y5) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G18x4y5 ::~G18x4y5(){ note_dtor("G18x4y5", this);} // tgen
+G18x4y5 ::G18x4y5(){ note_ctor("G18x4y5", this);} // tgen
+
+static void Test_G18x4y5()
+{
+ extern Class_Descriptor cd_G18x4y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G18x4y5, buf);
+ G18x4y5 *dp, &lv = *(dp=new (buf) G18x4y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G18x4y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x4y5)");
+ check_base_class_offset(lv, (A0*)(C18*)(E18x4*), ABISELECT(40,32), "G18x4y5");
+ check_base_class_offset(lv, (B0*)(C18*)(E18x4*), ABISELECT(24,16), "G18x4y5");
+ check_base_class_offset(lv, (C18*)(E18x4*), ABISELECT(16,12), "G18x4y5");
+ check_base_class_offset(lv, (D0*)(E18x4*), ABISELECT(32,24), "G18x4y5");
+ check_base_class_offset(lv, (E18x4*), ABISELECT(16,12), "G18x4y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G18x4y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G18x4y5.ff");
+ test_class_info(&lv, &cd_G18x4y5);
+ dp->~G18x4y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x4y5(Test_G18x4y5, "G18x4y5", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G18x4y5C1Ev();
+extern void _ZN7G18x4y5D1Ev();
+Name_Map name_map_G18x4y5[] = {
+ NSPAIR(_ZN7G18x4y5C1Ev),
+ NSPAIR(_ZN7G18x4y5D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E18x4;
+extern VTBL_ENTRY _ZTI5E18x4[];
+extern VTBL_ENTRY _ZTV5E18x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G18x4y5[] = {
+ // 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(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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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, 0},
+ {&cd_E18x4, 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 _ZTI7G18x4y5[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY vtc_G18x4y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x4y5[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G18x4y5[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x4y5[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV5E18x4__7G18x4y5[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x4[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C185E18x4__7G18x4y5[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x4y5[] = {
+ {&(_ZTV7G18x4y5[4]), 4,9},
+ {&(_ZTV7G18x4y5[8]), 8,9},
+ {&(_tg__ZTV5E18x4__7G18x4y5[3]), 3,4},
+ {&(_tg__ZTV3C185E18x4__7G18x4y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x4y5[];
+extern VTBL_ENTRY _ZTV7G18x4y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x4y5[];
+Class_Descriptor cd_G18x4y5 = { "G18x4y5", // class name
+ bases_G18x4y5, 6,
+ &(vtc_G18x4y5[0]), // expected_vtbl_contents
+ &(vtt_G18x4y5[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G18x4y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x4y5),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x4y5),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 G18x4y6 : E18x4 , virtual F0 {
+ int ff;
+ ~G18x4y6(); // tgen
+ G18x4y6(); // tgen
+};
+//SIG(1 G18x4y6) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G18x4y6 ::~G18x4y6(){ note_dtor("G18x4y6", this);} // tgen
+G18x4y6 ::G18x4y6(){ note_ctor("G18x4y6", this);} // tgen
+
+static void Test_G18x4y6()
+{
+ extern Class_Descriptor cd_G18x4y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G18x4y6, buf);
+ G18x4y6 *dp, &lv = *(dp=new (buf) G18x4y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G18x4y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x4y6)");
+ check_base_class_offset(lv, (A0*)(C18*)(E18x4*), ABISELECT(28,24), "G18x4y6");
+ check_base_class_offset(lv, (B0*)(C18*)(E18x4*), ABISELECT(8,4), "G18x4y6");
+ check_base_class_offset(lv, (C18*)(E18x4*), 0, "G18x4y6");
+ check_base_class_offset(lv, (D0*)(E18x4*), ABISELECT(16,12), "G18x4y6");
+ check_base_class_offset(lv, (E18x4*), 0, "G18x4y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,28), "G18x4y6");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G18x4y6.ff");
+ test_class_info(&lv, &cd_G18x4y6);
+ dp->~G18x4y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x4y6(Test_G18x4y6, "G18x4y6", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN7G18x4y6C1Ev();
+extern void _ZN7G18x4y6D1Ev();
+Name_Map name_map_G18x4y6[] = {
+ NSPAIR(_ZN7G18x4y6C1Ev),
+ NSPAIR(_ZN7G18x4y6D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E18x4;
+extern VTBL_ENTRY _ZTI5E18x4[];
+extern VTBL_ENTRY _ZTV5E18x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G18x4y6[] = {
+ // 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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E18x4, 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 _ZTI7G18x4y6[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY vtc_G18x4y6[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x4y6[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x4y6[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV5E18x4__7G18x4y6[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x4[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C185E18x4__7G18x4y6[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x4y6[] = {
+ {&(_ZTV7G18x4y6[4]), 4,5},
+ {&(_tg__ZTV5E18x4__7G18x4y6[3]), 3,4},
+ {&(_tg__ZTV3C185E18x4__7G18x4y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x4y6[];
+extern VTBL_ENTRY _ZTV7G18x4y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x4y6[];
+Class_Descriptor cd_G18x4y6 = { "G18x4y6", // class name
+ bases_G18x4y6, 6,
+ &(vtc_G18x4y6[0]), // expected_vtbl_contents
+ &(vtt_G18x4y6[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI7G18x4y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x4y6),5, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x4y6),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 G18x4y7 : virtual E18x4 , virtual F0 {
+ int ff;
+ ~G18x4y7(); // tgen
+ G18x4y7(); // tgen
+};
+//SIG(1 G18x4y7) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G18x4y7 ::~G18x4y7(){ note_dtor("G18x4y7", this);} // tgen
+G18x4y7 ::G18x4y7(){ note_ctor("G18x4y7", this);} // tgen
+
+static void Test_G18x4y7()
+{
+ extern Class_Descriptor cd_G18x4y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G18x4y7, buf);
+ G18x4y7 *dp, &lv = *(dp=new (buf) G18x4y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G18x4y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x4y7)");
+ check_base_class_offset(lv, (A0*)(C18*)(E18x4*), ABISELECT(40,28), "G18x4y7");
+ check_base_class_offset(lv, (B0*)(C18*)(E18x4*), ABISELECT(24,12), "G18x4y7");
+ check_base_class_offset(lv, (C18*)(E18x4*), ABISELECT(16,8), "G18x4y7");
+ check_base_class_offset(lv, (D0*)(E18x4*), ABISELECT(32,20), "G18x4y7");
+ check_base_class_offset(lv, (E18x4*), ABISELECT(16,8), "G18x4y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G18x4y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G18x4y7.ff");
+ test_class_info(&lv, &cd_G18x4y7);
+ dp->~G18x4y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x4y7(Test_G18x4y7, "G18x4y7", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G18x4y7C1Ev();
+extern void _ZN7G18x4y7D1Ev();
+Name_Map name_map_G18x4y7[] = {
+ NSPAIR(_ZN7G18x4y7C1Ev),
+ NSPAIR(_ZN7G18x4y7D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E18x4;
+extern VTBL_ENTRY _ZTI5E18x4[];
+extern VTBL_ENTRY _ZTV5E18x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G18x4y7[] = {
+ // 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(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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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, 0},
+ {&cd_E18x4, 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 _ZTI7G18x4y7[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY vtc_G18x4y7[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x4y7[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G18x4y7[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x4y7[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV5E18x4__7G18x4y7[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x4[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C185E18x4__7G18x4y7[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x4y7[] = {
+ {&(_ZTV7G18x4y7[5]), 5,10},
+ {&(_ZTV7G18x4y7[9]), 9,10},
+ {&(_tg__ZTV5E18x4__7G18x4y7[3]), 3,4},
+ {&(_tg__ZTV3C185E18x4__7G18x4y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x4y7[];
+extern VTBL_ENTRY _ZTV7G18x4y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x4y7[];
+Class_Descriptor cd_G18x4y7 = { "G18x4y7", // class name
+ bases_G18x4y7, 6,
+ &(vtc_G18x4y7[0]), // expected_vtbl_contents
+ &(vtt_G18x4y7[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G18x4y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x4y7),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x4y7),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 E19x4 : C19 , D0 {
+ int fd;
+ ~E19x4(); // tgen
+ E19x4(); // tgen
+};
+//SIG(-1 E19x4) C1{ BC2{ VBC3{ v1 Fi} BC4{ Fi} v1 Fi} BC5{ Fi} Fi}
+
+
+E19x4 ::~E19x4(){ note_dtor("E19x4", this);} // tgen
+E19x4 ::E19x4(){ note_ctor("E19x4", this);} // tgen
+
+static void Test_E19x4()
+{
+ extern Class_Descriptor cd_E19x4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E19x4, buf);
+ E19x4 *dp, &lv = *(dp=new (buf) E19x4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E19x4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E19x4)");
+ check_base_class_offset(lv, (A1*)(C19*), ABISELECT(24,20), "E19x4");
+ check_base_class_offset(lv, (B0*)(C19*), ABISELECT(8,4), "E19x4");
+ check_base_class_offset(lv, (C19*), 0, "E19x4");
+ check_base_class_offset(lv, (D0*), ABISELECT(16,12), "E19x4");
+ check_field_offset(lv, fd, ABISELECT(20,16), "E19x4.fd");
+ test_class_info(&lv, &cd_E19x4);
+ dp->~E19x4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE19x4(Test_E19x4, "E19x4", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E19x4C1Ev();
+extern void _ZN5E19x4D1Ev();
+Name_Map name_map_E19x4[] = {
+ NSPAIR(_ZN5E19x4C1Ev),
+ NSPAIR(_ZN5E19x4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E19x4[] = {
+ // 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)
+ 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E19x4[];
+extern void _ZN3C193fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn24_N3C193fooEv,_ZThn20_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_E19x4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x4[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E19x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern VTBL_ENTRY _ZTV5E19x4[];
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__5E19x4[] = {
+ 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__3C19__5E19x4[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_E19x4[] = {
+ {&(_ZTV5E19x4[3]), 3,8},
+ {&(_tg__ZTV3C19__5E19x4[3]), 3,4},
+ {&(_tg__ZTV2A1__3C19__5E19x4[3]), 3,4},
+ {&(_ZTV5E19x4[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI5E19x4[];
+extern VTBL_ENTRY _ZTV5E19x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x4[];
+static VTBL_ENTRY alt_thunk_names8[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C193fooEv,_ZThn20_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C193fooEv,_ZThn20_N3C193fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_E19x4 = { "E19x4", // class name
+ bases_E19x4, 4,
+ &(vtc_E19x4[0]), // expected_vtbl_contents
+ &(vtt_E19x4[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E19x4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E19x4),8, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E19x4),4, //virtual table table var
+ 2, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names8,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x4y0 : E19x4 , F1 {
+ int ff;
+ ~G19x4y0(); // tgen
+ G19x4y0(); // tgen
+};
+//SIG(1 G19x4y0) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G19x4y0 ::~G19x4y0(){ note_dtor("G19x4y0", this);} // tgen
+G19x4y0 ::G19x4y0(){ note_ctor("G19x4y0", this);} // tgen
+
+static void Test_G19x4y0()
+{
+ extern Class_Descriptor cd_G19x4y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G19x4y0, buf);
+ G19x4y0 *dp, &lv = *(dp=new (buf) G19x4y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G19x4y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x4y0)");
+ check_base_class_offset(lv, (A1*)(C19*)(E19x4*), ABISELECT(40,32), "G19x4y0");
+ check_base_class_offset(lv, (B0*)(C19*)(E19x4*), ABISELECT(8,4), "G19x4y0");
+ check_base_class_offset(lv, (C19*)(E19x4*), 0, "G19x4y0");
+ check_base_class_offset(lv, (D0*)(E19x4*), ABISELECT(16,12), "G19x4y0");
+ check_base_class_offset(lv, (E19x4*), 0, "G19x4y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,20), "G19x4y0");
+ check_field_offset(lv, ff, ABISELECT(36,28), "G19x4y0.ff");
+ test_class_info(&lv, &cd_G19x4y0);
+ dp->~G19x4y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x4y0(Test_G19x4y0, "G19x4y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G19x4y0C1Ev();
+extern void _ZN7G19x4y0D1Ev();
+Name_Map name_map_G19x4y0[] = {
+ NSPAIR(_ZN7G19x4y0C1Ev),
+ NSPAIR(_ZN7G19x4y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E19x4;
+extern VTBL_ENTRY _ZTI5E19x4[];
+extern VTBL_ENTRY _ZTV5E19x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G19x4y0[] = {
+ // 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E19x4, 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 _ZTI7G19x4y0[];
+extern void _ZN3C193fooEv();
+extern void _ZN2F13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn40_N3C193fooEv,_ZThn32_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G19x4y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x4y0[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G19x4y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(-40,-32),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G19x4y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern VTBL_ENTRY _ZTV7G19x4y0[];
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV5E19x4__7G19x4y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x4[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C195E19x4__7G19x4y0[] = {
+ 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__3C195E19x4__7G19x4y0[] = {
+ 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__5E19x4__7G19x4y0[] = {
+ ABISELECT(-40,-32),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI5E19x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x4y0[] = {
+ {&(_ZTV7G19x4y0[3]), 3,11},
+ {&(_tg__ZTV5E19x4__7G19x4y0[3]), 3,4},
+ {&(_tg__ZTV3C195E19x4__7G19x4y0[3]), 3,4},
+ {&(_tg__ZTV2A1__3C195E19x4__7G19x4y0[3]), 3,4},
+ {&(_tg__ZTV2A1__5E19x4__7G19x4y0[3]), 3,4},
+ {&(_ZTV7G19x4y0[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI7G19x4y0[];
+extern VTBL_ENTRY _ZTV7G19x4y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x4y0[];
+static VTBL_ENTRY alt_thunk_names9[] = {
+ (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_G19x4y0 = { "G19x4y0", // class name
+ bases_G19x4y0, 6,
+ &(vtc_G19x4y0[0]), // expected_vtbl_contents
+ &(vtt_G19x4y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G19x4y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x4y0),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x4y0),6, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names9,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x4y1 : virtual E19x4 , F1 {
+ int ff;
+ ~G19x4y1(); // tgen
+ G19x4y1(); // tgen
+};
+//SIG(1 G19x4y1) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G19x4y1 ::~G19x4y1(){ note_dtor("G19x4y1", this);} // tgen
+G19x4y1 ::G19x4y1(){ note_ctor("G19x4y1", this);} // tgen
+
+static void Test_G19x4y1()
+{
+ extern Class_Descriptor cd_G19x4y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G19x4y1, buf);
+ G19x4y1 *dp, &lv = *(dp=new (buf) G19x4y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G19x4y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x4y1)");
+ check_base_class_offset(lv, (A1*)(C19*)(E19x4*), ABISELECT(40,32), "G19x4y1");
+ check_base_class_offset(lv, (B0*)(C19*)(E19x4*), ABISELECT(24,16), "G19x4y1");
+ check_base_class_offset(lv, (C19*)(E19x4*), ABISELECT(16,12), "G19x4y1");
+ check_base_class_offset(lv, (D0*)(E19x4*), ABISELECT(32,24), "G19x4y1");
+ check_base_class_offset(lv, (E19x4*), ABISELECT(16,12), "G19x4y1");
+ check_base_class_offset(lv, (F1*), 0, "G19x4y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G19x4y1.ff");
+ test_class_info(&lv, &cd_G19x4y1);
+ dp->~G19x4y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x4y1(Test_G19x4y1, "G19x4y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G19x4y1C1Ev();
+extern void _ZN7G19x4y1D1Ev();
+Name_Map name_map_G19x4y1[] = {
+ NSPAIR(_ZN7G19x4y1C1Ev),
+ NSPAIR(_ZN7G19x4y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E19x4;
+extern VTBL_ENTRY _ZTI5E19x4[];
+extern VTBL_ENTRY _ZTV5E19x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G19x4y1[] = {
+ // 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)
+ 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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, 0},
+ {&cd_E19x4, 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 _ZTI7G19x4y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C193fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn24_N3C193fooEv,_ZThn20_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G19x4y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x4y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G19x4y1[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G19x4y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern VTBL_ENTRY _ZTV7G19x4y1[];
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV5E19x4__7G19x4y1[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x4[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C195E19x4__7G19x4y1[] = {
+ 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__3C195E19x4__7G19x4y1[] = {
+ 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__5E19x4__7G19x4y1[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E19x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x4y1[] = {
+ {&(_ZTV7G19x4y1[4]), 4,14},
+ {&(_ZTV7G19x4y1[9]), 9,14},
+ {&(_ZTV7G19x4y1[13]), 13,14},
+ {&(_tg__ZTV5E19x4__7G19x4y1[3]), 3,4},
+ {&(_tg__ZTV3C195E19x4__7G19x4y1[3]), 3,4},
+ {&(_tg__ZTV2A1__3C195E19x4__7G19x4y1[3]), 3,4},
+ {&(_tg__ZTV2A1__5E19x4__7G19x4y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G19x4y1[];
+extern VTBL_ENTRY _ZTV7G19x4y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x4y1[];
+static VTBL_ENTRY alt_thunk_names10[] = {
+ (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_G19x4y1 = { "G19x4y1", // class name
+ bases_G19x4y1, 6,
+ &(vtc_G19x4y1[0]), // expected_vtbl_contents
+ &(vtt_G19x4y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G19x4y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x4y1),14, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x4y1),7, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names10,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x4y2 : E19x4 , virtual F1 {
+ int ff;
+ ~G19x4y2(); // tgen
+ G19x4y2(); // tgen
+};
+//SIG(1 G19x4y2) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G19x4y2 ::~G19x4y2(){ note_dtor("G19x4y2", this);} // tgen
+G19x4y2 ::G19x4y2(){ note_ctor("G19x4y2", this);} // tgen
+
+static void Test_G19x4y2()
+{
+ extern Class_Descriptor cd_G19x4y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G19x4y2, buf);
+ G19x4y2 *dp, &lv = *(dp=new (buf) G19x4y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G19x4y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x4y2)");
+ check_base_class_offset(lv, (A1*)(C19*)(E19x4*), ABISELECT(32,24), "G19x4y2");
+ check_base_class_offset(lv, (B0*)(C19*)(E19x4*), ABISELECT(8,4), "G19x4y2");
+ check_base_class_offset(lv, (C19*)(E19x4*), 0, "G19x4y2");
+ check_base_class_offset(lv, (D0*)(E19x4*), ABISELECT(16,12), "G19x4y2");
+ check_base_class_offset(lv, (E19x4*), 0, "G19x4y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G19x4y2");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G19x4y2.ff");
+ test_class_info(&lv, &cd_G19x4y2);
+ dp->~G19x4y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x4y2(Test_G19x4y2, "G19x4y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G19x4y2C1Ev();
+extern void _ZN7G19x4y2D1Ev();
+Name_Map name_map_G19x4y2[] = {
+ NSPAIR(_ZN7G19x4y2C1Ev),
+ NSPAIR(_ZN7G19x4y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E19x4;
+extern VTBL_ENTRY _ZTI5E19x4[];
+extern VTBL_ENTRY _ZTV5E19x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G19x4y2[] = {
+ // 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)
+ 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E19x4, 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)
+ 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 _ZTI7G19x4y2[];
+extern void _ZN3C193fooEv();
+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_G19x4y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x4y2[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G19x4y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G19x4y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G19x4y2[];
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV5E19x4__7G19x4y2[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x4[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C195E19x4__7G19x4y2[] = {
+ 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__3C195E19x4__7G19x4y2[] = {
+ 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__5E19x4__7G19x4y2[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E19x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x4y2[] = {
+ {&(_ZTV7G19x4y2[4]), 4,13},
+ {&(_tg__ZTV5E19x4__7G19x4y2[3]), 3,4},
+ {&(_tg__ZTV3C195E19x4__7G19x4y2[3]), 3,4},
+ {&(_tg__ZTV2A1__3C195E19x4__7G19x4y2[3]), 3,4},
+ {&(_tg__ZTV2A1__5E19x4__7G19x4y2[3]), 3,4},
+ {&(_ZTV7G19x4y2[8]), 8,13},
+ {&(_ZTV7G19x4y2[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI7G19x4y2[];
+extern VTBL_ENTRY _ZTV7G19x4y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x4y2[];
+static VTBL_ENTRY alt_thunk_names11[] = {
+ (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_G19x4y2 = { "G19x4y2", // class name
+ bases_G19x4y2, 6,
+ &(vtc_G19x4y2[0]), // expected_vtbl_contents
+ &(vtt_G19x4y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G19x4y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x4y2),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x4y2),7, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names11,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x4y3 : virtual E19x4 , virtual F1 {
+ int ff;
+ ~G19x4y3(); // tgen
+ G19x4y3(); // tgen
+};
+//SIG(1 G19x4y3) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G19x4y3 ::~G19x4y3(){ note_dtor("G19x4y3", this);} // tgen
+G19x4y3 ::G19x4y3(){ note_ctor("G19x4y3", this);} // tgen
+
+static void Test_G19x4y3()
+{
+ extern Class_Descriptor cd_G19x4y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G19x4y3, buf);
+ G19x4y3 *dp, &lv = *(dp=new (buf) G19x4y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G19x4y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x4y3)");
+ check_base_class_offset(lv, (A1*)(C19*)(E19x4*), ABISELECT(40,28), "G19x4y3");
+ check_base_class_offset(lv, (B0*)(C19*)(E19x4*), ABISELECT(24,12), "G19x4y3");
+ check_base_class_offset(lv, (C19*)(E19x4*), ABISELECT(16,8), "G19x4y3");
+ check_base_class_offset(lv, (D0*)(E19x4*), ABISELECT(32,20), "G19x4y3");
+ check_base_class_offset(lv, (E19x4*), ABISELECT(16,8), "G19x4y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G19x4y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G19x4y3.ff");
+ test_class_info(&lv, &cd_G19x4y3);
+ dp->~G19x4y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x4y3(Test_G19x4y3, "G19x4y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G19x4y3C1Ev();
+extern void _ZN7G19x4y3D1Ev();
+Name_Map name_map_G19x4y3[] = {
+ NSPAIR(_ZN7G19x4y3C1Ev),
+ NSPAIR(_ZN7G19x4y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E19x4;
+extern VTBL_ENTRY _ZTI5E19x4[];
+extern VTBL_ENTRY _ZTV5E19x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G19x4y3[] = {
+ // 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,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //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_D0, 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, 0},
+ {&cd_E19x4, 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 _ZTI7G19x4y3[];
+extern void _ZN3C193fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn24_N3C193fooEv,_ZThn20_N3C193fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G19x4y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x4y3[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G19x4y3[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G19x4y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G19x4y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G19x4y3[];
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV5E19x4__7G19x4y3[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x4[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C195E19x4__7G19x4y3[] = {
+ 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__3C195E19x4__7G19x4y3[] = {
+ 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__5E19x4__7G19x4y3[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E19x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x4y3[] = {
+ {&(_ZTV7G19x4y3[5]), 5,18},
+ {&(_ZTV7G19x4y3[9]), 9,18},
+ {&(_ZTV7G19x4y3[13]), 13,18},
+ {&(_ZTV7G19x4y3[17]), 17,18},
+ {&(_tg__ZTV5E19x4__7G19x4y3[3]), 3,4},
+ {&(_tg__ZTV3C195E19x4__7G19x4y3[3]), 3,4},
+ {&(_tg__ZTV2A1__3C195E19x4__7G19x4y3[3]), 3,4},
+ {&(_tg__ZTV2A1__5E19x4__7G19x4y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G19x4y3[];
+extern VTBL_ENTRY _ZTV7G19x4y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x4y3[];
+static VTBL_ENTRY alt_thunk_names12[] = {
+ (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_G19x4y3 = { "G19x4y3", // class name
+ bases_G19x4y3, 6,
+ &(vtc_G19x4y3[0]), // expected_vtbl_contents
+ &(vtt_G19x4y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G19x4y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x4y3),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x4y3),8, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names12,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x4y4 : E19x4 , F0 {
+ int ff;
+ ~G19x4y4(); // tgen
+ G19x4y4(); // tgen
+};
+//SIG(1 G19x4y4) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G19x4y4 ::~G19x4y4(){ note_dtor("G19x4y4", this);} // tgen
+G19x4y4 ::G19x4y4(){ note_ctor("G19x4y4", this);} // tgen
+
+static void Test_G19x4y4()
+{
+ extern Class_Descriptor cd_G19x4y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G19x4y4, buf);
+ G19x4y4 *dp, &lv = *(dp=new (buf) G19x4y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G19x4y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x4y4)");
+ check_base_class_offset(lv, (A1*)(C19*)(E19x4*), ABISELECT(32,28), "G19x4y4");
+ check_base_class_offset(lv, (B0*)(C19*)(E19x4*), ABISELECT(8,4), "G19x4y4");
+ check_base_class_offset(lv, (C19*)(E19x4*), 0, "G19x4y4");
+ check_base_class_offset(lv, (D0*)(E19x4*), ABISELECT(16,12), "G19x4y4");
+ check_base_class_offset(lv, (E19x4*), 0, "G19x4y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(24,20), "G19x4y4");
+ check_field_offset(lv, ff, ABISELECT(28,24), "G19x4y4.ff");
+ test_class_info(&lv, &cd_G19x4y4);
+ dp->~G19x4y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x4y4(Test_G19x4y4, "G19x4y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G19x4y4C1Ev();
+extern void _ZN7G19x4y4D1Ev();
+Name_Map name_map_G19x4y4[] = {
+ NSPAIR(_ZN7G19x4y4C1Ev),
+ NSPAIR(_ZN7G19x4y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E19x4;
+extern VTBL_ENTRY _ZTI5E19x4[];
+extern VTBL_ENTRY _ZTV5E19x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G19x4y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,28), //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
+ 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E19x4, 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 _ZTI7G19x4y4[];
+extern void _ZN3C193fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn32_N3C193fooEv,_ZThn28_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G19x4y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x4y4[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-32,-28),
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI7G19x4y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern VTBL_ENTRY _ZTV7G19x4y4[];
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV5E19x4__7G19x4y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x4[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C195E19x4__7G19x4y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn32_N3C193fooEv,_ZThn28_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C195E19x4__7G19x4y4[] = {
+ ABISELECT(-32,-28),
+ ABISELECT(-32,-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(_ZThn32_N3C193fooEv,_ZThn28_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E19x4__7G19x4y4[] = {
+ ABISELECT(-32,-28),
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI5E19x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x4y4[] = {
+ {&(_ZTV7G19x4y4[3]), 3,8},
+ {&(_tg__ZTV5E19x4__7G19x4y4[3]), 3,4},
+ {&(_tg__ZTV3C195E19x4__7G19x4y4[3]), 3,4},
+ {&(_tg__ZTV2A1__3C195E19x4__7G19x4y4[3]), 3,4},
+ {&(_tg__ZTV2A1__5E19x4__7G19x4y4[3]), 3,4},
+ {&(_ZTV7G19x4y4[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI7G19x4y4[];
+extern VTBL_ENTRY _ZTV7G19x4y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x4y4[];
+static VTBL_ENTRY alt_thunk_names13[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C193fooEv,_ZThn28_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C193fooEv,_ZThn28_N3C193fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C193fooEv,_ZThn28_N3C193fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G19x4y4 = { "G19x4y4", // class name
+ bases_G19x4y4, 6,
+ &(vtc_G19x4y4[0]), // expected_vtbl_contents
+ &(vtt_G19x4y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G19x4y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x4y4),8, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x4y4),6, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names13,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x4y5 : virtual E19x4 , F0 {
+ int ff;
+ ~G19x4y5(); // tgen
+ G19x4y5(); // tgen
+};
+//SIG(1 G19x4y5) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G19x4y5 ::~G19x4y5(){ note_dtor("G19x4y5", this);} // tgen
+G19x4y5 ::G19x4y5(){ note_ctor("G19x4y5", this);} // tgen
+
+static void Test_G19x4y5()
+{
+ extern Class_Descriptor cd_G19x4y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G19x4y5, buf);
+ G19x4y5 *dp, &lv = *(dp=new (buf) G19x4y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G19x4y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x4y5)");
+ check_base_class_offset(lv, (A1*)(C19*)(E19x4*), ABISELECT(40,32), "G19x4y5");
+ check_base_class_offset(lv, (B0*)(C19*)(E19x4*), ABISELECT(24,16), "G19x4y5");
+ check_base_class_offset(lv, (C19*)(E19x4*), ABISELECT(16,12), "G19x4y5");
+ check_base_class_offset(lv, (D0*)(E19x4*), ABISELECT(32,24), "G19x4y5");
+ check_base_class_offset(lv, (E19x4*), ABISELECT(16,12), "G19x4y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G19x4y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G19x4y5.ff");
+ test_class_info(&lv, &cd_G19x4y5);
+ dp->~G19x4y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x4y5(Test_G19x4y5, "G19x4y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G19x4y5C1Ev();
+extern void _ZN7G19x4y5D1Ev();
+Name_Map name_map_G19x4y5[] = {
+ NSPAIR(_ZN7G19x4y5C1Ev),
+ NSPAIR(_ZN7G19x4y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E19x4;
+extern VTBL_ENTRY _ZTI5E19x4[];
+extern VTBL_ENTRY _ZTV5E19x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G19x4y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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
+ 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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, 0},
+ {&cd_E19x4, 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 _ZTI7G19x4y5[];
+extern void _ZN3C193fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn24_N3C193fooEv,_ZThn20_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G19x4y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x4y5[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G19x4y5[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G19x4y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern VTBL_ENTRY _ZTV7G19x4y5[];
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV5E19x4__7G19x4y5[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x4[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C195E19x4__7G19x4y5[] = {
+ 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__3C195E19x4__7G19x4y5[] = {
+ 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__5E19x4__7G19x4y5[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E19x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x4y5[] = {
+ {&(_ZTV7G19x4y5[4]), 4,13},
+ {&(_ZTV7G19x4y5[8]), 8,13},
+ {&(_ZTV7G19x4y5[12]), 12,13},
+ {&(_tg__ZTV5E19x4__7G19x4y5[3]), 3,4},
+ {&(_tg__ZTV3C195E19x4__7G19x4y5[3]), 3,4},
+ {&(_tg__ZTV2A1__3C195E19x4__7G19x4y5[3]), 3,4},
+ {&(_tg__ZTV2A1__5E19x4__7G19x4y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G19x4y5[];
+extern VTBL_ENTRY _ZTV7G19x4y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x4y5[];
+static VTBL_ENTRY alt_thunk_names14[] = {
+ (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_G19x4y5 = { "G19x4y5", // class name
+ bases_G19x4y5, 6,
+ &(vtc_G19x4y5[0]), // expected_vtbl_contents
+ &(vtt_G19x4y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G19x4y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x4y5),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x4y5),7, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names14,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x4y6 : E19x4 , virtual F0 {
+ int ff;
+ ~G19x4y6(); // tgen
+ G19x4y6(); // tgen
+};
+//SIG(1 G19x4y6) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G19x4y6 ::~G19x4y6(){ note_dtor("G19x4y6", this);} // tgen
+G19x4y6 ::G19x4y6(){ note_ctor("G19x4y6", this);} // tgen
+
+static void Test_G19x4y6()
+{
+ extern Class_Descriptor cd_G19x4y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G19x4y6, buf);
+ G19x4y6 *dp, &lv = *(dp=new (buf) G19x4y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G19x4y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x4y6)");
+ check_base_class_offset(lv, (A1*)(C19*)(E19x4*), ABISELECT(32,24), "G19x4y6");
+ check_base_class_offset(lv, (B0*)(C19*)(E19x4*), ABISELECT(8,4), "G19x4y6");
+ check_base_class_offset(lv, (C19*)(E19x4*), 0, "G19x4y6");
+ check_base_class_offset(lv, (D0*)(E19x4*), ABISELECT(16,12), "G19x4y6");
+ check_base_class_offset(lv, (E19x4*), 0, "G19x4y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G19x4y6");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G19x4y6.ff");
+ test_class_info(&lv, &cd_G19x4y6);
+ dp->~G19x4y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x4y6(Test_G19x4y6, "G19x4y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G19x4y6C1Ev();
+extern void _ZN7G19x4y6D1Ev();
+Name_Map name_map_G19x4y6[] = {
+ NSPAIR(_ZN7G19x4y6C1Ev),
+ NSPAIR(_ZN7G19x4y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E19x4;
+extern VTBL_ENTRY _ZTI5E19x4[];
+extern VTBL_ENTRY _ZTV5E19x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G19x4y6[] = {
+ // 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)
+ 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E19x4, 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 _ZTI7G19x4y6[];
+extern void _ZN3C193fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn32_N3C193fooEv,_ZThn24_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G19x4y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x4y6[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G19x4y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern VTBL_ENTRY _ZTV7G19x4y6[];
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV5E19x4__7G19x4y6[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x4[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C195E19x4__7G19x4y6[] = {
+ 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__3C195E19x4__7G19x4y6[] = {
+ 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__5E19x4__7G19x4y6[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E19x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x4y6[] = {
+ {&(_ZTV7G19x4y6[4]), 4,9},
+ {&(_tg__ZTV5E19x4__7G19x4y6[3]), 3,4},
+ {&(_tg__ZTV3C195E19x4__7G19x4y6[3]), 3,4},
+ {&(_tg__ZTV2A1__3C195E19x4__7G19x4y6[3]), 3,4},
+ {&(_tg__ZTV2A1__5E19x4__7G19x4y6[3]), 3,4},
+ {&(_ZTV7G19x4y6[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI7G19x4y6[];
+extern VTBL_ENTRY _ZTV7G19x4y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x4y6[];
+static VTBL_ENTRY alt_thunk_names15[] = {
+ (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_G19x4y6 = { "G19x4y6", // class name
+ bases_G19x4y6, 6,
+ &(vtc_G19x4y6[0]), // expected_vtbl_contents
+ &(vtt_G19x4y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G19x4y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x4y6),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x4y6),6, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names15,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x4y7 : virtual E19x4 , virtual F0 {
+ int ff;
+ ~G19x4y7(); // tgen
+ G19x4y7(); // tgen
+};
+//SIG(1 G19x4y7) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G19x4y7 ::~G19x4y7(){ note_dtor("G19x4y7", this);} // tgen
+G19x4y7 ::G19x4y7(){ note_ctor("G19x4y7", this);} // tgen
+
+static void Test_G19x4y7()
+{
+ extern Class_Descriptor cd_G19x4y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G19x4y7, buf);
+ G19x4y7 *dp, &lv = *(dp=new (buf) G19x4y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G19x4y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x4y7)");
+ check_base_class_offset(lv, (A1*)(C19*)(E19x4*), ABISELECT(40,28), "G19x4y7");
+ check_base_class_offset(lv, (B0*)(C19*)(E19x4*), ABISELECT(24,12), "G19x4y7");
+ check_base_class_offset(lv, (C19*)(E19x4*), ABISELECT(16,8), "G19x4y7");
+ check_base_class_offset(lv, (D0*)(E19x4*), ABISELECT(32,20), "G19x4y7");
+ check_base_class_offset(lv, (E19x4*), ABISELECT(16,8), "G19x4y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G19x4y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G19x4y7.ff");
+ test_class_info(&lv, &cd_G19x4y7);
+ dp->~G19x4y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x4y7(Test_G19x4y7, "G19x4y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G19x4y7C1Ev();
+extern void _ZN7G19x4y7D1Ev();
+Name_Map name_map_G19x4y7[] = {
+ NSPAIR(_ZN7G19x4y7C1Ev),
+ NSPAIR(_ZN7G19x4y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E19x4;
+extern VTBL_ENTRY _ZTI5E19x4[];
+extern VTBL_ENTRY _ZTV5E19x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G19x4y7[] = {
+ // 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,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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, 0},
+ {&cd_E19x4, 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 _ZTI7G19x4y7[];
+extern void _ZN3C193fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn24_N3C193fooEv,_ZThn20_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G19x4y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x4y7[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G19x4y7[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G19x4y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern VTBL_ENTRY _ZTV7G19x4y7[];
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV5E19x4__7G19x4y7[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x4[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C195E19x4__7G19x4y7[] = {
+ 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__3C195E19x4__7G19x4y7[] = {
+ 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__5E19x4__7G19x4y7[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E19x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x4y7[] = {
+ {&(_ZTV7G19x4y7[5]), 5,14},
+ {&(_ZTV7G19x4y7[9]), 9,14},
+ {&(_ZTV7G19x4y7[13]), 13,14},
+ {&(_tg__ZTV5E19x4__7G19x4y7[3]), 3,4},
+ {&(_tg__ZTV3C195E19x4__7G19x4y7[3]), 3,4},
+ {&(_tg__ZTV2A1__3C195E19x4__7G19x4y7[3]), 3,4},
+ {&(_tg__ZTV2A1__5E19x4__7G19x4y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G19x4y7[];
+extern VTBL_ENTRY _ZTV7G19x4y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x4y7[];
+static VTBL_ENTRY alt_thunk_names16[] = {
+ (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_G19x4y7 = { "G19x4y7", // class name
+ bases_G19x4y7, 6,
+ &(vtc_G19x4y7[0]), // expected_vtbl_contents
+ &(vtt_G19x4y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G19x4y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x4y7),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x4y7),7, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names16,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E20x4 : C20 , D0 {
+ int fd;
+ ~E20x4(); // tgen
+ E20x4(); // tgen
+};
+//SIG(-1 E20x4) C1{ BC2{ BC3{ Fi} BC4{ v1 Fi} v1 Fi} BC5{ Fi} Fi}
+
+
+E20x4 ::~E20x4(){ note_dtor("E20x4", this);} // tgen
+E20x4 ::E20x4(){ note_ctor("E20x4", this);} // tgen
+
+static void Test_E20x4()
+{
+ extern Class_Descriptor cd_E20x4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(5,7)];
+ init_test(&cd_E20x4, buf);
+ E20x4 *dp, &lv = *(dp=new (buf) E20x4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(32,24), "sizeof(E20x4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E20x4)");
+ check_base_class_offset(lv, (A0*)(C20*), ABISELECT(12,8), "E20x4");
+ check_base_class_offset(lv, (B1*)(C20*), 0, "E20x4");
+ check_base_class_offset(lv, (C20*), 0, "E20x4");
+ check_base_class_offset(lv, (D0*), ABISELECT(20,16), "E20x4");
+ check_field_offset(lv, fd, ABISELECT(24,20), "E20x4.fd");
+ test_class_info(&lv, &cd_E20x4);
+ dp->~E20x4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE20x4(Test_E20x4, "E20x4", ABISELECT(32,24));
+
+#else // __cplusplus
+
+extern void _ZN5E20x4C1Ev();
+extern void _ZN5E20x4D1Ev();
+Name_Map name_map_E20x4[] = {
+ NSPAIR(_ZN5E20x4C1Ev),
+ NSPAIR(_ZN5E20x4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E20x4[] = {
+ // 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_D0, 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 _ZTI5E20x4[];
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY vtc_E20x4[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x4[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+extern VTBL_ENTRY _ZTI5E20x4[];
+extern VTBL_ENTRY _ZTV5E20x4[];
+Class_Descriptor cd_E20x4 = { "E20x4", // class name
+ bases_E20x4, 4,
+ &(vtc_E20x4[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(32,24), // object size
+ NSPAIRA(_ZTI5E20x4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E20x4),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 G20x4y0 : E20x4 , F1 {
+ int ff;
+ ~G20x4y0(); // tgen
+ G20x4y0(); // tgen
+};
+//SIG(1 G20x4y0) C1{ BC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G20x4y0 ::~G20x4y0(){ note_dtor("G20x4y0", this);} // tgen
+G20x4y0 ::G20x4y0(){ note_ctor("G20x4y0", this);} // tgen
+
+static void Test_G20x4y0()
+{
+ extern Class_Descriptor cd_G20x4y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G20x4y0, buf);
+ G20x4y0 *dp, &lv = *(dp=new (buf) G20x4y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G20x4y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x4y0)");
+ check_base_class_offset(lv, (A0*)(C20*)(E20x4*), ABISELECT(12,8), "G20x4y0");
+ check_base_class_offset(lv, (B1*)(C20*)(E20x4*), 0, "G20x4y0");
+ check_base_class_offset(lv, (C20*)(E20x4*), 0, "G20x4y0");
+ check_base_class_offset(lv, (D0*)(E20x4*), ABISELECT(20,16), "G20x4y0");
+ check_base_class_offset(lv, (E20x4*), 0, "G20x4y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,24), "G20x4y0");
+ check_field_offset(lv, ff, ABISELECT(44,32), "G20x4y0.ff");
+ test_class_info(&lv, &cd_G20x4y0);
+ dp->~G20x4y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x4y0(Test_G20x4y0, "G20x4y0", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G20x4y0C1Ev();
+extern void _ZN7G20x4y0D1Ev();
+Name_Map name_map_G20x4y0[] = {
+ NSPAIR(_ZN7G20x4y0C1Ev),
+ NSPAIR(_ZN7G20x4y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E20x4;
+extern VTBL_ENTRY _ZTI5E20x4[];
+extern VTBL_ENTRY _ZTV5E20x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G20x4y0[] = {
+ // 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_D0, 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, 0},
+ {&cd_E20x4, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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,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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G20x4y0[];
+extern void _ZN3C203fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G20x4y0[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x4y0[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G20x4y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTI7G20x4y0[];
+extern VTBL_ENTRY _ZTV7G20x4y0[];
+Class_Descriptor cd_G20x4y0 = { "G20x4y0", // class name
+ bases_G20x4y0, 6,
+ &(vtc_G20x4y0[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G20x4y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x4y0),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 G20x4y1 : virtual E20x4 , F1 {
+ int ff;
+ ~G20x4y1(); // tgen
+ G20x4y1(); // tgen
+};
+//SIG(1 G20x4y1) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G20x4y1 ::~G20x4y1(){ note_dtor("G20x4y1", this);} // tgen
+G20x4y1 ::G20x4y1(){ note_ctor("G20x4y1", this);} // tgen
+
+static void Test_G20x4y1()
+{
+ extern Class_Descriptor cd_G20x4y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G20x4y1, buf);
+ G20x4y1 *dp, &lv = *(dp=new (buf) G20x4y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G20x4y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x4y1)");
+ check_base_class_offset(lv, (A0*)(C20*)(E20x4*), ABISELECT(28,20), "G20x4y1");
+ check_base_class_offset(lv, (B1*)(C20*)(E20x4*), ABISELECT(16,12), "G20x4y1");
+ check_base_class_offset(lv, (C20*)(E20x4*), ABISELECT(16,12), "G20x4y1");
+ check_base_class_offset(lv, (D0*)(E20x4*), ABISELECT(36,28), "G20x4y1");
+ check_base_class_offset(lv, (E20x4*), ABISELECT(16,12), "G20x4y1");
+ check_base_class_offset(lv, (F1*), 0, "G20x4y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G20x4y1.ff");
+ test_class_info(&lv, &cd_G20x4y1);
+ dp->~G20x4y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x4y1(Test_G20x4y1, "G20x4y1", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G20x4y1C1Ev();
+extern void _ZN7G20x4y1D1Ev();
+Name_Map name_map_G20x4y1[] = {
+ NSPAIR(_ZN7G20x4y1C1Ev),
+ NSPAIR(_ZN7G20x4y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E20x4;
+extern VTBL_ENTRY _ZTI5E20x4[];
+extern VTBL_ENTRY _ZTV5E20x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G20x4y1[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E20x4, 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 _ZTI7G20x4y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY vtc_G20x4y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x4y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G20x4y1[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x4y1[];
+static VTT_ENTRY vtt_G20x4y1[] = {
+ {&(_ZTV7G20x4y1[3]), 3,8},
+ {&(_ZTV7G20x4y1[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI7G20x4y1[];
+extern VTBL_ENTRY _ZTV7G20x4y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x4y1[];
+Class_Descriptor cd_G20x4y1 = { "G20x4y1", // class name
+ bases_G20x4y1, 6,
+ &(vtc_G20x4y1[0]), // expected_vtbl_contents
+ &(vtt_G20x4y1[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G20x4y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x4y1),8, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x4y1),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 G20x4y2 : E20x4 , virtual F1 {
+ int ff;
+ ~G20x4y2(); // tgen
+ G20x4y2(); // tgen
+};
+//SIG(1 G20x4y2) C1{ BC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G20x4y2 ::~G20x4y2(){ note_dtor("G20x4y2", this);} // tgen
+G20x4y2 ::G20x4y2(){ note_ctor("G20x4y2", this);} // tgen
+
+static void Test_G20x4y2()
+{
+ extern Class_Descriptor cd_G20x4y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G20x4y2, buf);
+ G20x4y2 *dp, &lv = *(dp=new (buf) G20x4y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G20x4y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x4y2)");
+ check_base_class_offset(lv, (A0*)(C20*)(E20x4*), ABISELECT(12,8), "G20x4y2");
+ check_base_class_offset(lv, (B1*)(C20*)(E20x4*), 0, "G20x4y2");
+ check_base_class_offset(lv, (C20*)(E20x4*), 0, "G20x4y2");
+ check_base_class_offset(lv, (D0*)(E20x4*), ABISELECT(20,16), "G20x4y2");
+ check_base_class_offset(lv, (E20x4*), 0, "G20x4y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,28), "G20x4y2");
+ check_field_offset(lv, ff, ABISELECT(28,24), "G20x4y2.ff");
+ test_class_info(&lv, &cd_G20x4y2);
+ dp->~G20x4y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x4y2(Test_G20x4y2, "G20x4y2", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G20x4y2C1Ev();
+extern void _ZN7G20x4y2D1Ev();
+Name_Map name_map_G20x4y2[] = {
+ NSPAIR(_ZN7G20x4y2C1Ev),
+ NSPAIR(_ZN7G20x4y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E20x4;
+extern VTBL_ENTRY _ZTI5E20x4[];
+extern VTBL_ENTRY _ZTV5E20x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G20x4y2[] = {
+ // 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_D0, 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, 0},
+ {&cd_E20x4, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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(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 _ZTI7G20x4y2[];
+extern void _ZN3C203fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G20x4y2[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x4y2[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI7G20x4y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x4y2[];
+static VTT_ENTRY vtt_G20x4y2[] = {
+ {&(_ZTV7G20x4y2[3]), 3,8},
+ {&(_ZTV7G20x4y2[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI7G20x4y2[];
+extern VTBL_ENTRY _ZTV7G20x4y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x4y2[];
+Class_Descriptor cd_G20x4y2 = { "G20x4y2", // class name
+ bases_G20x4y2, 6,
+ &(vtc_G20x4y2[0]), // expected_vtbl_contents
+ &(vtt_G20x4y2[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G20x4y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x4y2),8, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x4y2),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 G20x4y3 : virtual E20x4 , virtual F1 {
+ int ff;
+ ~G20x4y3(); // tgen
+ G20x4y3(); // tgen
+};
+//SIG(1 G20x4y3) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G20x4y3 ::~G20x4y3(){ note_dtor("G20x4y3", this);} // tgen
+G20x4y3 ::G20x4y3(){ note_ctor("G20x4y3", this);} // tgen
+
+static void Test_G20x4y3()
+{
+ extern Class_Descriptor cd_G20x4y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G20x4y3, buf);
+ G20x4y3 *dp, &lv = *(dp=new (buf) G20x4y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G20x4y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x4y3)");
+ check_base_class_offset(lv, (A0*)(C20*)(E20x4*), ABISELECT(28,16), "G20x4y3");
+ check_base_class_offset(lv, (B1*)(C20*)(E20x4*), ABISELECT(16,8), "G20x4y3");
+ check_base_class_offset(lv, (C20*)(E20x4*), ABISELECT(16,8), "G20x4y3");
+ check_base_class_offset(lv, (D0*)(E20x4*), ABISELECT(36,24), "G20x4y3");
+ check_base_class_offset(lv, (E20x4*), ABISELECT(16,8), "G20x4y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G20x4y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G20x4y3.ff");
+ test_class_info(&lv, &cd_G20x4y3);
+ dp->~G20x4y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x4y3(Test_G20x4y3, "G20x4y3", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G20x4y3C1Ev();
+extern void _ZN7G20x4y3D1Ev();
+Name_Map name_map_G20x4y3[] = {
+ NSPAIR(_ZN7G20x4y3C1Ev),
+ NSPAIR(_ZN7G20x4y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E20x4;
+extern VTBL_ENTRY _ZTI5E20x4[];
+extern VTBL_ENTRY _ZTV5E20x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G20x4y3[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E20x4, 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(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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G20x4y3[];
+extern void _ZN3C203fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G20x4y3[] = {
+ ABISELECT(48,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x4y3[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G20x4y3[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G20x4y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x4y3[];
+static VTT_ENTRY vtt_G20x4y3[] = {
+ {&(_ZTV7G20x4y3[4]), 4,12},
+ {&(_ZTV7G20x4y3[7]), 7,12},
+ {&(_ZTV7G20x4y3[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI7G20x4y3[];
+extern VTBL_ENTRY _ZTV7G20x4y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x4y3[];
+Class_Descriptor cd_G20x4y3 = { "G20x4y3", // class name
+ bases_G20x4y3, 6,
+ &(vtc_G20x4y3[0]), // expected_vtbl_contents
+ &(vtt_G20x4y3[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G20x4y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x4y3),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x4y3),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 G20x4y4 : E20x4 , F0 {
+ int ff;
+ ~G20x4y4(); // tgen
+ G20x4y4(); // tgen
+};
+//SIG(1 G20x4y4) C1{ BC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G20x4y4 ::~G20x4y4(){ note_dtor("G20x4y4", this);} // tgen
+G20x4y4 ::G20x4y4(){ note_ctor("G20x4y4", this);} // tgen
+
+static void Test_G20x4y4()
+{
+ extern Class_Descriptor cd_G20x4y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G20x4y4, buf);
+ G20x4y4 *dp, &lv = *(dp=new (buf) G20x4y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G20x4y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x4y4)");
+ check_base_class_offset(lv, (A0*)(C20*)(E20x4*), ABISELECT(12,8), "G20x4y4");
+ check_base_class_offset(lv, (B1*)(C20*)(E20x4*), 0, "G20x4y4");
+ check_base_class_offset(lv, (C20*)(E20x4*), 0, "G20x4y4");
+ check_base_class_offset(lv, (D0*)(E20x4*), ABISELECT(20,16), "G20x4y4");
+ check_base_class_offset(lv, (E20x4*), 0, "G20x4y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(28,24), "G20x4y4");
+ check_field_offset(lv, ff, ABISELECT(32,28), "G20x4y4.ff");
+ test_class_info(&lv, &cd_G20x4y4);
+ dp->~G20x4y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x4y4(Test_G20x4y4, "G20x4y4", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN7G20x4y4C1Ev();
+extern void _ZN7G20x4y4D1Ev();
+Name_Map name_map_G20x4y4[] = {
+ NSPAIR(_ZN7G20x4y4C1Ev),
+ NSPAIR(_ZN7G20x4y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E20x4;
+extern VTBL_ENTRY _ZTI5E20x4[];
+extern VTBL_ENTRY _ZTV5E20x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G20x4y4[] = {
+ // 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_D0, 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, 0},
+ {&cd_E20x4, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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(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 _ZTI7G20x4y4[];
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY vtc_G20x4y4[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x4y4[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+extern VTBL_ENTRY _ZTI7G20x4y4[];
+extern VTBL_ENTRY _ZTV7G20x4y4[];
+Class_Descriptor cd_G20x4y4 = { "G20x4y4", // class name
+ bases_G20x4y4, 6,
+ &(vtc_G20x4y4[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI7G20x4y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x4y4),3, //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 G20x4y5 : virtual E20x4 , F0 {
+ int ff;
+ ~G20x4y5(); // tgen
+ G20x4y5(); // tgen
+};
+//SIG(1 G20x4y5) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G20x4y5 ::~G20x4y5(){ note_dtor("G20x4y5", this);} // tgen
+G20x4y5 ::G20x4y5(){ note_ctor("G20x4y5", this);} // tgen
+
+static void Test_G20x4y5()
+{
+ extern Class_Descriptor cd_G20x4y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G20x4y5, buf);
+ G20x4y5 *dp, &lv = *(dp=new (buf) G20x4y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G20x4y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x4y5)");
+ check_base_class_offset(lv, (A0*)(C20*)(E20x4*), ABISELECT(28,20), "G20x4y5");
+ check_base_class_offset(lv, (B1*)(C20*)(E20x4*), ABISELECT(16,12), "G20x4y5");
+ check_base_class_offset(lv, (C20*)(E20x4*), ABISELECT(16,12), "G20x4y5");
+ check_base_class_offset(lv, (D0*)(E20x4*), ABISELECT(36,28), "G20x4y5");
+ check_base_class_offset(lv, (E20x4*), ABISELECT(16,12), "G20x4y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G20x4y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G20x4y5.ff");
+ test_class_info(&lv, &cd_G20x4y5);
+ dp->~G20x4y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x4y5(Test_G20x4y5, "G20x4y5", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G20x4y5C1Ev();
+extern void _ZN7G20x4y5D1Ev();
+Name_Map name_map_G20x4y5[] = {
+ NSPAIR(_ZN7G20x4y5C1Ev),
+ NSPAIR(_ZN7G20x4y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E20x4;
+extern VTBL_ENTRY _ZTI5E20x4[];
+extern VTBL_ENTRY _ZTV5E20x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G20x4y5[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E20x4, 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 _ZTI7G20x4y5[];
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY vtc_G20x4y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x4y5[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G20x4y5[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x4y5[];
+static VTT_ENTRY vtt_G20x4y5[] = {
+ {&(_ZTV7G20x4y5[3]), 3,7},
+ {&(_ZTV7G20x4y5[6]), 6,7},
+};
+extern VTBL_ENTRY _ZTI7G20x4y5[];
+extern VTBL_ENTRY _ZTV7G20x4y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x4y5[];
+Class_Descriptor cd_G20x4y5 = { "G20x4y5", // class name
+ bases_G20x4y5, 6,
+ &(vtc_G20x4y5[0]), // expected_vtbl_contents
+ &(vtt_G20x4y5[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G20x4y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x4y5),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x4y5),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 G20x4y6 : E20x4 , virtual F0 {
+ int ff;
+ ~G20x4y6(); // tgen
+ G20x4y6(); // tgen
+};
+//SIG(1 G20x4y6) C1{ BC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G20x4y6 ::~G20x4y6(){ note_dtor("G20x4y6", this);} // tgen
+G20x4y6 ::G20x4y6(){ note_ctor("G20x4y6", this);} // tgen
+
+static void Test_G20x4y6()
+{
+ extern Class_Descriptor cd_G20x4y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G20x4y6, buf);
+ G20x4y6 *dp, &lv = *(dp=new (buf) G20x4y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G20x4y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x4y6)");
+ check_base_class_offset(lv, (A0*)(C20*)(E20x4*), ABISELECT(12,8), "G20x4y6");
+ check_base_class_offset(lv, (B1*)(C20*)(E20x4*), 0, "G20x4y6");
+ check_base_class_offset(lv, (C20*)(E20x4*), 0, "G20x4y6");
+ check_base_class_offset(lv, (D0*)(E20x4*), ABISELECT(20,16), "G20x4y6");
+ check_base_class_offset(lv, (E20x4*), 0, "G20x4y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,28), "G20x4y6");
+ check_field_offset(lv, ff, ABISELECT(28,24), "G20x4y6.ff");
+ test_class_info(&lv, &cd_G20x4y6);
+ dp->~G20x4y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x4y6(Test_G20x4y6, "G20x4y6", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN7G20x4y6C1Ev();
+extern void _ZN7G20x4y6D1Ev();
+Name_Map name_map_G20x4y6[] = {
+ NSPAIR(_ZN7G20x4y6C1Ev),
+ NSPAIR(_ZN7G20x4y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E20x4;
+extern VTBL_ENTRY _ZTI5E20x4[];
+extern VTBL_ENTRY _ZTV5E20x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G20x4y6[] = {
+ // 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_D0, 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, 0},
+ {&cd_E20x4, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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(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 _ZTI7G20x4y6[];
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY vtc_G20x4y6[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x4y6[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x4y6[];
+static VTT_ENTRY vtt_G20x4y6[] = {
+ {&(_ZTV7G20x4y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G20x4y6[];
+extern VTBL_ENTRY _ZTV7G20x4y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x4y6[];
+Class_Descriptor cd_G20x4y6 = { "G20x4y6", // class name
+ bases_G20x4y6, 6,
+ &(vtc_G20x4y6[0]), // expected_vtbl_contents
+ &(vtt_G20x4y6[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI7G20x4y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x4y6),4, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x4y6),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 G20x4y7 : virtual E20x4 , virtual F0 {
+ int ff;
+ ~G20x4y7(); // tgen
+ G20x4y7(); // tgen
+};
+//SIG(1 G20x4y7) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G20x4y7 ::~G20x4y7(){ note_dtor("G20x4y7", this);} // tgen
+G20x4y7 ::G20x4y7(){ note_ctor("G20x4y7", this);} // tgen
+
+static void Test_G20x4y7()
+{
+ extern Class_Descriptor cd_G20x4y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G20x4y7, buf);
+ G20x4y7 *dp, &lv = *(dp=new (buf) G20x4y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G20x4y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x4y7)");
+ check_base_class_offset(lv, (A0*)(C20*)(E20x4*), ABISELECT(28,16), "G20x4y7");
+ check_base_class_offset(lv, (B1*)(C20*)(E20x4*), ABISELECT(16,8), "G20x4y7");
+ check_base_class_offset(lv, (C20*)(E20x4*), ABISELECT(16,8), "G20x4y7");
+ check_base_class_offset(lv, (D0*)(E20x4*), ABISELECT(36,24), "G20x4y7");
+ check_base_class_offset(lv, (E20x4*), ABISELECT(16,8), "G20x4y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G20x4y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G20x4y7.ff");
+ test_class_info(&lv, &cd_G20x4y7);
+ dp->~G20x4y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x4y7(Test_G20x4y7, "G20x4y7", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G20x4y7C1Ev();
+extern void _ZN7G20x4y7D1Ev();
+Name_Map name_map_G20x4y7[] = {
+ NSPAIR(_ZN7G20x4y7C1Ev),
+ NSPAIR(_ZN7G20x4y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E20x4;
+extern VTBL_ENTRY _ZTI5E20x4[];
+extern VTBL_ENTRY _ZTV5E20x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G20x4y7[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E20x4, 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(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 _ZTI7G20x4y7[];
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY vtc_G20x4y7[] = {
+ ABISELECT(44,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x4y7[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G20x4y7[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x4y7[];
+static VTT_ENTRY vtt_G20x4y7[] = {
+ {&(_ZTV7G20x4y7[4]), 4,8},
+ {&(_ZTV7G20x4y7[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI7G20x4y7[];
+extern VTBL_ENTRY _ZTV7G20x4y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x4y7[];
+Class_Descriptor cd_G20x4y7 = { "G20x4y7", // class name
+ bases_G20x4y7, 6,
+ &(vtc_G20x4y7[0]), // expected_vtbl_contents
+ &(vtt_G20x4y7[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G20x4y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x4y7),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x4y7),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 E21x4 : C21 , D0 {
+ int fd;
+ ~E21x4(); // tgen
+ E21x4(); // tgen
+};
+//SIG(-1 E21x4) C1{ BC2{ BC3{ v1 Fi} BC4{ v1 Fi} v1 Fi} BC5{ Fi} Fi}
+
+
+E21x4 ::~E21x4(){ note_dtor("E21x4", this);} // tgen
+E21x4 ::E21x4(){ note_ctor("E21x4", this);} // tgen
+
+static void Test_E21x4()
+{
+ extern Class_Descriptor cd_E21x4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E21x4, buf);
+ E21x4 *dp, &lv = *(dp=new (buf) E21x4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E21x4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E21x4)");
+ check_base_class_offset(lv, (A1*)(C21*), 0, "E21x4");
+ check_base_class_offset(lv, (B1*)(C21*), ABISELECT(16,8), "E21x4");
+ check_base_class_offset(lv, (C21*), 0, "E21x4");
+ check_base_class_offset(lv, (D0*), ABISELECT(32,20), "E21x4");
+ check_field_offset(lv, fd, ABISELECT(36,24), "E21x4.fd");
+ test_class_info(&lv, &cd_E21x4);
+ dp->~E21x4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE21x4(Test_E21x4, "E21x4", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E21x4C1Ev();
+extern void _ZN5E21x4D1Ev();
+Name_Map name_map_E21x4[] = {
+ NSPAIR(_ZN5E21x4C1Ev),
+ NSPAIR(_ZN5E21x4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E21x4[] = {
+ // 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_D0, 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 _ZTI5E21x4[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY vtc_E21x4[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x4[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E21x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+extern VTBL_ENTRY _ZTI5E21x4[];
+extern VTBL_ENTRY _ZTV5E21x4[];
+Class_Descriptor cd_E21x4 = { "E21x4", // class name
+ bases_E21x4, 4,
+ &(vtc_E21x4[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E21x4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E21x4),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 G21x4y0 : E21x4 , F1 {
+ int ff;
+ ~G21x4y0(); // tgen
+ G21x4y0(); // tgen
+};
+//SIG(1 G21x4y0) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G21x4y0 ::~G21x4y0(){ note_dtor("G21x4y0", this);} // tgen
+G21x4y0 ::G21x4y0(){ note_ctor("G21x4y0", this);} // tgen
+
+static void Test_G21x4y0()
+{
+ extern Class_Descriptor cd_G21x4y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G21x4y0, buf);
+ G21x4y0 *dp, &lv = *(dp=new (buf) G21x4y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G21x4y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x4y0)");
+ check_base_class_offset(lv, (A1*)(C21*)(E21x4*), 0, "G21x4y0");
+ check_base_class_offset(lv, (B1*)(C21*)(E21x4*), ABISELECT(16,8), "G21x4y0");
+ check_base_class_offset(lv, (C21*)(E21x4*), 0, "G21x4y0");
+ check_base_class_offset(lv, (D0*)(E21x4*), ABISELECT(32,20), "G21x4y0");
+ check_base_class_offset(lv, (E21x4*), 0, "G21x4y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(40,28), "G21x4y0");
+ check_field_offset(lv, ff, ABISELECT(52,36), "G21x4y0.ff");
+ test_class_info(&lv, &cd_G21x4y0);
+ dp->~G21x4y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x4y0(Test_G21x4y0, "G21x4y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G21x4y0C1Ev();
+extern void _ZN7G21x4y0D1Ev();
+Name_Map name_map_G21x4y0[] = {
+ NSPAIR(_ZN7G21x4y0C1Ev),
+ NSPAIR(_ZN7G21x4y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E21x4;
+extern VTBL_ENTRY _ZTI5E21x4[];
+extern VTBL_ENTRY _ZTV5E21x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G21x4y0[] = {
+ // 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_D0, 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, 0},
+ {&cd_E21x4, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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 _ZTI7G21x4y0[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G21x4y0[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x4y0[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G21x4y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G21x4y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTI7G21x4y0[];
+extern VTBL_ENTRY _ZTV7G21x4y0[];
+Class_Descriptor cd_G21x4y0 = { "G21x4y0", // class name
+ bases_G21x4y0, 6,
+ &(vtc_G21x4y0[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G21x4y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x4y0),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 G21x4y1 : virtual E21x4 , F1 {
+ int ff;
+ ~G21x4y1(); // tgen
+ G21x4y1(); // tgen
+};
+//SIG(1 G21x4y1) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G21x4y1 ::~G21x4y1(){ note_dtor("G21x4y1", this);} // tgen
+G21x4y1 ::G21x4y1(){ note_ctor("G21x4y1", this);} // tgen
+
+static void Test_G21x4y1()
+{
+ extern Class_Descriptor cd_G21x4y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G21x4y1, buf);
+ G21x4y1 *dp, &lv = *(dp=new (buf) G21x4y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G21x4y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x4y1)");
+ check_base_class_offset(lv, (A1*)(C21*)(E21x4*), ABISELECT(16,12), "G21x4y1");
+ check_base_class_offset(lv, (B1*)(C21*)(E21x4*), ABISELECT(32,20), "G21x4y1");
+ check_base_class_offset(lv, (C21*)(E21x4*), ABISELECT(16,12), "G21x4y1");
+ check_base_class_offset(lv, (D0*)(E21x4*), ABISELECT(48,32), "G21x4y1");
+ check_base_class_offset(lv, (E21x4*), ABISELECT(16,12), "G21x4y1");
+ check_base_class_offset(lv, (F1*), 0, "G21x4y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G21x4y1.ff");
+ test_class_info(&lv, &cd_G21x4y1);
+ dp->~G21x4y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x4y1(Test_G21x4y1, "G21x4y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G21x4y1C1Ev();
+extern void _ZN7G21x4y1D1Ev();
+Name_Map name_map_G21x4y1[] = {
+ NSPAIR(_ZN7G21x4y1C1Ev),
+ NSPAIR(_ZN7G21x4y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E21x4;
+extern VTBL_ENTRY _ZTI5E21x4[];
+extern VTBL_ENTRY _ZTV5E21x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G21x4y1[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E21x4, 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 _ZTI7G21x4y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY vtc_G21x4y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x4y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G21x4y1[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G21x4y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+extern VTBL_ENTRY _ZTV7G21x4y1[];
+static VTT_ENTRY vtt_G21x4y1[] = {
+ {&(_ZTV7G21x4y1[3]), 3,11},
+ {&(_ZTV7G21x4y1[7]), 7,11},
+ {&(_ZTV7G21x4y1[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI7G21x4y1[];
+extern VTBL_ENTRY _ZTV7G21x4y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x4y1[];
+Class_Descriptor cd_G21x4y1 = { "G21x4y1", // class name
+ bases_G21x4y1, 6,
+ &(vtc_G21x4y1[0]), // expected_vtbl_contents
+ &(vtt_G21x4y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G21x4y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x4y1),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x4y1),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 G21x4y2 : E21x4 , virtual F1 {
+ int ff;
+ ~G21x4y2(); // tgen
+ G21x4y2(); // tgen
+};
+//SIG(1 G21x4y2) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G21x4y2 ::~G21x4y2(){ note_dtor("G21x4y2", this);} // tgen
+G21x4y2 ::G21x4y2(){ note_ctor("G21x4y2", this);} // tgen
+
+static void Test_G21x4y2()
+{
+ extern Class_Descriptor cd_G21x4y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G21x4y2, buf);
+ G21x4y2 *dp, &lv = *(dp=new (buf) G21x4y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G21x4y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x4y2)");
+ check_base_class_offset(lv, (A1*)(C21*)(E21x4*), 0, "G21x4y2");
+ check_base_class_offset(lv, (B1*)(C21*)(E21x4*), ABISELECT(16,8), "G21x4y2");
+ check_base_class_offset(lv, (C21*)(E21x4*), 0, "G21x4y2");
+ check_base_class_offset(lv, (D0*)(E21x4*), ABISELECT(32,20), "G21x4y2");
+ check_base_class_offset(lv, (E21x4*), 0, "G21x4y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G21x4y2");
+ check_field_offset(lv, ff, ABISELECT(40,28), "G21x4y2.ff");
+ test_class_info(&lv, &cd_G21x4y2);
+ dp->~G21x4y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x4y2(Test_G21x4y2, "G21x4y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G21x4y2C1Ev();
+extern void _ZN7G21x4y2D1Ev();
+Name_Map name_map_G21x4y2[] = {
+ NSPAIR(_ZN7G21x4y2C1Ev),
+ NSPAIR(_ZN7G21x4y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E21x4;
+extern VTBL_ENTRY _ZTI5E21x4[];
+extern VTBL_ENTRY _ZTV5E21x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G21x4y2[] = {
+ // 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_D0, 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, 0},
+ {&cd_E21x4, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_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 _ZTI7G21x4y2[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G21x4y2[] = {
+ ABISELECT(48,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x4y2[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G21x4y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G21x4y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G21x4y2[];
+static VTT_ENTRY vtt_G21x4y2[] = {
+ {&(_ZTV7G21x4y2[3]), 3,11},
+ {&(_ZTV7G21x4y2[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI7G21x4y2[];
+extern VTBL_ENTRY _ZTV7G21x4y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x4y2[];
+Class_Descriptor cd_G21x4y2 = { "G21x4y2", // class name
+ bases_G21x4y2, 6,
+ &(vtc_G21x4y2[0]), // expected_vtbl_contents
+ &(vtt_G21x4y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G21x4y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x4y2),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x4y2),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 G21x4y3 : virtual E21x4 , virtual F1 {
+ int ff;
+ ~G21x4y3(); // tgen
+ G21x4y3(); // tgen
+};
+//SIG(1 G21x4y3) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G21x4y3 ::~G21x4y3(){ note_dtor("G21x4y3", this);} // tgen
+G21x4y3 ::G21x4y3(){ note_ctor("G21x4y3", this);} // tgen
+
+static void Test_G21x4y3()
+{
+ extern Class_Descriptor cd_G21x4y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G21x4y3, buf);
+ G21x4y3 *dp, &lv = *(dp=new (buf) G21x4y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G21x4y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x4y3)");
+ check_base_class_offset(lv, (A1*)(C21*)(E21x4*), ABISELECT(16,8), "G21x4y3");
+ check_base_class_offset(lv, (B1*)(C21*)(E21x4*), ABISELECT(32,16), "G21x4y3");
+ check_base_class_offset(lv, (C21*)(E21x4*), ABISELECT(16,8), "G21x4y3");
+ check_base_class_offset(lv, (D0*)(E21x4*), ABISELECT(48,28), "G21x4y3");
+ check_base_class_offset(lv, (E21x4*), ABISELECT(16,8), "G21x4y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G21x4y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G21x4y3.ff");
+ test_class_info(&lv, &cd_G21x4y3);
+ dp->~G21x4y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x4y3(Test_G21x4y3, "G21x4y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G21x4y3C1Ev();
+extern void _ZN7G21x4y3D1Ev();
+Name_Map name_map_G21x4y3[] = {
+ NSPAIR(_ZN7G21x4y3C1Ev),
+ NSPAIR(_ZN7G21x4y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E21x4;
+extern VTBL_ENTRY _ZTI5E21x4[];
+extern VTBL_ENTRY _ZTV5E21x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G21x4y3[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E21x4, 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 _ZTI7G21x4y3[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G21x4y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x4y3[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G21x4y3[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G21x4y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G21x4y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G21x4y3[];
+static VTT_ENTRY vtt_G21x4y3[] = {
+ {&(_ZTV7G21x4y3[4]), 4,15},
+ {&(_ZTV7G21x4y3[7]), 7,15},
+ {&(_ZTV7G21x4y3[10]), 10,15},
+ {&(_ZTV7G21x4y3[14]), 14,15},
+};
+extern VTBL_ENTRY _ZTI7G21x4y3[];
+extern VTBL_ENTRY _ZTV7G21x4y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x4y3[];
+Class_Descriptor cd_G21x4y3 = { "G21x4y3", // class name
+ bases_G21x4y3, 6,
+ &(vtc_G21x4y3[0]), // expected_vtbl_contents
+ &(vtt_G21x4y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G21x4y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x4y3),15, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x4y3),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 G21x4y4 : E21x4 , F0 {
+ int ff;
+ ~G21x4y4(); // tgen
+ G21x4y4(); // tgen
+};
+//SIG(1 G21x4y4) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G21x4y4 ::~G21x4y4(){ note_dtor("G21x4y4", this);} // tgen
+G21x4y4 ::G21x4y4(){ note_ctor("G21x4y4", this);} // tgen
+
+static void Test_G21x4y4()
+{
+ extern Class_Descriptor cd_G21x4y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G21x4y4, buf);
+ G21x4y4 *dp, &lv = *(dp=new (buf) G21x4y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G21x4y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x4y4)");
+ check_base_class_offset(lv, (A1*)(C21*)(E21x4*), 0, "G21x4y4");
+ check_base_class_offset(lv, (B1*)(C21*)(E21x4*), ABISELECT(16,8), "G21x4y4");
+ check_base_class_offset(lv, (C21*)(E21x4*), 0, "G21x4y4");
+ check_base_class_offset(lv, (D0*)(E21x4*), ABISELECT(32,20), "G21x4y4");
+ check_base_class_offset(lv, (E21x4*), 0, "G21x4y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(40,28), "G21x4y4");
+ check_field_offset(lv, ff, ABISELECT(44,32), "G21x4y4.ff");
+ test_class_info(&lv, &cd_G21x4y4);
+ dp->~G21x4y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x4y4(Test_G21x4y4, "G21x4y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G21x4y4C1Ev();
+extern void _ZN7G21x4y4D1Ev();
+Name_Map name_map_G21x4y4[] = {
+ NSPAIR(_ZN7G21x4y4C1Ev),
+ NSPAIR(_ZN7G21x4y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E21x4;
+extern VTBL_ENTRY _ZTI5E21x4[];
+extern VTBL_ENTRY _ZTV5E21x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G21x4y4[] = {
+ // 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_D0, 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, 0},
+ {&cd_E21x4, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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 _ZTI7G21x4y4[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY vtc_G21x4y4[] = {
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x4y4[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G21x4y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+extern VTBL_ENTRY _ZTI7G21x4y4[];
+extern VTBL_ENTRY _ZTV7G21x4y4[];
+Class_Descriptor cd_G21x4y4 = { "G21x4y4", // class name
+ bases_G21x4y4, 6,
+ &(vtc_G21x4y4[0]), // expected_vtbl_contents
+ 0, //no vtt
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G21x4y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x4y4),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 G21x4y5 : virtual E21x4 , F0 {
+ int ff;
+ ~G21x4y5(); // tgen
+ G21x4y5(); // tgen
+};
+//SIG(1 G21x4y5) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G21x4y5 ::~G21x4y5(){ note_dtor("G21x4y5", this);} // tgen
+G21x4y5 ::G21x4y5(){ note_ctor("G21x4y5", this);} // tgen
+
+static void Test_G21x4y5()
+{
+ extern Class_Descriptor cd_G21x4y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G21x4y5, buf);
+ G21x4y5 *dp, &lv = *(dp=new (buf) G21x4y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G21x4y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x4y5)");
+ check_base_class_offset(lv, (A1*)(C21*)(E21x4*), ABISELECT(16,12), "G21x4y5");
+ check_base_class_offset(lv, (B1*)(C21*)(E21x4*), ABISELECT(32,20), "G21x4y5");
+ check_base_class_offset(lv, (C21*)(E21x4*), ABISELECT(16,12), "G21x4y5");
+ check_base_class_offset(lv, (D0*)(E21x4*), ABISELECT(48,32), "G21x4y5");
+ check_base_class_offset(lv, (E21x4*), ABISELECT(16,12), "G21x4y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G21x4y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G21x4y5.ff");
+ test_class_info(&lv, &cd_G21x4y5);
+ dp->~G21x4y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x4y5(Test_G21x4y5, "G21x4y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G21x4y5C1Ev();
+extern void _ZN7G21x4y5D1Ev();
+Name_Map name_map_G21x4y5[] = {
+ NSPAIR(_ZN7G21x4y5C1Ev),
+ NSPAIR(_ZN7G21x4y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E21x4;
+extern VTBL_ENTRY _ZTI5E21x4[];
+extern VTBL_ENTRY _ZTV5E21x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G21x4y5[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E21x4, 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 _ZTI7G21x4y5[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY vtc_G21x4y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x4y5[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G21x4y5[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G21x4y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+extern VTBL_ENTRY _ZTV7G21x4y5[];
+static VTT_ENTRY vtt_G21x4y5[] = {
+ {&(_ZTV7G21x4y5[3]), 3,10},
+ {&(_ZTV7G21x4y5[6]), 6,10},
+ {&(_ZTV7G21x4y5[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI7G21x4y5[];
+extern VTBL_ENTRY _ZTV7G21x4y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x4y5[];
+Class_Descriptor cd_G21x4y5 = { "G21x4y5", // class name
+ bases_G21x4y5, 6,
+ &(vtc_G21x4y5[0]), // expected_vtbl_contents
+ &(vtt_G21x4y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G21x4y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x4y5),10, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x4y5),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 G21x4y6 : E21x4 , virtual F0 {
+ int ff;
+ ~G21x4y6(); // tgen
+ G21x4y6(); // tgen
+};
+//SIG(1 G21x4y6) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G21x4y6 ::~G21x4y6(){ note_dtor("G21x4y6", this);} // tgen
+G21x4y6 ::G21x4y6(){ note_ctor("G21x4y6", this);} // tgen
+
+static void Test_G21x4y6()
+{
+ extern Class_Descriptor cd_G21x4y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G21x4y6, buf);
+ G21x4y6 *dp, &lv = *(dp=new (buf) G21x4y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G21x4y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x4y6)");
+ check_base_class_offset(lv, (A1*)(C21*)(E21x4*), 0, "G21x4y6");
+ check_base_class_offset(lv, (B1*)(C21*)(E21x4*), ABISELECT(16,8), "G21x4y6");
+ check_base_class_offset(lv, (C21*)(E21x4*), 0, "G21x4y6");
+ check_base_class_offset(lv, (D0*)(E21x4*), ABISELECT(32,20), "G21x4y6");
+ check_base_class_offset(lv, (E21x4*), 0, "G21x4y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G21x4y6");
+ check_field_offset(lv, ff, ABISELECT(40,28), "G21x4y6.ff");
+ test_class_info(&lv, &cd_G21x4y6);
+ dp->~G21x4y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x4y6(Test_G21x4y6, "G21x4y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G21x4y6C1Ev();
+extern void _ZN7G21x4y6D1Ev();
+Name_Map name_map_G21x4y6[] = {
+ NSPAIR(_ZN7G21x4y6C1Ev),
+ NSPAIR(_ZN7G21x4y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E21x4;
+extern VTBL_ENTRY _ZTI5E21x4[];
+extern VTBL_ENTRY _ZTV5E21x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G21x4y6[] = {
+ // 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_D0, 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, 0},
+ {&cd_E21x4, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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 _ZTI7G21x4y6[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY vtc_G21x4y6[] = {
+ ABISELECT(44,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x4y6[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G21x4y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+extern VTBL_ENTRY _ZTV7G21x4y6[];
+static VTT_ENTRY vtt_G21x4y6[] = {
+ {&(_ZTV7G21x4y6[3]), 3,7},
+};
+extern VTBL_ENTRY _ZTI7G21x4y6[];
+extern VTBL_ENTRY _ZTV7G21x4y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x4y6[];
+Class_Descriptor cd_G21x4y6 = { "G21x4y6", // class name
+ bases_G21x4y6, 6,
+ &(vtc_G21x4y6[0]), // expected_vtbl_contents
+ &(vtt_G21x4y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G21x4y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x4y6),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x4y6),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 G21x4y7 : virtual E21x4 , virtual F0 {
+ int ff;
+ ~G21x4y7(); // tgen
+ G21x4y7(); // tgen
+};
+//SIG(1 G21x4y7) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G21x4y7 ::~G21x4y7(){ note_dtor("G21x4y7", this);} // tgen
+G21x4y7 ::G21x4y7(){ note_ctor("G21x4y7", this);} // tgen
+
+static void Test_G21x4y7()
+{
+ extern Class_Descriptor cd_G21x4y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G21x4y7, buf);
+ G21x4y7 *dp, &lv = *(dp=new (buf) G21x4y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G21x4y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x4y7)");
+ check_base_class_offset(lv, (A1*)(C21*)(E21x4*), ABISELECT(16,8), "G21x4y7");
+ check_base_class_offset(lv, (B1*)(C21*)(E21x4*), ABISELECT(32,16), "G21x4y7");
+ check_base_class_offset(lv, (C21*)(E21x4*), ABISELECT(16,8), "G21x4y7");
+ check_base_class_offset(lv, (D0*)(E21x4*), ABISELECT(48,28), "G21x4y7");
+ check_base_class_offset(lv, (E21x4*), ABISELECT(16,8), "G21x4y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G21x4y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G21x4y7.ff");
+ test_class_info(&lv, &cd_G21x4y7);
+ dp->~G21x4y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x4y7(Test_G21x4y7, "G21x4y7", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G21x4y7C1Ev();
+extern void _ZN7G21x4y7D1Ev();
+Name_Map name_map_G21x4y7[] = {
+ NSPAIR(_ZN7G21x4y7C1Ev),
+ NSPAIR(_ZN7G21x4y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E21x4;
+extern VTBL_ENTRY _ZTI5E21x4[];
+extern VTBL_ENTRY _ZTV5E21x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G21x4y7[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_E21x4, 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 _ZTI7G21x4y7[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY vtc_G21x4y7[] = {
+ ABISELECT(56,36),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x4y7[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G21x4y7[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G21x4y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+extern VTBL_ENTRY _ZTV7G21x4y7[];
+static VTT_ENTRY vtt_G21x4y7[] = {
+ {&(_ZTV7G21x4y7[4]), 4,11},
+ {&(_ZTV7G21x4y7[7]), 7,11},
+ {&(_ZTV7G21x4y7[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI7G21x4y7[];
+extern VTBL_ENTRY _ZTV7G21x4y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x4y7[];
+Class_Descriptor cd_G21x4y7 = { "G21x4y7", // class name
+ bases_G21x4y7, 6,
+ &(vtc_G21x4y7[0]), // expected_vtbl_contents
+ &(vtt_G21x4y7[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G21x4y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x4y7),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x4y7),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 E22x4 : C22 , D0 {
+ int fd;
+ ~E22x4(); // tgen
+ E22x4(); // tgen
+};
+//SIG(-1 E22x4) C1{ BC2{ VBC3{ Fi} BC4{ v1 Fi} v1 Fi} BC5{ Fi} Fi}
+
+
+E22x4 ::~E22x4(){ note_dtor("E22x4", this);} // tgen
+E22x4 ::E22x4(){ note_ctor("E22x4", this);} // tgen
+
+static void Test_E22x4()
+{
+ extern Class_Descriptor cd_E22x4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(5,7)];
+ init_test(&cd_E22x4, buf);
+ E22x4 *dp, &lv = *(dp=new (buf) E22x4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(32,24), "sizeof(E22x4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E22x4)");
+ check_base_class_offset(lv, (A0*)(C22*), ABISELECT(24,20), "E22x4");
+ check_base_class_offset(lv, (B1*)(C22*), 0, "E22x4");
+ check_base_class_offset(lv, (C22*), 0, "E22x4");
+ check_base_class_offset(lv, (D0*), ABISELECT(16,12), "E22x4");
+ check_field_offset(lv, fd, ABISELECT(20,16), "E22x4.fd");
+ test_class_info(&lv, &cd_E22x4);
+ dp->~E22x4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE22x4(Test_E22x4, "E22x4", ABISELECT(32,24));
+
+#else // __cplusplus
+
+extern void _ZN5E22x4C1Ev();
+extern void _ZN5E22x4D1Ev();
+Name_Map name_map_E22x4[] = {
+ NSPAIR(_ZN5E22x4C1Ev),
+ NSPAIR(_ZN5E22x4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E22x4[] = {
+ // 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
+ 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E22x4[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY vtc_E22x4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x4[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern VTBL_ENTRY _ZTV5E22x4[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__5E22x4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_E22x4[] = {
+ {&(_ZTV5E22x4[3]), 3,4},
+ {&(_tg__ZTV3C22__5E22x4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E22x4[];
+extern VTBL_ENTRY _ZTV5E22x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x4[];
+Class_Descriptor cd_E22x4 = { "E22x4", // class name
+ bases_E22x4, 4,
+ &(vtc_E22x4[0]), // expected_vtbl_contents
+ &(vtt_E22x4[0]), // expected_vtt_contents
+ ABISELECT(32,24), // object size
+ NSPAIRA(_ZTI5E22x4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E22x4),4, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E22x4),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 G22x4y0 : E22x4 , F1 {
+ int ff;
+ ~G22x4y0(); // tgen
+ G22x4y0(); // tgen
+};
+//SIG(1 G22x4y0) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G22x4y0 ::~G22x4y0(){ note_dtor("G22x4y0", this);} // tgen
+G22x4y0 ::G22x4y0(){ note_ctor("G22x4y0", this);} // tgen
+
+static void Test_G22x4y0()
+{
+ extern Class_Descriptor cd_G22x4y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G22x4y0, buf);
+ G22x4y0 *dp, &lv = *(dp=new (buf) G22x4y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G22x4y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x4y0)");
+ check_base_class_offset(lv, (A0*)(C22*)(E22x4*), ABISELECT(40,32), "G22x4y0");
+ check_base_class_offset(lv, (B1*)(C22*)(E22x4*), 0, "G22x4y0");
+ check_base_class_offset(lv, (C22*)(E22x4*), 0, "G22x4y0");
+ check_base_class_offset(lv, (D0*)(E22x4*), ABISELECT(16,12), "G22x4y0");
+ check_base_class_offset(lv, (E22x4*), 0, "G22x4y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,20), "G22x4y0");
+ check_field_offset(lv, ff, ABISELECT(36,28), "G22x4y0.ff");
+ test_class_info(&lv, &cd_G22x4y0);
+ dp->~G22x4y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x4y0(Test_G22x4y0, "G22x4y0", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G22x4y0C1Ev();
+extern void _ZN7G22x4y0D1Ev();
+Name_Map name_map_G22x4y0[] = {
+ NSPAIR(_ZN7G22x4y0C1Ev),
+ NSPAIR(_ZN7G22x4y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E22x4;
+extern VTBL_ENTRY _ZTI5E22x4[];
+extern VTBL_ENTRY _ZTV5E22x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G22x4y0[] = {
+ // 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E22x4, 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 _ZTI7G22x4y0[];
+extern void _ZN3C223fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G22x4y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x4y0[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G22x4y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x4y0[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV5E22x4__7G22x4y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x4[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C225E22x4__7G22x4y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x4y0[] = {
+ {&(_ZTV7G22x4y0[3]), 3,7},
+ {&(_tg__ZTV5E22x4__7G22x4y0[3]), 3,4},
+ {&(_tg__ZTV3C225E22x4__7G22x4y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x4y0[];
+extern VTBL_ENTRY _ZTV7G22x4y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x4y0[];
+Class_Descriptor cd_G22x4y0 = { "G22x4y0", // class name
+ bases_G22x4y0, 6,
+ &(vtc_G22x4y0[0]), // expected_vtbl_contents
+ &(vtt_G22x4y0[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G22x4y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x4y0),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x4y0),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 G22x4y1 : virtual E22x4 , F1 {
+ int ff;
+ ~G22x4y1(); // tgen
+ G22x4y1(); // tgen
+};
+//SIG(1 G22x4y1) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G22x4y1 ::~G22x4y1(){ note_dtor("G22x4y1", this);} // tgen
+G22x4y1 ::G22x4y1(){ note_ctor("G22x4y1", this);} // tgen
+
+static void Test_G22x4y1()
+{
+ extern Class_Descriptor cd_G22x4y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G22x4y1, buf);
+ G22x4y1 *dp, &lv = *(dp=new (buf) G22x4y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G22x4y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x4y1)");
+ check_base_class_offset(lv, (A0*)(C22*)(E22x4*), ABISELECT(40,32), "G22x4y1");
+ check_base_class_offset(lv, (B1*)(C22*)(E22x4*), ABISELECT(16,12), "G22x4y1");
+ check_base_class_offset(lv, (C22*)(E22x4*), ABISELECT(16,12), "G22x4y1");
+ check_base_class_offset(lv, (D0*)(E22x4*), ABISELECT(32,24), "G22x4y1");
+ check_base_class_offset(lv, (E22x4*), ABISELECT(16,12), "G22x4y1");
+ check_base_class_offset(lv, (F1*), 0, "G22x4y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G22x4y1.ff");
+ test_class_info(&lv, &cd_G22x4y1);
+ dp->~G22x4y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x4y1(Test_G22x4y1, "G22x4y1", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G22x4y1C1Ev();
+extern void _ZN7G22x4y1D1Ev();
+Name_Map name_map_G22x4y1[] = {
+ NSPAIR(_ZN7G22x4y1C1Ev),
+ NSPAIR(_ZN7G22x4y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E22x4;
+extern VTBL_ENTRY _ZTI5E22x4[];
+extern VTBL_ENTRY _ZTV5E22x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G22x4y1[] = {
+ // 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(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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, 0},
+ {&cd_E22x4, 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
+ 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 _ZTI7G22x4y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY vtc_G22x4y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x4y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G22x4y1[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x4y1[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV5E22x4__7G22x4y1[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x4[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C225E22x4__7G22x4y1[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x4y1[] = {
+ {&(_ZTV7G22x4y1[4]), 4,10},
+ {&(_ZTV7G22x4y1[9]), 9,10},
+ {&(_tg__ZTV5E22x4__7G22x4y1[3]), 3,4},
+ {&(_tg__ZTV3C225E22x4__7G22x4y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x4y1[];
+extern VTBL_ENTRY _ZTV7G22x4y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x4y1[];
+Class_Descriptor cd_G22x4y1 = { "G22x4y1", // class name
+ bases_G22x4y1, 6,
+ &(vtc_G22x4y1[0]), // expected_vtbl_contents
+ &(vtt_G22x4y1[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G22x4y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x4y1),10, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x4y1),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 G22x4y2 : E22x4 , virtual F1 {
+ int ff;
+ ~G22x4y2(); // tgen
+ G22x4y2(); // tgen
+};
+//SIG(1 G22x4y2) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G22x4y2 ::~G22x4y2(){ note_dtor("G22x4y2", this);} // tgen
+G22x4y2 ::G22x4y2(){ note_ctor("G22x4y2", this);} // tgen
+
+static void Test_G22x4y2()
+{
+ extern Class_Descriptor cd_G22x4y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G22x4y2, buf);
+ G22x4y2 *dp, &lv = *(dp=new (buf) G22x4y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G22x4y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x4y2)");
+ check_base_class_offset(lv, (A0*)(C22*)(E22x4*), ABISELECT(28,24), "G22x4y2");
+ check_base_class_offset(lv, (B1*)(C22*)(E22x4*), 0, "G22x4y2");
+ check_base_class_offset(lv, (C22*)(E22x4*), 0, "G22x4y2");
+ check_base_class_offset(lv, (D0*)(E22x4*), ABISELECT(16,12), "G22x4y2");
+ check_base_class_offset(lv, (E22x4*), 0, "G22x4y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,28), "G22x4y2");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G22x4y2.ff");
+ test_class_info(&lv, &cd_G22x4y2);
+ dp->~G22x4y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x4y2(Test_G22x4y2, "G22x4y2", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G22x4y2C1Ev();
+extern void _ZN7G22x4y2D1Ev();
+Name_Map name_map_G22x4y2[] = {
+ NSPAIR(_ZN7G22x4y2C1Ev),
+ NSPAIR(_ZN7G22x4y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E22x4;
+extern VTBL_ENTRY _ZTI5E22x4[];
+extern VTBL_ENTRY _ZTV5E22x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G22x4y2[] = {
+ // 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E22x4, 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,28), //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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G22x4y2[];
+extern void _ZN3C223fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G22x4y2[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x4y2[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI7G22x4y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x4y2[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV5E22x4__7G22x4y2[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x4[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C225E22x4__7G22x4y2[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x4y2[] = {
+ {&(_ZTV7G22x4y2[4]), 4,9},
+ {&(_tg__ZTV5E22x4__7G22x4y2[3]), 3,4},
+ {&(_tg__ZTV3C225E22x4__7G22x4y2[3]), 3,4},
+ {&(_ZTV7G22x4y2[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI7G22x4y2[];
+extern VTBL_ENTRY _ZTV7G22x4y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x4y2[];
+Class_Descriptor cd_G22x4y2 = { "G22x4y2", // class name
+ bases_G22x4y2, 6,
+ &(vtc_G22x4y2[0]), // expected_vtbl_contents
+ &(vtt_G22x4y2[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G22x4y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x4y2),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x4y2),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 G22x4y3 : virtual E22x4 , virtual F1 {
+ int ff;
+ ~G22x4y3(); // tgen
+ G22x4y3(); // tgen
+};
+//SIG(1 G22x4y3) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G22x4y3 ::~G22x4y3(){ note_dtor("G22x4y3", this);} // tgen
+G22x4y3 ::G22x4y3(){ note_ctor("G22x4y3", this);} // tgen
+
+static void Test_G22x4y3()
+{
+ extern Class_Descriptor cd_G22x4y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G22x4y3, buf);
+ G22x4y3 *dp, &lv = *(dp=new (buf) G22x4y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G22x4y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x4y3)");
+ check_base_class_offset(lv, (A0*)(C22*)(E22x4*), ABISELECT(40,28), "G22x4y3");
+ check_base_class_offset(lv, (B1*)(C22*)(E22x4*), ABISELECT(16,8), "G22x4y3");
+ check_base_class_offset(lv, (C22*)(E22x4*), ABISELECT(16,8), "G22x4y3");
+ check_base_class_offset(lv, (D0*)(E22x4*), ABISELECT(32,20), "G22x4y3");
+ check_base_class_offset(lv, (E22x4*), ABISELECT(16,8), "G22x4y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G22x4y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G22x4y3.ff");
+ test_class_info(&lv, &cd_G22x4y3);
+ dp->~G22x4y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x4y3(Test_G22x4y3, "G22x4y3", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G22x4y3C1Ev();
+extern void _ZN7G22x4y3D1Ev();
+Name_Map name_map_G22x4y3[] = {
+ NSPAIR(_ZN7G22x4y3C1Ev),
+ NSPAIR(_ZN7G22x4y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E22x4;
+extern VTBL_ENTRY _ZTI5E22x4[];
+extern VTBL_ENTRY _ZTV5E22x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G22x4y3[] = {
+ // 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(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_D0, 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, 0},
+ {&cd_E22x4, 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_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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G22x4y3[];
+extern void _ZN3C223fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G22x4y3[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x4y3[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G22x4y3[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G22x4y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x4y3[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV5E22x4__7G22x4y3[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x4[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C225E22x4__7G22x4y3[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x4y3[] = {
+ {&(_ZTV7G22x4y3[5]), 5,14},
+ {&(_ZTV7G22x4y3[9]), 9,14},
+ {&(_ZTV7G22x4y3[13]), 13,14},
+ {&(_tg__ZTV5E22x4__7G22x4y3[3]), 3,4},
+ {&(_tg__ZTV3C225E22x4__7G22x4y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x4y3[];
+extern VTBL_ENTRY _ZTV7G22x4y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x4y3[];
+Class_Descriptor cd_G22x4y3 = { "G22x4y3", // class name
+ bases_G22x4y3, 6,
+ &(vtc_G22x4y3[0]), // expected_vtbl_contents
+ &(vtt_G22x4y3[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G22x4y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x4y3),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x4y3),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 G22x4y4 : E22x4 , F0 {
+ int ff;
+ ~G22x4y4(); // tgen
+ G22x4y4(); // tgen
+};
+//SIG(1 G22x4y4) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G22x4y4 ::~G22x4y4(){ note_dtor("G22x4y4", this);} // tgen
+G22x4y4 ::G22x4y4(){ note_ctor("G22x4y4", this);} // tgen
+
+static void Test_G22x4y4()
+{
+ extern Class_Descriptor cd_G22x4y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G22x4y4, buf);
+ G22x4y4 *dp, &lv = *(dp=new (buf) G22x4y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G22x4y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x4y4)");
+ check_base_class_offset(lv, (A0*)(C22*)(E22x4*), ABISELECT(32,28), "G22x4y4");
+ check_base_class_offset(lv, (B1*)(C22*)(E22x4*), 0, "G22x4y4");
+ check_base_class_offset(lv, (C22*)(E22x4*), 0, "G22x4y4");
+ check_base_class_offset(lv, (D0*)(E22x4*), ABISELECT(16,12), "G22x4y4");
+ check_base_class_offset(lv, (E22x4*), 0, "G22x4y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(24,20), "G22x4y4");
+ check_field_offset(lv, ff, ABISELECT(28,24), "G22x4y4.ff");
+ test_class_info(&lv, &cd_G22x4y4);
+ dp->~G22x4y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x4y4(Test_G22x4y4, "G22x4y4", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN7G22x4y4C1Ev();
+extern void _ZN7G22x4y4D1Ev();
+Name_Map name_map_G22x4y4[] = {
+ NSPAIR(_ZN7G22x4y4C1Ev),
+ NSPAIR(_ZN7G22x4y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E22x4;
+extern VTBL_ENTRY _ZTI5E22x4[];
+extern VTBL_ENTRY _ZTV5E22x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G22x4y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, 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
+ 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E22x4, 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 _ZTI7G22x4y4[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY vtc_G22x4y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x4y4[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x4y4[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV5E22x4__7G22x4y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x4[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C225E22x4__7G22x4y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x4y4[] = {
+ {&(_ZTV7G22x4y4[3]), 3,4},
+ {&(_tg__ZTV5E22x4__7G22x4y4[3]), 3,4},
+ {&(_tg__ZTV3C225E22x4__7G22x4y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x4y4[];
+extern VTBL_ENTRY _ZTV7G22x4y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x4y4[];
+Class_Descriptor cd_G22x4y4 = { "G22x4y4", // class name
+ bases_G22x4y4, 6,
+ &(vtc_G22x4y4[0]), // expected_vtbl_contents
+ &(vtt_G22x4y4[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI7G22x4y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x4y4),4, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x4y4),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 G22x4y5 : virtual E22x4 , F0 {
+ int ff;
+ ~G22x4y5(); // tgen
+ G22x4y5(); // tgen
+};
+//SIG(1 G22x4y5) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G22x4y5 ::~G22x4y5(){ note_dtor("G22x4y5", this);} // tgen
+G22x4y5 ::G22x4y5(){ note_ctor("G22x4y5", this);} // tgen
+
+static void Test_G22x4y5()
+{
+ extern Class_Descriptor cd_G22x4y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G22x4y5, buf);
+ G22x4y5 *dp, &lv = *(dp=new (buf) G22x4y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G22x4y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x4y5)");
+ check_base_class_offset(lv, (A0*)(C22*)(E22x4*), ABISELECT(40,32), "G22x4y5");
+ check_base_class_offset(lv, (B1*)(C22*)(E22x4*), ABISELECT(16,12), "G22x4y5");
+ check_base_class_offset(lv, (C22*)(E22x4*), ABISELECT(16,12), "G22x4y5");
+ check_base_class_offset(lv, (D0*)(E22x4*), ABISELECT(32,24), "G22x4y5");
+ check_base_class_offset(lv, (E22x4*), ABISELECT(16,12), "G22x4y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G22x4y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G22x4y5.ff");
+ test_class_info(&lv, &cd_G22x4y5);
+ dp->~G22x4y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x4y5(Test_G22x4y5, "G22x4y5", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G22x4y5C1Ev();
+extern void _ZN7G22x4y5D1Ev();
+Name_Map name_map_G22x4y5[] = {
+ NSPAIR(_ZN7G22x4y5C1Ev),
+ NSPAIR(_ZN7G22x4y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E22x4;
+extern VTBL_ENTRY _ZTI5E22x4[];
+extern VTBL_ENTRY _ZTV5E22x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G22x4y5[] = {
+ // 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(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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, 0},
+ {&cd_E22x4, 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
+ 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 _ZTI7G22x4y5[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY vtc_G22x4y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x4y5[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G22x4y5[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x4y5[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV5E22x4__7G22x4y5[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x4[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C225E22x4__7G22x4y5[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x4y5[] = {
+ {&(_ZTV7G22x4y5[4]), 4,9},
+ {&(_ZTV7G22x4y5[8]), 8,9},
+ {&(_tg__ZTV5E22x4__7G22x4y5[3]), 3,4},
+ {&(_tg__ZTV3C225E22x4__7G22x4y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x4y5[];
+extern VTBL_ENTRY _ZTV7G22x4y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x4y5[];
+Class_Descriptor cd_G22x4y5 = { "G22x4y5", // class name
+ bases_G22x4y5, 6,
+ &(vtc_G22x4y5[0]), // expected_vtbl_contents
+ &(vtt_G22x4y5[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G22x4y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x4y5),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x4y5),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 G22x4y6 : E22x4 , virtual F0 {
+ int ff;
+ ~G22x4y6(); // tgen
+ G22x4y6(); // tgen
+};
+//SIG(1 G22x4y6) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G22x4y6 ::~G22x4y6(){ note_dtor("G22x4y6", this);} // tgen
+G22x4y6 ::G22x4y6(){ note_ctor("G22x4y6", this);} // tgen
+
+static void Test_G22x4y6()
+{
+ extern Class_Descriptor cd_G22x4y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G22x4y6, buf);
+ G22x4y6 *dp, &lv = *(dp=new (buf) G22x4y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G22x4y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x4y6)");
+ check_base_class_offset(lv, (A0*)(C22*)(E22x4*), ABISELECT(28,24), "G22x4y6");
+ check_base_class_offset(lv, (B1*)(C22*)(E22x4*), 0, "G22x4y6");
+ check_base_class_offset(lv, (C22*)(E22x4*), 0, "G22x4y6");
+ check_base_class_offset(lv, (D0*)(E22x4*), ABISELECT(16,12), "G22x4y6");
+ check_base_class_offset(lv, (E22x4*), 0, "G22x4y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,28), "G22x4y6");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G22x4y6.ff");
+ test_class_info(&lv, &cd_G22x4y6);
+ dp->~G22x4y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x4y6(Test_G22x4y6, "G22x4y6", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN7G22x4y6C1Ev();
+extern void _ZN7G22x4y6D1Ev();
+Name_Map name_map_G22x4y6[] = {
+ NSPAIR(_ZN7G22x4y6C1Ev),
+ NSPAIR(_ZN7G22x4y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E22x4;
+extern VTBL_ENTRY _ZTI5E22x4[];
+extern VTBL_ENTRY _ZTV5E22x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G22x4y6[] = {
+ // 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
+ 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E22x4, 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,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 _ZTI7G22x4y6[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY vtc_G22x4y6[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x4y6[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x4y6[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV5E22x4__7G22x4y6[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x4[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C225E22x4__7G22x4y6[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x4y6[] = {
+ {&(_ZTV7G22x4y6[4]), 4,5},
+ {&(_tg__ZTV5E22x4__7G22x4y6[3]), 3,4},
+ {&(_tg__ZTV3C225E22x4__7G22x4y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x4y6[];
+extern VTBL_ENTRY _ZTV7G22x4y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x4y6[];
+Class_Descriptor cd_G22x4y6 = { "G22x4y6", // class name
+ bases_G22x4y6, 6,
+ &(vtc_G22x4y6[0]), // expected_vtbl_contents
+ &(vtt_G22x4y6[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI7G22x4y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x4y6),5, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x4y6),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 G22x4y7 : virtual E22x4 , virtual F0 {
+ int ff;
+ ~G22x4y7(); // tgen
+ G22x4y7(); // tgen
+};
+//SIG(1 G22x4y7) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G22x4y7 ::~G22x4y7(){ note_dtor("G22x4y7", this);} // tgen
+G22x4y7 ::G22x4y7(){ note_ctor("G22x4y7", this);} // tgen
+
+static void Test_G22x4y7()
+{
+ extern Class_Descriptor cd_G22x4y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G22x4y7, buf);
+ G22x4y7 *dp, &lv = *(dp=new (buf) G22x4y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G22x4y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x4y7)");
+ check_base_class_offset(lv, (A0*)(C22*)(E22x4*), ABISELECT(40,28), "G22x4y7");
+ check_base_class_offset(lv, (B1*)(C22*)(E22x4*), ABISELECT(16,8), "G22x4y7");
+ check_base_class_offset(lv, (C22*)(E22x4*), ABISELECT(16,8), "G22x4y7");
+ check_base_class_offset(lv, (D0*)(E22x4*), ABISELECT(32,20), "G22x4y7");
+ check_base_class_offset(lv, (E22x4*), ABISELECT(16,8), "G22x4y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G22x4y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G22x4y7.ff");
+ test_class_info(&lv, &cd_G22x4y7);
+ dp->~G22x4y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x4y7(Test_G22x4y7, "G22x4y7", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G22x4y7C1Ev();
+extern void _ZN7G22x4y7D1Ev();
+Name_Map name_map_G22x4y7[] = {
+ NSPAIR(_ZN7G22x4y7C1Ev),
+ NSPAIR(_ZN7G22x4y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E22x4;
+extern VTBL_ENTRY _ZTI5E22x4[];
+extern VTBL_ENTRY _ZTV5E22x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G22x4y7[] = {
+ // 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(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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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, 0},
+ {&cd_E22x4, 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
+ 3, //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 _ZTI7G22x4y7[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY vtc_G22x4y7[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x4y7[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G22x4y7[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x4y7[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV5E22x4__7G22x4y7[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x4[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C225E22x4__7G22x4y7[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x4y7[] = {
+ {&(_ZTV7G22x4y7[5]), 5,10},
+ {&(_ZTV7G22x4y7[9]), 9,10},
+ {&(_tg__ZTV5E22x4__7G22x4y7[3]), 3,4},
+ {&(_tg__ZTV3C225E22x4__7G22x4y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x4y7[];
+extern VTBL_ENTRY _ZTV7G22x4y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x4y7[];
+Class_Descriptor cd_G22x4y7 = { "G22x4y7", // class name
+ bases_G22x4y7, 6,
+ &(vtc_G22x4y7[0]), // expected_vtbl_contents
+ &(vtt_G22x4y7[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G22x4y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x4y7),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x4y7),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 E23x4 : C23 , D0 {
+ int fd;
+ ~E23x4(); // tgen
+ E23x4(); // tgen
+};
+//SIG(-1 E23x4) C1{ BC2{ VBC3{ v1 Fi} BC4{ v1 Fi} v1 Fi} BC5{ Fi} Fi}
+
+
+E23x4 ::~E23x4(){ note_dtor("E23x4", this);} // tgen
+E23x4 ::E23x4(){ note_ctor("E23x4", this);} // tgen
+
+static void Test_E23x4()
+{
+ extern Class_Descriptor cd_E23x4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E23x4, buf);
+ E23x4 *dp, &lv = *(dp=new (buf) E23x4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E23x4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E23x4)");
+ check_base_class_offset(lv, (A1*)(C23*), ABISELECT(24,20), "E23x4");
+ check_base_class_offset(lv, (B1*)(C23*), 0, "E23x4");
+ check_base_class_offset(lv, (C23*), 0, "E23x4");
+ check_base_class_offset(lv, (D0*), ABISELECT(16,12), "E23x4");
+ check_field_offset(lv, fd, ABISELECT(20,16), "E23x4.fd");
+ test_class_info(&lv, &cd_E23x4);
+ dp->~E23x4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE23x4(Test_E23x4, "E23x4", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E23x4C1Ev();
+extern void _ZN5E23x4D1Ev();
+Name_Map name_map_E23x4[] = {
+ NSPAIR(_ZN5E23x4C1Ev),
+ NSPAIR(_ZN5E23x4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E23x4[] = {
+ // 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)
+ 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E23x4[];
+extern void _ZN3C233fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn24_N3C233fooEv,_ZThn20_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_E23x4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x4[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E23x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern VTBL_ENTRY _ZTV5E23x4[];
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__5E23x4[] = {
+ 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__3C23__5E23x4[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_E23x4[] = {
+ {&(_ZTV5E23x4[3]), 3,8},
+ {&(_tg__ZTV3C23__5E23x4[3]), 3,4},
+ {&(_tg__ZTV2A1__3C23__5E23x4[3]), 3,4},
+ {&(_ZTV5E23x4[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI5E23x4[];
+extern VTBL_ENTRY _ZTV5E23x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x4[];
+static VTBL_ENTRY alt_thunk_names17[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C233fooEv,_ZThn20_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C233fooEv,_ZThn20_N3C233fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_E23x4 = { "E23x4", // class name
+ bases_E23x4, 4,
+ &(vtc_E23x4[0]), // expected_vtbl_contents
+ &(vtt_E23x4[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E23x4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E23x4),8, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E23x4),4, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names17,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x4y0 : E23x4 , F1 {
+ int ff;
+ ~G23x4y0(); // tgen
+ G23x4y0(); // tgen
+};
+//SIG(1 G23x4y0) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G23x4y0 ::~G23x4y0(){ note_dtor("G23x4y0", this);} // tgen
+G23x4y0 ::G23x4y0(){ note_ctor("G23x4y0", this);} // tgen
+
+static void Test_G23x4y0()
+{
+ extern Class_Descriptor cd_G23x4y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G23x4y0, buf);
+ G23x4y0 *dp, &lv = *(dp=new (buf) G23x4y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G23x4y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x4y0)");
+ check_base_class_offset(lv, (A1*)(C23*)(E23x4*), ABISELECT(40,32), "G23x4y0");
+ check_base_class_offset(lv, (B1*)(C23*)(E23x4*), 0, "G23x4y0");
+ check_base_class_offset(lv, (C23*)(E23x4*), 0, "G23x4y0");
+ check_base_class_offset(lv, (D0*)(E23x4*), ABISELECT(16,12), "G23x4y0");
+ check_base_class_offset(lv, (E23x4*), 0, "G23x4y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,20), "G23x4y0");
+ check_field_offset(lv, ff, ABISELECT(36,28), "G23x4y0.ff");
+ test_class_info(&lv, &cd_G23x4y0);
+ dp->~G23x4y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x4y0(Test_G23x4y0, "G23x4y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G23x4y0C1Ev();
+extern void _ZN7G23x4y0D1Ev();
+Name_Map name_map_G23x4y0[] = {
+ NSPAIR(_ZN7G23x4y0C1Ev),
+ NSPAIR(_ZN7G23x4y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E23x4;
+extern VTBL_ENTRY _ZTI5E23x4[];
+extern VTBL_ENTRY _ZTV5E23x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G23x4y0[] = {
+ // 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E23x4, 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 _ZTI7G23x4y0[];
+extern void _ZN3C233fooEv();
+extern void _ZN2F13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn40_N3C233fooEv,_ZThn32_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G23x4y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x4y0[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G23x4y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(-40,-32),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G23x4y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern VTBL_ENTRY _ZTV7G23x4y0[];
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV5E23x4__7G23x4y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x4[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C235E23x4__7G23x4y0[] = {
+ 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__3C235E23x4__7G23x4y0[] = {
+ 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__5E23x4__7G23x4y0[] = {
+ ABISELECT(-40,-32),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI5E23x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x4y0[] = {
+ {&(_ZTV7G23x4y0[3]), 3,11},
+ {&(_tg__ZTV5E23x4__7G23x4y0[3]), 3,4},
+ {&(_tg__ZTV3C235E23x4__7G23x4y0[3]), 3,4},
+ {&(_tg__ZTV2A1__3C235E23x4__7G23x4y0[3]), 3,4},
+ {&(_tg__ZTV2A1__5E23x4__7G23x4y0[3]), 3,4},
+ {&(_ZTV7G23x4y0[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI7G23x4y0[];
+extern VTBL_ENTRY _ZTV7G23x4y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x4y0[];
+static VTBL_ENTRY alt_thunk_names18[] = {
+ (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_G23x4y0 = { "G23x4y0", // class name
+ bases_G23x4y0, 6,
+ &(vtc_G23x4y0[0]), // expected_vtbl_contents
+ &(vtt_G23x4y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G23x4y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x4y0),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x4y0),6, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names18,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x4y1 : virtual E23x4 , F1 {
+ int ff;
+ ~G23x4y1(); // tgen
+ G23x4y1(); // tgen
+};
+//SIG(1 G23x4y1) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G23x4y1 ::~G23x4y1(){ note_dtor("G23x4y1", this);} // tgen
+G23x4y1 ::G23x4y1(){ note_ctor("G23x4y1", this);} // tgen
+
+static void Test_G23x4y1()
+{
+ extern Class_Descriptor cd_G23x4y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G23x4y1, buf);
+ G23x4y1 *dp, &lv = *(dp=new (buf) G23x4y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G23x4y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x4y1)");
+ check_base_class_offset(lv, (A1*)(C23*)(E23x4*), ABISELECT(40,32), "G23x4y1");
+ check_base_class_offset(lv, (B1*)(C23*)(E23x4*), ABISELECT(16,12), "G23x4y1");
+ check_base_class_offset(lv, (C23*)(E23x4*), ABISELECT(16,12), "G23x4y1");
+ check_base_class_offset(lv, (D0*)(E23x4*), ABISELECT(32,24), "G23x4y1");
+ check_base_class_offset(lv, (E23x4*), ABISELECT(16,12), "G23x4y1");
+ check_base_class_offset(lv, (F1*), 0, "G23x4y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G23x4y1.ff");
+ test_class_info(&lv, &cd_G23x4y1);
+ dp->~G23x4y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x4y1(Test_G23x4y1, "G23x4y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G23x4y1C1Ev();
+extern void _ZN7G23x4y1D1Ev();
+Name_Map name_map_G23x4y1[] = {
+ NSPAIR(_ZN7G23x4y1C1Ev),
+ NSPAIR(_ZN7G23x4y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E23x4;
+extern VTBL_ENTRY _ZTI5E23x4[];
+extern VTBL_ENTRY _ZTV5E23x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G23x4y1[] = {
+ // 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)
+ 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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, 0},
+ {&cd_E23x4, 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 _ZTI7G23x4y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C233fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn24_N3C233fooEv,_ZThn20_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G23x4y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x4y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G23x4y1[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G23x4y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern VTBL_ENTRY _ZTV7G23x4y1[];
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV5E23x4__7G23x4y1[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x4[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C235E23x4__7G23x4y1[] = {
+ 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__3C235E23x4__7G23x4y1[] = {
+ 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__5E23x4__7G23x4y1[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E23x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x4y1[] = {
+ {&(_ZTV7G23x4y1[4]), 4,14},
+ {&(_ZTV7G23x4y1[9]), 9,14},
+ {&(_ZTV7G23x4y1[13]), 13,14},
+ {&(_tg__ZTV5E23x4__7G23x4y1[3]), 3,4},
+ {&(_tg__ZTV3C235E23x4__7G23x4y1[3]), 3,4},
+ {&(_tg__ZTV2A1__3C235E23x4__7G23x4y1[3]), 3,4},
+ {&(_tg__ZTV2A1__5E23x4__7G23x4y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G23x4y1[];
+extern VTBL_ENTRY _ZTV7G23x4y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x4y1[];
+static VTBL_ENTRY alt_thunk_names19[] = {
+ (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_G23x4y1 = { "G23x4y1", // class name
+ bases_G23x4y1, 6,
+ &(vtc_G23x4y1[0]), // expected_vtbl_contents
+ &(vtt_G23x4y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G23x4y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x4y1),14, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x4y1),7, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names19,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x4y2 : E23x4 , virtual F1 {
+ int ff;
+ ~G23x4y2(); // tgen
+ G23x4y2(); // tgen
+};
+//SIG(1 G23x4y2) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G23x4y2 ::~G23x4y2(){ note_dtor("G23x4y2", this);} // tgen
+G23x4y2 ::G23x4y2(){ note_ctor("G23x4y2", this);} // tgen
+
+static void Test_G23x4y2()
+{
+ extern Class_Descriptor cd_G23x4y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G23x4y2, buf);
+ G23x4y2 *dp, &lv = *(dp=new (buf) G23x4y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G23x4y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x4y2)");
+ check_base_class_offset(lv, (A1*)(C23*)(E23x4*), ABISELECT(32,24), "G23x4y2");
+ check_base_class_offset(lv, (B1*)(C23*)(E23x4*), 0, "G23x4y2");
+ check_base_class_offset(lv, (C23*)(E23x4*), 0, "G23x4y2");
+ check_base_class_offset(lv, (D0*)(E23x4*), ABISELECT(16,12), "G23x4y2");
+ check_base_class_offset(lv, (E23x4*), 0, "G23x4y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G23x4y2");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G23x4y2.ff");
+ test_class_info(&lv, &cd_G23x4y2);
+ dp->~G23x4y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x4y2(Test_G23x4y2, "G23x4y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G23x4y2C1Ev();
+extern void _ZN7G23x4y2D1Ev();
+Name_Map name_map_G23x4y2[] = {
+ NSPAIR(_ZN7G23x4y2C1Ev),
+ NSPAIR(_ZN7G23x4y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E23x4;
+extern VTBL_ENTRY _ZTI5E23x4[];
+extern VTBL_ENTRY _ZTV5E23x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G23x4y2[] = {
+ // 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)
+ 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E23x4, 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)
+ 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 _ZTI7G23x4y2[];
+extern void _ZN3C233fooEv();
+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_G23x4y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x4y2[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G23x4y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G23x4y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G23x4y2[];
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV5E23x4__7G23x4y2[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x4[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C235E23x4__7G23x4y2[] = {
+ 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__3C235E23x4__7G23x4y2[] = {
+ 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__5E23x4__7G23x4y2[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E23x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x4y2[] = {
+ {&(_ZTV7G23x4y2[4]), 4,13},
+ {&(_tg__ZTV5E23x4__7G23x4y2[3]), 3,4},
+ {&(_tg__ZTV3C235E23x4__7G23x4y2[3]), 3,4},
+ {&(_tg__ZTV2A1__3C235E23x4__7G23x4y2[3]), 3,4},
+ {&(_tg__ZTV2A1__5E23x4__7G23x4y2[3]), 3,4},
+ {&(_ZTV7G23x4y2[8]), 8,13},
+ {&(_ZTV7G23x4y2[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI7G23x4y2[];
+extern VTBL_ENTRY _ZTV7G23x4y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x4y2[];
+static VTBL_ENTRY alt_thunk_names20[] = {
+ (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_G23x4y2 = { "G23x4y2", // class name
+ bases_G23x4y2, 6,
+ &(vtc_G23x4y2[0]), // expected_vtbl_contents
+ &(vtt_G23x4y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G23x4y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x4y2),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x4y2),7, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names20,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x4y3 : virtual E23x4 , virtual F1 {
+ int ff;
+ ~G23x4y3(); // tgen
+ G23x4y3(); // tgen
+};
+//SIG(1 G23x4y3) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G23x4y3 ::~G23x4y3(){ note_dtor("G23x4y3", this);} // tgen
+G23x4y3 ::G23x4y3(){ note_ctor("G23x4y3", this);} // tgen
+
+static void Test_G23x4y3()
+{
+ extern Class_Descriptor cd_G23x4y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G23x4y3, buf);
+ G23x4y3 *dp, &lv = *(dp=new (buf) G23x4y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G23x4y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x4y3)");
+ check_base_class_offset(lv, (A1*)(C23*)(E23x4*), ABISELECT(40,28), "G23x4y3");
+ check_base_class_offset(lv, (B1*)(C23*)(E23x4*), ABISELECT(16,8), "G23x4y3");
+ check_base_class_offset(lv, (C23*)(E23x4*), ABISELECT(16,8), "G23x4y3");
+ check_base_class_offset(lv, (D0*)(E23x4*), ABISELECT(32,20), "G23x4y3");
+ check_base_class_offset(lv, (E23x4*), ABISELECT(16,8), "G23x4y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G23x4y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G23x4y3.ff");
+ test_class_info(&lv, &cd_G23x4y3);
+ dp->~G23x4y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x4y3(Test_G23x4y3, "G23x4y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G23x4y3C1Ev();
+extern void _ZN7G23x4y3D1Ev();
+Name_Map name_map_G23x4y3[] = {
+ NSPAIR(_ZN7G23x4y3C1Ev),
+ NSPAIR(_ZN7G23x4y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E23x4;
+extern VTBL_ENTRY _ZTI5E23x4[];
+extern VTBL_ENTRY _ZTV5E23x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G23x4y3[] = {
+ // 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_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_D0, 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, 0},
+ {&cd_E23x4, 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 _ZTI7G23x4y3[];
+extern void _ZN3C233fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn24_N3C233fooEv,_ZThn20_N3C233fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G23x4y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x4y3[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G23x4y3[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G23x4y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G23x4y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G23x4y3[];
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV5E23x4__7G23x4y3[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x4[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C235E23x4__7G23x4y3[] = {
+ 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__3C235E23x4__7G23x4y3[] = {
+ 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__5E23x4__7G23x4y3[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E23x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x4y3[] = {
+ {&(_ZTV7G23x4y3[5]), 5,18},
+ {&(_ZTV7G23x4y3[9]), 9,18},
+ {&(_ZTV7G23x4y3[13]), 13,18},
+ {&(_ZTV7G23x4y3[17]), 17,18},
+ {&(_tg__ZTV5E23x4__7G23x4y3[3]), 3,4},
+ {&(_tg__ZTV3C235E23x4__7G23x4y3[3]), 3,4},
+ {&(_tg__ZTV2A1__3C235E23x4__7G23x4y3[3]), 3,4},
+ {&(_tg__ZTV2A1__5E23x4__7G23x4y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G23x4y3[];
+extern VTBL_ENTRY _ZTV7G23x4y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x4y3[];
+static VTBL_ENTRY alt_thunk_names21[] = {
+ (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_G23x4y3 = { "G23x4y3", // class name
+ bases_G23x4y3, 6,
+ &(vtc_G23x4y3[0]), // expected_vtbl_contents
+ &(vtt_G23x4y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G23x4y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x4y3),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x4y3),8, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names21,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x4y4 : E23x4 , F0 {
+ int ff;
+ ~G23x4y4(); // tgen
+ G23x4y4(); // tgen
+};
+//SIG(1 G23x4y4) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G23x4y4 ::~G23x4y4(){ note_dtor("G23x4y4", this);} // tgen
+G23x4y4 ::G23x4y4(){ note_ctor("G23x4y4", this);} // tgen
+
+static void Test_G23x4y4()
+{
+ extern Class_Descriptor cd_G23x4y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G23x4y4, buf);
+ G23x4y4 *dp, &lv = *(dp=new (buf) G23x4y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G23x4y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x4y4)");
+ check_base_class_offset(lv, (A1*)(C23*)(E23x4*), ABISELECT(32,28), "G23x4y4");
+ check_base_class_offset(lv, (B1*)(C23*)(E23x4*), 0, "G23x4y4");
+ check_base_class_offset(lv, (C23*)(E23x4*), 0, "G23x4y4");
+ check_base_class_offset(lv, (D0*)(E23x4*), ABISELECT(16,12), "G23x4y4");
+ check_base_class_offset(lv, (E23x4*), 0, "G23x4y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(24,20), "G23x4y4");
+ check_field_offset(lv, ff, ABISELECT(28,24), "G23x4y4.ff");
+ test_class_info(&lv, &cd_G23x4y4);
+ dp->~G23x4y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x4y4(Test_G23x4y4, "G23x4y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G23x4y4C1Ev();
+extern void _ZN7G23x4y4D1Ev();
+Name_Map name_map_G23x4y4[] = {
+ NSPAIR(_ZN7G23x4y4C1Ev),
+ NSPAIR(_ZN7G23x4y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E23x4;
+extern VTBL_ENTRY _ZTI5E23x4[];
+extern VTBL_ENTRY _ZTV5E23x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G23x4y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(32,28), //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
+ 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E23x4, 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 _ZTI7G23x4y4[];
+extern void _ZN3C233fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn32_N3C233fooEv,_ZThn28_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G23x4y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x4y4[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-32,-28),
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI7G23x4y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern VTBL_ENTRY _ZTV7G23x4y4[];
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV5E23x4__7G23x4y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x4[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C235E23x4__7G23x4y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn32_N3C233fooEv,_ZThn28_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__3C235E23x4__7G23x4y4[] = {
+ ABISELECT(-32,-28),
+ ABISELECT(-32,-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(_ZThn32_N3C233fooEv,_ZThn28_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2A1__5E23x4__7G23x4y4[] = {
+ ABISELECT(-32,-28),
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI5E23x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x4y4[] = {
+ {&(_ZTV7G23x4y4[3]), 3,8},
+ {&(_tg__ZTV5E23x4__7G23x4y4[3]), 3,4},
+ {&(_tg__ZTV3C235E23x4__7G23x4y4[3]), 3,4},
+ {&(_tg__ZTV2A1__3C235E23x4__7G23x4y4[3]), 3,4},
+ {&(_tg__ZTV2A1__5E23x4__7G23x4y4[3]), 3,4},
+ {&(_ZTV7G23x4y4[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI7G23x4y4[];
+extern VTBL_ENTRY _ZTV7G23x4y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x4y4[];
+static VTBL_ENTRY alt_thunk_names22[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C233fooEv,_ZThn28_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C233fooEv,_ZThn28_N3C233fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C233fooEv,_ZThn28_N3C233fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G23x4y4 = { "G23x4y4", // class name
+ bases_G23x4y4, 6,
+ &(vtc_G23x4y4[0]), // expected_vtbl_contents
+ &(vtt_G23x4y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G23x4y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x4y4),8, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x4y4),6, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names22,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x4y5 : virtual E23x4 , F0 {
+ int ff;
+ ~G23x4y5(); // tgen
+ G23x4y5(); // tgen
+};
+//SIG(1 G23x4y5) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G23x4y5 ::~G23x4y5(){ note_dtor("G23x4y5", this);} // tgen
+G23x4y5 ::G23x4y5(){ note_ctor("G23x4y5", this);} // tgen
+
+static void Test_G23x4y5()
+{
+ extern Class_Descriptor cd_G23x4y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G23x4y5, buf);
+ G23x4y5 *dp, &lv = *(dp=new (buf) G23x4y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G23x4y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x4y5)");
+ check_base_class_offset(lv, (A1*)(C23*)(E23x4*), ABISELECT(40,32), "G23x4y5");
+ check_base_class_offset(lv, (B1*)(C23*)(E23x4*), ABISELECT(16,12), "G23x4y5");
+ check_base_class_offset(lv, (C23*)(E23x4*), ABISELECT(16,12), "G23x4y5");
+ check_base_class_offset(lv, (D0*)(E23x4*), ABISELECT(32,24), "G23x4y5");
+ check_base_class_offset(lv, (E23x4*), ABISELECT(16,12), "G23x4y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G23x4y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G23x4y5.ff");
+ test_class_info(&lv, &cd_G23x4y5);
+ dp->~G23x4y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x4y5(Test_G23x4y5, "G23x4y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G23x4y5C1Ev();
+extern void _ZN7G23x4y5D1Ev();
+Name_Map name_map_G23x4y5[] = {
+ NSPAIR(_ZN7G23x4y5C1Ev),
+ NSPAIR(_ZN7G23x4y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E23x4;
+extern VTBL_ENTRY _ZTI5E23x4[];
+extern VTBL_ENTRY _ZTV5E23x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G23x4y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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
+ 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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, 0},
+ {&cd_E23x4, 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 _ZTI7G23x4y5[];
+extern void _ZN3C233fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn24_N3C233fooEv,_ZThn20_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G23x4y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x4y5[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G23x4y5[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G23x4y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern VTBL_ENTRY _ZTV7G23x4y5[];
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV5E23x4__7G23x4y5[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x4[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C235E23x4__7G23x4y5[] = {
+ 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__3C235E23x4__7G23x4y5[] = {
+ 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__5E23x4__7G23x4y5[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E23x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x4y5[] = {
+ {&(_ZTV7G23x4y5[4]), 4,13},
+ {&(_ZTV7G23x4y5[8]), 8,13},
+ {&(_ZTV7G23x4y5[12]), 12,13},
+ {&(_tg__ZTV5E23x4__7G23x4y5[3]), 3,4},
+ {&(_tg__ZTV3C235E23x4__7G23x4y5[3]), 3,4},
+ {&(_tg__ZTV2A1__3C235E23x4__7G23x4y5[3]), 3,4},
+ {&(_tg__ZTV2A1__5E23x4__7G23x4y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G23x4y5[];
+extern VTBL_ENTRY _ZTV7G23x4y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x4y5[];
+static VTBL_ENTRY alt_thunk_names23[] = {
+ (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_G23x4y5 = { "G23x4y5", // class name
+ bases_G23x4y5, 6,
+ &(vtc_G23x4y5[0]), // expected_vtbl_contents
+ &(vtt_G23x4y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G23x4y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x4y5),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x4y5),7, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names23,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x4y6 : E23x4 , virtual F0 {
+ int ff;
+ ~G23x4y6(); // tgen
+ G23x4y6(); // tgen
+};
+//SIG(1 G23x4y6) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G23x4y6 ::~G23x4y6(){ note_dtor("G23x4y6", this);} // tgen
+G23x4y6 ::G23x4y6(){ note_ctor("G23x4y6", this);} // tgen
+
+static void Test_G23x4y6()
+{
+ extern Class_Descriptor cd_G23x4y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G23x4y6, buf);
+ G23x4y6 *dp, &lv = *(dp=new (buf) G23x4y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G23x4y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x4y6)");
+ check_base_class_offset(lv, (A1*)(C23*)(E23x4*), ABISELECT(32,24), "G23x4y6");
+ check_base_class_offset(lv, (B1*)(C23*)(E23x4*), 0, "G23x4y6");
+ check_base_class_offset(lv, (C23*)(E23x4*), 0, "G23x4y6");
+ check_base_class_offset(lv, (D0*)(E23x4*), ABISELECT(16,12), "G23x4y6");
+ check_base_class_offset(lv, (E23x4*), 0, "G23x4y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G23x4y6");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G23x4y6.ff");
+ test_class_info(&lv, &cd_G23x4y6);
+ dp->~G23x4y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x4y6(Test_G23x4y6, "G23x4y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G23x4y6C1Ev();
+extern void _ZN7G23x4y6D1Ev();
+Name_Map name_map_G23x4y6[] = {
+ NSPAIR(_ZN7G23x4y6C1Ev),
+ NSPAIR(_ZN7G23x4y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E23x4;
+extern VTBL_ENTRY _ZTI5E23x4[];
+extern VTBL_ENTRY _ZTV5E23x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G23x4y6[] = {
+ // 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)
+ 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E23x4, 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 _ZTI7G23x4y6[];
+extern void _ZN3C233fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn32_N3C233fooEv,_ZThn24_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G23x4y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x4y6[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G23x4y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern VTBL_ENTRY _ZTV7G23x4y6[];
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV5E23x4__7G23x4y6[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x4[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C235E23x4__7G23x4y6[] = {
+ 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__3C235E23x4__7G23x4y6[] = {
+ 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__5E23x4__7G23x4y6[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E23x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x4y6[] = {
+ {&(_ZTV7G23x4y6[4]), 4,9},
+ {&(_tg__ZTV5E23x4__7G23x4y6[3]), 3,4},
+ {&(_tg__ZTV3C235E23x4__7G23x4y6[3]), 3,4},
+ {&(_tg__ZTV2A1__3C235E23x4__7G23x4y6[3]), 3,4},
+ {&(_tg__ZTV2A1__5E23x4__7G23x4y6[3]), 3,4},
+ {&(_ZTV7G23x4y6[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI7G23x4y6[];
+extern VTBL_ENTRY _ZTV7G23x4y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x4y6[];
+static VTBL_ENTRY alt_thunk_names24[] = {
+ (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_G23x4y6 = { "G23x4y6", // class name
+ bases_G23x4y6, 6,
+ &(vtc_G23x4y6[0]), // expected_vtbl_contents
+ &(vtt_G23x4y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G23x4y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x4y6),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x4y6),6, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names24,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x4y7 : virtual E23x4 , virtual F0 {
+ int ff;
+ ~G23x4y7(); // tgen
+ G23x4y7(); // tgen
+};
+//SIG(1 G23x4y7) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G23x4y7 ::~G23x4y7(){ note_dtor("G23x4y7", this);} // tgen
+G23x4y7 ::G23x4y7(){ note_ctor("G23x4y7", this);} // tgen
+
+static void Test_G23x4y7()
+{
+ extern Class_Descriptor cd_G23x4y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G23x4y7, buf);
+ G23x4y7 *dp, &lv = *(dp=new (buf) G23x4y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G23x4y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x4y7)");
+ check_base_class_offset(lv, (A1*)(C23*)(E23x4*), ABISELECT(40,28), "G23x4y7");
+ check_base_class_offset(lv, (B1*)(C23*)(E23x4*), ABISELECT(16,8), "G23x4y7");
+ check_base_class_offset(lv, (C23*)(E23x4*), ABISELECT(16,8), "G23x4y7");
+ check_base_class_offset(lv, (D0*)(E23x4*), ABISELECT(32,20), "G23x4y7");
+ check_base_class_offset(lv, (E23x4*), ABISELECT(16,8), "G23x4y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G23x4y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G23x4y7.ff");
+ test_class_info(&lv, &cd_G23x4y7);
+ dp->~G23x4y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x4y7(Test_G23x4y7, "G23x4y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G23x4y7C1Ev();
+extern void _ZN7G23x4y7D1Ev();
+Name_Map name_map_G23x4y7[] = {
+ NSPAIR(_ZN7G23x4y7C1Ev),
+ NSPAIR(_ZN7G23x4y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E23x4;
+extern VTBL_ENTRY _ZTI5E23x4[];
+extern VTBL_ENTRY _ZTV5E23x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G23x4y7[] = {
+ // 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_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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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, 0},
+ {&cd_E23x4, 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 _ZTI7G23x4y7[];
+extern void _ZN3C233fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn24_N3C233fooEv,_ZThn20_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G23x4y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x4y7[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G23x4y7[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G23x4y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern VTBL_ENTRY _ZTV7G23x4y7[];
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV5E23x4__7G23x4y7[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x4[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C235E23x4__7G23x4y7[] = {
+ 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__3C235E23x4__7G23x4y7[] = {
+ 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__5E23x4__7G23x4y7[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E23x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x4y7[] = {
+ {&(_ZTV7G23x4y7[5]), 5,14},
+ {&(_ZTV7G23x4y7[9]), 9,14},
+ {&(_ZTV7G23x4y7[13]), 13,14},
+ {&(_tg__ZTV5E23x4__7G23x4y7[3]), 3,4},
+ {&(_tg__ZTV3C235E23x4__7G23x4y7[3]), 3,4},
+ {&(_tg__ZTV2A1__3C235E23x4__7G23x4y7[3]), 3,4},
+ {&(_tg__ZTV2A1__5E23x4__7G23x4y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G23x4y7[];
+extern VTBL_ENTRY _ZTV7G23x4y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x4y7[];
+static VTBL_ENTRY alt_thunk_names25[] = {
+ (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_G23x4y7 = { "G23x4y7", // class name
+ bases_G23x4y7, 6,
+ &(vtc_G23x4y7[0]), // expected_vtbl_contents
+ &(vtt_G23x4y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G23x4y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x4y7),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x4y7),7, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names25,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E24x4 : C24 , D0 {
+ int fd;
+ ~E24x4(); // tgen
+ E24x4(); // tgen
+};
+//SIG(-1 E24x4) C1{ BC2{ BC3{ Fi} VBC4{ Fi} v1 Fi} BC5{ Fi} Fi}
+
+
+E24x4 ::~E24x4(){ note_dtor("E24x4", this);} // tgen
+E24x4 ::E24x4(){ note_ctor("E24x4", this);} // tgen
+
+static void Test_E24x4()
+{
+ extern Class_Descriptor cd_E24x4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(5,7)];
+ init_test(&cd_E24x4, buf);
+ E24x4 *dp, &lv = *(dp=new (buf) E24x4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(32,24), "sizeof(E24x4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E24x4)");
+ check_base_class_offset(lv, (A0*)(C24*), ABISELECT(8,4), "E24x4");
+ check_base_class_offset(lv, (B0*)(C24*), ABISELECT(24,20), "E24x4");
+ check_base_class_offset(lv, (C24*), 0, "E24x4");
+ check_base_class_offset(lv, (D0*), ABISELECT(16,12), "E24x4");
+ check_field_offset(lv, fd, ABISELECT(20,16), "E24x4.fd");
+ test_class_info(&lv, &cd_E24x4);
+ dp->~E24x4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE24x4(Test_E24x4, "E24x4", ABISELECT(32,24));
+
+#else // __cplusplus
+
+extern void _ZN5E24x4C1Ev();
+extern void _ZN5E24x4D1Ev();
+Name_Map name_map_E24x4[] = {
+ NSPAIR(_ZN5E24x4C1Ev),
+ NSPAIR(_ZN5E24x4D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E24x4[] = {
+ // 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
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E24x4[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY vtc_E24x4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x4[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern VTBL_ENTRY _ZTV5E24x4[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__5E24x4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_E24x4[] = {
+ {&(_ZTV5E24x4[3]), 3,4},
+ {&(_tg__ZTV3C24__5E24x4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E24x4[];
+extern VTBL_ENTRY _ZTV5E24x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x4[];
+Class_Descriptor cd_E24x4 = { "E24x4", // class name
+ bases_E24x4, 4,
+ &(vtc_E24x4[0]), // expected_vtbl_contents
+ &(vtt_E24x4[0]), // expected_vtt_contents
+ ABISELECT(32,24), // object size
+ NSPAIRA(_ZTI5E24x4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E24x4),4, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E24x4),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 G24x4y0 : E24x4 , F1 {
+ int ff;
+ ~G24x4y0(); // tgen
+ G24x4y0(); // tgen
+};
+//SIG(1 G24x4y0) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G24x4y0 ::~G24x4y0(){ note_dtor("G24x4y0", this);} // tgen
+G24x4y0 ::G24x4y0(){ note_ctor("G24x4y0", this);} // tgen
+
+static void Test_G24x4y0()
+{
+ extern Class_Descriptor cd_G24x4y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G24x4y0, buf);
+ G24x4y0 *dp, &lv = *(dp=new (buf) G24x4y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G24x4y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x4y0)");
+ check_base_class_offset(lv, (A0*)(C24*)(E24x4*), ABISELECT(8,4), "G24x4y0");
+ check_base_class_offset(lv, (B0*)(C24*)(E24x4*), ABISELECT(40,32), "G24x4y0");
+ check_base_class_offset(lv, (C24*)(E24x4*), 0, "G24x4y0");
+ check_base_class_offset(lv, (D0*)(E24x4*), ABISELECT(16,12), "G24x4y0");
+ check_base_class_offset(lv, (E24x4*), 0, "G24x4y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,20), "G24x4y0");
+ check_field_offset(lv, ff, ABISELECT(36,28), "G24x4y0.ff");
+ test_class_info(&lv, &cd_G24x4y0);
+ dp->~G24x4y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x4y0(Test_G24x4y0, "G24x4y0", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G24x4y0C1Ev();
+extern void _ZN7G24x4y0D1Ev();
+Name_Map name_map_G24x4y0[] = {
+ NSPAIR(_ZN7G24x4y0C1Ev),
+ NSPAIR(_ZN7G24x4y0D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E24x4;
+extern VTBL_ENTRY _ZTI5E24x4[];
+extern VTBL_ENTRY _ZTV5E24x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G24x4y0[] = {
+ // 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E24x4, 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
+ 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 _ZTI7G24x4y0[];
+extern void _ZN3C243fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G24x4y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x4y0[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G24x4y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x4y0[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV5E24x4__7G24x4y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x4[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C245E24x4__7G24x4y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x4y0[] = {
+ {&(_ZTV7G24x4y0[3]), 3,7},
+ {&(_tg__ZTV5E24x4__7G24x4y0[3]), 3,4},
+ {&(_tg__ZTV3C245E24x4__7G24x4y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x4y0[];
+extern VTBL_ENTRY _ZTV7G24x4y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x4y0[];
+Class_Descriptor cd_G24x4y0 = { "G24x4y0", // class name
+ bases_G24x4y0, 6,
+ &(vtc_G24x4y0[0]), // expected_vtbl_contents
+ &(vtt_G24x4y0[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G24x4y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x4y0),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x4y0),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 G24x4y1 : virtual E24x4 , F1 {
+ int ff;
+ ~G24x4y1(); // tgen
+ G24x4y1(); // tgen
+};
+//SIG(1 G24x4y1) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G24x4y1 ::~G24x4y1(){ note_dtor("G24x4y1", this);} // tgen
+G24x4y1 ::G24x4y1(){ note_ctor("G24x4y1", this);} // tgen
+
+static void Test_G24x4y1()
+{
+ extern Class_Descriptor cd_G24x4y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G24x4y1, buf);
+ G24x4y1 *dp, &lv = *(dp=new (buf) G24x4y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G24x4y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x4y1)");
+ check_base_class_offset(lv, (A0*)(C24*)(E24x4*), ABISELECT(24,16), "G24x4y1");
+ check_base_class_offset(lv, (B0*)(C24*)(E24x4*), ABISELECT(40,32), "G24x4y1");
+ check_base_class_offset(lv, (C24*)(E24x4*), ABISELECT(16,12), "G24x4y1");
+ check_base_class_offset(lv, (D0*)(E24x4*), ABISELECT(32,24), "G24x4y1");
+ check_base_class_offset(lv, (E24x4*), ABISELECT(16,12), "G24x4y1");
+ check_base_class_offset(lv, (F1*), 0, "G24x4y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G24x4y1.ff");
+ test_class_info(&lv, &cd_G24x4y1);
+ dp->~G24x4y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x4y1(Test_G24x4y1, "G24x4y1", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G24x4y1C1Ev();
+extern void _ZN7G24x4y1D1Ev();
+Name_Map name_map_G24x4y1[] = {
+ NSPAIR(_ZN7G24x4y1C1Ev),
+ NSPAIR(_ZN7G24x4y1D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E24x4;
+extern VTBL_ENTRY _ZTI5E24x4[];
+extern VTBL_ENTRY _ZTV5E24x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G24x4y1[] = {
+ // 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(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(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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, 0},
+ {&cd_E24x4, 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 _ZTI7G24x4y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY vtc_G24x4y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x4y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G24x4y1[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x4y1[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV5E24x4__7G24x4y1[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x4[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C245E24x4__7G24x4y1[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x4y1[] = {
+ {&(_ZTV7G24x4y1[4]), 4,10},
+ {&(_ZTV7G24x4y1[9]), 9,10},
+ {&(_tg__ZTV5E24x4__7G24x4y1[3]), 3,4},
+ {&(_tg__ZTV3C245E24x4__7G24x4y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x4y1[];
+extern VTBL_ENTRY _ZTV7G24x4y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x4y1[];
+Class_Descriptor cd_G24x4y1 = { "G24x4y1", // class name
+ bases_G24x4y1, 6,
+ &(vtc_G24x4y1[0]), // expected_vtbl_contents
+ &(vtt_G24x4y1[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G24x4y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x4y1),10, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x4y1),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 G24x4y2 : E24x4 , virtual F1 {
+ int ff;
+ ~G24x4y2(); // tgen
+ G24x4y2(); // tgen
+};
+//SIG(1 G24x4y2) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G24x4y2 ::~G24x4y2(){ note_dtor("G24x4y2", this);} // tgen
+G24x4y2 ::G24x4y2(){ note_ctor("G24x4y2", this);} // tgen
+
+static void Test_G24x4y2()
+{
+ extern Class_Descriptor cd_G24x4y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G24x4y2, buf);
+ G24x4y2 *dp, &lv = *(dp=new (buf) G24x4y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G24x4y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x4y2)");
+ check_base_class_offset(lv, (A0*)(C24*)(E24x4*), ABISELECT(8,4), "G24x4y2");
+ check_base_class_offset(lv, (B0*)(C24*)(E24x4*), ABISELECT(28,24), "G24x4y2");
+ check_base_class_offset(lv, (C24*)(E24x4*), 0, "G24x4y2");
+ check_base_class_offset(lv, (D0*)(E24x4*), ABISELECT(16,12), "G24x4y2");
+ check_base_class_offset(lv, (E24x4*), 0, "G24x4y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,28), "G24x4y2");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G24x4y2.ff");
+ test_class_info(&lv, &cd_G24x4y2);
+ dp->~G24x4y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x4y2(Test_G24x4y2, "G24x4y2", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G24x4y2C1Ev();
+extern void _ZN7G24x4y2D1Ev();
+Name_Map name_map_G24x4y2[] = {
+ NSPAIR(_ZN7G24x4y2C1Ev),
+ NSPAIR(_ZN7G24x4y2D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E24x4;
+extern VTBL_ENTRY _ZTI5E24x4[];
+extern VTBL_ENTRY _ZTV5E24x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G24x4y2[] = {
+ // 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E24x4, 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)
+ 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 _ZTI7G24x4y2[];
+extern void _ZN3C243fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G24x4y2[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x4y2[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI7G24x4y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x4y2[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV5E24x4__7G24x4y2[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x4[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C245E24x4__7G24x4y2[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x4y2[] = {
+ {&(_ZTV7G24x4y2[4]), 4,9},
+ {&(_tg__ZTV5E24x4__7G24x4y2[3]), 3,4},
+ {&(_tg__ZTV3C245E24x4__7G24x4y2[3]), 3,4},
+ {&(_ZTV7G24x4y2[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI7G24x4y2[];
+extern VTBL_ENTRY _ZTV7G24x4y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x4y2[];
+Class_Descriptor cd_G24x4y2 = { "G24x4y2", // class name
+ bases_G24x4y2, 6,
+ &(vtc_G24x4y2[0]), // expected_vtbl_contents
+ &(vtt_G24x4y2[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G24x4y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x4y2),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x4y2),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 G24x4y3 : virtual E24x4 , virtual F1 {
+ int ff;
+ ~G24x4y3(); // tgen
+ G24x4y3(); // tgen
+};
+//SIG(1 G24x4y3) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G24x4y3 ::~G24x4y3(){ note_dtor("G24x4y3", this);} // tgen
+G24x4y3 ::G24x4y3(){ note_ctor("G24x4y3", this);} // tgen
+
+static void Test_G24x4y3()
+{
+ extern Class_Descriptor cd_G24x4y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G24x4y3, buf);
+ G24x4y3 *dp, &lv = *(dp=new (buf) G24x4y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G24x4y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x4y3)");
+ check_base_class_offset(lv, (A0*)(C24*)(E24x4*), ABISELECT(24,12), "G24x4y3");
+ check_base_class_offset(lv, (B0*)(C24*)(E24x4*), ABISELECT(40,28), "G24x4y3");
+ check_base_class_offset(lv, (C24*)(E24x4*), ABISELECT(16,8), "G24x4y3");
+ check_base_class_offset(lv, (D0*)(E24x4*), ABISELECT(32,20), "G24x4y3");
+ check_base_class_offset(lv, (E24x4*), ABISELECT(16,8), "G24x4y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G24x4y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G24x4y3.ff");
+ test_class_info(&lv, &cd_G24x4y3);
+ dp->~G24x4y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x4y3(Test_G24x4y3, "G24x4y3", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G24x4y3C1Ev();
+extern void _ZN7G24x4y3D1Ev();
+Name_Map name_map_G24x4y3[] = {
+ NSPAIR(_ZN7G24x4y3C1Ev),
+ NSPAIR(_ZN7G24x4y3D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E24x4;
+extern VTBL_ENTRY _ZTI5E24x4[];
+extern VTBL_ENTRY _ZTV5E24x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G24x4y3[] = {
+ // 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(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(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_D0, 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, 0},
+ {&cd_E24x4, 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 _ZTI7G24x4y3[];
+extern void _ZN3C243fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G24x4y3[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x4y3[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G24x4y3[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G24x4y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x4y3[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV5E24x4__7G24x4y3[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x4[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C245E24x4__7G24x4y3[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x4y3[] = {
+ {&(_ZTV7G24x4y3[5]), 5,14},
+ {&(_ZTV7G24x4y3[9]), 9,14},
+ {&(_ZTV7G24x4y3[13]), 13,14},
+ {&(_tg__ZTV5E24x4__7G24x4y3[3]), 3,4},
+ {&(_tg__ZTV3C245E24x4__7G24x4y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x4y3[];
+extern VTBL_ENTRY _ZTV7G24x4y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x4y3[];
+Class_Descriptor cd_G24x4y3 = { "G24x4y3", // class name
+ bases_G24x4y3, 6,
+ &(vtc_G24x4y3[0]), // expected_vtbl_contents
+ &(vtt_G24x4y3[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G24x4y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x4y3),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x4y3),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 G24x4y4 : E24x4 , F0 {
+ int ff;
+ ~G24x4y4(); // tgen
+ G24x4y4(); // tgen
+};
+//SIG(1 G24x4y4) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G24x4y4 ::~G24x4y4(){ note_dtor("G24x4y4", this);} // tgen
+G24x4y4 ::G24x4y4(){ note_ctor("G24x4y4", this);} // tgen
+
+static void Test_G24x4y4()
+{
+ extern Class_Descriptor cd_G24x4y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G24x4y4, buf);
+ G24x4y4 *dp, &lv = *(dp=new (buf) G24x4y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G24x4y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x4y4)");
+ check_base_class_offset(lv, (A0*)(C24*)(E24x4*), ABISELECT(8,4), "G24x4y4");
+ check_base_class_offset(lv, (B0*)(C24*)(E24x4*), ABISELECT(32,28), "G24x4y4");
+ check_base_class_offset(lv, (C24*)(E24x4*), 0, "G24x4y4");
+ check_base_class_offset(lv, (D0*)(E24x4*), ABISELECT(16,12), "G24x4y4");
+ check_base_class_offset(lv, (E24x4*), 0, "G24x4y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(24,20), "G24x4y4");
+ check_field_offset(lv, ff, ABISELECT(28,24), "G24x4y4.ff");
+ test_class_info(&lv, &cd_G24x4y4);
+ dp->~G24x4y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x4y4(Test_G24x4y4, "G24x4y4", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN7G24x4y4C1Ev();
+extern void _ZN7G24x4y4D1Ev();
+Name_Map name_map_G24x4y4[] = {
+ NSPAIR(_ZN7G24x4y4C1Ev),
+ NSPAIR(_ZN7G24x4y4D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E24x4;
+extern VTBL_ENTRY _ZTI5E24x4[];
+extern VTBL_ENTRY _ZTV5E24x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G24x4y4[] = {
+ // 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,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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E24x4, 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 _ZTI7G24x4y4[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY vtc_G24x4y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x4y4[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x4y4[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV5E24x4__7G24x4y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x4[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C245E24x4__7G24x4y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x4y4[] = {
+ {&(_ZTV7G24x4y4[3]), 3,4},
+ {&(_tg__ZTV5E24x4__7G24x4y4[3]), 3,4},
+ {&(_tg__ZTV3C245E24x4__7G24x4y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x4y4[];
+extern VTBL_ENTRY _ZTV7G24x4y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x4y4[];
+Class_Descriptor cd_G24x4y4 = { "G24x4y4", // class name
+ bases_G24x4y4, 6,
+ &(vtc_G24x4y4[0]), // expected_vtbl_contents
+ &(vtt_G24x4y4[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI7G24x4y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x4y4),4, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x4y4),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 G24x4y5 : virtual E24x4 , F0 {
+ int ff;
+ ~G24x4y5(); // tgen
+ G24x4y5(); // tgen
+};
+//SIG(1 G24x4y5) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G24x4y5 ::~G24x4y5(){ note_dtor("G24x4y5", this);} // tgen
+G24x4y5 ::G24x4y5(){ note_ctor("G24x4y5", this);} // tgen
+
+static void Test_G24x4y5()
+{
+ extern Class_Descriptor cd_G24x4y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G24x4y5, buf);
+ G24x4y5 *dp, &lv = *(dp=new (buf) G24x4y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G24x4y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x4y5)");
+ check_base_class_offset(lv, (A0*)(C24*)(E24x4*), ABISELECT(24,16), "G24x4y5");
+ check_base_class_offset(lv, (B0*)(C24*)(E24x4*), ABISELECT(40,32), "G24x4y5");
+ check_base_class_offset(lv, (C24*)(E24x4*), ABISELECT(16,12), "G24x4y5");
+ check_base_class_offset(lv, (D0*)(E24x4*), ABISELECT(32,24), "G24x4y5");
+ check_base_class_offset(lv, (E24x4*), ABISELECT(16,12), "G24x4y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G24x4y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G24x4y5.ff");
+ test_class_info(&lv, &cd_G24x4y5);
+ dp->~G24x4y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x4y5(Test_G24x4y5, "G24x4y5", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G24x4y5C1Ev();
+extern void _ZN7G24x4y5D1Ev();
+Name_Map name_map_G24x4y5[] = {
+ NSPAIR(_ZN7G24x4y5C1Ev),
+ NSPAIR(_ZN7G24x4y5D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E24x4;
+extern VTBL_ENTRY _ZTI5E24x4[];
+extern VTBL_ENTRY _ZTV5E24x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G24x4y5[] = {
+ // 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(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(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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, 0},
+ {&cd_E24x4, 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 _ZTI7G24x4y5[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY vtc_G24x4y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x4y5[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G24x4y5[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x4y5[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV5E24x4__7G24x4y5[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x4[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C245E24x4__7G24x4y5[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x4y5[] = {
+ {&(_ZTV7G24x4y5[4]), 4,9},
+ {&(_ZTV7G24x4y5[8]), 8,9},
+ {&(_tg__ZTV5E24x4__7G24x4y5[3]), 3,4},
+ {&(_tg__ZTV3C245E24x4__7G24x4y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x4y5[];
+extern VTBL_ENTRY _ZTV7G24x4y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x4y5[];
+Class_Descriptor cd_G24x4y5 = { "G24x4y5", // class name
+ bases_G24x4y5, 6,
+ &(vtc_G24x4y5[0]), // expected_vtbl_contents
+ &(vtt_G24x4y5[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G24x4y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x4y5),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x4y5),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 G24x4y6 : E24x4 , virtual F0 {
+ int ff;
+ ~G24x4y6(); // tgen
+ G24x4y6(); // tgen
+};
+//SIG(1 G24x4y6) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G24x4y6 ::~G24x4y6(){ note_dtor("G24x4y6", this);} // tgen
+G24x4y6 ::G24x4y6(){ note_ctor("G24x4y6", this);} // tgen
+
+static void Test_G24x4y6()
+{
+ extern Class_Descriptor cd_G24x4y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G24x4y6, buf);
+ G24x4y6 *dp, &lv = *(dp=new (buf) G24x4y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G24x4y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x4y6)");
+ check_base_class_offset(lv, (A0*)(C24*)(E24x4*), ABISELECT(8,4), "G24x4y6");
+ check_base_class_offset(lv, (B0*)(C24*)(E24x4*), ABISELECT(28,24), "G24x4y6");
+ check_base_class_offset(lv, (C24*)(E24x4*), 0, "G24x4y6");
+ check_base_class_offset(lv, (D0*)(E24x4*), ABISELECT(16,12), "G24x4y6");
+ check_base_class_offset(lv, (E24x4*), 0, "G24x4y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,28), "G24x4y6");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G24x4y6.ff");
+ test_class_info(&lv, &cd_G24x4y6);
+ dp->~G24x4y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x4y6(Test_G24x4y6, "G24x4y6", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN7G24x4y6C1Ev();
+extern void _ZN7G24x4y6D1Ev();
+Name_Map name_map_G24x4y6[] = {
+ NSPAIR(_ZN7G24x4y6C1Ev),
+ NSPAIR(_ZN7G24x4y6D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E24x4;
+extern VTBL_ENTRY _ZTI5E24x4[];
+extern VTBL_ENTRY _ZTV5E24x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G24x4y6[] = {
+ // 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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E24x4, 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 _ZTI7G24x4y6[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY vtc_G24x4y6[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x4y6[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x4y6[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV5E24x4__7G24x4y6[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x4[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C245E24x4__7G24x4y6[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x4y6[] = {
+ {&(_ZTV7G24x4y6[4]), 4,5},
+ {&(_tg__ZTV5E24x4__7G24x4y6[3]), 3,4},
+ {&(_tg__ZTV3C245E24x4__7G24x4y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x4y6[];
+extern VTBL_ENTRY _ZTV7G24x4y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x4y6[];
+Class_Descriptor cd_G24x4y6 = { "G24x4y6", // class name
+ bases_G24x4y6, 6,
+ &(vtc_G24x4y6[0]), // expected_vtbl_contents
+ &(vtt_G24x4y6[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI7G24x4y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x4y6),5, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x4y6),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 G24x4y7 : virtual E24x4 , virtual F0 {
+ int ff;
+ ~G24x4y7(); // tgen
+ G24x4y7(); // tgen
+};
+//SIG(1 G24x4y7) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G24x4y7 ::~G24x4y7(){ note_dtor("G24x4y7", this);} // tgen
+G24x4y7 ::G24x4y7(){ note_ctor("G24x4y7", this);} // tgen
+
+static void Test_G24x4y7()
+{
+ extern Class_Descriptor cd_G24x4y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G24x4y7, buf);
+ G24x4y7 *dp, &lv = *(dp=new (buf) G24x4y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G24x4y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x4y7)");
+ check_base_class_offset(lv, (A0*)(C24*)(E24x4*), ABISELECT(24,12), "G24x4y7");
+ check_base_class_offset(lv, (B0*)(C24*)(E24x4*), ABISELECT(40,28), "G24x4y7");
+ check_base_class_offset(lv, (C24*)(E24x4*), ABISELECT(16,8), "G24x4y7");
+ check_base_class_offset(lv, (D0*)(E24x4*), ABISELECT(32,20), "G24x4y7");
+ check_base_class_offset(lv, (E24x4*), ABISELECT(16,8), "G24x4y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G24x4y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G24x4y7.ff");
+ test_class_info(&lv, &cd_G24x4y7);
+ dp->~G24x4y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x4y7(Test_G24x4y7, "G24x4y7", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G24x4y7C1Ev();
+extern void _ZN7G24x4y7D1Ev();
+Name_Map name_map_G24x4y7[] = {
+ NSPAIR(_ZN7G24x4y7C1Ev),
+ NSPAIR(_ZN7G24x4y7D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E24x4;
+extern VTBL_ENTRY _ZTI5E24x4[];
+extern VTBL_ENTRY _ZTV5E24x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G24x4y7[] = {
+ // 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(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(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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, 0},
+ {&cd_E24x4, 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 _ZTI7G24x4y7[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY vtc_G24x4y7[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x4y7[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G24x4y7[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x4y7[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV5E24x4__7G24x4y7[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x4[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C245E24x4__7G24x4y7[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x4y7[] = {
+ {&(_ZTV7G24x4y7[5]), 5,10},
+ {&(_ZTV7G24x4y7[9]), 9,10},
+ {&(_tg__ZTV5E24x4__7G24x4y7[3]), 3,4},
+ {&(_tg__ZTV3C245E24x4__7G24x4y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x4y7[];
+extern VTBL_ENTRY _ZTV7G24x4y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x4y7[];
+Class_Descriptor cd_G24x4y7 = { "G24x4y7", // class name
+ bases_G24x4y7, 6,
+ &(vtc_G24x4y7[0]), // expected_vtbl_contents
+ &(vtt_G24x4y7[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G24x4y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x4y7),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x4y7),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 E25x4 : C25 , D0 {
+ int fd;
+ ~E25x4(); // tgen
+ E25x4(); // tgen
+};
+//SIG(-1 E25x4) C1{ BC2{ BC3{ v1 Fi} VBC4{ Fi} v1 Fi} BC5{ Fi} Fi}
+
+
+E25x4 ::~E25x4(){ note_dtor("E25x4", this);} // tgen
+E25x4 ::E25x4(){ note_ctor("E25x4", this);} // tgen
+
+static void Test_E25x4()
+{
+ extern Class_Descriptor cd_E25x4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(5,7)];
+ init_test(&cd_E25x4, buf);
+ E25x4 *dp, &lv = *(dp=new (buf) E25x4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(32,24), "sizeof(E25x4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E25x4)");
+ check_base_class_offset(lv, (A1*)(C25*), 0, "E25x4");
+ check_base_class_offset(lv, (B0*)(C25*), ABISELECT(24,20), "E25x4");
+ check_base_class_offset(lv, (C25*), 0, "E25x4");
+ check_base_class_offset(lv, (D0*), ABISELECT(16,12), "E25x4");
+ check_field_offset(lv, fd, ABISELECT(20,16), "E25x4.fd");
+ test_class_info(&lv, &cd_E25x4);
+ dp->~E25x4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE25x4(Test_E25x4, "E25x4", ABISELECT(32,24));
+
+#else // __cplusplus
+
+extern void _ZN5E25x4C1Ev();
+extern void _ZN5E25x4D1Ev();
+Name_Map name_map_E25x4[] = {
+ NSPAIR(_ZN5E25x4C1Ev),
+ NSPAIR(_ZN5E25x4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E25x4[] = {
+ // 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(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
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E25x4[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY vtc_E25x4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x4[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern VTBL_ENTRY _ZTV5E25x4[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__5E25x4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_E25x4[] = {
+ {&(_ZTV5E25x4[3]), 3,4},
+ {&(_tg__ZTV3C25__5E25x4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E25x4[];
+extern VTBL_ENTRY _ZTV5E25x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x4[];
+Class_Descriptor cd_E25x4 = { "E25x4", // class name
+ bases_E25x4, 4,
+ &(vtc_E25x4[0]), // expected_vtbl_contents
+ &(vtt_E25x4[0]), // expected_vtt_contents
+ ABISELECT(32,24), // object size
+ NSPAIRA(_ZTI5E25x4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E25x4),4, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E25x4),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 G25x4y0 : E25x4 , F1 {
+ int ff;
+ ~G25x4y0(); // tgen
+ G25x4y0(); // tgen
+};
+//SIG(1 G25x4y0) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G25x4y0 ::~G25x4y0(){ note_dtor("G25x4y0", this);} // tgen
+G25x4y0 ::G25x4y0(){ note_ctor("G25x4y0", this);} // tgen
+
+static void Test_G25x4y0()
+{
+ extern Class_Descriptor cd_G25x4y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G25x4y0, buf);
+ G25x4y0 *dp, &lv = *(dp=new (buf) G25x4y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G25x4y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x4y0)");
+ check_base_class_offset(lv, (A1*)(C25*)(E25x4*), 0, "G25x4y0");
+ check_base_class_offset(lv, (B0*)(C25*)(E25x4*), ABISELECT(40,32), "G25x4y0");
+ check_base_class_offset(lv, (C25*)(E25x4*), 0, "G25x4y0");
+ check_base_class_offset(lv, (D0*)(E25x4*), ABISELECT(16,12), "G25x4y0");
+ check_base_class_offset(lv, (E25x4*), 0, "G25x4y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,20), "G25x4y0");
+ check_field_offset(lv, ff, ABISELECT(36,28), "G25x4y0.ff");
+ test_class_info(&lv, &cd_G25x4y0);
+ dp->~G25x4y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x4y0(Test_G25x4y0, "G25x4y0", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G25x4y0C1Ev();
+extern void _ZN7G25x4y0D1Ev();
+Name_Map name_map_G25x4y0[] = {
+ NSPAIR(_ZN7G25x4y0C1Ev),
+ NSPAIR(_ZN7G25x4y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E25x4;
+extern VTBL_ENTRY _ZTI5E25x4[];
+extern VTBL_ENTRY _ZTV5E25x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G25x4y0[] = {
+ // 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E25x4, 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 _ZTI7G25x4y0[];
+extern void _ZN3C253fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G25x4y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x4y0[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G25x4y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x4y0[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV5E25x4__7G25x4y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x4[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C255E25x4__7G25x4y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x4y0[] = {
+ {&(_ZTV7G25x4y0[3]), 3,7},
+ {&(_tg__ZTV5E25x4__7G25x4y0[3]), 3,4},
+ {&(_tg__ZTV3C255E25x4__7G25x4y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x4y0[];
+extern VTBL_ENTRY _ZTV7G25x4y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x4y0[];
+Class_Descriptor cd_G25x4y0 = { "G25x4y0", // class name
+ bases_G25x4y0, 6,
+ &(vtc_G25x4y0[0]), // expected_vtbl_contents
+ &(vtt_G25x4y0[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G25x4y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x4y0),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x4y0),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 G25x4y1 : virtual E25x4 , F1 {
+ int ff;
+ ~G25x4y1(); // tgen
+ G25x4y1(); // tgen
+};
+//SIG(1 G25x4y1) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G25x4y1 ::~G25x4y1(){ note_dtor("G25x4y1", this);} // tgen
+G25x4y1 ::G25x4y1(){ note_ctor("G25x4y1", this);} // tgen
+
+static void Test_G25x4y1()
+{
+ extern Class_Descriptor cd_G25x4y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G25x4y1, buf);
+ G25x4y1 *dp, &lv = *(dp=new (buf) G25x4y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G25x4y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x4y1)");
+ check_base_class_offset(lv, (A1*)(C25*)(E25x4*), ABISELECT(16,12), "G25x4y1");
+ check_base_class_offset(lv, (B0*)(C25*)(E25x4*), ABISELECT(40,32), "G25x4y1");
+ check_base_class_offset(lv, (C25*)(E25x4*), ABISELECT(16,12), "G25x4y1");
+ check_base_class_offset(lv, (D0*)(E25x4*), ABISELECT(32,24), "G25x4y1");
+ check_base_class_offset(lv, (E25x4*), ABISELECT(16,12), "G25x4y1");
+ check_base_class_offset(lv, (F1*), 0, "G25x4y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G25x4y1.ff");
+ test_class_info(&lv, &cd_G25x4y1);
+ dp->~G25x4y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x4y1(Test_G25x4y1, "G25x4y1", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G25x4y1C1Ev();
+extern void _ZN7G25x4y1D1Ev();
+Name_Map name_map_G25x4y1[] = {
+ NSPAIR(_ZN7G25x4y1C1Ev),
+ NSPAIR(_ZN7G25x4y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E25x4;
+extern VTBL_ENTRY _ZTI5E25x4[];
+extern VTBL_ENTRY _ZTV5E25x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G25x4y1[] = {
+ // 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(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(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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, 0},
+ {&cd_E25x4, 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
+ 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 _ZTI7G25x4y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY vtc_G25x4y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x4y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G25x4y1[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x4y1[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV5E25x4__7G25x4y1[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x4[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C255E25x4__7G25x4y1[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x4y1[] = {
+ {&(_ZTV7G25x4y1[4]), 4,10},
+ {&(_ZTV7G25x4y1[9]), 9,10},
+ {&(_tg__ZTV5E25x4__7G25x4y1[3]), 3,4},
+ {&(_tg__ZTV3C255E25x4__7G25x4y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x4y1[];
+extern VTBL_ENTRY _ZTV7G25x4y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x4y1[];
+Class_Descriptor cd_G25x4y1 = { "G25x4y1", // class name
+ bases_G25x4y1, 6,
+ &(vtc_G25x4y1[0]), // expected_vtbl_contents
+ &(vtt_G25x4y1[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G25x4y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x4y1),10, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x4y1),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 G25x4y2 : E25x4 , virtual F1 {
+ int ff;
+ ~G25x4y2(); // tgen
+ G25x4y2(); // tgen
+};
+//SIG(1 G25x4y2) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G25x4y2 ::~G25x4y2(){ note_dtor("G25x4y2", this);} // tgen
+G25x4y2 ::G25x4y2(){ note_ctor("G25x4y2", this);} // tgen
+
+static void Test_G25x4y2()
+{
+ extern Class_Descriptor cd_G25x4y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G25x4y2, buf);
+ G25x4y2 *dp, &lv = *(dp=new (buf) G25x4y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G25x4y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x4y2)");
+ check_base_class_offset(lv, (A1*)(C25*)(E25x4*), 0, "G25x4y2");
+ check_base_class_offset(lv, (B0*)(C25*)(E25x4*), ABISELECT(28,24), "G25x4y2");
+ check_base_class_offset(lv, (C25*)(E25x4*), 0, "G25x4y2");
+ check_base_class_offset(lv, (D0*)(E25x4*), ABISELECT(16,12), "G25x4y2");
+ check_base_class_offset(lv, (E25x4*), 0, "G25x4y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,28), "G25x4y2");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G25x4y2.ff");
+ test_class_info(&lv, &cd_G25x4y2);
+ dp->~G25x4y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x4y2(Test_G25x4y2, "G25x4y2", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G25x4y2C1Ev();
+extern void _ZN7G25x4y2D1Ev();
+Name_Map name_map_G25x4y2[] = {
+ NSPAIR(_ZN7G25x4y2C1Ev),
+ NSPAIR(_ZN7G25x4y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E25x4;
+extern VTBL_ENTRY _ZTI5E25x4[];
+extern VTBL_ENTRY _ZTV5E25x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G25x4y2[] = {
+ // 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E25x4, 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,28), //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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G25x4y2[];
+extern void _ZN3C253fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G25x4y2[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x4y2[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI7G25x4y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x4y2[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV5E25x4__7G25x4y2[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x4[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C255E25x4__7G25x4y2[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x4y2[] = {
+ {&(_ZTV7G25x4y2[4]), 4,9},
+ {&(_tg__ZTV5E25x4__7G25x4y2[3]), 3,4},
+ {&(_tg__ZTV3C255E25x4__7G25x4y2[3]), 3,4},
+ {&(_ZTV7G25x4y2[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI7G25x4y2[];
+extern VTBL_ENTRY _ZTV7G25x4y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x4y2[];
+Class_Descriptor cd_G25x4y2 = { "G25x4y2", // class name
+ bases_G25x4y2, 6,
+ &(vtc_G25x4y2[0]), // expected_vtbl_contents
+ &(vtt_G25x4y2[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G25x4y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x4y2),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x4y2),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 G25x4y3 : virtual E25x4 , virtual F1 {
+ int ff;
+ ~G25x4y3(); // tgen
+ G25x4y3(); // tgen
+};
+//SIG(1 G25x4y3) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G25x4y3 ::~G25x4y3(){ note_dtor("G25x4y3", this);} // tgen
+G25x4y3 ::G25x4y3(){ note_ctor("G25x4y3", this);} // tgen
+
+static void Test_G25x4y3()
+{
+ extern Class_Descriptor cd_G25x4y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G25x4y3, buf);
+ G25x4y3 *dp, &lv = *(dp=new (buf) G25x4y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G25x4y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x4y3)");
+ check_base_class_offset(lv, (A1*)(C25*)(E25x4*), ABISELECT(16,8), "G25x4y3");
+ check_base_class_offset(lv, (B0*)(C25*)(E25x4*), ABISELECT(40,28), "G25x4y3");
+ check_base_class_offset(lv, (C25*)(E25x4*), ABISELECT(16,8), "G25x4y3");
+ check_base_class_offset(lv, (D0*)(E25x4*), ABISELECT(32,20), "G25x4y3");
+ check_base_class_offset(lv, (E25x4*), ABISELECT(16,8), "G25x4y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G25x4y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G25x4y3.ff");
+ test_class_info(&lv, &cd_G25x4y3);
+ dp->~G25x4y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x4y3(Test_G25x4y3, "G25x4y3", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G25x4y3C1Ev();
+extern void _ZN7G25x4y3D1Ev();
+Name_Map name_map_G25x4y3[] = {
+ NSPAIR(_ZN7G25x4y3C1Ev),
+ NSPAIR(_ZN7G25x4y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E25x4;
+extern VTBL_ENTRY _ZTI5E25x4[];
+extern VTBL_ENTRY _ZTV5E25x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G25x4y3[] = {
+ // 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(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(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_D0, 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, 0},
+ {&cd_E25x4, 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_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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G25x4y3[];
+extern void _ZN3C253fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G25x4y3[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x4y3[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G25x4y3[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G25x4y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x4y3[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV5E25x4__7G25x4y3[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x4[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C255E25x4__7G25x4y3[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x4y3[] = {
+ {&(_ZTV7G25x4y3[5]), 5,14},
+ {&(_ZTV7G25x4y3[9]), 9,14},
+ {&(_ZTV7G25x4y3[13]), 13,14},
+ {&(_tg__ZTV5E25x4__7G25x4y3[3]), 3,4},
+ {&(_tg__ZTV3C255E25x4__7G25x4y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x4y3[];
+extern VTBL_ENTRY _ZTV7G25x4y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x4y3[];
+Class_Descriptor cd_G25x4y3 = { "G25x4y3", // class name
+ bases_G25x4y3, 6,
+ &(vtc_G25x4y3[0]), // expected_vtbl_contents
+ &(vtt_G25x4y3[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G25x4y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x4y3),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x4y3),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 G25x4y4 : E25x4 , F0 {
+ int ff;
+ ~G25x4y4(); // tgen
+ G25x4y4(); // tgen
+};
+//SIG(1 G25x4y4) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G25x4y4 ::~G25x4y4(){ note_dtor("G25x4y4", this);} // tgen
+G25x4y4 ::G25x4y4(){ note_ctor("G25x4y4", this);} // tgen
+
+static void Test_G25x4y4()
+{
+ extern Class_Descriptor cd_G25x4y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G25x4y4, buf);
+ G25x4y4 *dp, &lv = *(dp=new (buf) G25x4y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G25x4y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x4y4)");
+ check_base_class_offset(lv, (A1*)(C25*)(E25x4*), 0, "G25x4y4");
+ check_base_class_offset(lv, (B0*)(C25*)(E25x4*), ABISELECT(32,28), "G25x4y4");
+ check_base_class_offset(lv, (C25*)(E25x4*), 0, "G25x4y4");
+ check_base_class_offset(lv, (D0*)(E25x4*), ABISELECT(16,12), "G25x4y4");
+ check_base_class_offset(lv, (E25x4*), 0, "G25x4y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(24,20), "G25x4y4");
+ check_field_offset(lv, ff, ABISELECT(28,24), "G25x4y4.ff");
+ test_class_info(&lv, &cd_G25x4y4);
+ dp->~G25x4y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x4y4(Test_G25x4y4, "G25x4y4", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN7G25x4y4C1Ev();
+extern void _ZN7G25x4y4D1Ev();
+Name_Map name_map_G25x4y4[] = {
+ NSPAIR(_ZN7G25x4y4C1Ev),
+ NSPAIR(_ZN7G25x4y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E25x4;
+extern VTBL_ENTRY _ZTI5E25x4[];
+extern VTBL_ENTRY _ZTV5E25x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G25x4y4[] = {
+ // 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,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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E25x4, 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 _ZTI7G25x4y4[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY vtc_G25x4y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x4y4[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x4y4[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV5E25x4__7G25x4y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x4[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C255E25x4__7G25x4y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x4y4[] = {
+ {&(_ZTV7G25x4y4[3]), 3,4},
+ {&(_tg__ZTV5E25x4__7G25x4y4[3]), 3,4},
+ {&(_tg__ZTV3C255E25x4__7G25x4y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x4y4[];
+extern VTBL_ENTRY _ZTV7G25x4y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x4y4[];
+Class_Descriptor cd_G25x4y4 = { "G25x4y4", // class name
+ bases_G25x4y4, 6,
+ &(vtc_G25x4y4[0]), // expected_vtbl_contents
+ &(vtt_G25x4y4[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI7G25x4y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x4y4),4, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x4y4),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 G25x4y5 : virtual E25x4 , F0 {
+ int ff;
+ ~G25x4y5(); // tgen
+ G25x4y5(); // tgen
+};
+//SIG(1 G25x4y5) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G25x4y5 ::~G25x4y5(){ note_dtor("G25x4y5", this);} // tgen
+G25x4y5 ::G25x4y5(){ note_ctor("G25x4y5", this);} // tgen
+
+static void Test_G25x4y5()
+{
+ extern Class_Descriptor cd_G25x4y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G25x4y5, buf);
+ G25x4y5 *dp, &lv = *(dp=new (buf) G25x4y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G25x4y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x4y5)");
+ check_base_class_offset(lv, (A1*)(C25*)(E25x4*), ABISELECT(16,12), "G25x4y5");
+ check_base_class_offset(lv, (B0*)(C25*)(E25x4*), ABISELECT(40,32), "G25x4y5");
+ check_base_class_offset(lv, (C25*)(E25x4*), ABISELECT(16,12), "G25x4y5");
+ check_base_class_offset(lv, (D0*)(E25x4*), ABISELECT(32,24), "G25x4y5");
+ check_base_class_offset(lv, (E25x4*), ABISELECT(16,12), "G25x4y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G25x4y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G25x4y5.ff");
+ test_class_info(&lv, &cd_G25x4y5);
+ dp->~G25x4y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x4y5(Test_G25x4y5, "G25x4y5", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G25x4y5C1Ev();
+extern void _ZN7G25x4y5D1Ev();
+Name_Map name_map_G25x4y5[] = {
+ NSPAIR(_ZN7G25x4y5C1Ev),
+ NSPAIR(_ZN7G25x4y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E25x4;
+extern VTBL_ENTRY _ZTI5E25x4[];
+extern VTBL_ENTRY _ZTV5E25x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G25x4y5[] = {
+ // 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(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(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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, 0},
+ {&cd_E25x4, 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
+ 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 _ZTI7G25x4y5[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY vtc_G25x4y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x4y5[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G25x4y5[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x4y5[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV5E25x4__7G25x4y5[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x4[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C255E25x4__7G25x4y5[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x4y5[] = {
+ {&(_ZTV7G25x4y5[4]), 4,9},
+ {&(_ZTV7G25x4y5[8]), 8,9},
+ {&(_tg__ZTV5E25x4__7G25x4y5[3]), 3,4},
+ {&(_tg__ZTV3C255E25x4__7G25x4y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x4y5[];
+extern VTBL_ENTRY _ZTV7G25x4y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x4y5[];
+Class_Descriptor cd_G25x4y5 = { "G25x4y5", // class name
+ bases_G25x4y5, 6,
+ &(vtc_G25x4y5[0]), // expected_vtbl_contents
+ &(vtt_G25x4y5[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G25x4y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x4y5),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x4y5),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 G25x4y6 : E25x4 , virtual F0 {
+ int ff;
+ ~G25x4y6(); // tgen
+ G25x4y6(); // tgen
+};
+//SIG(1 G25x4y6) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G25x4y6 ::~G25x4y6(){ note_dtor("G25x4y6", this);} // tgen
+G25x4y6 ::G25x4y6(){ note_ctor("G25x4y6", this);} // tgen
+
+static void Test_G25x4y6()
+{
+ extern Class_Descriptor cd_G25x4y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G25x4y6, buf);
+ G25x4y6 *dp, &lv = *(dp=new (buf) G25x4y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G25x4y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x4y6)");
+ check_base_class_offset(lv, (A1*)(C25*)(E25x4*), 0, "G25x4y6");
+ check_base_class_offset(lv, (B0*)(C25*)(E25x4*), ABISELECT(28,24), "G25x4y6");
+ check_base_class_offset(lv, (C25*)(E25x4*), 0, "G25x4y6");
+ check_base_class_offset(lv, (D0*)(E25x4*), ABISELECT(16,12), "G25x4y6");
+ check_base_class_offset(lv, (E25x4*), 0, "G25x4y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,28), "G25x4y6");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G25x4y6.ff");
+ test_class_info(&lv, &cd_G25x4y6);
+ dp->~G25x4y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x4y6(Test_G25x4y6, "G25x4y6", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN7G25x4y6C1Ev();
+extern void _ZN7G25x4y6D1Ev();
+Name_Map name_map_G25x4y6[] = {
+ NSPAIR(_ZN7G25x4y6C1Ev),
+ NSPAIR(_ZN7G25x4y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E25x4;
+extern VTBL_ENTRY _ZTI5E25x4[];
+extern VTBL_ENTRY _ZTV5E25x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G25x4y6[] = {
+ // 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(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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E25x4, 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,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 _ZTI7G25x4y6[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY vtc_G25x4y6[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x4y6[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x4y6[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV5E25x4__7G25x4y6[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x4[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C255E25x4__7G25x4y6[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x4y6[] = {
+ {&(_ZTV7G25x4y6[4]), 4,5},
+ {&(_tg__ZTV5E25x4__7G25x4y6[3]), 3,4},
+ {&(_tg__ZTV3C255E25x4__7G25x4y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x4y6[];
+extern VTBL_ENTRY _ZTV7G25x4y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x4y6[];
+Class_Descriptor cd_G25x4y6 = { "G25x4y6", // class name
+ bases_G25x4y6, 6,
+ &(vtc_G25x4y6[0]), // expected_vtbl_contents
+ &(vtt_G25x4y6[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI7G25x4y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x4y6),5, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x4y6),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 G25x4y7 : virtual E25x4 , virtual F0 {
+ int ff;
+ ~G25x4y7(); // tgen
+ G25x4y7(); // tgen
+};
+//SIG(1 G25x4y7) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G25x4y7 ::~G25x4y7(){ note_dtor("G25x4y7", this);} // tgen
+G25x4y7 ::G25x4y7(){ note_ctor("G25x4y7", this);} // tgen
+
+static void Test_G25x4y7()
+{
+ extern Class_Descriptor cd_G25x4y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G25x4y7, buf);
+ G25x4y7 *dp, &lv = *(dp=new (buf) G25x4y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G25x4y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x4y7)");
+ check_base_class_offset(lv, (A1*)(C25*)(E25x4*), ABISELECT(16,8), "G25x4y7");
+ check_base_class_offset(lv, (B0*)(C25*)(E25x4*), ABISELECT(40,28), "G25x4y7");
+ check_base_class_offset(lv, (C25*)(E25x4*), ABISELECT(16,8), "G25x4y7");
+ check_base_class_offset(lv, (D0*)(E25x4*), ABISELECT(32,20), "G25x4y7");
+ check_base_class_offset(lv, (E25x4*), ABISELECT(16,8), "G25x4y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G25x4y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G25x4y7.ff");
+ test_class_info(&lv, &cd_G25x4y7);
+ dp->~G25x4y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x4y7(Test_G25x4y7, "G25x4y7", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G25x4y7C1Ev();
+extern void _ZN7G25x4y7D1Ev();
+Name_Map name_map_G25x4y7[] = {
+ NSPAIR(_ZN7G25x4y7C1Ev),
+ NSPAIR(_ZN7G25x4y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E25x4;
+extern VTBL_ENTRY _ZTI5E25x4[];
+extern VTBL_ENTRY _ZTV5E25x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G25x4y7[] = {
+ // 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(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(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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, 0},
+ {&cd_E25x4, 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
+ 3, //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 _ZTI7G25x4y7[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY vtc_G25x4y7[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x4y7[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G25x4y7[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x4y7[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV5E25x4__7G25x4y7[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x4[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C255E25x4__7G25x4y7[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x4y7[] = {
+ {&(_ZTV7G25x4y7[5]), 5,10},
+ {&(_ZTV7G25x4y7[9]), 9,10},
+ {&(_tg__ZTV5E25x4__7G25x4y7[3]), 3,4},
+ {&(_tg__ZTV3C255E25x4__7G25x4y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x4y7[];
+extern VTBL_ENTRY _ZTV7G25x4y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x4y7[];
+Class_Descriptor cd_G25x4y7 = { "G25x4y7", // class name
+ bases_G25x4y7, 6,
+ &(vtc_G25x4y7[0]), // expected_vtbl_contents
+ &(vtt_G25x4y7[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G25x4y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x4y7),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x4y7),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 E26x4 : C26 , D0 {
+ int fd;
+ ~E26x4(); // tgen
+ E26x4(); // tgen
+};
+//SIG(-1 E26x4) C1{ BC2{ VBC3{ Fi} VBC4{ Fi} v1 Fi} BC5{ Fi} Fi}
+
+
+E26x4 ::~E26x4(){ note_dtor("E26x4", this);} // tgen
+E26x4 ::E26x4(){ note_ctor("E26x4", this);} // tgen
+
+static void Test_E26x4()
+{
+ extern Class_Descriptor cd_E26x4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(5,7)];
+ init_test(&cd_E26x4, buf);
+ E26x4 *dp, &lv = *(dp=new (buf) E26x4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(32,24), "sizeof(E26x4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E26x4)");
+ check_base_class_offset(lv, (A0*)(C26*), ABISELECT(20,16), "E26x4");
+ check_base_class_offset(lv, (B0*)(C26*), ABISELECT(24,20), "E26x4");
+ check_base_class_offset(lv, (C26*), 0, "E26x4");
+ check_base_class_offset(lv, (D0*), ABISELECT(12,8), "E26x4");
+ check_field_offset(lv, fd, ABISELECT(16,12), "E26x4.fd");
+ test_class_info(&lv, &cd_E26x4);
+ dp->~E26x4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE26x4(Test_E26x4, "E26x4", ABISELECT(32,24));
+
+#else // __cplusplus
+
+extern void _ZN5E26x4C1Ev();
+extern void _ZN5E26x4D1Ev();
+Name_Map name_map_E26x4[] = {
+ NSPAIR(_ZN5E26x4C1Ev),
+ NSPAIR(_ZN5E26x4D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E26x4[] = {
+ // 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
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D0, 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 _ZTI5E26x4[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY vtc_E26x4[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x4[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern VTBL_ENTRY _ZTV5E26x4[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__5E26x4[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_E26x4[] = {
+ {&(_ZTV5E26x4[4]), 4,5},
+ {&(_tg__ZTV3C26__5E26x4[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI5E26x4[];
+extern VTBL_ENTRY _ZTV5E26x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x4[];
+Class_Descriptor cd_E26x4 = { "E26x4", // class name
+ bases_E26x4, 4,
+ &(vtc_E26x4[0]), // expected_vtbl_contents
+ &(vtt_E26x4[0]), // expected_vtt_contents
+ ABISELECT(32,24), // object size
+ NSPAIRA(_ZTI5E26x4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E26x4),5, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E26x4),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 G26x4y0 : E26x4 , F1 {
+ int ff;
+ ~G26x4y0(); // tgen
+ G26x4y0(); // tgen
+};
+//SIG(1 G26x4y0) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G26x4y0 ::~G26x4y0(){ note_dtor("G26x4y0", this);} // tgen
+G26x4y0 ::G26x4y0(){ note_ctor("G26x4y0", this);} // tgen
+
+static void Test_G26x4y0()
+{
+ extern Class_Descriptor cd_G26x4y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G26x4y0, buf);
+ G26x4y0 *dp, &lv = *(dp=new (buf) G26x4y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G26x4y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x4y0)");
+ check_base_class_offset(lv, (A0*)(C26*)(E26x4*), ABISELECT(40,28), "G26x4y0");
+ check_base_class_offset(lv, (B0*)(C26*)(E26x4*), ABISELECT(44,32), "G26x4y0");
+ check_base_class_offset(lv, (C26*)(E26x4*), 0, "G26x4y0");
+ check_base_class_offset(lv, (D0*)(E26x4*), ABISELECT(12,8), "G26x4y0");
+ check_base_class_offset(lv, (E26x4*), 0, "G26x4y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,16), "G26x4y0");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G26x4y0.ff");
+ test_class_info(&lv, &cd_G26x4y0);
+ dp->~G26x4y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x4y0(Test_G26x4y0, "G26x4y0", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G26x4y0C1Ev();
+extern void _ZN7G26x4y0D1Ev();
+Name_Map name_map_G26x4y0[] = {
+ NSPAIR(_ZN7G26x4y0C1Ev),
+ NSPAIR(_ZN7G26x4y0D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E26x4;
+extern VTBL_ENTRY _ZTI5E26x4[];
+extern VTBL_ENTRY _ZTV5E26x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G26x4y0[] = {
+ // 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_D0, 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_E26x4, 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(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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G26x4y0[];
+extern void _ZN3C263fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G26x4y0[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x4y0[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G26x4y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x4y0[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV5E26x4__7G26x4y0[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x4[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C265E26x4__7G26x4y0[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x4y0[] = {
+ {&(_ZTV7G26x4y0[4]), 4,8},
+ {&(_tg__ZTV5E26x4__7G26x4y0[4]), 4,5},
+ {&(_tg__ZTV3C265E26x4__7G26x4y0[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x4y0[];
+extern VTBL_ENTRY _ZTV7G26x4y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x4y0[];
+Class_Descriptor cd_G26x4y0 = { "G26x4y0", // class name
+ bases_G26x4y0, 6,
+ &(vtc_G26x4y0[0]), // expected_vtbl_contents
+ &(vtt_G26x4y0[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G26x4y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x4y0),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x4y0),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 G26x4y1 : virtual E26x4 , F1 {
+ int ff;
+ ~G26x4y1(); // tgen
+ G26x4y1(); // tgen
+};
+//SIG(1 G26x4y1) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G26x4y1 ::~G26x4y1(){ note_dtor("G26x4y1", this);} // tgen
+G26x4y1 ::G26x4y1(){ note_ctor("G26x4y1", this);} // tgen
+
+static void Test_G26x4y1()
+{
+ extern Class_Descriptor cd_G26x4y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G26x4y1, buf);
+ G26x4y1 *dp, &lv = *(dp=new (buf) G26x4y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G26x4y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x4y1)");
+ check_base_class_offset(lv, (A0*)(C26*)(E26x4*), ABISELECT(36,28), "G26x4y1");
+ check_base_class_offset(lv, (B0*)(C26*)(E26x4*), ABISELECT(40,32), "G26x4y1");
+ check_base_class_offset(lv, (C26*)(E26x4*), ABISELECT(16,12), "G26x4y1");
+ check_base_class_offset(lv, (D0*)(E26x4*), ABISELECT(28,20), "G26x4y1");
+ check_base_class_offset(lv, (E26x4*), ABISELECT(16,12), "G26x4y1");
+ check_base_class_offset(lv, (F1*), 0, "G26x4y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G26x4y1.ff");
+ test_class_info(&lv, &cd_G26x4y1);
+ dp->~G26x4y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x4y1(Test_G26x4y1, "G26x4y1", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G26x4y1C1Ev();
+extern void _ZN7G26x4y1D1Ev();
+Name_Map name_map_G26x4y1[] = {
+ NSPAIR(_ZN7G26x4y1C1Ev),
+ NSPAIR(_ZN7G26x4y1D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E26x4;
+extern VTBL_ENTRY _ZTI5E26x4[];
+extern VTBL_ENTRY _ZTV5E26x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G26x4y1[] = {
+ // 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(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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_E26x4, 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
+ 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 _ZTI7G26x4y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY vtc_G26x4y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x4y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G26x4y1[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x4y1[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV5E26x4__7G26x4y1[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x4[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C265E26x4__7G26x4y1[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x4y1[] = {
+ {&(_ZTV7G26x4y1[5]), 5,12},
+ {&(_ZTV7G26x4y1[11]), 11,12},
+ {&(_tg__ZTV5E26x4__7G26x4y1[4]), 4,5},
+ {&(_tg__ZTV3C265E26x4__7G26x4y1[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x4y1[];
+extern VTBL_ENTRY _ZTV7G26x4y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x4y1[];
+Class_Descriptor cd_G26x4y1 = { "G26x4y1", // class name
+ bases_G26x4y1, 6,
+ &(vtc_G26x4y1[0]), // expected_vtbl_contents
+ &(vtt_G26x4y1[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G26x4y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x4y1),12, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x4y1),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 G26x4y2 : E26x4 , virtual F1 {
+ int ff;
+ ~G26x4y2(); // tgen
+ G26x4y2(); // tgen
+};
+//SIG(1 G26x4y2) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G26x4y2 ::~G26x4y2(){ note_dtor("G26x4y2", this);} // tgen
+G26x4y2 ::G26x4y2(){ note_ctor("G26x4y2", this);} // tgen
+
+static void Test_G26x4y2()
+{
+ extern Class_Descriptor cd_G26x4y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G26x4y2, buf);
+ G26x4y2 *dp, &lv = *(dp=new (buf) G26x4y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G26x4y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x4y2)");
+ check_base_class_offset(lv, (A0*)(C26*)(E26x4*), ABISELECT(24,20), "G26x4y2");
+ check_base_class_offset(lv, (B0*)(C26*)(E26x4*), ABISELECT(28,24), "G26x4y2");
+ check_base_class_offset(lv, (C26*)(E26x4*), 0, "G26x4y2");
+ check_base_class_offset(lv, (D0*)(E26x4*), ABISELECT(12,8), "G26x4y2");
+ check_base_class_offset(lv, (E26x4*), 0, "G26x4y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,28), "G26x4y2");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G26x4y2.ff");
+ test_class_info(&lv, &cd_G26x4y2);
+ dp->~G26x4y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x4y2(Test_G26x4y2, "G26x4y2", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G26x4y2C1Ev();
+extern void _ZN7G26x4y2D1Ev();
+Name_Map name_map_G26x4y2[] = {
+ NSPAIR(_ZN7G26x4y2C1Ev),
+ NSPAIR(_ZN7G26x4y2D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E26x4;
+extern VTBL_ENTRY _ZTI5E26x4[];
+extern VTBL_ENTRY _ZTV5E26x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G26x4y2[] = {
+ // 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_D0, 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_E26x4, 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,28), //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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G26x4y2[];
+extern void _ZN3C263fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G26x4y2[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x4y2[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI7G26x4y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x4y2[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV5E26x4__7G26x4y2[] = {
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x4[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C265E26x4__7G26x4y2[] = {
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x4y2[] = {
+ {&(_ZTV7G26x4y2[5]), 5,10},
+ {&(_tg__ZTV5E26x4__7G26x4y2[4]), 4,5},
+ {&(_tg__ZTV3C265E26x4__7G26x4y2[4]), 4,5},
+ {&(_ZTV7G26x4y2[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI7G26x4y2[];
+extern VTBL_ENTRY _ZTV7G26x4y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x4y2[];
+Class_Descriptor cd_G26x4y2 = { "G26x4y2", // class name
+ bases_G26x4y2, 6,
+ &(vtc_G26x4y2[0]), // expected_vtbl_contents
+ &(vtt_G26x4y2[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G26x4y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x4y2),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x4y2),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 G26x4y3 : virtual E26x4 , virtual F1 {
+ int ff;
+ ~G26x4y3(); // tgen
+ G26x4y3(); // tgen
+};
+//SIG(1 G26x4y3) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G26x4y3 ::~G26x4y3(){ note_dtor("G26x4y3", this);} // tgen
+G26x4y3 ::G26x4y3(){ note_ctor("G26x4y3", this);} // tgen
+
+static void Test_G26x4y3()
+{
+ extern Class_Descriptor cd_G26x4y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G26x4y3, buf);
+ G26x4y3 *dp, &lv = *(dp=new (buf) G26x4y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G26x4y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x4y3)");
+ check_base_class_offset(lv, (A0*)(C26*)(E26x4*), ABISELECT(36,24), "G26x4y3");
+ check_base_class_offset(lv, (B0*)(C26*)(E26x4*), ABISELECT(40,28), "G26x4y3");
+ check_base_class_offset(lv, (C26*)(E26x4*), ABISELECT(16,8), "G26x4y3");
+ check_base_class_offset(lv, (D0*)(E26x4*), ABISELECT(28,16), "G26x4y3");
+ check_base_class_offset(lv, (E26x4*), ABISELECT(16,8), "G26x4y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G26x4y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G26x4y3.ff");
+ test_class_info(&lv, &cd_G26x4y3);
+ dp->~G26x4y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x4y3(Test_G26x4y3, "G26x4y3", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G26x4y3C1Ev();
+extern void _ZN7G26x4y3D1Ev();
+Name_Map name_map_G26x4y3[] = {
+ NSPAIR(_ZN7G26x4y3C1Ev),
+ NSPAIR(_ZN7G26x4y3D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E26x4;
+extern VTBL_ENTRY _ZTI5E26x4[];
+extern VTBL_ENTRY _ZTV5E26x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G26x4y3[] = {
+ // 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(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_D0, 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_E26x4, 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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, 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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G26x4y3[];
+extern void _ZN3C263fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G26x4y3[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x4y3[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G26x4y3[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G26x4y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x4y3[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV5E26x4__7G26x4y3[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x4[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C265E26x4__7G26x4y3[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x4y3[] = {
+ {&(_ZTV7G26x4y3[6]), 6,16},
+ {&(_ZTV7G26x4y3[11]), 11,16},
+ {&(_ZTV7G26x4y3[15]), 15,16},
+ {&(_tg__ZTV5E26x4__7G26x4y3[4]), 4,5},
+ {&(_tg__ZTV3C265E26x4__7G26x4y3[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x4y3[];
+extern VTBL_ENTRY _ZTV7G26x4y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x4y3[];
+Class_Descriptor cd_G26x4y3 = { "G26x4y3", // class name
+ bases_G26x4y3, 6,
+ &(vtc_G26x4y3[0]), // expected_vtbl_contents
+ &(vtt_G26x4y3[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G26x4y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x4y3),16, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x4y3),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 G26x4y4 : E26x4 , F0 {
+ int ff;
+ ~G26x4y4(); // tgen
+ G26x4y4(); // tgen
+};
+//SIG(1 G26x4y4) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G26x4y4 ::~G26x4y4(){ note_dtor("G26x4y4", this);} // tgen
+G26x4y4 ::G26x4y4(){ note_ctor("G26x4y4", this);} // tgen
+
+static void Test_G26x4y4()
+{
+ extern Class_Descriptor cd_G26x4y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G26x4y4, buf);
+ G26x4y4 *dp, &lv = *(dp=new (buf) G26x4y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G26x4y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x4y4)");
+ check_base_class_offset(lv, (A0*)(C26*)(E26x4*), ABISELECT(28,24), "G26x4y4");
+ check_base_class_offset(lv, (B0*)(C26*)(E26x4*), ABISELECT(32,28), "G26x4y4");
+ check_base_class_offset(lv, (C26*)(E26x4*), 0, "G26x4y4");
+ check_base_class_offset(lv, (D0*)(E26x4*), ABISELECT(12,8), "G26x4y4");
+ check_base_class_offset(lv, (E26x4*), 0, "G26x4y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(20,16), "G26x4y4");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G26x4y4.ff");
+ test_class_info(&lv, &cd_G26x4y4);
+ dp->~G26x4y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x4y4(Test_G26x4y4, "G26x4y4", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN7G26x4y4C1Ev();
+extern void _ZN7G26x4y4D1Ev();
+Name_Map name_map_G26x4y4[] = {
+ NSPAIR(_ZN7G26x4y4C1Ev),
+ NSPAIR(_ZN7G26x4y4D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E26x4;
+extern VTBL_ENTRY _ZTI5E26x4[];
+extern VTBL_ENTRY _ZTV5E26x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G26x4y4[] = {
+ // 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(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
+ 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_D0, 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_E26x4, 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(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 _ZTI7G26x4y4[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY vtc_G26x4y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x4y4[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x4y4[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV5E26x4__7G26x4y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x4[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C265E26x4__7G26x4y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x4y4[] = {
+ {&(_ZTV7G26x4y4[4]), 4,5},
+ {&(_tg__ZTV5E26x4__7G26x4y4[4]), 4,5},
+ {&(_tg__ZTV3C265E26x4__7G26x4y4[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x4y4[];
+extern VTBL_ENTRY _ZTV7G26x4y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x4y4[];
+Class_Descriptor cd_G26x4y4 = { "G26x4y4", // class name
+ bases_G26x4y4, 6,
+ &(vtc_G26x4y4[0]), // expected_vtbl_contents
+ &(vtt_G26x4y4[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI7G26x4y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x4y4),5, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x4y4),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 G26x4y5 : virtual E26x4 , F0 {
+ int ff;
+ ~G26x4y5(); // tgen
+ G26x4y5(); // tgen
+};
+//SIG(1 G26x4y5) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G26x4y5 ::~G26x4y5(){ note_dtor("G26x4y5", this);} // tgen
+G26x4y5 ::G26x4y5(){ note_ctor("G26x4y5", this);} // tgen
+
+static void Test_G26x4y5()
+{
+ extern Class_Descriptor cd_G26x4y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G26x4y5, buf);
+ G26x4y5 *dp, &lv = *(dp=new (buf) G26x4y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G26x4y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x4y5)");
+ check_base_class_offset(lv, (A0*)(C26*)(E26x4*), ABISELECT(36,28), "G26x4y5");
+ check_base_class_offset(lv, (B0*)(C26*)(E26x4*), ABISELECT(40,32), "G26x4y5");
+ check_base_class_offset(lv, (C26*)(E26x4*), ABISELECT(16,12), "G26x4y5");
+ check_base_class_offset(lv, (D0*)(E26x4*), ABISELECT(28,20), "G26x4y5");
+ check_base_class_offset(lv, (E26x4*), ABISELECT(16,12), "G26x4y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G26x4y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G26x4y5.ff");
+ test_class_info(&lv, &cd_G26x4y5);
+ dp->~G26x4y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x4y5(Test_G26x4y5, "G26x4y5", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G26x4y5C1Ev();
+extern void _ZN7G26x4y5D1Ev();
+Name_Map name_map_G26x4y5[] = {
+ NSPAIR(_ZN7G26x4y5C1Ev),
+ NSPAIR(_ZN7G26x4y5D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E26x4;
+extern VTBL_ENTRY _ZTI5E26x4[];
+extern VTBL_ENTRY _ZTV5E26x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G26x4y5[] = {
+ // 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(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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_E26x4, 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
+ 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 _ZTI7G26x4y5[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY vtc_G26x4y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x4y5[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G26x4y5[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x4y5[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV5E26x4__7G26x4y5[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x4[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C265E26x4__7G26x4y5[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x4y5[] = {
+ {&(_ZTV7G26x4y5[5]), 5,11},
+ {&(_ZTV7G26x4y5[10]), 10,11},
+ {&(_tg__ZTV5E26x4__7G26x4y5[4]), 4,5},
+ {&(_tg__ZTV3C265E26x4__7G26x4y5[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x4y5[];
+extern VTBL_ENTRY _ZTV7G26x4y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x4y5[];
+Class_Descriptor cd_G26x4y5 = { "G26x4y5", // class name
+ bases_G26x4y5, 6,
+ &(vtc_G26x4y5[0]), // expected_vtbl_contents
+ &(vtt_G26x4y5[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G26x4y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x4y5),11, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x4y5),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 G26x4y6 : E26x4 , virtual F0 {
+ int ff;
+ ~G26x4y6(); // tgen
+ G26x4y6(); // tgen
+};
+//SIG(1 G26x4y6) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G26x4y6 ::~G26x4y6(){ note_dtor("G26x4y6", this);} // tgen
+G26x4y6 ::G26x4y6(){ note_ctor("G26x4y6", this);} // tgen
+
+static void Test_G26x4y6()
+{
+ extern Class_Descriptor cd_G26x4y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G26x4y6, buf);
+ G26x4y6 *dp, &lv = *(dp=new (buf) G26x4y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G26x4y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x4y6)");
+ check_base_class_offset(lv, (A0*)(C26*)(E26x4*), ABISELECT(24,20), "G26x4y6");
+ check_base_class_offset(lv, (B0*)(C26*)(E26x4*), ABISELECT(28,24), "G26x4y6");
+ check_base_class_offset(lv, (C26*)(E26x4*), 0, "G26x4y6");
+ check_base_class_offset(lv, (D0*)(E26x4*), ABISELECT(12,8), "G26x4y6");
+ check_base_class_offset(lv, (E26x4*), 0, "G26x4y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,28), "G26x4y6");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G26x4y6.ff");
+ test_class_info(&lv, &cd_G26x4y6);
+ dp->~G26x4y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x4y6(Test_G26x4y6, "G26x4y6", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN7G26x4y6C1Ev();
+extern void _ZN7G26x4y6D1Ev();
+Name_Map name_map_G26x4y6[] = {
+ NSPAIR(_ZN7G26x4y6C1Ev),
+ NSPAIR(_ZN7G26x4y6D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E26x4;
+extern VTBL_ENTRY _ZTI5E26x4[];
+extern VTBL_ENTRY _ZTV5E26x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G26x4y6[] = {
+ // 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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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_E26x4, 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(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 _ZTI7G26x4y6[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY vtc_G26x4y6[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x4y6[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x4y6[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV5E26x4__7G26x4y6[] = {
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x4[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C265E26x4__7G26x4y6[] = {
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x4y6[] = {
+ {&(_ZTV7G26x4y6[5]), 5,6},
+ {&(_tg__ZTV5E26x4__7G26x4y6[4]), 4,5},
+ {&(_tg__ZTV3C265E26x4__7G26x4y6[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x4y6[];
+extern VTBL_ENTRY _ZTV7G26x4y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x4y6[];
+Class_Descriptor cd_G26x4y6 = { "G26x4y6", // class name
+ bases_G26x4y6, 6,
+ &(vtc_G26x4y6[0]), // expected_vtbl_contents
+ &(vtt_G26x4y6[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI7G26x4y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x4y6),6, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x4y6),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 G26x4y7 : virtual E26x4 , virtual F0 {
+ int ff;
+ ~G26x4y7(); // tgen
+ G26x4y7(); // tgen
+};
+//SIG(1 G26x4y7) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G26x4y7 ::~G26x4y7(){ note_dtor("G26x4y7", this);} // tgen
+G26x4y7 ::G26x4y7(){ note_ctor("G26x4y7", this);} // tgen
+
+static void Test_G26x4y7()
+{
+ extern Class_Descriptor cd_G26x4y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G26x4y7, buf);
+ G26x4y7 *dp, &lv = *(dp=new (buf) G26x4y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G26x4y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x4y7)");
+ check_base_class_offset(lv, (A0*)(C26*)(E26x4*), ABISELECT(36,24), "G26x4y7");
+ check_base_class_offset(lv, (B0*)(C26*)(E26x4*), ABISELECT(40,28), "G26x4y7");
+ check_base_class_offset(lv, (C26*)(E26x4*), ABISELECT(16,8), "G26x4y7");
+ check_base_class_offset(lv, (D0*)(E26x4*), ABISELECT(28,16), "G26x4y7");
+ check_base_class_offset(lv, (E26x4*), ABISELECT(16,8), "G26x4y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G26x4y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G26x4y7.ff");
+ test_class_info(&lv, &cd_G26x4y7);
+ dp->~G26x4y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x4y7(Test_G26x4y7, "G26x4y7", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G26x4y7C1Ev();
+extern void _ZN7G26x4y7D1Ev();
+Name_Map name_map_G26x4y7[] = {
+ NSPAIR(_ZN7G26x4y7C1Ev),
+ NSPAIR(_ZN7G26x4y7D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E26x4;
+extern VTBL_ENTRY _ZTI5E26x4[];
+extern VTBL_ENTRY _ZTV5E26x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G26x4y7[] = {
+ // 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(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 4, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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_E26x4, 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
+ 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 _ZTI7G26x4y7[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY vtc_G26x4y7[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x4y7[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G26x4y7[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x4y7[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV5E26x4__7G26x4y7[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x4[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C265E26x4__7G26x4y7[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x4y7[] = {
+ {&(_ZTV7G26x4y7[6]), 6,12},
+ {&(_ZTV7G26x4y7[11]), 11,12},
+ {&(_tg__ZTV5E26x4__7G26x4y7[4]), 4,5},
+ {&(_tg__ZTV3C265E26x4__7G26x4y7[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x4y7[];
+extern VTBL_ENTRY _ZTV7G26x4y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x4y7[];
+Class_Descriptor cd_G26x4y7 = { "G26x4y7", // class name
+ bases_G26x4y7, 6,
+ &(vtc_G26x4y7[0]), // expected_vtbl_contents
+ &(vtt_G26x4y7[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G26x4y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x4y7),12, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x4y7),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 E27x4 : C27 , D0 {
+ int fd;
+ ~E27x4(); // tgen
+ E27x4(); // tgen
+};
+//SIG(-1 E27x4) C1{ BC2{ VBC3{ v1 Fi} VBC4{ Fi} v1 Fi} BC5{ Fi} Fi}
+
+
+E27x4 ::~E27x4(){ note_dtor("E27x4", this);} // tgen
+E27x4 ::E27x4(){ note_ctor("E27x4", this);} // tgen
+
+static void Test_E27x4()
+{
+ extern Class_Descriptor cd_E27x4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E27x4, buf);
+ E27x4 *dp, &lv = *(dp=new (buf) E27x4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E27x4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E27x4)");
+ check_base_class_offset(lv, (A1*)(C27*), ABISELECT(24,16), "E27x4");
+ check_base_class_offset(lv, (B0*)(C27*), ABISELECT(36,24), "E27x4");
+ check_base_class_offset(lv, (C27*), 0, "E27x4");
+ check_base_class_offset(lv, (D0*), ABISELECT(12,8), "E27x4");
+ check_field_offset(lv, fd, ABISELECT(16,12), "E27x4.fd");
+ test_class_info(&lv, &cd_E27x4);
+ dp->~E27x4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE27x4(Test_E27x4, "E27x4", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E27x4C1Ev();
+extern void _ZN5E27x4D1Ev();
+Name_Map name_map_E27x4[] = {
+ NSPAIR(_ZN5E27x4C1Ev),
+ NSPAIR(_ZN5E27x4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E27x4[] = {
+ // 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(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
+ 2, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D0, 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 _ZTI5E27x4[];
+extern void _ZN3C273fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn24_N3C273fooEv,_ZThn16_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_E27x4[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x4[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E27x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern VTBL_ENTRY _ZTV5E27x4[];
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__5E27x4[] = {
+ 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__3C27__5E27x4[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_E27x4[] = {
+ {&(_ZTV5E27x4[4]), 4,9},
+ {&(_tg__ZTV3C27__5E27x4[4]), 4,5},
+ {&(_tg__ZTV2A1__3C27__5E27x4[3]), 3,4},
+ {&(_ZTV5E27x4[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI5E27x4[];
+extern VTBL_ENTRY _ZTV5E27x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x4[];
+static VTBL_ENTRY alt_thunk_names26[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C273fooEv,_ZThn16_N3C273fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C273fooEv,_ZThn16_N3C273fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_E27x4 = { "E27x4", // class name
+ bases_E27x4, 4,
+ &(vtc_E27x4[0]), // expected_vtbl_contents
+ &(vtt_E27x4[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E27x4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E27x4),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E27x4),4, //virtual table table var
+ 2, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names26,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x4y0 : E27x4 , F1 {
+ int ff;
+ ~G27x4y0(); // tgen
+ G27x4y0(); // tgen
+};
+//SIG(1 G27x4y0) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G27x4y0 ::~G27x4y0(){ note_dtor("G27x4y0", this);} // tgen
+G27x4y0 ::G27x4y0(){ note_ctor("G27x4y0", this);} // tgen
+
+static void Test_G27x4y0()
+{
+ extern Class_Descriptor cd_G27x4y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G27x4y0, buf);
+ G27x4y0 *dp, &lv = *(dp=new (buf) G27x4y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G27x4y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x4y0)");
+ check_base_class_offset(lv, (A1*)(C27*)(E27x4*), ABISELECT(40,28), "G27x4y0");
+ check_base_class_offset(lv, (B0*)(C27*)(E27x4*), ABISELECT(52,36), "G27x4y0");
+ check_base_class_offset(lv, (C27*)(E27x4*), 0, "G27x4y0");
+ check_base_class_offset(lv, (D0*)(E27x4*), ABISELECT(12,8), "G27x4y0");
+ check_base_class_offset(lv, (E27x4*), 0, "G27x4y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,16), "G27x4y0");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G27x4y0.ff");
+ test_class_info(&lv, &cd_G27x4y0);
+ dp->~G27x4y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x4y0(Test_G27x4y0, "G27x4y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G27x4y0C1Ev();
+extern void _ZN7G27x4y0D1Ev();
+Name_Map name_map_G27x4y0[] = {
+ NSPAIR(_ZN7G27x4y0C1Ev),
+ NSPAIR(_ZN7G27x4y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E27x4;
+extern VTBL_ENTRY _ZTI5E27x4[];
+extern VTBL_ENTRY _ZTV5E27x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G27x4y0[] = {
+ // 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_D0, 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_E27x4, 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 _ZTI7G27x4y0[];
+extern void _ZN3C273fooEv();
+extern void _ZN2F13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn40_N3C273fooEv,_ZThn28_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G27x4y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x4y0[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G27x4y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G27x4y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern VTBL_ENTRY _ZTV7G27x4y0[];
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV5E27x4__7G27x4y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x4[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C275E27x4__7G27x4y0[] = {
+ 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__3C275E27x4__7G27x4y0[] = {
+ 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__5E27x4__7G27x4y0[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E27x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x4y0[] = {
+ {&(_ZTV7G27x4y0[4]), 4,12},
+ {&(_tg__ZTV5E27x4__7G27x4y0[4]), 4,5},
+ {&(_tg__ZTV3C275E27x4__7G27x4y0[4]), 4,5},
+ {&(_tg__ZTV2A1__3C275E27x4__7G27x4y0[3]), 3,4},
+ {&(_tg__ZTV2A1__5E27x4__7G27x4y0[3]), 3,4},
+ {&(_ZTV7G27x4y0[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI7G27x4y0[];
+extern VTBL_ENTRY _ZTV7G27x4y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x4y0[];
+static VTBL_ENTRY alt_thunk_names27[] = {
+ (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_G27x4y0 = { "G27x4y0", // class name
+ bases_G27x4y0, 6,
+ &(vtc_G27x4y0[0]), // expected_vtbl_contents
+ &(vtt_G27x4y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G27x4y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x4y0),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x4y0),6, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names27,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x4y1 : virtual E27x4 , F1 {
+ int ff;
+ ~G27x4y1(); // tgen
+ G27x4y1(); // tgen
+};
+//SIG(1 G27x4y1) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G27x4y1 ::~G27x4y1(){ note_dtor("G27x4y1", this);} // tgen
+G27x4y1 ::G27x4y1(){ note_ctor("G27x4y1", this);} // tgen
+
+static void Test_G27x4y1()
+{
+ extern Class_Descriptor cd_G27x4y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G27x4y1, buf);
+ G27x4y1 *dp, &lv = *(dp=new (buf) G27x4y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G27x4y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x4y1)");
+ check_base_class_offset(lv, (A1*)(C27*)(E27x4*), ABISELECT(40,28), "G27x4y1");
+ check_base_class_offset(lv, (B0*)(C27*)(E27x4*), ABISELECT(52,36), "G27x4y1");
+ check_base_class_offset(lv, (C27*)(E27x4*), ABISELECT(16,12), "G27x4y1");
+ check_base_class_offset(lv, (D0*)(E27x4*), ABISELECT(28,20), "G27x4y1");
+ check_base_class_offset(lv, (E27x4*), ABISELECT(16,12), "G27x4y1");
+ check_base_class_offset(lv, (F1*), 0, "G27x4y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G27x4y1.ff");
+ test_class_info(&lv, &cd_G27x4y1);
+ dp->~G27x4y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x4y1(Test_G27x4y1, "G27x4y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G27x4y1C1Ev();
+extern void _ZN7G27x4y1D1Ev();
+Name_Map name_map_G27x4y1[] = {
+ NSPAIR(_ZN7G27x4y1C1Ev),
+ NSPAIR(_ZN7G27x4y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E27x4;
+extern VTBL_ENTRY _ZTI5E27x4[];
+extern VTBL_ENTRY _ZTV5E27x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G27x4y1[] = {
+ // 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(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(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_D0, 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_E27x4, 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 _ZTI7G27x4y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C273fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn24_N3C273fooEv,_ZThn16_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G27x4y1[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x4y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G27x4y1[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G27x4y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern VTBL_ENTRY _ZTV7G27x4y1[];
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV5E27x4__7G27x4y1[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x4[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C275E27x4__7G27x4y1[] = {
+ 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__3C275E27x4__7G27x4y1[] = {
+ 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__5E27x4__7G27x4y1[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E27x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x4y1[] = {
+ {&(_ZTV7G27x4y1[5]), 5,16},
+ {&(_ZTV7G27x4y1[11]), 11,16},
+ {&(_ZTV7G27x4y1[15]), 15,16},
+ {&(_tg__ZTV5E27x4__7G27x4y1[4]), 4,5},
+ {&(_tg__ZTV3C275E27x4__7G27x4y1[4]), 4,5},
+ {&(_tg__ZTV2A1__3C275E27x4__7G27x4y1[3]), 3,4},
+ {&(_tg__ZTV2A1__5E27x4__7G27x4y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G27x4y1[];
+extern VTBL_ENTRY _ZTV7G27x4y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x4y1[];
+static VTBL_ENTRY alt_thunk_names28[] = {
+ (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_G27x4y1 = { "G27x4y1", // class name
+ bases_G27x4y1, 6,
+ &(vtc_G27x4y1[0]), // expected_vtbl_contents
+ &(vtt_G27x4y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G27x4y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x4y1),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x4y1),7, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names28,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x4y2 : E27x4 , virtual F1 {
+ int ff;
+ ~G27x4y2(); // tgen
+ G27x4y2(); // tgen
+};
+//SIG(1 G27x4y2) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G27x4y2 ::~G27x4y2(){ note_dtor("G27x4y2", this);} // tgen
+G27x4y2 ::G27x4y2(){ note_ctor("G27x4y2", this);} // tgen
+
+static void Test_G27x4y2()
+{
+ extern Class_Descriptor cd_G27x4y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G27x4y2, buf);
+ G27x4y2 *dp, &lv = *(dp=new (buf) G27x4y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G27x4y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x4y2)");
+ check_base_class_offset(lv, (A1*)(C27*)(E27x4*), ABISELECT(24,20), "G27x4y2");
+ check_base_class_offset(lv, (B0*)(C27*)(E27x4*), ABISELECT(36,28), "G27x4y2");
+ check_base_class_offset(lv, (C27*)(E27x4*), 0, "G27x4y2");
+ check_base_class_offset(lv, (D0*)(E27x4*), ABISELECT(12,8), "G27x4y2");
+ check_base_class_offset(lv, (E27x4*), 0, "G27x4y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(40,32), "G27x4y2");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G27x4y2.ff");
+ test_class_info(&lv, &cd_G27x4y2);
+ dp->~G27x4y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x4y2(Test_G27x4y2, "G27x4y2", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G27x4y2C1Ev();
+extern void _ZN7G27x4y2D1Ev();
+Name_Map name_map_G27x4y2[] = {
+ NSPAIR(_ZN7G27x4y2C1Ev),
+ NSPAIR(_ZN7G27x4y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E27x4;
+extern VTBL_ENTRY _ZTI5E27x4[];
+extern VTBL_ENTRY _ZTV5E27x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G27x4y2[] = {
+ // 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)
+ 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(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_D0, 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_E27x4, 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(40,32), //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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G27x4y2[];
+extern void _ZN3C273fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn24_N3C273fooEv,_ZThn20_N3C273fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G27x4y2[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x4y2[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G27x4y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G27x4y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G27x4y2[];
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV5E27x4__7G27x4y2[] = {
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x4[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C275E27x4__7G27x4y2[] = {
+ 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__3C275E27x4__7G27x4y2[] = {
+ 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__5E27x4__7G27x4y2[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E27x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x4y2[] = {
+ {&(_ZTV7G27x4y2[5]), 5,14},
+ {&(_tg__ZTV5E27x4__7G27x4y2[4]), 4,5},
+ {&(_tg__ZTV3C275E27x4__7G27x4y2[4]), 4,5},
+ {&(_tg__ZTV2A1__3C275E27x4__7G27x4y2[3]), 3,4},
+ {&(_tg__ZTV2A1__5E27x4__7G27x4y2[3]), 3,4},
+ {&(_ZTV7G27x4y2[9]), 9,14},
+ {&(_ZTV7G27x4y2[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI7G27x4y2[];
+extern VTBL_ENTRY _ZTV7G27x4y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x4y2[];
+static VTBL_ENTRY alt_thunk_names29[] = {
+ (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_G27x4y2 = { "G27x4y2", // class name
+ bases_G27x4y2, 6,
+ &(vtc_G27x4y2[0]), // expected_vtbl_contents
+ &(vtt_G27x4y2[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G27x4y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x4y2),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x4y2),7, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names29,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x4y3 : virtual E27x4 , virtual F1 {
+ int ff;
+ ~G27x4y3(); // tgen
+ G27x4y3(); // tgen
+};
+//SIG(1 G27x4y3) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G27x4y3 ::~G27x4y3(){ note_dtor("G27x4y3", this);} // tgen
+G27x4y3 ::G27x4y3(){ note_ctor("G27x4y3", this);} // tgen
+
+static void Test_G27x4y3()
+{
+ extern Class_Descriptor cd_G27x4y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G27x4y3, buf);
+ G27x4y3 *dp, &lv = *(dp=new (buf) G27x4y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G27x4y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x4y3)");
+ check_base_class_offset(lv, (A1*)(C27*)(E27x4*), ABISELECT(40,24), "G27x4y3");
+ check_base_class_offset(lv, (B0*)(C27*)(E27x4*), ABISELECT(52,32), "G27x4y3");
+ check_base_class_offset(lv, (C27*)(E27x4*), ABISELECT(16,8), "G27x4y3");
+ check_base_class_offset(lv, (D0*)(E27x4*), ABISELECT(28,16), "G27x4y3");
+ check_base_class_offset(lv, (E27x4*), ABISELECT(16,8), "G27x4y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G27x4y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G27x4y3.ff");
+ test_class_info(&lv, &cd_G27x4y3);
+ dp->~G27x4y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x4y3(Test_G27x4y3, "G27x4y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G27x4y3C1Ev();
+extern void _ZN7G27x4y3D1Ev();
+Name_Map name_map_G27x4y3[] = {
+ NSPAIR(_ZN7G27x4y3C1Ev),
+ NSPAIR(_ZN7G27x4y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E27x4;
+extern VTBL_ENTRY _ZTI5E27x4[];
+extern VTBL_ENTRY _ZTV5E27x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G27x4y3[] = {
+ // 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(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(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_D0, 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_E27x4, 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 _ZTI7G27x4y3[];
+extern void _ZN3C273fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn24_N3C273fooEv,_ZThn16_N3C273fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G27x4y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x4y3[0]),
+ 0,
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G27x4y3[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G27x4y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G27x4y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G27x4y3[];
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV5E27x4__7G27x4y3[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x4[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C275E27x4__7G27x4y3[] = {
+ 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__3C275E27x4__7G27x4y3[] = {
+ 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__5E27x4__7G27x4y3[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E27x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x4y3[] = {
+ {&(_ZTV7G27x4y3[6]), 6,20},
+ {&(_ZTV7G27x4y3[11]), 11,20},
+ {&(_ZTV7G27x4y3[15]), 15,20},
+ {&(_ZTV7G27x4y3[19]), 19,20},
+ {&(_tg__ZTV5E27x4__7G27x4y3[4]), 4,5},
+ {&(_tg__ZTV3C275E27x4__7G27x4y3[4]), 4,5},
+ {&(_tg__ZTV2A1__3C275E27x4__7G27x4y3[3]), 3,4},
+ {&(_tg__ZTV2A1__5E27x4__7G27x4y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G27x4y3[];
+extern VTBL_ENTRY _ZTV7G27x4y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x4y3[];
+static VTBL_ENTRY alt_thunk_names30[] = {
+ (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_G27x4y3 = { "G27x4y3", // class name
+ bases_G27x4y3, 6,
+ &(vtc_G27x4y3[0]), // expected_vtbl_contents
+ &(vtt_G27x4y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G27x4y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x4y3),20, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x4y3),8, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names30,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x4y4 : E27x4 , F0 {
+ int ff;
+ ~G27x4y4(); // tgen
+ G27x4y4(); // tgen
+};
+//SIG(1 G27x4y4) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G27x4y4 ::~G27x4y4(){ note_dtor("G27x4y4", this);} // tgen
+G27x4y4 ::G27x4y4(){ note_ctor("G27x4y4", this);} // tgen
+
+static void Test_G27x4y4()
+{
+ extern Class_Descriptor cd_G27x4y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G27x4y4, buf);
+ G27x4y4 *dp, &lv = *(dp=new (buf) G27x4y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G27x4y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x4y4)");
+ check_base_class_offset(lv, (A1*)(C27*)(E27x4*), ABISELECT(32,24), "G27x4y4");
+ check_base_class_offset(lv, (B0*)(C27*)(E27x4*), ABISELECT(44,32), "G27x4y4");
+ check_base_class_offset(lv, (C27*)(E27x4*), 0, "G27x4y4");
+ check_base_class_offset(lv, (D0*)(E27x4*), ABISELECT(12,8), "G27x4y4");
+ check_base_class_offset(lv, (E27x4*), 0, "G27x4y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(20,16), "G27x4y4");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G27x4y4.ff");
+ test_class_info(&lv, &cd_G27x4y4);
+ dp->~G27x4y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x4y4(Test_G27x4y4, "G27x4y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G27x4y4C1Ev();
+extern void _ZN7G27x4y4D1Ev();
+Name_Map name_map_G27x4y4[] = {
+ NSPAIR(_ZN7G27x4y4C1Ev),
+ NSPAIR(_ZN7G27x4y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E27x4;
+extern VTBL_ENTRY _ZTI5E27x4[];
+extern VTBL_ENTRY _ZTV5E27x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G27x4y4[] = {
+ // 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)
+ 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(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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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_E27x4, 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 _ZTI7G27x4y4[];
+extern void _ZN3C273fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn32_N3C273fooEv,_ZThn24_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G27x4y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x4y4[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G27x4y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern VTBL_ENTRY _ZTV7G27x4y4[];
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV5E27x4__7G27x4y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x4[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C275E27x4__7G27x4y4[] = {
+ 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__3C275E27x4__7G27x4y4[] = {
+ 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__5E27x4__7G27x4y4[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E27x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x4y4[] = {
+ {&(_ZTV7G27x4y4[4]), 4,9},
+ {&(_tg__ZTV5E27x4__7G27x4y4[4]), 4,5},
+ {&(_tg__ZTV3C275E27x4__7G27x4y4[4]), 4,5},
+ {&(_tg__ZTV2A1__3C275E27x4__7G27x4y4[3]), 3,4},
+ {&(_tg__ZTV2A1__5E27x4__7G27x4y4[3]), 3,4},
+ {&(_ZTV7G27x4y4[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI7G27x4y4[];
+extern VTBL_ENTRY _ZTV7G27x4y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x4y4[];
+static VTBL_ENTRY alt_thunk_names31[] = {
+ (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_G27x4y4 = { "G27x4y4", // class name
+ bases_G27x4y4, 6,
+ &(vtc_G27x4y4[0]), // expected_vtbl_contents
+ &(vtt_G27x4y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G27x4y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x4y4),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x4y4),6, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names31,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x4y5 : virtual E27x4 , F0 {
+ int ff;
+ ~G27x4y5(); // tgen
+ G27x4y5(); // tgen
+};
+//SIG(1 G27x4y5) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G27x4y5 ::~G27x4y5(){ note_dtor("G27x4y5", this);} // tgen
+G27x4y5 ::G27x4y5(){ note_ctor("G27x4y5", this);} // tgen
+
+static void Test_G27x4y5()
+{
+ extern Class_Descriptor cd_G27x4y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G27x4y5, buf);
+ G27x4y5 *dp, &lv = *(dp=new (buf) G27x4y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G27x4y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x4y5)");
+ check_base_class_offset(lv, (A1*)(C27*)(E27x4*), ABISELECT(40,28), "G27x4y5");
+ check_base_class_offset(lv, (B0*)(C27*)(E27x4*), ABISELECT(52,36), "G27x4y5");
+ check_base_class_offset(lv, (C27*)(E27x4*), ABISELECT(16,12), "G27x4y5");
+ check_base_class_offset(lv, (D0*)(E27x4*), ABISELECT(28,20), "G27x4y5");
+ check_base_class_offset(lv, (E27x4*), ABISELECT(16,12), "G27x4y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G27x4y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G27x4y5.ff");
+ test_class_info(&lv, &cd_G27x4y5);
+ dp->~G27x4y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x4y5(Test_G27x4y5, "G27x4y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G27x4y5C1Ev();
+extern void _ZN7G27x4y5D1Ev();
+Name_Map name_map_G27x4y5[] = {
+ NSPAIR(_ZN7G27x4y5C1Ev),
+ NSPAIR(_ZN7G27x4y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E27x4;
+extern VTBL_ENTRY _ZTI5E27x4[];
+extern VTBL_ENTRY _ZTV5E27x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G27x4y5[] = {
+ // 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(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(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_D0, 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_E27x4, 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 _ZTI7G27x4y5[];
+extern void _ZN3C273fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn24_N3C273fooEv,_ZThn16_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G27x4y5[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x4y5[0]),
+ 0,
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G27x4y5[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G27x4y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern VTBL_ENTRY _ZTV7G27x4y5[];
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV5E27x4__7G27x4y5[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x4[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C275E27x4__7G27x4y5[] = {
+ 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__3C275E27x4__7G27x4y5[] = {
+ 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__5E27x4__7G27x4y5[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E27x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x4y5[] = {
+ {&(_ZTV7G27x4y5[5]), 5,15},
+ {&(_ZTV7G27x4y5[10]), 10,15},
+ {&(_ZTV7G27x4y5[14]), 14,15},
+ {&(_tg__ZTV5E27x4__7G27x4y5[4]), 4,5},
+ {&(_tg__ZTV3C275E27x4__7G27x4y5[4]), 4,5},
+ {&(_tg__ZTV2A1__3C275E27x4__7G27x4y5[3]), 3,4},
+ {&(_tg__ZTV2A1__5E27x4__7G27x4y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G27x4y5[];
+extern VTBL_ENTRY _ZTV7G27x4y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x4y5[];
+static VTBL_ENTRY alt_thunk_names32[] = {
+ (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_G27x4y5 = { "G27x4y5", // class name
+ bases_G27x4y5, 6,
+ &(vtc_G27x4y5[0]), // expected_vtbl_contents
+ &(vtt_G27x4y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G27x4y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x4y5),15, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x4y5),7, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names32,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x4y6 : E27x4 , virtual F0 {
+ int ff;
+ ~G27x4y6(); // tgen
+ G27x4y6(); // tgen
+};
+//SIG(1 G27x4y6) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G27x4y6 ::~G27x4y6(){ note_dtor("G27x4y6", this);} // tgen
+G27x4y6 ::G27x4y6(){ note_ctor("G27x4y6", this);} // tgen
+
+static void Test_G27x4y6()
+{
+ extern Class_Descriptor cd_G27x4y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G27x4y6, buf);
+ G27x4y6 *dp, &lv = *(dp=new (buf) G27x4y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G27x4y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x4y6)");
+ check_base_class_offset(lv, (A1*)(C27*)(E27x4*), ABISELECT(24,20), "G27x4y6");
+ check_base_class_offset(lv, (B0*)(C27*)(E27x4*), ABISELECT(36,28), "G27x4y6");
+ check_base_class_offset(lv, (C27*)(E27x4*), 0, "G27x4y6");
+ check_base_class_offset(lv, (D0*)(E27x4*), ABISELECT(12,8), "G27x4y6");
+ check_base_class_offset(lv, (E27x4*), 0, "G27x4y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(40,32), "G27x4y6");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G27x4y6.ff");
+ test_class_info(&lv, &cd_G27x4y6);
+ dp->~G27x4y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x4y6(Test_G27x4y6, "G27x4y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G27x4y6C1Ev();
+extern void _ZN7G27x4y6D1Ev();
+Name_Map name_map_G27x4y6[] = {
+ NSPAIR(_ZN7G27x4y6C1Ev),
+ NSPAIR(_ZN7G27x4y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E27x4;
+extern VTBL_ENTRY _ZTI5E27x4[];
+extern VTBL_ENTRY _ZTV5E27x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G27x4y6[] = {
+ // 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)
+ 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(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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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_E27x4, 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(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 _ZTI7G27x4y6[];
+extern void _ZN3C273fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn24_N3C273fooEv,_ZThn20_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G27x4y6[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x4y6[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G27x4y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern VTBL_ENTRY _ZTV7G27x4y6[];
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV5E27x4__7G27x4y6[] = {
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x4[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C275E27x4__7G27x4y6[] = {
+ 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__3C275E27x4__7G27x4y6[] = {
+ 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__5E27x4__7G27x4y6[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E27x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x4y6[] = {
+ {&(_ZTV7G27x4y6[5]), 5,10},
+ {&(_tg__ZTV5E27x4__7G27x4y6[4]), 4,5},
+ {&(_tg__ZTV3C275E27x4__7G27x4y6[4]), 4,5},
+ {&(_tg__ZTV2A1__3C275E27x4__7G27x4y6[3]), 3,4},
+ {&(_tg__ZTV2A1__5E27x4__7G27x4y6[3]), 3,4},
+ {&(_ZTV7G27x4y6[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI7G27x4y6[];
+extern VTBL_ENTRY _ZTV7G27x4y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x4y6[];
+static VTBL_ENTRY alt_thunk_names33[] = {
+ (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_G27x4y6 = { "G27x4y6", // class name
+ bases_G27x4y6, 6,
+ &(vtc_G27x4y6[0]), // expected_vtbl_contents
+ &(vtt_G27x4y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G27x4y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x4y6),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x4y6),6, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names33,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x4y7 : virtual E27x4 , virtual F0 {
+ int ff;
+ ~G27x4y7(); // tgen
+ G27x4y7(); // tgen
+};
+//SIG(1 G27x4y7) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G27x4y7 ::~G27x4y7(){ note_dtor("G27x4y7", this);} // tgen
+G27x4y7 ::G27x4y7(){ note_ctor("G27x4y7", this);} // tgen
+
+static void Test_G27x4y7()
+{
+ extern Class_Descriptor cd_G27x4y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G27x4y7, buf);
+ G27x4y7 *dp, &lv = *(dp=new (buf) G27x4y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G27x4y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x4y7)");
+ check_base_class_offset(lv, (A1*)(C27*)(E27x4*), ABISELECT(40,24), "G27x4y7");
+ check_base_class_offset(lv, (B0*)(C27*)(E27x4*), ABISELECT(52,32), "G27x4y7");
+ check_base_class_offset(lv, (C27*)(E27x4*), ABISELECT(16,8), "G27x4y7");
+ check_base_class_offset(lv, (D0*)(E27x4*), ABISELECT(28,16), "G27x4y7");
+ check_base_class_offset(lv, (E27x4*), ABISELECT(16,8), "G27x4y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G27x4y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G27x4y7.ff");
+ test_class_info(&lv, &cd_G27x4y7);
+ dp->~G27x4y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x4y7(Test_G27x4y7, "G27x4y7", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G27x4y7C1Ev();
+extern void _ZN7G27x4y7D1Ev();
+Name_Map name_map_G27x4y7[] = {
+ NSPAIR(_ZN7G27x4y7C1Ev),
+ NSPAIR(_ZN7G27x4y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E27x4;
+extern VTBL_ENTRY _ZTI5E27x4[];
+extern VTBL_ENTRY _ZTV5E27x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G27x4y7[] = {
+ // 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(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(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_D0, 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_E27x4, 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 _ZTI7G27x4y7[];
+extern void _ZN3C273fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn24_N3C273fooEv,_ZThn16_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G27x4y7[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x4y7[0]),
+ 0,
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G27x4y7[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G27x4y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern VTBL_ENTRY _ZTV7G27x4y7[];
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV5E27x4__7G27x4y7[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x4[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C275E27x4__7G27x4y7[] = {
+ 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__3C275E27x4__7G27x4y7[] = {
+ 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__5E27x4__7G27x4y7[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E27x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x4y7[] = {
+ {&(_ZTV7G27x4y7[6]), 6,16},
+ {&(_ZTV7G27x4y7[11]), 11,16},
+ {&(_ZTV7G27x4y7[15]), 15,16},
+ {&(_tg__ZTV5E27x4__7G27x4y7[4]), 4,5},
+ {&(_tg__ZTV3C275E27x4__7G27x4y7[4]), 4,5},
+ {&(_tg__ZTV2A1__3C275E27x4__7G27x4y7[3]), 3,4},
+ {&(_tg__ZTV2A1__5E27x4__7G27x4y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G27x4y7[];
+extern VTBL_ENTRY _ZTV7G27x4y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x4y7[];
+static VTBL_ENTRY alt_thunk_names34[] = {
+ (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_G27x4y7 = { "G27x4y7", // class name
+ bases_G27x4y7, 6,
+ &(vtc_G27x4y7[0]), // expected_vtbl_contents
+ &(vtt_G27x4y7[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G27x4y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x4y7),16, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x4y7),7, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names34,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E28x4 : C28 , D0 {
+ int fd;
+ ~E28x4(); // tgen
+ E28x4(); // tgen
+};
+//SIG(-1 E28x4) C1{ BC2{ BC3{ Fi} VBC4{ v1 Fi} v1 Fi} BC5{ Fi} Fi}
+
+
+E28x4 ::~E28x4(){ note_dtor("E28x4", this);} // tgen
+E28x4 ::E28x4(){ note_ctor("E28x4", this);} // tgen
+
+static void Test_E28x4()
+{
+ extern Class_Descriptor cd_E28x4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E28x4, buf);
+ E28x4 *dp, &lv = *(dp=new (buf) E28x4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E28x4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E28x4)");
+ check_base_class_offset(lv, (A0*)(C28*), ABISELECT(8,4), "E28x4");
+ check_base_class_offset(lv, (B1*)(C28*), ABISELECT(24,20), "E28x4");
+ check_base_class_offset(lv, (C28*), 0, "E28x4");
+ check_base_class_offset(lv, (D0*), ABISELECT(16,12), "E28x4");
+ check_field_offset(lv, fd, ABISELECT(20,16), "E28x4.fd");
+ test_class_info(&lv, &cd_E28x4);
+ dp->~E28x4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE28x4(Test_E28x4, "E28x4", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E28x4C1Ev();
+extern void _ZN5E28x4D1Ev();
+Name_Map name_map_E28x4[] = {
+ NSPAIR(_ZN5E28x4C1Ev),
+ NSPAIR(_ZN5E28x4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E28x4[] = {
+ // 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
+ 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_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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E28x4[];
+extern void _ZN3C283fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn24_N3C283fooEv,_ZThn20_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_E28x4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x4[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E28x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern VTBL_ENTRY _ZTV5E28x4[];
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__5E28x4[] = {
+ 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__3C28__5E28x4[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_E28x4[] = {
+ {&(_ZTV5E28x4[3]), 3,8},
+ {&(_tg__ZTV3C28__5E28x4[3]), 3,4},
+ {&(_tg__ZTV2B1__3C28__5E28x4[3]), 3,4},
+ {&(_ZTV5E28x4[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI5E28x4[];
+extern VTBL_ENTRY _ZTV5E28x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x4[];
+static VTBL_ENTRY alt_thunk_names35[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C283fooEv,_ZThn20_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C283fooEv,_ZThn20_N3C283fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_E28x4 = { "E28x4", // class name
+ bases_E28x4, 4,
+ &(vtc_E28x4[0]), // expected_vtbl_contents
+ &(vtt_E28x4[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E28x4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E28x4),8, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E28x4),4, //virtual table table var
+ 2, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names35,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x4y0 : E28x4 , F1 {
+ int ff;
+ ~G28x4y0(); // tgen
+ G28x4y0(); // tgen
+};
+//SIG(1 G28x4y0) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G28x4y0 ::~G28x4y0(){ note_dtor("G28x4y0", this);} // tgen
+G28x4y0 ::G28x4y0(){ note_ctor("G28x4y0", this);} // tgen
+
+static void Test_G28x4y0()
+{
+ extern Class_Descriptor cd_G28x4y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G28x4y0, buf);
+ G28x4y0 *dp, &lv = *(dp=new (buf) G28x4y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G28x4y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x4y0)");
+ check_base_class_offset(lv, (A0*)(C28*)(E28x4*), ABISELECT(8,4), "G28x4y0");
+ check_base_class_offset(lv, (B1*)(C28*)(E28x4*), ABISELECT(40,32), "G28x4y0");
+ check_base_class_offset(lv, (C28*)(E28x4*), 0, "G28x4y0");
+ check_base_class_offset(lv, (D0*)(E28x4*), ABISELECT(16,12), "G28x4y0");
+ check_base_class_offset(lv, (E28x4*), 0, "G28x4y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,20), "G28x4y0");
+ check_field_offset(lv, ff, ABISELECT(36,28), "G28x4y0.ff");
+ test_class_info(&lv, &cd_G28x4y0);
+ dp->~G28x4y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x4y0(Test_G28x4y0, "G28x4y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G28x4y0C1Ev();
+extern void _ZN7G28x4y0D1Ev();
+Name_Map name_map_G28x4y0[] = {
+ NSPAIR(_ZN7G28x4y0C1Ev),
+ NSPAIR(_ZN7G28x4y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E28x4;
+extern VTBL_ENTRY _ZTI5E28x4[];
+extern VTBL_ENTRY _ZTV5E28x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G28x4y0[] = {
+ // 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E28x4, 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 _ZTI7G28x4y0[];
+extern void _ZN3C283fooEv();
+extern void _ZN2F13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn40_N3C283fooEv,_ZThn32_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G28x4y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x4y0[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G28x4y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(-40,-32),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G28x4y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern VTBL_ENTRY _ZTV7G28x4y0[];
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV5E28x4__7G28x4y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x4[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C285E28x4__7G28x4y0[] = {
+ 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__3C285E28x4__7G28x4y0[] = {
+ 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__5E28x4__7G28x4y0[] = {
+ ABISELECT(-40,-32),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI5E28x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x4y0[] = {
+ {&(_ZTV7G28x4y0[3]), 3,11},
+ {&(_tg__ZTV5E28x4__7G28x4y0[3]), 3,4},
+ {&(_tg__ZTV3C285E28x4__7G28x4y0[3]), 3,4},
+ {&(_tg__ZTV2B1__3C285E28x4__7G28x4y0[3]), 3,4},
+ {&(_tg__ZTV2B1__5E28x4__7G28x4y0[3]), 3,4},
+ {&(_ZTV7G28x4y0[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI7G28x4y0[];
+extern VTBL_ENTRY _ZTV7G28x4y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x4y0[];
+static VTBL_ENTRY alt_thunk_names36[] = {
+ (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_G28x4y0 = { "G28x4y0", // class name
+ bases_G28x4y0, 6,
+ &(vtc_G28x4y0[0]), // expected_vtbl_contents
+ &(vtt_G28x4y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G28x4y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x4y0),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x4y0),6, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names36,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x4y1 : virtual E28x4 , F1 {
+ int ff;
+ ~G28x4y1(); // tgen
+ G28x4y1(); // tgen
+};
+//SIG(1 G28x4y1) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G28x4y1 ::~G28x4y1(){ note_dtor("G28x4y1", this);} // tgen
+G28x4y1 ::G28x4y1(){ note_ctor("G28x4y1", this);} // tgen
+
+static void Test_G28x4y1()
+{
+ extern Class_Descriptor cd_G28x4y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G28x4y1, buf);
+ G28x4y1 *dp, &lv = *(dp=new (buf) G28x4y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G28x4y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x4y1)");
+ check_base_class_offset(lv, (A0*)(C28*)(E28x4*), ABISELECT(24,16), "G28x4y1");
+ check_base_class_offset(lv, (B1*)(C28*)(E28x4*), ABISELECT(40,32), "G28x4y1");
+ check_base_class_offset(lv, (C28*)(E28x4*), ABISELECT(16,12), "G28x4y1");
+ check_base_class_offset(lv, (D0*)(E28x4*), ABISELECT(32,24), "G28x4y1");
+ check_base_class_offset(lv, (E28x4*), ABISELECT(16,12), "G28x4y1");
+ check_base_class_offset(lv, (F1*), 0, "G28x4y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G28x4y1.ff");
+ test_class_info(&lv, &cd_G28x4y1);
+ dp->~G28x4y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x4y1(Test_G28x4y1, "G28x4y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G28x4y1C1Ev();
+extern void _ZN7G28x4y1D1Ev();
+Name_Map name_map_G28x4y1[] = {
+ NSPAIR(_ZN7G28x4y1C1Ev),
+ NSPAIR(_ZN7G28x4y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E28x4;
+extern VTBL_ENTRY _ZTI5E28x4[];
+extern VTBL_ENTRY _ZTV5E28x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G28x4y1[] = {
+ // 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,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
+ 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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, 0},
+ {&cd_E28x4, 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 _ZTI7G28x4y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C283fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn24_N3C283fooEv,_ZThn20_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G28x4y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x4y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G28x4y1[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G28x4y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern VTBL_ENTRY _ZTV7G28x4y1[];
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV5E28x4__7G28x4y1[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x4[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C285E28x4__7G28x4y1[] = {
+ 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__3C285E28x4__7G28x4y1[] = {
+ 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__5E28x4__7G28x4y1[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E28x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x4y1[] = {
+ {&(_ZTV7G28x4y1[4]), 4,14},
+ {&(_ZTV7G28x4y1[9]), 9,14},
+ {&(_ZTV7G28x4y1[13]), 13,14},
+ {&(_tg__ZTV5E28x4__7G28x4y1[3]), 3,4},
+ {&(_tg__ZTV3C285E28x4__7G28x4y1[3]), 3,4},
+ {&(_tg__ZTV2B1__3C285E28x4__7G28x4y1[3]), 3,4},
+ {&(_tg__ZTV2B1__5E28x4__7G28x4y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G28x4y1[];
+extern VTBL_ENTRY _ZTV7G28x4y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x4y1[];
+static VTBL_ENTRY alt_thunk_names37[] = {
+ (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_G28x4y1 = { "G28x4y1", // class name
+ bases_G28x4y1, 6,
+ &(vtc_G28x4y1[0]), // expected_vtbl_contents
+ &(vtt_G28x4y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G28x4y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x4y1),14, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x4y1),7, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names37,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x4y2 : E28x4 , virtual F1 {
+ int ff;
+ ~G28x4y2(); // tgen
+ G28x4y2(); // tgen
+};
+//SIG(1 G28x4y2) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G28x4y2 ::~G28x4y2(){ note_dtor("G28x4y2", this);} // tgen
+G28x4y2 ::G28x4y2(){ note_ctor("G28x4y2", this);} // tgen
+
+static void Test_G28x4y2()
+{
+ extern Class_Descriptor cd_G28x4y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G28x4y2, buf);
+ G28x4y2 *dp, &lv = *(dp=new (buf) G28x4y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G28x4y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x4y2)");
+ check_base_class_offset(lv, (A0*)(C28*)(E28x4*), ABISELECT(8,4), "G28x4y2");
+ check_base_class_offset(lv, (B1*)(C28*)(E28x4*), ABISELECT(32,24), "G28x4y2");
+ check_base_class_offset(lv, (C28*)(E28x4*), 0, "G28x4y2");
+ check_base_class_offset(lv, (D0*)(E28x4*), ABISELECT(16,12), "G28x4y2");
+ check_base_class_offset(lv, (E28x4*), 0, "G28x4y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G28x4y2");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G28x4y2.ff");
+ test_class_info(&lv, &cd_G28x4y2);
+ dp->~G28x4y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x4y2(Test_G28x4y2, "G28x4y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G28x4y2C1Ev();
+extern void _ZN7G28x4y2D1Ev();
+Name_Map name_map_G28x4y2[] = {
+ NSPAIR(_ZN7G28x4y2C1Ev),
+ NSPAIR(_ZN7G28x4y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E28x4;
+extern VTBL_ENTRY _ZTI5E28x4[];
+extern VTBL_ENTRY _ZTV5E28x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G28x4y2[] = {
+ // 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)
+ 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E28x4, 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)
+ 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 _ZTI7G28x4y2[];
+extern void _ZN3C283fooEv();
+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_G28x4y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x4y2[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G28x4y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G28x4y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G28x4y2[];
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV5E28x4__7G28x4y2[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x4[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C285E28x4__7G28x4y2[] = {
+ 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__3C285E28x4__7G28x4y2[] = {
+ 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__5E28x4__7G28x4y2[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E28x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x4y2[] = {
+ {&(_ZTV7G28x4y2[4]), 4,13},
+ {&(_tg__ZTV5E28x4__7G28x4y2[3]), 3,4},
+ {&(_tg__ZTV3C285E28x4__7G28x4y2[3]), 3,4},
+ {&(_tg__ZTV2B1__3C285E28x4__7G28x4y2[3]), 3,4},
+ {&(_tg__ZTV2B1__5E28x4__7G28x4y2[3]), 3,4},
+ {&(_ZTV7G28x4y2[8]), 8,13},
+ {&(_ZTV7G28x4y2[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI7G28x4y2[];
+extern VTBL_ENTRY _ZTV7G28x4y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x4y2[];
+static VTBL_ENTRY alt_thunk_names38[] = {
+ (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_G28x4y2 = { "G28x4y2", // class name
+ bases_G28x4y2, 6,
+ &(vtc_G28x4y2[0]), // expected_vtbl_contents
+ &(vtt_G28x4y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G28x4y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x4y2),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x4y2),7, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names38,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x4y3 : virtual E28x4 , virtual F1 {
+ int ff;
+ ~G28x4y3(); // tgen
+ G28x4y3(); // tgen
+};
+//SIG(1 G28x4y3) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G28x4y3 ::~G28x4y3(){ note_dtor("G28x4y3", this);} // tgen
+G28x4y3 ::G28x4y3(){ note_ctor("G28x4y3", this);} // tgen
+
+static void Test_G28x4y3()
+{
+ extern Class_Descriptor cd_G28x4y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G28x4y3, buf);
+ G28x4y3 *dp, &lv = *(dp=new (buf) G28x4y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G28x4y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x4y3)");
+ check_base_class_offset(lv, (A0*)(C28*)(E28x4*), ABISELECT(24,12), "G28x4y3");
+ check_base_class_offset(lv, (B1*)(C28*)(E28x4*), ABISELECT(40,28), "G28x4y3");
+ check_base_class_offset(lv, (C28*)(E28x4*), ABISELECT(16,8), "G28x4y3");
+ check_base_class_offset(lv, (D0*)(E28x4*), ABISELECT(32,20), "G28x4y3");
+ check_base_class_offset(lv, (E28x4*), ABISELECT(16,8), "G28x4y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G28x4y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G28x4y3.ff");
+ test_class_info(&lv, &cd_G28x4y3);
+ dp->~G28x4y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x4y3(Test_G28x4y3, "G28x4y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G28x4y3C1Ev();
+extern void _ZN7G28x4y3D1Ev();
+Name_Map name_map_G28x4y3[] = {
+ NSPAIR(_ZN7G28x4y3C1Ev),
+ NSPAIR(_ZN7G28x4y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E28x4;
+extern VTBL_ENTRY _ZTI5E28x4[];
+extern VTBL_ENTRY _ZTV5E28x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G28x4y3[] = {
+ // 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,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_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_D0, 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, 0},
+ {&cd_E28x4, 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 _ZTI7G28x4y3[];
+extern void _ZN3C283fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn24_N3C283fooEv,_ZThn20_N3C283fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G28x4y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x4y3[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G28x4y3[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G28x4y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G28x4y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G28x4y3[];
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV5E28x4__7G28x4y3[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x4[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C285E28x4__7G28x4y3[] = {
+ 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__3C285E28x4__7G28x4y3[] = {
+ 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__5E28x4__7G28x4y3[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E28x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x4y3[] = {
+ {&(_ZTV7G28x4y3[5]), 5,18},
+ {&(_ZTV7G28x4y3[9]), 9,18},
+ {&(_ZTV7G28x4y3[13]), 13,18},
+ {&(_ZTV7G28x4y3[17]), 17,18},
+ {&(_tg__ZTV5E28x4__7G28x4y3[3]), 3,4},
+ {&(_tg__ZTV3C285E28x4__7G28x4y3[3]), 3,4},
+ {&(_tg__ZTV2B1__3C285E28x4__7G28x4y3[3]), 3,4},
+ {&(_tg__ZTV2B1__5E28x4__7G28x4y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G28x4y3[];
+extern VTBL_ENTRY _ZTV7G28x4y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x4y3[];
+static VTBL_ENTRY alt_thunk_names39[] = {
+ (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_G28x4y3 = { "G28x4y3", // class name
+ bases_G28x4y3, 6,
+ &(vtc_G28x4y3[0]), // expected_vtbl_contents
+ &(vtt_G28x4y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G28x4y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x4y3),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x4y3),8, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names39,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x4y4 : E28x4 , F0 {
+ int ff;
+ ~G28x4y4(); // tgen
+ G28x4y4(); // tgen
+};
+//SIG(1 G28x4y4) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G28x4y4 ::~G28x4y4(){ note_dtor("G28x4y4", this);} // tgen
+G28x4y4 ::G28x4y4(){ note_ctor("G28x4y4", this);} // tgen
+
+static void Test_G28x4y4()
+{
+ extern Class_Descriptor cd_G28x4y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G28x4y4, buf);
+ G28x4y4 *dp, &lv = *(dp=new (buf) G28x4y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G28x4y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x4y4)");
+ check_base_class_offset(lv, (A0*)(C28*)(E28x4*), ABISELECT(8,4), "G28x4y4");
+ check_base_class_offset(lv, (B1*)(C28*)(E28x4*), ABISELECT(32,28), "G28x4y4");
+ check_base_class_offset(lv, (C28*)(E28x4*), 0, "G28x4y4");
+ check_base_class_offset(lv, (D0*)(E28x4*), ABISELECT(16,12), "G28x4y4");
+ check_base_class_offset(lv, (E28x4*), 0, "G28x4y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(24,20), "G28x4y4");
+ check_field_offset(lv, ff, ABISELECT(28,24), "G28x4y4.ff");
+ test_class_info(&lv, &cd_G28x4y4);
+ dp->~G28x4y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x4y4(Test_G28x4y4, "G28x4y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G28x4y4C1Ev();
+extern void _ZN7G28x4y4D1Ev();
+Name_Map name_map_G28x4y4[] = {
+ NSPAIR(_ZN7G28x4y4C1Ev),
+ NSPAIR(_ZN7G28x4y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E28x4;
+extern VTBL_ENTRY _ZTI5E28x4[];
+extern VTBL_ENTRY _ZTV5E28x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G28x4y4[] = {
+ // 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,28), //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
+ 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E28x4, 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 _ZTI7G28x4y4[];
+extern void _ZN3C283fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn32_N3C283fooEv,_ZThn28_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G28x4y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x4y4[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-32,-28),
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI7G28x4y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern VTBL_ENTRY _ZTV7G28x4y4[];
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV5E28x4__7G28x4y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x4[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C285E28x4__7G28x4y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn32_N3C283fooEv,_ZThn28_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C285E28x4__7G28x4y4[] = {
+ ABISELECT(-32,-28),
+ ABISELECT(-32,-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(_ZThn32_N3C283fooEv,_ZThn28_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E28x4__7G28x4y4[] = {
+ ABISELECT(-32,-28),
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI5E28x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x4y4[] = {
+ {&(_ZTV7G28x4y4[3]), 3,8},
+ {&(_tg__ZTV5E28x4__7G28x4y4[3]), 3,4},
+ {&(_tg__ZTV3C285E28x4__7G28x4y4[3]), 3,4},
+ {&(_tg__ZTV2B1__3C285E28x4__7G28x4y4[3]), 3,4},
+ {&(_tg__ZTV2B1__5E28x4__7G28x4y4[3]), 3,4},
+ {&(_ZTV7G28x4y4[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI7G28x4y4[];
+extern VTBL_ENTRY _ZTV7G28x4y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x4y4[];
+static VTBL_ENTRY alt_thunk_names40[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C283fooEv,_ZThn28_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C283fooEv,_ZThn28_N3C283fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C283fooEv,_ZThn28_N3C283fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G28x4y4 = { "G28x4y4", // class name
+ bases_G28x4y4, 6,
+ &(vtc_G28x4y4[0]), // expected_vtbl_contents
+ &(vtt_G28x4y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G28x4y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x4y4),8, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x4y4),6, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names40,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x4y5 : virtual E28x4 , F0 {
+ int ff;
+ ~G28x4y5(); // tgen
+ G28x4y5(); // tgen
+};
+//SIG(1 G28x4y5) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G28x4y5 ::~G28x4y5(){ note_dtor("G28x4y5", this);} // tgen
+G28x4y5 ::G28x4y5(){ note_ctor("G28x4y5", this);} // tgen
+
+static void Test_G28x4y5()
+{
+ extern Class_Descriptor cd_G28x4y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G28x4y5, buf);
+ G28x4y5 *dp, &lv = *(dp=new (buf) G28x4y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G28x4y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x4y5)");
+ check_base_class_offset(lv, (A0*)(C28*)(E28x4*), ABISELECT(24,16), "G28x4y5");
+ check_base_class_offset(lv, (B1*)(C28*)(E28x4*), ABISELECT(40,32), "G28x4y5");
+ check_base_class_offset(lv, (C28*)(E28x4*), ABISELECT(16,12), "G28x4y5");
+ check_base_class_offset(lv, (D0*)(E28x4*), ABISELECT(32,24), "G28x4y5");
+ check_base_class_offset(lv, (E28x4*), ABISELECT(16,12), "G28x4y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G28x4y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G28x4y5.ff");
+ test_class_info(&lv, &cd_G28x4y5);
+ dp->~G28x4y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x4y5(Test_G28x4y5, "G28x4y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G28x4y5C1Ev();
+extern void _ZN7G28x4y5D1Ev();
+Name_Map name_map_G28x4y5[] = {
+ NSPAIR(_ZN7G28x4y5C1Ev),
+ NSPAIR(_ZN7G28x4y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E28x4;
+extern VTBL_ENTRY _ZTI5E28x4[];
+extern VTBL_ENTRY _ZTV5E28x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G28x4y5[] = {
+ // 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,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
+ 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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, 0},
+ {&cd_E28x4, 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 _ZTI7G28x4y5[];
+extern void _ZN3C283fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn24_N3C283fooEv,_ZThn20_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G28x4y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x4y5[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G28x4y5[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G28x4y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern VTBL_ENTRY _ZTV7G28x4y5[];
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV5E28x4__7G28x4y5[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x4[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C285E28x4__7G28x4y5[] = {
+ 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__3C285E28x4__7G28x4y5[] = {
+ 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__5E28x4__7G28x4y5[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E28x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x4y5[] = {
+ {&(_ZTV7G28x4y5[4]), 4,13},
+ {&(_ZTV7G28x4y5[8]), 8,13},
+ {&(_ZTV7G28x4y5[12]), 12,13},
+ {&(_tg__ZTV5E28x4__7G28x4y5[3]), 3,4},
+ {&(_tg__ZTV3C285E28x4__7G28x4y5[3]), 3,4},
+ {&(_tg__ZTV2B1__3C285E28x4__7G28x4y5[3]), 3,4},
+ {&(_tg__ZTV2B1__5E28x4__7G28x4y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G28x4y5[];
+extern VTBL_ENTRY _ZTV7G28x4y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x4y5[];
+static VTBL_ENTRY alt_thunk_names41[] = {
+ (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_G28x4y5 = { "G28x4y5", // class name
+ bases_G28x4y5, 6,
+ &(vtc_G28x4y5[0]), // expected_vtbl_contents
+ &(vtt_G28x4y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G28x4y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x4y5),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x4y5),7, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names41,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x4y6 : E28x4 , virtual F0 {
+ int ff;
+ ~G28x4y6(); // tgen
+ G28x4y6(); // tgen
+};
+//SIG(1 G28x4y6) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G28x4y6 ::~G28x4y6(){ note_dtor("G28x4y6", this);} // tgen
+G28x4y6 ::G28x4y6(){ note_ctor("G28x4y6", this);} // tgen
+
+static void Test_G28x4y6()
+{
+ extern Class_Descriptor cd_G28x4y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G28x4y6, buf);
+ G28x4y6 *dp, &lv = *(dp=new (buf) G28x4y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G28x4y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x4y6)");
+ check_base_class_offset(lv, (A0*)(C28*)(E28x4*), ABISELECT(8,4), "G28x4y6");
+ check_base_class_offset(lv, (B1*)(C28*)(E28x4*), ABISELECT(32,24), "G28x4y6");
+ check_base_class_offset(lv, (C28*)(E28x4*), 0, "G28x4y6");
+ check_base_class_offset(lv, (D0*)(E28x4*), ABISELECT(16,12), "G28x4y6");
+ check_base_class_offset(lv, (E28x4*), 0, "G28x4y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G28x4y6");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G28x4y6.ff");
+ test_class_info(&lv, &cd_G28x4y6);
+ dp->~G28x4y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x4y6(Test_G28x4y6, "G28x4y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G28x4y6C1Ev();
+extern void _ZN7G28x4y6D1Ev();
+Name_Map name_map_G28x4y6[] = {
+ NSPAIR(_ZN7G28x4y6C1Ev),
+ NSPAIR(_ZN7G28x4y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E28x4;
+extern VTBL_ENTRY _ZTI5E28x4[];
+extern VTBL_ENTRY _ZTV5E28x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G28x4y6[] = {
+ // 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)
+ 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E28x4, 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 _ZTI7G28x4y6[];
+extern void _ZN3C283fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn32_N3C283fooEv,_ZThn24_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G28x4y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x4y6[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G28x4y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern VTBL_ENTRY _ZTV7G28x4y6[];
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV5E28x4__7G28x4y6[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x4[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C285E28x4__7G28x4y6[] = {
+ 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__3C285E28x4__7G28x4y6[] = {
+ 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__5E28x4__7G28x4y6[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E28x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x4y6[] = {
+ {&(_ZTV7G28x4y6[4]), 4,9},
+ {&(_tg__ZTV5E28x4__7G28x4y6[3]), 3,4},
+ {&(_tg__ZTV3C285E28x4__7G28x4y6[3]), 3,4},
+ {&(_tg__ZTV2B1__3C285E28x4__7G28x4y6[3]), 3,4},
+ {&(_tg__ZTV2B1__5E28x4__7G28x4y6[3]), 3,4},
+ {&(_ZTV7G28x4y6[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI7G28x4y6[];
+extern VTBL_ENTRY _ZTV7G28x4y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x4y6[];
+static VTBL_ENTRY alt_thunk_names42[] = {
+ (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_G28x4y6 = { "G28x4y6", // class name
+ bases_G28x4y6, 6,
+ &(vtc_G28x4y6[0]), // expected_vtbl_contents
+ &(vtt_G28x4y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G28x4y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x4y6),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x4y6),6, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names42,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x4y7 : virtual E28x4 , virtual F0 {
+ int ff;
+ ~G28x4y7(); // tgen
+ G28x4y7(); // tgen
+};
+//SIG(1 G28x4y7) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G28x4y7 ::~G28x4y7(){ note_dtor("G28x4y7", this);} // tgen
+G28x4y7 ::G28x4y7(){ note_ctor("G28x4y7", this);} // tgen
+
+static void Test_G28x4y7()
+{
+ extern Class_Descriptor cd_G28x4y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G28x4y7, buf);
+ G28x4y7 *dp, &lv = *(dp=new (buf) G28x4y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G28x4y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x4y7)");
+ check_base_class_offset(lv, (A0*)(C28*)(E28x4*), ABISELECT(24,12), "G28x4y7");
+ check_base_class_offset(lv, (B1*)(C28*)(E28x4*), ABISELECT(40,28), "G28x4y7");
+ check_base_class_offset(lv, (C28*)(E28x4*), ABISELECT(16,8), "G28x4y7");
+ check_base_class_offset(lv, (D0*)(E28x4*), ABISELECT(32,20), "G28x4y7");
+ check_base_class_offset(lv, (E28x4*), ABISELECT(16,8), "G28x4y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G28x4y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G28x4y7.ff");
+ test_class_info(&lv, &cd_G28x4y7);
+ dp->~G28x4y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x4y7(Test_G28x4y7, "G28x4y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G28x4y7C1Ev();
+extern void _ZN7G28x4y7D1Ev();
+Name_Map name_map_G28x4y7[] = {
+ NSPAIR(_ZN7G28x4y7C1Ev),
+ NSPAIR(_ZN7G28x4y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E28x4;
+extern VTBL_ENTRY _ZTI5E28x4[];
+extern VTBL_ENTRY _ZTV5E28x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G28x4y7[] = {
+ // 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,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_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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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, 0},
+ {&cd_E28x4, 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 _ZTI7G28x4y7[];
+extern void _ZN3C283fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn24_N3C283fooEv,_ZThn20_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G28x4y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x4y7[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G28x4y7[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G28x4y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern VTBL_ENTRY _ZTV7G28x4y7[];
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV5E28x4__7G28x4y7[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x4[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C285E28x4__7G28x4y7[] = {
+ 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__3C285E28x4__7G28x4y7[] = {
+ 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__5E28x4__7G28x4y7[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E28x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x4y7[] = {
+ {&(_ZTV7G28x4y7[5]), 5,14},
+ {&(_ZTV7G28x4y7[9]), 9,14},
+ {&(_ZTV7G28x4y7[13]), 13,14},
+ {&(_tg__ZTV5E28x4__7G28x4y7[3]), 3,4},
+ {&(_tg__ZTV3C285E28x4__7G28x4y7[3]), 3,4},
+ {&(_tg__ZTV2B1__3C285E28x4__7G28x4y7[3]), 3,4},
+ {&(_tg__ZTV2B1__5E28x4__7G28x4y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G28x4y7[];
+extern VTBL_ENTRY _ZTV7G28x4y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x4y7[];
+static VTBL_ENTRY alt_thunk_names43[] = {
+ (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_G28x4y7 = { "G28x4y7", // class name
+ bases_G28x4y7, 6,
+ &(vtc_G28x4y7[0]), // expected_vtbl_contents
+ &(vtt_G28x4y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G28x4y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x4y7),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x4y7),7, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names43,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E29x4 : C29 , D0 {
+ int fd;
+ ~E29x4(); // tgen
+ E29x4(); // tgen
+};
+//SIG(-1 E29x4) C1{ BC2{ BC3{ v1 Fi} VBC4{ v1 Fi} v1 Fi} BC5{ Fi} Fi}
+
+
+E29x4 ::~E29x4(){ note_dtor("E29x4", this);} // tgen
+E29x4 ::E29x4(){ note_ctor("E29x4", this);} // tgen
+
+static void Test_E29x4()
+{
+ extern Class_Descriptor cd_E29x4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E29x4, buf);
+ E29x4 *dp, &lv = *(dp=new (buf) E29x4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E29x4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E29x4)");
+ check_base_class_offset(lv, (A1*)(C29*), 0, "E29x4");
+ check_base_class_offset(lv, (B1*)(C29*), ABISELECT(24,20), "E29x4");
+ check_base_class_offset(lv, (C29*), 0, "E29x4");
+ check_base_class_offset(lv, (D0*), ABISELECT(16,12), "E29x4");
+ check_field_offset(lv, fd, ABISELECT(20,16), "E29x4.fd");
+ test_class_info(&lv, &cd_E29x4);
+ dp->~E29x4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE29x4(Test_E29x4, "E29x4", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E29x4C1Ev();
+extern void _ZN5E29x4D1Ev();
+Name_Map name_map_E29x4[] = {
+ NSPAIR(_ZN5E29x4C1Ev),
+ NSPAIR(_ZN5E29x4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E29x4[] = {
+ // 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(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
+ 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E29x4[];
+extern void _ZN3C293fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn24_N3C293fooEv,_ZThn20_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_E29x4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x4[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E29x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern VTBL_ENTRY _ZTV5E29x4[];
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__5E29x4[] = {
+ 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__3C29__5E29x4[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_E29x4[] = {
+ {&(_ZTV5E29x4[3]), 3,8},
+ {&(_tg__ZTV3C29__5E29x4[3]), 3,4},
+ {&(_tg__ZTV2B1__3C29__5E29x4[3]), 3,4},
+ {&(_ZTV5E29x4[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI5E29x4[];
+extern VTBL_ENTRY _ZTV5E29x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x4[];
+static VTBL_ENTRY alt_thunk_names44[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C293fooEv,_ZThn20_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C293fooEv,_ZThn20_N3C293fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_E29x4 = { "E29x4", // class name
+ bases_E29x4, 4,
+ &(vtc_E29x4[0]), // expected_vtbl_contents
+ &(vtt_E29x4[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E29x4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E29x4),8, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E29x4),4, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names44,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x4y0 : E29x4 , F1 {
+ int ff;
+ ~G29x4y0(); // tgen
+ G29x4y0(); // tgen
+};
+//SIG(1 G29x4y0) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G29x4y0 ::~G29x4y0(){ note_dtor("G29x4y0", this);} // tgen
+G29x4y0 ::G29x4y0(){ note_ctor("G29x4y0", this);} // tgen
+
+static void Test_G29x4y0()
+{
+ extern Class_Descriptor cd_G29x4y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G29x4y0, buf);
+ G29x4y0 *dp, &lv = *(dp=new (buf) G29x4y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G29x4y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x4y0)");
+ check_base_class_offset(lv, (A1*)(C29*)(E29x4*), 0, "G29x4y0");
+ check_base_class_offset(lv, (B1*)(C29*)(E29x4*), ABISELECT(40,32), "G29x4y0");
+ check_base_class_offset(lv, (C29*)(E29x4*), 0, "G29x4y0");
+ check_base_class_offset(lv, (D0*)(E29x4*), ABISELECT(16,12), "G29x4y0");
+ check_base_class_offset(lv, (E29x4*), 0, "G29x4y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,20), "G29x4y0");
+ check_field_offset(lv, ff, ABISELECT(36,28), "G29x4y0.ff");
+ test_class_info(&lv, &cd_G29x4y0);
+ dp->~G29x4y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x4y0(Test_G29x4y0, "G29x4y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G29x4y0C1Ev();
+extern void _ZN7G29x4y0D1Ev();
+Name_Map name_map_G29x4y0[] = {
+ NSPAIR(_ZN7G29x4y0C1Ev),
+ NSPAIR(_ZN7G29x4y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E29x4;
+extern VTBL_ENTRY _ZTI5E29x4[];
+extern VTBL_ENTRY _ZTV5E29x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G29x4y0[] = {
+ // 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E29x4, 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 _ZTI7G29x4y0[];
+extern void _ZN3C293fooEv();
+extern void _ZN2F13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn40_N3C293fooEv,_ZThn32_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G29x4y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x4y0[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G29x4y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(-40,-32),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G29x4y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern VTBL_ENTRY _ZTV7G29x4y0[];
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV5E29x4__7G29x4y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x4[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C295E29x4__7G29x4y0[] = {
+ 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__3C295E29x4__7G29x4y0[] = {
+ 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__5E29x4__7G29x4y0[] = {
+ ABISELECT(-40,-32),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI5E29x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x4y0[] = {
+ {&(_ZTV7G29x4y0[3]), 3,11},
+ {&(_tg__ZTV5E29x4__7G29x4y0[3]), 3,4},
+ {&(_tg__ZTV3C295E29x4__7G29x4y0[3]), 3,4},
+ {&(_tg__ZTV2B1__3C295E29x4__7G29x4y0[3]), 3,4},
+ {&(_tg__ZTV2B1__5E29x4__7G29x4y0[3]), 3,4},
+ {&(_ZTV7G29x4y0[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI7G29x4y0[];
+extern VTBL_ENTRY _ZTV7G29x4y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x4y0[];
+static VTBL_ENTRY alt_thunk_names45[] = {
+ (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_G29x4y0 = { "G29x4y0", // class name
+ bases_G29x4y0, 6,
+ &(vtc_G29x4y0[0]), // expected_vtbl_contents
+ &(vtt_G29x4y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G29x4y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x4y0),11, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x4y0),6, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names45,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x4y1 : virtual E29x4 , F1 {
+ int ff;
+ ~G29x4y1(); // tgen
+ G29x4y1(); // tgen
+};
+//SIG(1 G29x4y1) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G29x4y1 ::~G29x4y1(){ note_dtor("G29x4y1", this);} // tgen
+G29x4y1 ::G29x4y1(){ note_ctor("G29x4y1", this);} // tgen
+
+static void Test_G29x4y1()
+{
+ extern Class_Descriptor cd_G29x4y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G29x4y1, buf);
+ G29x4y1 *dp, &lv = *(dp=new (buf) G29x4y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G29x4y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x4y1)");
+ check_base_class_offset(lv, (A1*)(C29*)(E29x4*), ABISELECT(16,12), "G29x4y1");
+ check_base_class_offset(lv, (B1*)(C29*)(E29x4*), ABISELECT(40,32), "G29x4y1");
+ check_base_class_offset(lv, (C29*)(E29x4*), ABISELECT(16,12), "G29x4y1");
+ check_base_class_offset(lv, (D0*)(E29x4*), ABISELECT(32,24), "G29x4y1");
+ check_base_class_offset(lv, (E29x4*), ABISELECT(16,12), "G29x4y1");
+ check_base_class_offset(lv, (F1*), 0, "G29x4y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G29x4y1.ff");
+ test_class_info(&lv, &cd_G29x4y1);
+ dp->~G29x4y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x4y1(Test_G29x4y1, "G29x4y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G29x4y1C1Ev();
+extern void _ZN7G29x4y1D1Ev();
+Name_Map name_map_G29x4y1[] = {
+ NSPAIR(_ZN7G29x4y1C1Ev),
+ NSPAIR(_ZN7G29x4y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E29x4;
+extern VTBL_ENTRY _ZTI5E29x4[];
+extern VTBL_ENTRY _ZTV5E29x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G29x4y1[] = {
+ // 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(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
+ 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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, 0},
+ {&cd_E29x4, 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 _ZTI7G29x4y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C293fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn24_N3C293fooEv,_ZThn20_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G29x4y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x4y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G29x4y1[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G29x4y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern VTBL_ENTRY _ZTV7G29x4y1[];
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV5E29x4__7G29x4y1[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x4[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C295E29x4__7G29x4y1[] = {
+ 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__3C295E29x4__7G29x4y1[] = {
+ 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__5E29x4__7G29x4y1[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E29x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x4y1[] = {
+ {&(_ZTV7G29x4y1[4]), 4,14},
+ {&(_ZTV7G29x4y1[9]), 9,14},
+ {&(_ZTV7G29x4y1[13]), 13,14},
+ {&(_tg__ZTV5E29x4__7G29x4y1[3]), 3,4},
+ {&(_tg__ZTV3C295E29x4__7G29x4y1[3]), 3,4},
+ {&(_tg__ZTV2B1__3C295E29x4__7G29x4y1[3]), 3,4},
+ {&(_tg__ZTV2B1__5E29x4__7G29x4y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G29x4y1[];
+extern VTBL_ENTRY _ZTV7G29x4y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x4y1[];
+static VTBL_ENTRY alt_thunk_names46[] = {
+ (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_G29x4y1 = { "G29x4y1", // class name
+ bases_G29x4y1, 6,
+ &(vtc_G29x4y1[0]), // expected_vtbl_contents
+ &(vtt_G29x4y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G29x4y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x4y1),14, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x4y1),7, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names46,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x4y2 : E29x4 , virtual F1 {
+ int ff;
+ ~G29x4y2(); // tgen
+ G29x4y2(); // tgen
+};
+//SIG(1 G29x4y2) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G29x4y2 ::~G29x4y2(){ note_dtor("G29x4y2", this);} // tgen
+G29x4y2 ::G29x4y2(){ note_ctor("G29x4y2", this);} // tgen
+
+static void Test_G29x4y2()
+{
+ extern Class_Descriptor cd_G29x4y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G29x4y2, buf);
+ G29x4y2 *dp, &lv = *(dp=new (buf) G29x4y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G29x4y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x4y2)");
+ check_base_class_offset(lv, (A1*)(C29*)(E29x4*), 0, "G29x4y2");
+ check_base_class_offset(lv, (B1*)(C29*)(E29x4*), ABISELECT(32,24), "G29x4y2");
+ check_base_class_offset(lv, (C29*)(E29x4*), 0, "G29x4y2");
+ check_base_class_offset(lv, (D0*)(E29x4*), ABISELECT(16,12), "G29x4y2");
+ check_base_class_offset(lv, (E29x4*), 0, "G29x4y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G29x4y2");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G29x4y2.ff");
+ test_class_info(&lv, &cd_G29x4y2);
+ dp->~G29x4y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x4y2(Test_G29x4y2, "G29x4y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G29x4y2C1Ev();
+extern void _ZN7G29x4y2D1Ev();
+Name_Map name_map_G29x4y2[] = {
+ NSPAIR(_ZN7G29x4y2C1Ev),
+ NSPAIR(_ZN7G29x4y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E29x4;
+extern VTBL_ENTRY _ZTI5E29x4[];
+extern VTBL_ENTRY _ZTV5E29x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G29x4y2[] = {
+ // 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)
+ 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E29x4, 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)
+ 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 _ZTI7G29x4y2[];
+extern void _ZN3C293fooEv();
+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_G29x4y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x4y2[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G29x4y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G29x4y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G29x4y2[];
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV5E29x4__7G29x4y2[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x4[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C295E29x4__7G29x4y2[] = {
+ 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__3C295E29x4__7G29x4y2[] = {
+ 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__5E29x4__7G29x4y2[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E29x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x4y2[] = {
+ {&(_ZTV7G29x4y2[4]), 4,13},
+ {&(_tg__ZTV5E29x4__7G29x4y2[3]), 3,4},
+ {&(_tg__ZTV3C295E29x4__7G29x4y2[3]), 3,4},
+ {&(_tg__ZTV2B1__3C295E29x4__7G29x4y2[3]), 3,4},
+ {&(_tg__ZTV2B1__5E29x4__7G29x4y2[3]), 3,4},
+ {&(_ZTV7G29x4y2[8]), 8,13},
+ {&(_ZTV7G29x4y2[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI7G29x4y2[];
+extern VTBL_ENTRY _ZTV7G29x4y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x4y2[];
+static VTBL_ENTRY alt_thunk_names47[] = {
+ (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_G29x4y2 = { "G29x4y2", // class name
+ bases_G29x4y2, 6,
+ &(vtc_G29x4y2[0]), // expected_vtbl_contents
+ &(vtt_G29x4y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G29x4y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x4y2),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x4y2),7, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names47,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x4y3 : virtual E29x4 , virtual F1 {
+ int ff;
+ ~G29x4y3(); // tgen
+ G29x4y3(); // tgen
+};
+//SIG(1 G29x4y3) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G29x4y3 ::~G29x4y3(){ note_dtor("G29x4y3", this);} // tgen
+G29x4y3 ::G29x4y3(){ note_ctor("G29x4y3", this);} // tgen
+
+static void Test_G29x4y3()
+{
+ extern Class_Descriptor cd_G29x4y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G29x4y3, buf);
+ G29x4y3 *dp, &lv = *(dp=new (buf) G29x4y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G29x4y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x4y3)");
+ check_base_class_offset(lv, (A1*)(C29*)(E29x4*), ABISELECT(16,8), "G29x4y3");
+ check_base_class_offset(lv, (B1*)(C29*)(E29x4*), ABISELECT(40,28), "G29x4y3");
+ check_base_class_offset(lv, (C29*)(E29x4*), ABISELECT(16,8), "G29x4y3");
+ check_base_class_offset(lv, (D0*)(E29x4*), ABISELECT(32,20), "G29x4y3");
+ check_base_class_offset(lv, (E29x4*), ABISELECT(16,8), "G29x4y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G29x4y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G29x4y3.ff");
+ test_class_info(&lv, &cd_G29x4y3);
+ dp->~G29x4y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x4y3(Test_G29x4y3, "G29x4y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G29x4y3C1Ev();
+extern void _ZN7G29x4y3D1Ev();
+Name_Map name_map_G29x4y3[] = {
+ NSPAIR(_ZN7G29x4y3C1Ev),
+ NSPAIR(_ZN7G29x4y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E29x4;
+extern VTBL_ENTRY _ZTI5E29x4[];
+extern VTBL_ENTRY _ZTV5E29x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G29x4y3[] = {
+ // 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(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_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_D0, 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, 0},
+ {&cd_E29x4, 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 _ZTI7G29x4y3[];
+extern void _ZN3C293fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn24_N3C293fooEv,_ZThn20_N3C293fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G29x4y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x4y3[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G29x4y3[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G29x4y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G29x4y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G29x4y3[];
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV5E29x4__7G29x4y3[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x4[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C295E29x4__7G29x4y3[] = {
+ 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__3C295E29x4__7G29x4y3[] = {
+ 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__5E29x4__7G29x4y3[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E29x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x4y3[] = {
+ {&(_ZTV7G29x4y3[5]), 5,18},
+ {&(_ZTV7G29x4y3[9]), 9,18},
+ {&(_ZTV7G29x4y3[13]), 13,18},
+ {&(_ZTV7G29x4y3[17]), 17,18},
+ {&(_tg__ZTV5E29x4__7G29x4y3[3]), 3,4},
+ {&(_tg__ZTV3C295E29x4__7G29x4y3[3]), 3,4},
+ {&(_tg__ZTV2B1__3C295E29x4__7G29x4y3[3]), 3,4},
+ {&(_tg__ZTV2B1__5E29x4__7G29x4y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G29x4y3[];
+extern VTBL_ENTRY _ZTV7G29x4y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x4y3[];
+static VTBL_ENTRY alt_thunk_names48[] = {
+ (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_G29x4y3 = { "G29x4y3", // class name
+ bases_G29x4y3, 6,
+ &(vtc_G29x4y3[0]), // expected_vtbl_contents
+ &(vtt_G29x4y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G29x4y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x4y3),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x4y3),8, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names48,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x4y4 : E29x4 , F0 {
+ int ff;
+ ~G29x4y4(); // tgen
+ G29x4y4(); // tgen
+};
+//SIG(1 G29x4y4) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G29x4y4 ::~G29x4y4(){ note_dtor("G29x4y4", this);} // tgen
+G29x4y4 ::G29x4y4(){ note_ctor("G29x4y4", this);} // tgen
+
+static void Test_G29x4y4()
+{
+ extern Class_Descriptor cd_G29x4y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G29x4y4, buf);
+ G29x4y4 *dp, &lv = *(dp=new (buf) G29x4y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G29x4y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x4y4)");
+ check_base_class_offset(lv, (A1*)(C29*)(E29x4*), 0, "G29x4y4");
+ check_base_class_offset(lv, (B1*)(C29*)(E29x4*), ABISELECT(32,28), "G29x4y4");
+ check_base_class_offset(lv, (C29*)(E29x4*), 0, "G29x4y4");
+ check_base_class_offset(lv, (D0*)(E29x4*), ABISELECT(16,12), "G29x4y4");
+ check_base_class_offset(lv, (E29x4*), 0, "G29x4y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(24,20), "G29x4y4");
+ check_field_offset(lv, ff, ABISELECT(28,24), "G29x4y4.ff");
+ test_class_info(&lv, &cd_G29x4y4);
+ dp->~G29x4y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x4y4(Test_G29x4y4, "G29x4y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G29x4y4C1Ev();
+extern void _ZN7G29x4y4D1Ev();
+Name_Map name_map_G29x4y4[] = {
+ NSPAIR(_ZN7G29x4y4C1Ev),
+ NSPAIR(_ZN7G29x4y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E29x4;
+extern VTBL_ENTRY _ZTI5E29x4[];
+extern VTBL_ENTRY _ZTV5E29x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G29x4y4[] = {
+ // 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,28), //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
+ 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E29x4, 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 _ZTI7G29x4y4[];
+extern void _ZN3C293fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn32_N3C293fooEv,_ZThn28_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G29x4y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x4y4[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-32,-28),
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI7G29x4y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern VTBL_ENTRY _ZTV7G29x4y4[];
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV5E29x4__7G29x4y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x4[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C295E29x4__7G29x4y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn32_N3C293fooEv,_ZThn28_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C295E29x4__7G29x4y4[] = {
+ ABISELECT(-32,-28),
+ ABISELECT(-32,-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(_ZThn32_N3C293fooEv,_ZThn28_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E29x4__7G29x4y4[] = {
+ ABISELECT(-32,-28),
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI5E29x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x4y4[] = {
+ {&(_ZTV7G29x4y4[3]), 3,8},
+ {&(_tg__ZTV5E29x4__7G29x4y4[3]), 3,4},
+ {&(_tg__ZTV3C295E29x4__7G29x4y4[3]), 3,4},
+ {&(_tg__ZTV2B1__3C295E29x4__7G29x4y4[3]), 3,4},
+ {&(_tg__ZTV2B1__5E29x4__7G29x4y4[3]), 3,4},
+ {&(_ZTV7G29x4y4[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI7G29x4y4[];
+extern VTBL_ENTRY _ZTV7G29x4y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x4y4[];
+static VTBL_ENTRY alt_thunk_names49[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C293fooEv,_ZThn28_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C293fooEv,_ZThn28_N3C293fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C293fooEv,_ZThn28_N3C293fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G29x4y4 = { "G29x4y4", // class name
+ bases_G29x4y4, 6,
+ &(vtc_G29x4y4[0]), // expected_vtbl_contents
+ &(vtt_G29x4y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G29x4y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x4y4),8, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x4y4),6, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names49,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x4y5 : virtual E29x4 , F0 {
+ int ff;
+ ~G29x4y5(); // tgen
+ G29x4y5(); // tgen
+};
+//SIG(1 G29x4y5) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G29x4y5 ::~G29x4y5(){ note_dtor("G29x4y5", this);} // tgen
+G29x4y5 ::G29x4y5(){ note_ctor("G29x4y5", this);} // tgen
+
+static void Test_G29x4y5()
+{
+ extern Class_Descriptor cd_G29x4y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G29x4y5, buf);
+ G29x4y5 *dp, &lv = *(dp=new (buf) G29x4y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G29x4y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x4y5)");
+ check_base_class_offset(lv, (A1*)(C29*)(E29x4*), ABISELECT(16,12), "G29x4y5");
+ check_base_class_offset(lv, (B1*)(C29*)(E29x4*), ABISELECT(40,32), "G29x4y5");
+ check_base_class_offset(lv, (C29*)(E29x4*), ABISELECT(16,12), "G29x4y5");
+ check_base_class_offset(lv, (D0*)(E29x4*), ABISELECT(32,24), "G29x4y5");
+ check_base_class_offset(lv, (E29x4*), ABISELECT(16,12), "G29x4y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G29x4y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G29x4y5.ff");
+ test_class_info(&lv, &cd_G29x4y5);
+ dp->~G29x4y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x4y5(Test_G29x4y5, "G29x4y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G29x4y5C1Ev();
+extern void _ZN7G29x4y5D1Ev();
+Name_Map name_map_G29x4y5[] = {
+ NSPAIR(_ZN7G29x4y5C1Ev),
+ NSPAIR(_ZN7G29x4y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E29x4;
+extern VTBL_ENTRY _ZTI5E29x4[];
+extern VTBL_ENTRY _ZTV5E29x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G29x4y5[] = {
+ // 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(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
+ 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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, 0},
+ {&cd_E29x4, 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 _ZTI7G29x4y5[];
+extern void _ZN3C293fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn24_N3C293fooEv,_ZThn20_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G29x4y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x4y5[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G29x4y5[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G29x4y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern VTBL_ENTRY _ZTV7G29x4y5[];
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV5E29x4__7G29x4y5[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x4[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C295E29x4__7G29x4y5[] = {
+ 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__3C295E29x4__7G29x4y5[] = {
+ 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__5E29x4__7G29x4y5[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E29x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x4y5[] = {
+ {&(_ZTV7G29x4y5[4]), 4,13},
+ {&(_ZTV7G29x4y5[8]), 8,13},
+ {&(_ZTV7G29x4y5[12]), 12,13},
+ {&(_tg__ZTV5E29x4__7G29x4y5[3]), 3,4},
+ {&(_tg__ZTV3C295E29x4__7G29x4y5[3]), 3,4},
+ {&(_tg__ZTV2B1__3C295E29x4__7G29x4y5[3]), 3,4},
+ {&(_tg__ZTV2B1__5E29x4__7G29x4y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G29x4y5[];
+extern VTBL_ENTRY _ZTV7G29x4y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x4y5[];
+static VTBL_ENTRY alt_thunk_names50[] = {
+ (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_G29x4y5 = { "G29x4y5", // class name
+ bases_G29x4y5, 6,
+ &(vtc_G29x4y5[0]), // expected_vtbl_contents
+ &(vtt_G29x4y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G29x4y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x4y5),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x4y5),7, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names50,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x4y6 : E29x4 , virtual F0 {
+ int ff;
+ ~G29x4y6(); // tgen
+ G29x4y6(); // tgen
+};
+//SIG(1 G29x4y6) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G29x4y6 ::~G29x4y6(){ note_dtor("G29x4y6", this);} // tgen
+G29x4y6 ::G29x4y6(){ note_ctor("G29x4y6", this);} // tgen
+
+static void Test_G29x4y6()
+{
+ extern Class_Descriptor cd_G29x4y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G29x4y6, buf);
+ G29x4y6 *dp, &lv = *(dp=new (buf) G29x4y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G29x4y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x4y6)");
+ check_base_class_offset(lv, (A1*)(C29*)(E29x4*), 0, "G29x4y6");
+ check_base_class_offset(lv, (B1*)(C29*)(E29x4*), ABISELECT(32,24), "G29x4y6");
+ check_base_class_offset(lv, (C29*)(E29x4*), 0, "G29x4y6");
+ check_base_class_offset(lv, (D0*)(E29x4*), ABISELECT(16,12), "G29x4y6");
+ check_base_class_offset(lv, (E29x4*), 0, "G29x4y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G29x4y6");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G29x4y6.ff");
+ test_class_info(&lv, &cd_G29x4y6);
+ dp->~G29x4y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x4y6(Test_G29x4y6, "G29x4y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G29x4y6C1Ev();
+extern void _ZN7G29x4y6D1Ev();
+Name_Map name_map_G29x4y6[] = {
+ NSPAIR(_ZN7G29x4y6C1Ev),
+ NSPAIR(_ZN7G29x4y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E29x4;
+extern VTBL_ENTRY _ZTI5E29x4[];
+extern VTBL_ENTRY _ZTV5E29x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G29x4y6[] = {
+ // 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
+ 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
+ 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_D0, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E29x4, 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 _ZTI7G29x4y6[];
+extern void _ZN3C293fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn32_N3C293fooEv,_ZThn24_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G29x4y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x4y6[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G29x4y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern VTBL_ENTRY _ZTV7G29x4y6[];
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV5E29x4__7G29x4y6[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x4[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C295E29x4__7G29x4y6[] = {
+ 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__3C295E29x4__7G29x4y6[] = {
+ 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__5E29x4__7G29x4y6[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E29x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x4y6[] = {
+ {&(_ZTV7G29x4y6[4]), 4,9},
+ {&(_tg__ZTV5E29x4__7G29x4y6[3]), 3,4},
+ {&(_tg__ZTV3C295E29x4__7G29x4y6[3]), 3,4},
+ {&(_tg__ZTV2B1__3C295E29x4__7G29x4y6[3]), 3,4},
+ {&(_tg__ZTV2B1__5E29x4__7G29x4y6[3]), 3,4},
+ {&(_ZTV7G29x4y6[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI7G29x4y6[];
+extern VTBL_ENTRY _ZTV7G29x4y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x4y6[];
+static VTBL_ENTRY alt_thunk_names51[] = {
+ (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_G29x4y6 = { "G29x4y6", // class name
+ bases_G29x4y6, 6,
+ &(vtc_G29x4y6[0]), // expected_vtbl_contents
+ &(vtt_G29x4y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G29x4y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x4y6),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x4y6),6, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names51,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x4y7 : virtual E29x4 , virtual F0 {
+ int ff;
+ ~G29x4y7(); // tgen
+ G29x4y7(); // tgen
+};
+//SIG(1 G29x4y7) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G29x4y7 ::~G29x4y7(){ note_dtor("G29x4y7", this);} // tgen
+G29x4y7 ::G29x4y7(){ note_ctor("G29x4y7", this);} // tgen
+
+static void Test_G29x4y7()
+{
+ extern Class_Descriptor cd_G29x4y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G29x4y7, buf);
+ G29x4y7 *dp, &lv = *(dp=new (buf) G29x4y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G29x4y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x4y7)");
+ check_base_class_offset(lv, (A1*)(C29*)(E29x4*), ABISELECT(16,8), "G29x4y7");
+ check_base_class_offset(lv, (B1*)(C29*)(E29x4*), ABISELECT(40,28), "G29x4y7");
+ check_base_class_offset(lv, (C29*)(E29x4*), ABISELECT(16,8), "G29x4y7");
+ check_base_class_offset(lv, (D0*)(E29x4*), ABISELECT(32,20), "G29x4y7");
+ check_base_class_offset(lv, (E29x4*), ABISELECT(16,8), "G29x4y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G29x4y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G29x4y7.ff");
+ test_class_info(&lv, &cd_G29x4y7);
+ dp->~G29x4y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x4y7(Test_G29x4y7, "G29x4y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G29x4y7C1Ev();
+extern void _ZN7G29x4y7D1Ev();
+Name_Map name_map_G29x4y7[] = {
+ NSPAIR(_ZN7G29x4y7C1Ev),
+ NSPAIR(_ZN7G29x4y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E29x4;
+extern VTBL_ENTRY _ZTI5E29x4[];
+extern VTBL_ENTRY _ZTV5E29x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G29x4y7[] = {
+ // 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(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_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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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, 0},
+ {&cd_E29x4, 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 _ZTI7G29x4y7[];
+extern void _ZN3C293fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn24_N3C293fooEv,_ZThn20_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G29x4y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x4y7[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G29x4y7[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G29x4y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern VTBL_ENTRY _ZTV7G29x4y7[];
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV5E29x4__7G29x4y7[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x4[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C295E29x4__7G29x4y7[] = {
+ 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__3C295E29x4__7G29x4y7[] = {
+ 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__5E29x4__7G29x4y7[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E29x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x4y7[] = {
+ {&(_ZTV7G29x4y7[5]), 5,14},
+ {&(_ZTV7G29x4y7[9]), 9,14},
+ {&(_ZTV7G29x4y7[13]), 13,14},
+ {&(_tg__ZTV5E29x4__7G29x4y7[3]), 3,4},
+ {&(_tg__ZTV3C295E29x4__7G29x4y7[3]), 3,4},
+ {&(_tg__ZTV2B1__3C295E29x4__7G29x4y7[3]), 3,4},
+ {&(_tg__ZTV2B1__5E29x4__7G29x4y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G29x4y7[];
+extern VTBL_ENTRY _ZTV7G29x4y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x4y7[];
+static VTBL_ENTRY alt_thunk_names52[] = {
+ (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_G29x4y7 = { "G29x4y7", // class name
+ bases_G29x4y7, 6,
+ &(vtc_G29x4y7[0]), // expected_vtbl_contents
+ &(vtt_G29x4y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G29x4y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x4y7),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x4y7),7, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names52,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E30x4 : C30 , D0 {
+ int fd;
+ ~E30x4(); // tgen
+ E30x4(); // tgen
+};
+//SIG(-1 E30x4) C1{ BC2{ VBC3{ Fi} VBC4{ v1 Fi} v1 Fi} BC5{ Fi} Fi}
+
+
+E30x4 ::~E30x4(){ note_dtor("E30x4", this);} // tgen
+E30x4 ::E30x4(){ note_ctor("E30x4", this);} // tgen
+
+static void Test_E30x4()
+{
+ extern Class_Descriptor cd_E30x4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E30x4, buf);
+ E30x4 *dp, &lv = *(dp=new (buf) E30x4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E30x4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E30x4)");
+ check_base_class_offset(lv, (A0*)(C30*), ABISELECT(20,16), "E30x4");
+ check_base_class_offset(lv, (B1*)(C30*), ABISELECT(24,20), "E30x4");
+ check_base_class_offset(lv, (C30*), 0, "E30x4");
+ check_base_class_offset(lv, (D0*), ABISELECT(12,8), "E30x4");
+ check_field_offset(lv, fd, ABISELECT(16,12), "E30x4.fd");
+ test_class_info(&lv, &cd_E30x4);
+ dp->~E30x4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE30x4(Test_E30x4, "E30x4", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E30x4C1Ev();
+extern void _ZN5E30x4D1Ev();
+Name_Map name_map_E30x4[] = {
+ NSPAIR(_ZN5E30x4C1Ev),
+ NSPAIR(_ZN5E30x4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E30x4[] = {
+ // 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
+ 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_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_D0, 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 _ZTI5E30x4[];
+extern void _ZN3C303fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn24_N3C303fooEv,_ZThn20_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_E30x4[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x4[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E30x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern VTBL_ENTRY _ZTV5E30x4[];
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__5E30x4[] = {
+ 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__3C30__5E30x4[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_E30x4[] = {
+ {&(_ZTV5E30x4[4]), 4,9},
+ {&(_tg__ZTV3C30__5E30x4[4]), 4,5},
+ {&(_tg__ZTV2B1__3C30__5E30x4[3]), 3,4},
+ {&(_ZTV5E30x4[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI5E30x4[];
+extern VTBL_ENTRY _ZTV5E30x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x4[];
+static VTBL_ENTRY alt_thunk_names53[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C303fooEv,_ZThn20_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn24_N3C303fooEv,_ZThn20_N3C303fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_E30x4 = { "E30x4", // class name
+ bases_E30x4, 4,
+ &(vtc_E30x4[0]), // expected_vtbl_contents
+ &(vtt_E30x4[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E30x4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E30x4),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E30x4),4, //virtual table table var
+ 2, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names53,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x4y0 : E30x4 , F1 {
+ int ff;
+ ~G30x4y0(); // tgen
+ G30x4y0(); // tgen
+};
+//SIG(1 G30x4y0) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G30x4y0 ::~G30x4y0(){ note_dtor("G30x4y0", this);} // tgen
+G30x4y0 ::G30x4y0(){ note_ctor("G30x4y0", this);} // tgen
+
+static void Test_G30x4y0()
+{
+ extern Class_Descriptor cd_G30x4y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G30x4y0, buf);
+ G30x4y0 *dp, &lv = *(dp=new (buf) G30x4y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G30x4y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x4y0)");
+ check_base_class_offset(lv, (A0*)(C30*)(E30x4*), ABISELECT(40,28), "G30x4y0");
+ check_base_class_offset(lv, (B1*)(C30*)(E30x4*), ABISELECT(48,32), "G30x4y0");
+ check_base_class_offset(lv, (C30*)(E30x4*), 0, "G30x4y0");
+ check_base_class_offset(lv, (D0*)(E30x4*), ABISELECT(12,8), "G30x4y0");
+ check_base_class_offset(lv, (E30x4*), 0, "G30x4y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,16), "G30x4y0");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G30x4y0.ff");
+ test_class_info(&lv, &cd_G30x4y0);
+ dp->~G30x4y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x4y0(Test_G30x4y0, "G30x4y0", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G30x4y0C1Ev();
+extern void _ZN7G30x4y0D1Ev();
+Name_Map name_map_G30x4y0[] = {
+ NSPAIR(_ZN7G30x4y0C1Ev),
+ NSPAIR(_ZN7G30x4y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E30x4;
+extern VTBL_ENTRY _ZTI5E30x4[];
+extern VTBL_ENTRY _ZTV5E30x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G30x4y0[] = {
+ // 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_D0, 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_E30x4, 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 _ZTI7G30x4y0[];
+extern void _ZN3C303fooEv();
+extern void _ZN2F13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn48_N3C303fooEv,_ZThn32_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G30x4y0[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x4y0[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G30x4y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(-48,-32),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G30x4y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern VTBL_ENTRY _ZTV7G30x4y0[];
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV5E30x4__7G30x4y0[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x4[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C305E30x4__7G30x4y0[] = {
+ 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__3C305E30x4__7G30x4y0[] = {
+ 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__5E30x4__7G30x4y0[] = {
+ ABISELECT(-48,-32),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E30x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x4y0[] = {
+ {&(_ZTV7G30x4y0[4]), 4,12},
+ {&(_tg__ZTV5E30x4__7G30x4y0[4]), 4,5},
+ {&(_tg__ZTV3C305E30x4__7G30x4y0[4]), 4,5},
+ {&(_tg__ZTV2B1__3C305E30x4__7G30x4y0[3]), 3,4},
+ {&(_tg__ZTV2B1__5E30x4__7G30x4y0[3]), 3,4},
+ {&(_ZTV7G30x4y0[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI7G30x4y0[];
+extern VTBL_ENTRY _ZTV7G30x4y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x4y0[];
+static VTBL_ENTRY alt_thunk_names54[] = {
+ (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_G30x4y0 = { "G30x4y0", // class name
+ bases_G30x4y0, 6,
+ &(vtc_G30x4y0[0]), // expected_vtbl_contents
+ &(vtt_G30x4y0[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G30x4y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x4y0),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x4y0),6, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names54,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x4y1 : virtual E30x4 , F1 {
+ int ff;
+ ~G30x4y1(); // tgen
+ G30x4y1(); // tgen
+};
+//SIG(1 G30x4y1) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G30x4y1 ::~G30x4y1(){ note_dtor("G30x4y1", this);} // tgen
+G30x4y1 ::G30x4y1(){ note_ctor("G30x4y1", this);} // tgen
+
+static void Test_G30x4y1()
+{
+ extern Class_Descriptor cd_G30x4y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G30x4y1, buf);
+ G30x4y1 *dp, &lv = *(dp=new (buf) G30x4y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G30x4y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x4y1)");
+ check_base_class_offset(lv, (A0*)(C30*)(E30x4*), ABISELECT(36,28), "G30x4y1");
+ check_base_class_offset(lv, (B1*)(C30*)(E30x4*), ABISELECT(40,32), "G30x4y1");
+ check_base_class_offset(lv, (C30*)(E30x4*), ABISELECT(16,12), "G30x4y1");
+ check_base_class_offset(lv, (D0*)(E30x4*), ABISELECT(28,20), "G30x4y1");
+ check_base_class_offset(lv, (E30x4*), ABISELECT(16,12), "G30x4y1");
+ check_base_class_offset(lv, (F1*), 0, "G30x4y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G30x4y1.ff");
+ test_class_info(&lv, &cd_G30x4y1);
+ dp->~G30x4y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x4y1(Test_G30x4y1, "G30x4y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G30x4y1C1Ev();
+extern void _ZN7G30x4y1D1Ev();
+Name_Map name_map_G30x4y1[] = {
+ NSPAIR(_ZN7G30x4y1C1Ev),
+ NSPAIR(_ZN7G30x4y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E30x4;
+extern VTBL_ENTRY _ZTI5E30x4[];
+extern VTBL_ENTRY _ZTV5E30x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G30x4y1[] = {
+ // 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)
+ 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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_E30x4, 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 _ZTI7G30x4y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C303fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn24_N3C303fooEv,_ZThn20_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G30x4y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x4y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G30x4y1[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G30x4y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern VTBL_ENTRY _ZTV7G30x4y1[];
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV5E30x4__7G30x4y1[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x4[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C305E30x4__7G30x4y1[] = {
+ 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__3C305E30x4__7G30x4y1[] = {
+ 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__5E30x4__7G30x4y1[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E30x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x4y1[] = {
+ {&(_ZTV7G30x4y1[5]), 5,16},
+ {&(_ZTV7G30x4y1[11]), 11,16},
+ {&(_ZTV7G30x4y1[15]), 15,16},
+ {&(_tg__ZTV5E30x4__7G30x4y1[4]), 4,5},
+ {&(_tg__ZTV3C305E30x4__7G30x4y1[4]), 4,5},
+ {&(_tg__ZTV2B1__3C305E30x4__7G30x4y1[3]), 3,4},
+ {&(_tg__ZTV2B1__5E30x4__7G30x4y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G30x4y1[];
+extern VTBL_ENTRY _ZTV7G30x4y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x4y1[];
+static VTBL_ENTRY alt_thunk_names55[] = {
+ (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_G30x4y1 = { "G30x4y1", // class name
+ bases_G30x4y1, 6,
+ &(vtc_G30x4y1[0]), // expected_vtbl_contents
+ &(vtt_G30x4y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G30x4y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x4y1),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x4y1),7, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names55,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x4y2 : E30x4 , virtual F1 {
+ int ff;
+ ~G30x4y2(); // tgen
+ G30x4y2(); // tgen
+};
+//SIG(1 G30x4y2) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G30x4y2 ::~G30x4y2(){ note_dtor("G30x4y2", this);} // tgen
+G30x4y2 ::G30x4y2(){ note_ctor("G30x4y2", this);} // tgen
+
+static void Test_G30x4y2()
+{
+ extern Class_Descriptor cd_G30x4y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G30x4y2, buf);
+ G30x4y2 *dp, &lv = *(dp=new (buf) G30x4y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G30x4y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x4y2)");
+ check_base_class_offset(lv, (A0*)(C30*)(E30x4*), ABISELECT(24,20), "G30x4y2");
+ check_base_class_offset(lv, (B1*)(C30*)(E30x4*), ABISELECT(32,24), "G30x4y2");
+ check_base_class_offset(lv, (C30*)(E30x4*), 0, "G30x4y2");
+ check_base_class_offset(lv, (D0*)(E30x4*), ABISELECT(12,8), "G30x4y2");
+ check_base_class_offset(lv, (E30x4*), 0, "G30x4y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G30x4y2");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G30x4y2.ff");
+ test_class_info(&lv, &cd_G30x4y2);
+ dp->~G30x4y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x4y2(Test_G30x4y2, "G30x4y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G30x4y2C1Ev();
+extern void _ZN7G30x4y2D1Ev();
+Name_Map name_map_G30x4y2[] = {
+ NSPAIR(_ZN7G30x4y2C1Ev),
+ NSPAIR(_ZN7G30x4y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E30x4;
+extern VTBL_ENTRY _ZTI5E30x4[];
+extern VTBL_ENTRY _ZTV5E30x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G30x4y2[] = {
+ // 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)
+ 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_D0, 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_E30x4, 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)
+ 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 _ZTI7G30x4y2[];
+extern void _ZN3C303fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn32_N3C303fooEv,_ZThn24_N3C303fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G30x4y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x4y2[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G30x4y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G30x4y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G30x4y2[];
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV5E30x4__7G30x4y2[] = {
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x4[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C305E30x4__7G30x4y2[] = {
+ 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__3C305E30x4__7G30x4y2[] = {
+ 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__5E30x4__7G30x4y2[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E30x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x4y2[] = {
+ {&(_ZTV7G30x4y2[5]), 5,14},
+ {&(_tg__ZTV5E30x4__7G30x4y2[4]), 4,5},
+ {&(_tg__ZTV3C305E30x4__7G30x4y2[4]), 4,5},
+ {&(_tg__ZTV2B1__3C305E30x4__7G30x4y2[3]), 3,4},
+ {&(_tg__ZTV2B1__5E30x4__7G30x4y2[3]), 3,4},
+ {&(_ZTV7G30x4y2[9]), 9,14},
+ {&(_ZTV7G30x4y2[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI7G30x4y2[];
+extern VTBL_ENTRY _ZTV7G30x4y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x4y2[];
+static VTBL_ENTRY alt_thunk_names56[] = {
+ (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_G30x4y2 = { "G30x4y2", // class name
+ bases_G30x4y2, 6,
+ &(vtc_G30x4y2[0]), // expected_vtbl_contents
+ &(vtt_G30x4y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G30x4y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x4y2),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x4y2),7, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names56,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x4y3 : virtual E30x4 , virtual F1 {
+ int ff;
+ ~G30x4y3(); // tgen
+ G30x4y3(); // tgen
+};
+//SIG(1 G30x4y3) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G30x4y3 ::~G30x4y3(){ note_dtor("G30x4y3", this);} // tgen
+G30x4y3 ::G30x4y3(){ note_ctor("G30x4y3", this);} // tgen
+
+static void Test_G30x4y3()
+{
+ extern Class_Descriptor cd_G30x4y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G30x4y3, buf);
+ G30x4y3 *dp, &lv = *(dp=new (buf) G30x4y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G30x4y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x4y3)");
+ check_base_class_offset(lv, (A0*)(C30*)(E30x4*), ABISELECT(36,24), "G30x4y3");
+ check_base_class_offset(lv, (B1*)(C30*)(E30x4*), ABISELECT(40,28), "G30x4y3");
+ check_base_class_offset(lv, (C30*)(E30x4*), ABISELECT(16,8), "G30x4y3");
+ check_base_class_offset(lv, (D0*)(E30x4*), ABISELECT(28,16), "G30x4y3");
+ check_base_class_offset(lv, (E30x4*), ABISELECT(16,8), "G30x4y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G30x4y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G30x4y3.ff");
+ test_class_info(&lv, &cd_G30x4y3);
+ dp->~G30x4y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x4y3(Test_G30x4y3, "G30x4y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G30x4y3C1Ev();
+extern void _ZN7G30x4y3D1Ev();
+Name_Map name_map_G30x4y3[] = {
+ NSPAIR(_ZN7G30x4y3C1Ev),
+ NSPAIR(_ZN7G30x4y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E30x4;
+extern VTBL_ENTRY _ZTI5E30x4[];
+extern VTBL_ENTRY _ZTV5E30x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G30x4y3[] = {
+ // 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)
+ 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_D0, 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_E30x4, 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 _ZTI7G30x4y3[];
+extern void _ZN3C303fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn24_N3C303fooEv,_ZThn20_N3C303fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G30x4y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x4y3[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G30x4y3[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G30x4y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G30x4y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G30x4y3[];
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV5E30x4__7G30x4y3[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x4[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C305E30x4__7G30x4y3[] = {
+ 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__3C305E30x4__7G30x4y3[] = {
+ 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__5E30x4__7G30x4y3[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E30x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x4y3[] = {
+ {&(_ZTV7G30x4y3[6]), 6,20},
+ {&(_ZTV7G30x4y3[11]), 11,20},
+ {&(_ZTV7G30x4y3[15]), 15,20},
+ {&(_ZTV7G30x4y3[19]), 19,20},
+ {&(_tg__ZTV5E30x4__7G30x4y3[4]), 4,5},
+ {&(_tg__ZTV3C305E30x4__7G30x4y3[4]), 4,5},
+ {&(_tg__ZTV2B1__3C305E30x4__7G30x4y3[3]), 3,4},
+ {&(_tg__ZTV2B1__5E30x4__7G30x4y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G30x4y3[];
+extern VTBL_ENTRY _ZTV7G30x4y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x4y3[];
+static VTBL_ENTRY alt_thunk_names57[] = {
+ (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_G30x4y3 = { "G30x4y3", // class name
+ bases_G30x4y3, 6,
+ &(vtc_G30x4y3[0]), // expected_vtbl_contents
+ &(vtt_G30x4y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G30x4y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x4y3),20, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x4y3),8, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names57,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x4y4 : E30x4 , F0 {
+ int ff;
+ ~G30x4y4(); // tgen
+ G30x4y4(); // tgen
+};
+//SIG(1 G30x4y4) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G30x4y4 ::~G30x4y4(){ note_dtor("G30x4y4", this);} // tgen
+G30x4y4 ::G30x4y4(){ note_ctor("G30x4y4", this);} // tgen
+
+static void Test_G30x4y4()
+{
+ extern Class_Descriptor cd_G30x4y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G30x4y4, buf);
+ G30x4y4 *dp, &lv = *(dp=new (buf) G30x4y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G30x4y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x4y4)");
+ check_base_class_offset(lv, (A0*)(C30*)(E30x4*), ABISELECT(28,24), "G30x4y4");
+ check_base_class_offset(lv, (B1*)(C30*)(E30x4*), ABISELECT(32,28), "G30x4y4");
+ check_base_class_offset(lv, (C30*)(E30x4*), 0, "G30x4y4");
+ check_base_class_offset(lv, (D0*)(E30x4*), ABISELECT(12,8), "G30x4y4");
+ check_base_class_offset(lv, (E30x4*), 0, "G30x4y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(20,16), "G30x4y4");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G30x4y4.ff");
+ test_class_info(&lv, &cd_G30x4y4);
+ dp->~G30x4y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x4y4(Test_G30x4y4, "G30x4y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G30x4y4C1Ev();
+extern void _ZN7G30x4y4D1Ev();
+Name_Map name_map_G30x4y4[] = {
+ NSPAIR(_ZN7G30x4y4C1Ev),
+ NSPAIR(_ZN7G30x4y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E30x4;
+extern VTBL_ENTRY _ZTI5E30x4[];
+extern VTBL_ENTRY _ZTV5E30x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G30x4y4[] = {
+ // 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, ABISELECT(32,28), //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
+ 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_D0, 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_E30x4, 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 _ZTI7G30x4y4[];
+extern void _ZN3C303fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn32_N3C303fooEv,_ZThn28_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G30x4y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x4y4[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-32,-28),
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI7G30x4y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern VTBL_ENTRY _ZTV7G30x4y4[];
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV5E30x4__7G30x4y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x4[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C305E30x4__7G30x4y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn32_N3C303fooEv,_ZThn28_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__3C305E30x4__7G30x4y4[] = {
+ ABISELECT(-32,-28),
+ ABISELECT(-32,-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(_ZThn32_N3C303fooEv,_ZThn28_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY _tg__ZTV2B1__5E30x4__7G30x4y4[] = {
+ ABISELECT(-32,-28),
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI5E30x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x4y4[] = {
+ {&(_ZTV7G30x4y4[4]), 4,9},
+ {&(_tg__ZTV5E30x4__7G30x4y4[4]), 4,5},
+ {&(_tg__ZTV3C305E30x4__7G30x4y4[4]), 4,5},
+ {&(_tg__ZTV2B1__3C305E30x4__7G30x4y4[3]), 3,4},
+ {&(_tg__ZTV2B1__5E30x4__7G30x4y4[3]), 3,4},
+ {&(_ZTV7G30x4y4[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI7G30x4y4[];
+extern VTBL_ENTRY _ZTV7G30x4y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x4y4[];
+static VTBL_ENTRY alt_thunk_names58[] = {
+ (VTBL_ENTRY)ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv), //
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C303fooEv,_ZThn28_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C303fooEv,_ZThn28_N3C303fooEv),
+ (VTBL_ENTRY)ABISELECT(_ZThn32_N3C303fooEv,_ZThn28_N3C303fooEv),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_G30x4y4 = { "G30x4y4", // class name
+ bases_G30x4y4, 6,
+ &(vtc_G30x4y4[0]), // expected_vtbl_contents
+ &(vtt_G30x4y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G30x4y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x4y4),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x4y4),6, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names58,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x4y5 : virtual E30x4 , F0 {
+ int ff;
+ ~G30x4y5(); // tgen
+ G30x4y5(); // tgen
+};
+//SIG(1 G30x4y5) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G30x4y5 ::~G30x4y5(){ note_dtor("G30x4y5", this);} // tgen
+G30x4y5 ::G30x4y5(){ note_ctor("G30x4y5", this);} // tgen
+
+static void Test_G30x4y5()
+{
+ extern Class_Descriptor cd_G30x4y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G30x4y5, buf);
+ G30x4y5 *dp, &lv = *(dp=new (buf) G30x4y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G30x4y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x4y5)");
+ check_base_class_offset(lv, (A0*)(C30*)(E30x4*), ABISELECT(36,28), "G30x4y5");
+ check_base_class_offset(lv, (B1*)(C30*)(E30x4*), ABISELECT(40,32), "G30x4y5");
+ check_base_class_offset(lv, (C30*)(E30x4*), ABISELECT(16,12), "G30x4y5");
+ check_base_class_offset(lv, (D0*)(E30x4*), ABISELECT(28,20), "G30x4y5");
+ check_base_class_offset(lv, (E30x4*), ABISELECT(16,12), "G30x4y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G30x4y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G30x4y5.ff");
+ test_class_info(&lv, &cd_G30x4y5);
+ dp->~G30x4y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x4y5(Test_G30x4y5, "G30x4y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G30x4y5C1Ev();
+extern void _ZN7G30x4y5D1Ev();
+Name_Map name_map_G30x4y5[] = {
+ NSPAIR(_ZN7G30x4y5C1Ev),
+ NSPAIR(_ZN7G30x4y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E30x4;
+extern VTBL_ENTRY _ZTI5E30x4[];
+extern VTBL_ENTRY _ZTV5E30x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G30x4y5[] = {
+ // 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
+ 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_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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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_E30x4, 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 _ZTI7G30x4y5[];
+extern void _ZN3C303fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn24_N3C303fooEv,_ZThn20_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G30x4y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x4y5[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G30x4y5[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G30x4y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern VTBL_ENTRY _ZTV7G30x4y5[];
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV5E30x4__7G30x4y5[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x4[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C305E30x4__7G30x4y5[] = {
+ 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__3C305E30x4__7G30x4y5[] = {
+ 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__5E30x4__7G30x4y5[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E30x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x4y5[] = {
+ {&(_ZTV7G30x4y5[5]), 5,15},
+ {&(_ZTV7G30x4y5[10]), 10,15},
+ {&(_ZTV7G30x4y5[14]), 14,15},
+ {&(_tg__ZTV5E30x4__7G30x4y5[4]), 4,5},
+ {&(_tg__ZTV3C305E30x4__7G30x4y5[4]), 4,5},
+ {&(_tg__ZTV2B1__3C305E30x4__7G30x4y5[3]), 3,4},
+ {&(_tg__ZTV2B1__5E30x4__7G30x4y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G30x4y5[];
+extern VTBL_ENTRY _ZTV7G30x4y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x4y5[];
+static VTBL_ENTRY alt_thunk_names59[] = {
+ (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_G30x4y5 = { "G30x4y5", // class name
+ bases_G30x4y5, 6,
+ &(vtc_G30x4y5[0]), // expected_vtbl_contents
+ &(vtt_G30x4y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G30x4y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x4y5),15, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x4y5),7, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names59,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x4y6 : E30x4 , virtual F0 {
+ int ff;
+ ~G30x4y6(); // tgen
+ G30x4y6(); // tgen
+};
+//SIG(1 G30x4y6) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G30x4y6 ::~G30x4y6(){ note_dtor("G30x4y6", this);} // tgen
+G30x4y6 ::G30x4y6(){ note_ctor("G30x4y6", this);} // tgen
+
+static void Test_G30x4y6()
+{
+ extern Class_Descriptor cd_G30x4y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G30x4y6, buf);
+ G30x4y6 *dp, &lv = *(dp=new (buf) G30x4y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G30x4y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x4y6)");
+ check_base_class_offset(lv, (A0*)(C30*)(E30x4*), ABISELECT(24,20), "G30x4y6");
+ check_base_class_offset(lv, (B1*)(C30*)(E30x4*), ABISELECT(32,24), "G30x4y6");
+ check_base_class_offset(lv, (C30*)(E30x4*), 0, "G30x4y6");
+ check_base_class_offset(lv, (D0*)(E30x4*), ABISELECT(12,8), "G30x4y6");
+ check_base_class_offset(lv, (E30x4*), 0, "G30x4y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G30x4y6");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G30x4y6.ff");
+ test_class_info(&lv, &cd_G30x4y6);
+ dp->~G30x4y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x4y6(Test_G30x4y6, "G30x4y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G30x4y6C1Ev();
+extern void _ZN7G30x4y6D1Ev();
+Name_Map name_map_G30x4y6[] = {
+ NSPAIR(_ZN7G30x4y6C1Ev),
+ NSPAIR(_ZN7G30x4y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E30x4;
+extern VTBL_ENTRY _ZTI5E30x4[];
+extern VTBL_ENTRY _ZTV5E30x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G30x4y6[] = {
+ // 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)
+ 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_D0, 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_E30x4, 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 _ZTI7G30x4y6[];
+extern void _ZN3C303fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn32_N3C303fooEv,_ZThn24_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G30x4y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x4y6[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G30x4y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern VTBL_ENTRY _ZTV7G30x4y6[];
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV5E30x4__7G30x4y6[] = {
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x4[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C305E30x4__7G30x4y6[] = {
+ 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__3C305E30x4__7G30x4y6[] = {
+ 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__5E30x4__7G30x4y6[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E30x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x4y6[] = {
+ {&(_ZTV7G30x4y6[5]), 5,10},
+ {&(_tg__ZTV5E30x4__7G30x4y6[4]), 4,5},
+ {&(_tg__ZTV3C305E30x4__7G30x4y6[4]), 4,5},
+ {&(_tg__ZTV2B1__3C305E30x4__7G30x4y6[3]), 3,4},
+ {&(_tg__ZTV2B1__5E30x4__7G30x4y6[3]), 3,4},
+ {&(_ZTV7G30x4y6[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI7G30x4y6[];
+extern VTBL_ENTRY _ZTV7G30x4y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x4y6[];
+static VTBL_ENTRY alt_thunk_names60[] = {
+ (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_G30x4y6 = { "G30x4y6", // class name
+ bases_G30x4y6, 6,
+ &(vtc_G30x4y6[0]), // expected_vtbl_contents
+ &(vtt_G30x4y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G30x4y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x4y6),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x4y6),6, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names60,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x4y7 : virtual E30x4 , virtual F0 {
+ int ff;
+ ~G30x4y7(); // tgen
+ G30x4y7(); // tgen
+};
+//SIG(1 G30x4y7) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G30x4y7 ::~G30x4y7(){ note_dtor("G30x4y7", this);} // tgen
+G30x4y7 ::G30x4y7(){ note_ctor("G30x4y7", this);} // tgen
+
+static void Test_G30x4y7()
+{
+ extern Class_Descriptor cd_G30x4y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G30x4y7, buf);
+ G30x4y7 *dp, &lv = *(dp=new (buf) G30x4y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G30x4y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x4y7)");
+ check_base_class_offset(lv, (A0*)(C30*)(E30x4*), ABISELECT(36,24), "G30x4y7");
+ check_base_class_offset(lv, (B1*)(C30*)(E30x4*), ABISELECT(40,28), "G30x4y7");
+ check_base_class_offset(lv, (C30*)(E30x4*), ABISELECT(16,8), "G30x4y7");
+ check_base_class_offset(lv, (D0*)(E30x4*), ABISELECT(28,16), "G30x4y7");
+ check_base_class_offset(lv, (E30x4*), ABISELECT(16,8), "G30x4y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G30x4y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G30x4y7.ff");
+ test_class_info(&lv, &cd_G30x4y7);
+ dp->~G30x4y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x4y7(Test_G30x4y7, "G30x4y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G30x4y7C1Ev();
+extern void _ZN7G30x4y7D1Ev();
+Name_Map name_map_G30x4y7[] = {
+ NSPAIR(_ZN7G30x4y7C1Ev),
+ NSPAIR(_ZN7G30x4y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E30x4;
+extern VTBL_ENTRY _ZTI5E30x4[];
+extern VTBL_ENTRY _ZTV5E30x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G30x4y7[] = {
+ // 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)
+ 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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_E30x4, 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 _ZTI7G30x4y7[];
+extern void _ZN3C303fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn24_N3C303fooEv,_ZThn20_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G30x4y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x4y7[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G30x4y7[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G30x4y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern VTBL_ENTRY _ZTV7G30x4y7[];
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV5E30x4__7G30x4y7[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x4[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C305E30x4__7G30x4y7[] = {
+ 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__3C305E30x4__7G30x4y7[] = {
+ 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__5E30x4__7G30x4y7[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E30x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x4y7[] = {
+ {&(_ZTV7G30x4y7[6]), 6,16},
+ {&(_ZTV7G30x4y7[11]), 11,16},
+ {&(_ZTV7G30x4y7[15]), 15,16},
+ {&(_tg__ZTV5E30x4__7G30x4y7[4]), 4,5},
+ {&(_tg__ZTV3C305E30x4__7G30x4y7[4]), 4,5},
+ {&(_tg__ZTV2B1__3C305E30x4__7G30x4y7[3]), 3,4},
+ {&(_tg__ZTV2B1__5E30x4__7G30x4y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G30x4y7[];
+extern VTBL_ENTRY _ZTV7G30x4y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x4y7[];
+static VTBL_ENTRY alt_thunk_names61[] = {
+ (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_G30x4y7 = { "G30x4y7", // class name
+ bases_G30x4y7, 6,
+ &(vtc_G30x4y7[0]), // expected_vtbl_contents
+ &(vtt_G30x4y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G30x4y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x4y7),16, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x4y7),7, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names61,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E31x4 : C31 , D0 {
+ int fd;
+ ~E31x4(); // tgen
+ E31x4(); // tgen
+};
+//SIG(-1 E31x4) C1{ BC2{ VBC3{ v1 Fi} VBC4{ v1 Fi} v1 Fi} BC5{ Fi} Fi}
+
+
+E31x4 ::~E31x4(){ note_dtor("E31x4", this);} // tgen
+E31x4 ::E31x4(){ note_ctor("E31x4", this);} // tgen
+
+static void Test_E31x4()
+{
+ extern Class_Descriptor cd_E31x4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,9)];
+ init_test(&cd_E31x4, buf);
+ E31x4 *dp, &lv = *(dp=new (buf) E31x4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,32), "sizeof(E31x4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E31x4)");
+ check_base_class_offset(lv, (A1*)(C31*), ABISELECT(24,16), "E31x4");
+ check_base_class_offset(lv, (B1*)(C31*), ABISELECT(40,24), "E31x4");
+ check_base_class_offset(lv, (C31*), 0, "E31x4");
+ check_base_class_offset(lv, (D0*), ABISELECT(12,8), "E31x4");
+ check_field_offset(lv, fd, ABISELECT(16,12), "E31x4.fd");
+ test_class_info(&lv, &cd_E31x4);
+ dp->~E31x4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE31x4(Test_E31x4, "E31x4", ABISELECT(56,32));
+
+#else // __cplusplus
+
+extern void _ZN5E31x4C1Ev();
+extern void _ZN5E31x4D1Ev();
+Name_Map name_map_E31x4[] = {
+ NSPAIR(_ZN5E31x4C1Ev),
+ NSPAIR(_ZN5E31x4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E31x4[] = {
+ // 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)
+ 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(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
+ 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_D0, 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 _ZTI5E31x4[];
+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));
+static VTBL_ENTRY vtc_E31x4[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x4[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E31x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-40,-24),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E31x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern VTBL_ENTRY _ZTV5E31x4[];
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__5E31x4[] = {
+ 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__3C31__5E31x4[] = {
+ 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__3C31__5E31x4[] = {
+ ABISELECT(-40,-24),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_E31x4[] = {
+ {&(_ZTV5E31x4[4]), 4,13},
+ {&(_tg__ZTV3C31__5E31x4[4]), 4,5},
+ {&(_tg__ZTV2A1__3C31__5E31x4[3]), 3,4},
+ {&(_tg__ZTV2B1__3C31__5E31x4[3]), 3,4},
+ {&(_ZTV5E31x4[8]), 8,13},
+ {&(_ZTV5E31x4[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI5E31x4[];
+extern VTBL_ENTRY _ZTV5E31x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x4[];
+static VTBL_ENTRY alt_thunk_names62[] = {
+ (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),
+ ALT_NAMES_TERMINATOR,
+ALT_NAMES_TERMINATOR};
+Class_Descriptor cd_E31x4 = { "E31x4", // class name
+ bases_E31x4, 4,
+ &(vtc_E31x4[0]), // expected_vtbl_contents
+ &(vtt_E31x4[0]), // expected_vtt_contents
+ ABISELECT(56,32), // object size
+ NSPAIRA(_ZTI5E31x4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E31x4),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E31x4),6, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names62,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x4y0 : E31x4 , F1 {
+ int ff;
+ ~G31x4y0(); // tgen
+ G31x4y0(); // tgen
+};
+//SIG(1 G31x4y0) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G31x4y0 ::~G31x4y0(){ note_dtor("G31x4y0", this);} // tgen
+G31x4y0 ::G31x4y0(){ note_ctor("G31x4y0", this);} // tgen
+
+static void Test_G31x4y0()
+{
+ extern Class_Descriptor cd_G31x4y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G31x4y0, buf);
+ G31x4y0 *dp, &lv = *(dp=new (buf) G31x4y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G31x4y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x4y0)");
+ check_base_class_offset(lv, (A1*)(C31*)(E31x4*), ABISELECT(40,28), "G31x4y0");
+ check_base_class_offset(lv, (B1*)(C31*)(E31x4*), ABISELECT(56,36), "G31x4y0");
+ check_base_class_offset(lv, (C31*)(E31x4*), 0, "G31x4y0");
+ check_base_class_offset(lv, (D0*)(E31x4*), ABISELECT(12,8), "G31x4y0");
+ check_base_class_offset(lv, (E31x4*), 0, "G31x4y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,16), "G31x4y0");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G31x4y0.ff");
+ test_class_info(&lv, &cd_G31x4y0);
+ dp->~G31x4y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x4y0(Test_G31x4y0, "G31x4y0", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G31x4y0C1Ev();
+extern void _ZN7G31x4y0D1Ev();
+Name_Map name_map_G31x4y0[] = {
+ NSPAIR(_ZN7G31x4y0C1Ev),
+ NSPAIR(_ZN7G31x4y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E31x4;
+extern VTBL_ENTRY _ZTI5E31x4[];
+extern VTBL_ENTRY _ZTV5E31x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G31x4y0[] = {
+ // 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_D0, 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_E31x4, 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 _ZTI7G31x4y0[];
+extern void _ZN3C313fooEv();
+extern void _ZN2F13fooEv();
+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_G31x4y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x4y0[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G31x4y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G31x4y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-56,-36),
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G31x4y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern VTBL_ENTRY _ZTV7G31x4y0[];
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV5E31x4__7G31x4y0[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x4[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C315E31x4__7G31x4y0[] = {
+ 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__3C315E31x4__7G31x4y0[] = {
+ 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__3C315E31x4__7G31x4y0[] = {
+ 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__5E31x4__7G31x4y0[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E31x4[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__5E31x4__7G31x4y0[] = {
+ ABISELECT(-56,-36),
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI5E31x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x4y0[] = {
+ {&(_ZTV7G31x4y0[4]), 4,16},
+ {&(_tg__ZTV5E31x4__7G31x4y0[4]), 4,5},
+ {&(_tg__ZTV3C315E31x4__7G31x4y0[4]), 4,5},
+ {&(_tg__ZTV2A1__3C315E31x4__7G31x4y0[3]), 3,4},
+ {&(_tg__ZTV2B1__3C315E31x4__7G31x4y0[3]), 3,4},
+ {&(_tg__ZTV2A1__5E31x4__7G31x4y0[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x4__7G31x4y0[3]), 3,4},
+ {&(_ZTV7G31x4y0[11]), 11,16},
+ {&(_ZTV7G31x4y0[15]), 15,16},
+};
+extern VTBL_ENTRY _ZTI7G31x4y0[];
+extern VTBL_ENTRY _ZTV7G31x4y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x4y0[];
+static VTBL_ENTRY alt_thunk_names63[] = {
+ (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_G31x4y0 = { "G31x4y0", // class name
+ bases_G31x4y0, 6,
+ &(vtc_G31x4y0[0]), // expected_vtbl_contents
+ &(vtt_G31x4y0[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G31x4y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x4y0),16, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x4y0),9, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names63,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x4y1 : virtual E31x4 , F1 {
+ int ff;
+ ~G31x4y1(); // tgen
+ G31x4y1(); // tgen
+};
+//SIG(1 G31x4y1) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G31x4y1 ::~G31x4y1(){ note_dtor("G31x4y1", this);} // tgen
+G31x4y1 ::G31x4y1(){ note_ctor("G31x4y1", this);} // tgen
+
+static void Test_G31x4y1()
+{
+ extern Class_Descriptor cd_G31x4y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G31x4y1, buf);
+ G31x4y1 *dp, &lv = *(dp=new (buf) G31x4y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G31x4y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x4y1)");
+ check_base_class_offset(lv, (A1*)(C31*)(E31x4*), ABISELECT(40,28), "G31x4y1");
+ check_base_class_offset(lv, (B1*)(C31*)(E31x4*), ABISELECT(56,36), "G31x4y1");
+ check_base_class_offset(lv, (C31*)(E31x4*), ABISELECT(16,12), "G31x4y1");
+ check_base_class_offset(lv, (D0*)(E31x4*), ABISELECT(28,20), "G31x4y1");
+ check_base_class_offset(lv, (E31x4*), ABISELECT(16,12), "G31x4y1");
+ check_base_class_offset(lv, (F1*), 0, "G31x4y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G31x4y1.ff");
+ test_class_info(&lv, &cd_G31x4y1);
+ dp->~G31x4y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x4y1(Test_G31x4y1, "G31x4y1", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G31x4y1C1Ev();
+extern void _ZN7G31x4y1D1Ev();
+Name_Map name_map_G31x4y1[] = {
+ NSPAIR(_ZN7G31x4y1C1Ev),
+ NSPAIR(_ZN7G31x4y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E31x4;
+extern VTBL_ENTRY _ZTI5E31x4[];
+extern VTBL_ENTRY _ZTV5E31x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G31x4y1[] = {
+ // 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(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
+ 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
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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_E31x4, 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 _ZTI7G31x4y1[];
+extern void _ZN2F13fooEv();
+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));
+static VTBL_ENTRY vtc_G31x4y1[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x4y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G31x4y1[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G31x4y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-40,-24),
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G31x4y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern VTBL_ENTRY _ZTV7G31x4y1[];
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV5E31x4__7G31x4y1[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x4[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C315E31x4__7G31x4y1[] = {
+ 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__3C315E31x4__7G31x4y1[] = {
+ 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__3C315E31x4__7G31x4y1[] = {
+ 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__5E31x4__7G31x4y1[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E31x4[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__5E31x4__7G31x4y1[] = {
+ ABISELECT(-40,-24),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E31x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x4y1[] = {
+ {&(_ZTV7G31x4y1[5]), 5,20},
+ {&(_ZTV7G31x4y1[11]), 11,20},
+ {&(_ZTV7G31x4y1[15]), 15,20},
+ {&(_ZTV7G31x4y1[19]), 19,20},
+ {&(_tg__ZTV5E31x4__7G31x4y1[4]), 4,5},
+ {&(_tg__ZTV3C315E31x4__7G31x4y1[4]), 4,5},
+ {&(_tg__ZTV2A1__3C315E31x4__7G31x4y1[3]), 3,4},
+ {&(_tg__ZTV2B1__3C315E31x4__7G31x4y1[3]), 3,4},
+ {&(_tg__ZTV2A1__5E31x4__7G31x4y1[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x4__7G31x4y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G31x4y1[];
+extern VTBL_ENTRY _ZTV7G31x4y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x4y1[];
+static VTBL_ENTRY alt_thunk_names64[] = {
+ (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_G31x4y1 = { "G31x4y1", // class name
+ bases_G31x4y1, 6,
+ &(vtc_G31x4y1[0]), // expected_vtbl_contents
+ &(vtt_G31x4y1[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G31x4y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x4y1),20, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x4y1),10, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names64,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x4y2 : E31x4 , virtual F1 {
+ int ff;
+ ~G31x4y2(); // tgen
+ G31x4y2(); // tgen
+};
+//SIG(1 G31x4y2) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G31x4y2 ::~G31x4y2(){ note_dtor("G31x4y2", this);} // tgen
+G31x4y2 ::G31x4y2(){ note_ctor("G31x4y2", this);} // tgen
+
+static void Test_G31x4y2()
+{
+ extern Class_Descriptor cd_G31x4y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G31x4y2, buf);
+ G31x4y2 *dp, &lv = *(dp=new (buf) G31x4y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G31x4y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x4y2)");
+ check_base_class_offset(lv, (A1*)(C31*)(E31x4*), ABISELECT(24,20), "G31x4y2");
+ check_base_class_offset(lv, (B1*)(C31*)(E31x4*), ABISELECT(40,28), "G31x4y2");
+ check_base_class_offset(lv, (C31*)(E31x4*), 0, "G31x4y2");
+ check_base_class_offset(lv, (D0*)(E31x4*), ABISELECT(12,8), "G31x4y2");
+ check_base_class_offset(lv, (E31x4*), 0, "G31x4y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G31x4y2");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G31x4y2.ff");
+ test_class_info(&lv, &cd_G31x4y2);
+ dp->~G31x4y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x4y2(Test_G31x4y2, "G31x4y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G31x4y2C1Ev();
+extern void _ZN7G31x4y2D1Ev();
+Name_Map name_map_G31x4y2[] = {
+ NSPAIR(_ZN7G31x4y2C1Ev),
+ NSPAIR(_ZN7G31x4y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E31x4;
+extern VTBL_ENTRY _ZTI5E31x4[];
+extern VTBL_ENTRY _ZTV5E31x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G31x4y2[] = {
+ // 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)
+ 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(40,28), //bcp->offset
+ 10, //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_D0, 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_E31x4, 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)
+ 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 _ZTI7G31x4y2[];
+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 _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G31x4y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x4y2[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G31x4y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G31x4y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G31x4y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G31x4y2[];
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV5E31x4__7G31x4y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x4[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C315E31x4__7G31x4y2[] = {
+ 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__3C315E31x4__7G31x4y2[] = {
+ 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__3C315E31x4__7G31x4y2[] = {
+ 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__5E31x4__7G31x4y2[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E31x4[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__5E31x4__7G31x4y2[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E31x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x4y2[] = {
+ {&(_ZTV7G31x4y2[5]), 5,18},
+ {&(_tg__ZTV5E31x4__7G31x4y2[4]), 4,5},
+ {&(_tg__ZTV3C315E31x4__7G31x4y2[4]), 4,5},
+ {&(_tg__ZTV2A1__3C315E31x4__7G31x4y2[3]), 3,4},
+ {&(_tg__ZTV2B1__3C315E31x4__7G31x4y2[3]), 3,4},
+ {&(_tg__ZTV2A1__5E31x4__7G31x4y2[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x4__7G31x4y2[3]), 3,4},
+ {&(_ZTV7G31x4y2[9]), 9,18},
+ {&(_ZTV7G31x4y2[13]), 13,18},
+ {&(_ZTV7G31x4y2[17]), 17,18},
+};
+extern VTBL_ENTRY _ZTI7G31x4y2[];
+extern VTBL_ENTRY _ZTV7G31x4y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x4y2[];
+static VTBL_ENTRY alt_thunk_names65[] = {
+ (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_G31x4y2 = { "G31x4y2", // class name
+ bases_G31x4y2, 6,
+ &(vtc_G31x4y2[0]), // expected_vtbl_contents
+ &(vtt_G31x4y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G31x4y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x4y2),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x4y2),10, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names65,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x4y3 : virtual E31x4 , virtual F1 {
+ int ff;
+ ~G31x4y3(); // tgen
+ G31x4y3(); // tgen
+};
+//SIG(1 G31x4y3) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G31x4y3 ::~G31x4y3(){ note_dtor("G31x4y3", this);} // tgen
+G31x4y3 ::G31x4y3(){ note_ctor("G31x4y3", this);} // tgen
+
+static void Test_G31x4y3()
+{
+ extern Class_Descriptor cd_G31x4y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(12,13)];
+ init_test(&cd_G31x4y3, buf);
+ G31x4y3 *dp, &lv = *(dp=new (buf) G31x4y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(88,48), "sizeof(G31x4y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x4y3)");
+ check_base_class_offset(lv, (A1*)(C31*)(E31x4*), ABISELECT(40,24), "G31x4y3");
+ check_base_class_offset(lv, (B1*)(C31*)(E31x4*), ABISELECT(56,32), "G31x4y3");
+ check_base_class_offset(lv, (C31*)(E31x4*), ABISELECT(16,8), "G31x4y3");
+ check_base_class_offset(lv, (D0*)(E31x4*), ABISELECT(28,16), "G31x4y3");
+ check_base_class_offset(lv, (E31x4*), ABISELECT(16,8), "G31x4y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(72,40), "G31x4y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G31x4y3.ff");
+ test_class_info(&lv, &cd_G31x4y3);
+ dp->~G31x4y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x4y3(Test_G31x4y3, "G31x4y3", ABISELECT(88,48));
+
+#else // __cplusplus
+
+extern void _ZN7G31x4y3C1Ev();
+extern void _ZN7G31x4y3D1Ev();
+Name_Map name_map_G31x4y3[] = {
+ NSPAIR(_ZN7G31x4y3C1Ev),
+ NSPAIR(_ZN7G31x4y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E31x4;
+extern VTBL_ENTRY _ZTI5E31x4[];
+extern VTBL_ENTRY _ZTV5E31x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x4[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G31x4y3[] = {
+ // 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(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
+ 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_D0, 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_E31x4, 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 _ZTI7G31x4y3[];
+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 _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G31x4y3[] = {
+ ABISELECT(72,40),
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x4y3[0]),
+ 0,
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G31x4y3[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G31x4y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-40,-24),
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G31x4y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ 0,
+ ABISELECT(-72,-40),
+ (VTBL_ENTRY)&(_ZTI7G31x4y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G31x4y3[];
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV5E31x4__7G31x4y3[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x4[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C315E31x4__7G31x4y3[] = {
+ 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__3C315E31x4__7G31x4y3[] = {
+ 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__3C315E31x4__7G31x4y3[] = {
+ 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__5E31x4__7G31x4y3[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E31x4[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__5E31x4__7G31x4y3[] = {
+ ABISELECT(-40,-24),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E31x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x4y3[] = {
+ {&(_ZTV7G31x4y3[6]), 6,24},
+ {&(_ZTV7G31x4y3[11]), 11,24},
+ {&(_ZTV7G31x4y3[15]), 15,24},
+ {&(_ZTV7G31x4y3[19]), 19,24},
+ {&(_ZTV7G31x4y3[23]), 23,24},
+ {&(_tg__ZTV5E31x4__7G31x4y3[4]), 4,5},
+ {&(_tg__ZTV3C315E31x4__7G31x4y3[4]), 4,5},
+ {&(_tg__ZTV2A1__3C315E31x4__7G31x4y3[3]), 3,4},
+ {&(_tg__ZTV2B1__3C315E31x4__7G31x4y3[3]), 3,4},
+ {&(_tg__ZTV2A1__5E31x4__7G31x4y3[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x4__7G31x4y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G31x4y3[];
+extern VTBL_ENTRY _ZTV7G31x4y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x4y3[];
+static VTBL_ENTRY alt_thunk_names66[] = {
+ (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_G31x4y3 = { "G31x4y3", // class name
+ bases_G31x4y3, 6,
+ &(vtc_G31x4y3[0]), // expected_vtbl_contents
+ &(vtt_G31x4y3[0]), // expected_vtt_contents
+ ABISELECT(88,48), // object size
+ NSPAIRA(_ZTI7G31x4y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x4y3),24, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x4y3),11, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names66,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x4y4 : E31x4 , F0 {
+ int ff;
+ ~G31x4y4(); // tgen
+ G31x4y4(); // tgen
+};
+//SIG(1 G31x4y4) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G31x4y4 ::~G31x4y4(){ note_dtor("G31x4y4", this);} // tgen
+G31x4y4 ::G31x4y4(){ note_ctor("G31x4y4", this);} // tgen
+
+static void Test_G31x4y4()
+{
+ extern Class_Descriptor cd_G31x4y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G31x4y4, buf);
+ G31x4y4 *dp, &lv = *(dp=new (buf) G31x4y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G31x4y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x4y4)");
+ check_base_class_offset(lv, (A1*)(C31*)(E31x4*), ABISELECT(32,24), "G31x4y4");
+ check_base_class_offset(lv, (B1*)(C31*)(E31x4*), ABISELECT(48,32), "G31x4y4");
+ check_base_class_offset(lv, (C31*)(E31x4*), 0, "G31x4y4");
+ check_base_class_offset(lv, (D0*)(E31x4*), ABISELECT(12,8), "G31x4y4");
+ check_base_class_offset(lv, (E31x4*), 0, "G31x4y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(20,16), "G31x4y4");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G31x4y4.ff");
+ test_class_info(&lv, &cd_G31x4y4);
+ dp->~G31x4y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x4y4(Test_G31x4y4, "G31x4y4", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G31x4y4C1Ev();
+extern void _ZN7G31x4y4D1Ev();
+Name_Map name_map_G31x4y4[] = {
+ NSPAIR(_ZN7G31x4y4C1Ev),
+ NSPAIR(_ZN7G31x4y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E31x4;
+extern VTBL_ENTRY _ZTI5E31x4[];
+extern VTBL_ENTRY _ZTV5E31x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G31x4y4[] = {
+ // 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)
+ 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,32), //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
+ 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_D0, 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_E31x4, 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 _ZTI7G31x4y4[];
+extern void _ZN3C313fooEv();
+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));
+static VTBL_ENTRY vtc_G31x4y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x4y4[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G31x4y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-48,-32),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G31x4y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern VTBL_ENTRY _ZTV7G31x4y4[];
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV5E31x4__7G31x4y4[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x4[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C315E31x4__7G31x4y4[] = {
+ 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__3C315E31x4__7G31x4y4[] = {
+ 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__3C315E31x4__7G31x4y4[] = {
+ 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__5E31x4__7G31x4y4[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E31x4[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__5E31x4__7G31x4y4[] = {
+ ABISELECT(-48,-32),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E31x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x4y4[] = {
+ {&(_ZTV7G31x4y4[4]), 4,13},
+ {&(_tg__ZTV5E31x4__7G31x4y4[4]), 4,5},
+ {&(_tg__ZTV3C315E31x4__7G31x4y4[4]), 4,5},
+ {&(_tg__ZTV2A1__3C315E31x4__7G31x4y4[3]), 3,4},
+ {&(_tg__ZTV2B1__3C315E31x4__7G31x4y4[3]), 3,4},
+ {&(_tg__ZTV2A1__5E31x4__7G31x4y4[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x4__7G31x4y4[3]), 3,4},
+ {&(_ZTV7G31x4y4[8]), 8,13},
+ {&(_ZTV7G31x4y4[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI7G31x4y4[];
+extern VTBL_ENTRY _ZTV7G31x4y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x4y4[];
+static VTBL_ENTRY alt_thunk_names67[] = {
+ (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_G31x4y4 = { "G31x4y4", // class name
+ bases_G31x4y4, 6,
+ &(vtc_G31x4y4[0]), // expected_vtbl_contents
+ &(vtt_G31x4y4[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G31x4y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x4y4),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x4y4),9, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names67,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x4y5 : virtual E31x4 , F0 {
+ int ff;
+ ~G31x4y5(); // tgen
+ G31x4y5(); // tgen
+};
+//SIG(1 G31x4y5) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G31x4y5 ::~G31x4y5(){ note_dtor("G31x4y5", this);} // tgen
+G31x4y5 ::G31x4y5(){ note_ctor("G31x4y5", this);} // tgen
+
+static void Test_G31x4y5()
+{
+ extern Class_Descriptor cd_G31x4y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G31x4y5, buf);
+ G31x4y5 *dp, &lv = *(dp=new (buf) G31x4y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G31x4y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x4y5)");
+ check_base_class_offset(lv, (A1*)(C31*)(E31x4*), ABISELECT(40,28), "G31x4y5");
+ check_base_class_offset(lv, (B1*)(C31*)(E31x4*), ABISELECT(56,36), "G31x4y5");
+ check_base_class_offset(lv, (C31*)(E31x4*), ABISELECT(16,12), "G31x4y5");
+ check_base_class_offset(lv, (D0*)(E31x4*), ABISELECT(28,20), "G31x4y5");
+ check_base_class_offset(lv, (E31x4*), ABISELECT(16,12), "G31x4y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G31x4y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G31x4y5.ff");
+ test_class_info(&lv, &cd_G31x4y5);
+ dp->~G31x4y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x4y5(Test_G31x4y5, "G31x4y5", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G31x4y5C1Ev();
+extern void _ZN7G31x4y5D1Ev();
+Name_Map name_map_G31x4y5[] = {
+ NSPAIR(_ZN7G31x4y5C1Ev),
+ NSPAIR(_ZN7G31x4y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E31x4;
+extern VTBL_ENTRY _ZTI5E31x4[];
+extern VTBL_ENTRY _ZTV5E31x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G31x4y5[] = {
+ // 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(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
+ 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
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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_E31x4, 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 _ZTI7G31x4y5[];
+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));
+static VTBL_ENTRY vtc_G31x4y5[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x4y5[0]),
+ 0,
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G31x4y5[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G31x4y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-40,-24),
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G31x4y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern VTBL_ENTRY _ZTV7G31x4y5[];
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV5E31x4__7G31x4y5[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x4[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C315E31x4__7G31x4y5[] = {
+ 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__3C315E31x4__7G31x4y5[] = {
+ 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__3C315E31x4__7G31x4y5[] = {
+ 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__5E31x4__7G31x4y5[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E31x4[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__5E31x4__7G31x4y5[] = {
+ ABISELECT(-40,-24),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E31x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x4y5[] = {
+ {&(_ZTV7G31x4y5[5]), 5,19},
+ {&(_ZTV7G31x4y5[10]), 10,19},
+ {&(_ZTV7G31x4y5[14]), 14,19},
+ {&(_ZTV7G31x4y5[18]), 18,19},
+ {&(_tg__ZTV5E31x4__7G31x4y5[4]), 4,5},
+ {&(_tg__ZTV3C315E31x4__7G31x4y5[4]), 4,5},
+ {&(_tg__ZTV2A1__3C315E31x4__7G31x4y5[3]), 3,4},
+ {&(_tg__ZTV2B1__3C315E31x4__7G31x4y5[3]), 3,4},
+ {&(_tg__ZTV2A1__5E31x4__7G31x4y5[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x4__7G31x4y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G31x4y5[];
+extern VTBL_ENTRY _ZTV7G31x4y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x4y5[];
+static VTBL_ENTRY alt_thunk_names68[] = {
+ (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_G31x4y5 = { "G31x4y5", // class name
+ bases_G31x4y5, 6,
+ &(vtc_G31x4y5[0]), // expected_vtbl_contents
+ &(vtt_G31x4y5[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G31x4y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x4y5),19, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x4y5),10, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names68,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x4y6 : E31x4 , virtual F0 {
+ int ff;
+ ~G31x4y6(); // tgen
+ G31x4y6(); // tgen
+};
+//SIG(1 G31x4y6) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G31x4y6 ::~G31x4y6(){ note_dtor("G31x4y6", this);} // tgen
+G31x4y6 ::G31x4y6(){ note_ctor("G31x4y6", this);} // tgen
+
+static void Test_G31x4y6()
+{
+ extern Class_Descriptor cd_G31x4y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G31x4y6, buf);
+ G31x4y6 *dp, &lv = *(dp=new (buf) G31x4y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G31x4y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x4y6)");
+ check_base_class_offset(lv, (A1*)(C31*)(E31x4*), ABISELECT(24,20), "G31x4y6");
+ check_base_class_offset(lv, (B1*)(C31*)(E31x4*), ABISELECT(40,28), "G31x4y6");
+ check_base_class_offset(lv, (C31*)(E31x4*), 0, "G31x4y6");
+ check_base_class_offset(lv, (D0*)(E31x4*), ABISELECT(12,8), "G31x4y6");
+ check_base_class_offset(lv, (E31x4*), 0, "G31x4y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G31x4y6");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G31x4y6.ff");
+ test_class_info(&lv, &cd_G31x4y6);
+ dp->~G31x4y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x4y6(Test_G31x4y6, "G31x4y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G31x4y6C1Ev();
+extern void _ZN7G31x4y6D1Ev();
+Name_Map name_map_G31x4y6[] = {
+ NSPAIR(_ZN7G31x4y6C1Ev),
+ NSPAIR(_ZN7G31x4y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E31x4;
+extern VTBL_ENTRY _ZTI5E31x4[];
+extern VTBL_ENTRY _ZTV5E31x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G31x4y6[] = {
+ // 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)
+ 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(40,28), //bcp->offset
+ 10, //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_D0, 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_E31x4, 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 _ZTI7G31x4y6[];
+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));
+static VTBL_ENTRY vtc_G31x4y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x4y6[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G31x4y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G31x4y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern VTBL_ENTRY _ZTV7G31x4y6[];
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV5E31x4__7G31x4y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x4[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C315E31x4__7G31x4y6[] = {
+ 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__3C315E31x4__7G31x4y6[] = {
+ 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__3C315E31x4__7G31x4y6[] = {
+ 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__5E31x4__7G31x4y6[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E31x4[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__5E31x4__7G31x4y6[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E31x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x4y6[] = {
+ {&(_ZTV7G31x4y6[5]), 5,14},
+ {&(_tg__ZTV5E31x4__7G31x4y6[4]), 4,5},
+ {&(_tg__ZTV3C315E31x4__7G31x4y6[4]), 4,5},
+ {&(_tg__ZTV2A1__3C315E31x4__7G31x4y6[3]), 3,4},
+ {&(_tg__ZTV2B1__3C315E31x4__7G31x4y6[3]), 3,4},
+ {&(_tg__ZTV2A1__5E31x4__7G31x4y6[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x4__7G31x4y6[3]), 3,4},
+ {&(_ZTV7G31x4y6[9]), 9,14},
+ {&(_ZTV7G31x4y6[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI7G31x4y6[];
+extern VTBL_ENTRY _ZTV7G31x4y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x4y6[];
+static VTBL_ENTRY alt_thunk_names69[] = {
+ (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_G31x4y6 = { "G31x4y6", // class name
+ bases_G31x4y6, 6,
+ &(vtc_G31x4y6[0]), // expected_vtbl_contents
+ &(vtt_G31x4y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G31x4y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x4y6),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x4y6),9, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names69,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x4y7 : virtual E31x4 , virtual F0 {
+ int ff;
+ ~G31x4y7(); // tgen
+ G31x4y7(); // tgen
+};
+//SIG(1 G31x4y7) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G31x4y7 ::~G31x4y7(){ note_dtor("G31x4y7", this);} // tgen
+G31x4y7 ::G31x4y7(){ note_ctor("G31x4y7", this);} // tgen
+
+static void Test_G31x4y7()
+{
+ extern Class_Descriptor cd_G31x4y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G31x4y7, buf);
+ G31x4y7 *dp, &lv = *(dp=new (buf) G31x4y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G31x4y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x4y7)");
+ check_base_class_offset(lv, (A1*)(C31*)(E31x4*), ABISELECT(40,24), "G31x4y7");
+ check_base_class_offset(lv, (B1*)(C31*)(E31x4*), ABISELECT(56,32), "G31x4y7");
+ check_base_class_offset(lv, (C31*)(E31x4*), ABISELECT(16,8), "G31x4y7");
+ check_base_class_offset(lv, (D0*)(E31x4*), ABISELECT(28,16), "G31x4y7");
+ check_base_class_offset(lv, (E31x4*), ABISELECT(16,8), "G31x4y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(68,40), "G31x4y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G31x4y7.ff");
+ test_class_info(&lv, &cd_G31x4y7);
+ dp->~G31x4y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x4y7(Test_G31x4y7, "G31x4y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G31x4y7C1Ev();
+extern void _ZN7G31x4y7D1Ev();
+Name_Map name_map_G31x4y7[] = {
+ NSPAIR(_ZN7G31x4y7C1Ev),
+ NSPAIR(_ZN7G31x4y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E31x4;
+extern VTBL_ENTRY _ZTI5E31x4[];
+extern VTBL_ENTRY _ZTV5E31x4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x4[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G31x4y7[] = {
+ // 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(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
+ 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
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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_E31x4, 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 _ZTI7G31x4y7[];
+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));
+static VTBL_ENTRY vtc_G31x4y7[] = {
+ ABISELECT(68,40),
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x4y7[0]),
+ 0,
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G31x4y7[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G31x4y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-40,-24),
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G31x4y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern VTBL_ENTRY _ZTV7G31x4y7[];
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV5E31x4__7G31x4y7[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x4[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C315E31x4__7G31x4y7[] = {
+ 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__3C315E31x4__7G31x4y7[] = {
+ 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__3C315E31x4__7G31x4y7[] = {
+ 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__5E31x4__7G31x4y7[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E31x4[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__5E31x4__7G31x4y7[] = {
+ ABISELECT(-40,-24),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E31x4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x4y7[] = {
+ {&(_ZTV7G31x4y7[6]), 6,20},
+ {&(_ZTV7G31x4y7[11]), 11,20},
+ {&(_ZTV7G31x4y7[15]), 15,20},
+ {&(_ZTV7G31x4y7[19]), 19,20},
+ {&(_tg__ZTV5E31x4__7G31x4y7[4]), 4,5},
+ {&(_tg__ZTV3C315E31x4__7G31x4y7[4]), 4,5},
+ {&(_tg__ZTV2A1__3C315E31x4__7G31x4y7[3]), 3,4},
+ {&(_tg__ZTV2B1__3C315E31x4__7G31x4y7[3]), 3,4},
+ {&(_tg__ZTV2A1__5E31x4__7G31x4y7[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x4__7G31x4y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G31x4y7[];
+extern VTBL_ENTRY _ZTV7G31x4y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x4y7[];
+static VTBL_ENTRY alt_thunk_names70[] = {
+ (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_G31x4y7 = { "G31x4y7", // class name
+ bases_G31x4y7, 6,
+ &(vtc_G31x4y7[0]), // expected_vtbl_contents
+ &(vtt_G31x4y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G31x4y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x4y7),20, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x4y7),10, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names70,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E0x5 : virtual C0 , D0 {
+ int fd;
+ ~E0x5(); // tgen
+ E0x5(); // tgen
+};
+//SIG(-1 E0x5) C1{ VBC2{ BC3{ Fi} BC4{ Fi} Fi} BC5{ Fi} Fi}
+
+
+E0x5 ::~E0x5(){ note_dtor("E0x5", this);} // tgen
+E0x5 ::E0x5(){ note_ctor("E0x5", this);} // tgen
+
+static void Test_E0x5()
+{
+ extern Class_Descriptor cd_E0x5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(5,7)];
+ init_test(&cd_E0x5, buf);
+ E0x5 *dp, &lv = *(dp=new (buf) E0x5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(32,24), "sizeof(E0x5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E0x5)");
+ check_base_class_offset(lv, (A0*)(C0*), ABISELECT(16,12), "E0x5");
+ check_base_class_offset(lv, (B0*)(C0*), ABISELECT(20,16), "E0x5");
+ check_base_class_offset(lv, (C0*), ABISELECT(16,12), "E0x5");
+ check_base_class_offset(lv, (D0*), ABISELECT(8,4), "E0x5");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E0x5.fd");
+ test_class_info(&lv, &cd_E0x5);
+ dp->~E0x5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE0x5(Test_E0x5, "E0x5", ABISELECT(32,24));
+
+#else // __cplusplus
+
+extern void _ZN4E0x5C1Ev();
+extern void _ZN4E0x5D1Ev();
+Name_Map name_map_E0x5[] = {
+ NSPAIR(_ZN4E0x5C1Ev),
+ NSPAIR(_ZN4E0x5D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E0x5[] = {
+ // 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI4E0x5[];
+static VTBL_ENTRY vtc_E0x5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x5[0]),
+};
+extern VTBL_ENTRY _ZTV4E0x5[];
+static VTT_ENTRY vtt_E0x5[] = {
+ {&(_ZTV4E0x5[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI4E0x5[];
+extern VTBL_ENTRY _ZTV4E0x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x5[];
+Class_Descriptor cd_E0x5 = { "E0x5", // class name
+ bases_E0x5, 4,
+ &(vtc_E0x5[0]), // expected_vtbl_contents
+ &(vtt_E0x5[0]), // expected_vtt_contents
+ ABISELECT(32,24), // object size
+ NSPAIRA(_ZTI4E0x5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E0x5),3, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E0x5),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 G0x5y0 : E0x5 , F1 {
+ int ff;
+ ~G0x5y0(); // tgen
+ G0x5y0(); // tgen
+};
+//SIG(1 G0x5y0) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ v1 Fi} Fi}
+
+
+G0x5y0 ::~G0x5y0(){ note_dtor("G0x5y0", this);} // tgen
+G0x5y0 ::G0x5y0(){ note_ctor("G0x5y0", this);} // tgen
+
+static void Test_G0x5y0()
+{
+ extern Class_Descriptor cd_G0x5y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G0x5y0, buf);
+ G0x5y0 *dp, &lv = *(dp=new (buf) G0x5y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G0x5y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x5y0)");
+ check_base_class_offset(lv, (A0*)(C0*), ABISELECT(32,24), "G0x5y0");
+ check_base_class_offset(lv, (B0*)(C0*), ABISELECT(36,28), "G0x5y0");
+ check_base_class_offset(lv, (C0*)(E0x5*), ABISELECT(32,24), "G0x5y0");
+ check_base_class_offset(lv, (D0*)(E0x5*), ABISELECT(8,4), "G0x5y0");
+ check_base_class_offset(lv, (E0x5*), 0, "G0x5y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G0x5y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G0x5y0.ff");
+ test_class_info(&lv, &cd_G0x5y0);
+ dp->~G0x5y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x5y0(Test_G0x5y0, "G0x5y0", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G0x5y0C1Ev();
+extern void _ZN6G0x5y0D1Ev();
+Name_Map name_map_G0x5y0[] = {
+ NSPAIR(_ZN6G0x5y0C1Ev),
+ NSPAIR(_ZN6G0x5y0D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E0x5;
+extern VTBL_ENTRY _ZTI4E0x5[];
+extern VTBL_ENTRY _ZTV4E0x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G0x5y0[] = {
+ // 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E0x5, 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_F1, 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 _ZTI6G0x5y0[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G0x5y0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x5y0[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G0x5y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G0x5y0[];
+static VTBL_ENTRY _tg__ZTV4E0x5__6G0x5y0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x5[0]),
+};
+static VTT_ENTRY vtt_G0x5y0[] = {
+ {&(_ZTV6G0x5y0[3]), 3,6},
+ {&(_tg__ZTV4E0x5__6G0x5y0[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G0x5y0[];
+extern VTBL_ENTRY _ZTV6G0x5y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x5y0[];
+Class_Descriptor cd_G0x5y0 = { "G0x5y0", // class name
+ bases_G0x5y0, 6,
+ &(vtc_G0x5y0[0]), // expected_vtbl_contents
+ &(vtt_G0x5y0[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G0x5y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x5y0),6, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x5y0),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 G0x5y1 : virtual E0x5 , F1 {
+ int ff;
+ ~G0x5y1(); // tgen
+ G0x5y1(); // tgen
+};
+//SIG(1 G0x5y1) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ v1 Fi} Fi}
+
+
+G0x5y1 ::~G0x5y1(){ note_dtor("G0x5y1", this);} // tgen
+G0x5y1 ::G0x5y1(){ note_ctor("G0x5y1", this);} // tgen
+
+static void Test_G0x5y1()
+{
+ extern Class_Descriptor cd_G0x5y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G0x5y1, buf);
+ G0x5y1 *dp, &lv = *(dp=new (buf) G0x5y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G0x5y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x5y1)");
+ check_base_class_offset(lv, (A0*)(C0*), ABISELECT(32,24), "G0x5y1");
+ check_base_class_offset(lv, (B0*)(C0*), ABISELECT(36,28), "G0x5y1");
+ check_base_class_offset(lv, (C0*)(E0x5*), ABISELECT(32,24), "G0x5y1");
+ check_base_class_offset(lv, (D0*)(E0x5*), ABISELECT(24,16), "G0x5y1");
+ check_base_class_offset(lv, (E0x5*), ABISELECT(16,12), "G0x5y1");
+ check_base_class_offset(lv, (F1*), 0, "G0x5y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G0x5y1.ff");
+ test_class_info(&lv, &cd_G0x5y1);
+ dp->~G0x5y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x5y1(Test_G0x5y1, "G0x5y1", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G0x5y1C1Ev();
+extern void _ZN6G0x5y1D1Ev();
+Name_Map name_map_G0x5y1[] = {
+ NSPAIR(_ZN6G0x5y1C1Ev),
+ NSPAIR(_ZN6G0x5y1D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E0x5;
+extern VTBL_ENTRY _ZTI4E0x5[];
+extern VTBL_ENTRY _ZTV4E0x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G0x5y1[] = {
+ // 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_D0, 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_E0x5, 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_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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G0x5y1[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G0x5y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x5y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G0x5y1[0]),
+};
+extern VTBL_ENTRY _ZTV6G0x5y1[];
+static VTBL_ENTRY _tg__ZTV4E0x5__6G0x5y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x5[0]),
+};
+static VTT_ENTRY vtt_G0x5y1[] = {
+ {&(_ZTV6G0x5y1[4]), 4,8},
+ {&(_ZTV6G0x5y1[8]), 8,8},
+ {&(_tg__ZTV4E0x5__6G0x5y1[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G0x5y1[];
+extern VTBL_ENTRY _ZTV6G0x5y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x5y1[];
+Class_Descriptor cd_G0x5y1 = { "G0x5y1", // class name
+ bases_G0x5y1, 6,
+ &(vtc_G0x5y1[0]), // expected_vtbl_contents
+ &(vtt_G0x5y1[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G0x5y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x5y1),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x5y1),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 G0x5y2 : E0x5 , virtual F1 {
+ int ff;
+ ~G0x5y2(); // tgen
+ G0x5y2(); // tgen
+};
+//SIG(1 G0x5y2) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ v1 Fi} Fi}
+
+
+G0x5y2 ::~G0x5y2(){ note_dtor("G0x5y2", this);} // tgen
+G0x5y2 ::G0x5y2(){ note_ctor("G0x5y2", this);} // tgen
+
+static void Test_G0x5y2()
+{
+ extern Class_Descriptor cd_G0x5y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G0x5y2, buf);
+ G0x5y2 *dp, &lv = *(dp=new (buf) G0x5y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G0x5y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x5y2)");
+ check_base_class_offset(lv, (A0*)(C0*), ABISELECT(20,16), "G0x5y2");
+ check_base_class_offset(lv, (B0*)(C0*), ABISELECT(24,20), "G0x5y2");
+ check_base_class_offset(lv, (C0*)(E0x5*), ABISELECT(20,16), "G0x5y2");
+ check_base_class_offset(lv, (D0*)(E0x5*), ABISELECT(8,4), "G0x5y2");
+ check_base_class_offset(lv, (E0x5*), 0, "G0x5y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,28), "G0x5y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G0x5y2.ff");
+ test_class_info(&lv, &cd_G0x5y2);
+ dp->~G0x5y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x5y2(Test_G0x5y2, "G0x5y2", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G0x5y2C1Ev();
+extern void _ZN6G0x5y2D1Ev();
+Name_Map name_map_G0x5y2[] = {
+ NSPAIR(_ZN6G0x5y2C1Ev),
+ NSPAIR(_ZN6G0x5y2D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E0x5;
+extern VTBL_ENTRY _ZTI4E0x5[];
+extern VTBL_ENTRY _ZTV4E0x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G0x5y2[] = {
+ // 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E0x5, 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(32,28), //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 _ZTI6G0x5y2[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G0x5y2[] = {
+ ABISELECT(32,28),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x5y2[0]),
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI6G0x5y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G0x5y2[];
+static VTBL_ENTRY _tg__ZTV4E0x5__6G0x5y2[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x5[0]),
+};
+static VTT_ENTRY vtt_G0x5y2[] = {
+ {&(_ZTV6G0x5y2[4]), 4,8},
+ {&(_tg__ZTV4E0x5__6G0x5y2[3]), 3,3},
+ {&(_ZTV6G0x5y2[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI6G0x5y2[];
+extern VTBL_ENTRY _ZTV6G0x5y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x5y2[];
+Class_Descriptor cd_G0x5y2 = { "G0x5y2", // class name
+ bases_G0x5y2, 6,
+ &(vtc_G0x5y2[0]), // expected_vtbl_contents
+ &(vtt_G0x5y2[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G0x5y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x5y2),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x5y2),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 G0x5y3 : virtual E0x5 , virtual F1 {
+ int ff;
+ ~G0x5y3(); // tgen
+ G0x5y3(); // tgen
+};
+//SIG(1 G0x5y3) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ v1 Fi} Fi}
+
+
+G0x5y3 ::~G0x5y3(){ note_dtor("G0x5y3", this);} // tgen
+G0x5y3 ::G0x5y3(){ note_ctor("G0x5y3", this);} // tgen
+
+static void Test_G0x5y3()
+{
+ extern Class_Descriptor cd_G0x5y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G0x5y3, buf);
+ G0x5y3 *dp, &lv = *(dp=new (buf) G0x5y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G0x5y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x5y3)");
+ check_base_class_offset(lv, (A0*)(C0*), ABISELECT(32,20), "G0x5y3");
+ check_base_class_offset(lv, (B0*)(C0*), ABISELECT(36,24), "G0x5y3");
+ check_base_class_offset(lv, (C0*)(E0x5*), ABISELECT(32,20), "G0x5y3");
+ check_base_class_offset(lv, (D0*)(E0x5*), ABISELECT(24,12), "G0x5y3");
+ check_base_class_offset(lv, (E0x5*), ABISELECT(16,8), "G0x5y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G0x5y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G0x5y3.ff");
+ test_class_info(&lv, &cd_G0x5y3);
+ dp->~G0x5y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x5y3(Test_G0x5y3, "G0x5y3", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G0x5y3C1Ev();
+extern void _ZN6G0x5y3D1Ev();
+Name_Map name_map_G0x5y3[] = {
+ NSPAIR(_ZN6G0x5y3C1Ev),
+ NSPAIR(_ZN6G0x5y3D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E0x5;
+extern VTBL_ENTRY _ZTI4E0x5[];
+extern VTBL_ENTRY _ZTV4E0x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G0x5y3[] = {
+ // 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_D0, 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_E0x5, 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_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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G0x5y3[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G0x5y3[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x5y3[0]),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G0x5y3[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G0x5y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G0x5y3[];
+static VTBL_ENTRY _tg__ZTV4E0x5__6G0x5y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x5[0]),
+};
+static VTT_ENTRY vtt_G0x5y3[] = {
+ {&(_ZTV6G0x5y3[5]), 5,12},
+ {&(_ZTV6G0x5y3[8]), 8,12},
+ {&(_ZTV6G0x5y3[11]), 11,12},
+ {&(_tg__ZTV4E0x5__6G0x5y3[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G0x5y3[];
+extern VTBL_ENTRY _ZTV6G0x5y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x5y3[];
+Class_Descriptor cd_G0x5y3 = { "G0x5y3", // class name
+ bases_G0x5y3, 6,
+ &(vtc_G0x5y3[0]), // expected_vtbl_contents
+ &(vtt_G0x5y3[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G0x5y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x5y3),12, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x5y3),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 G0x5y4 : E0x5 , F0 {
+ int ff;
+ ~G0x5y4(); // tgen
+ G0x5y4(); // tgen
+};
+//SIG(1 G0x5y4) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G0x5y4 ::~G0x5y4(){ note_dtor("G0x5y4", this);} // tgen
+G0x5y4 ::G0x5y4(){ note_ctor("G0x5y4", this);} // tgen
+
+static void Test_G0x5y4()
+{
+ extern Class_Descriptor cd_G0x5y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G0x5y4, buf);
+ G0x5y4 *dp, &lv = *(dp=new (buf) G0x5y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G0x5y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x5y4)");
+ check_base_class_offset(lv, (A0*)(C0*), ABISELECT(24,20), "G0x5y4");
+ check_base_class_offset(lv, (B0*)(C0*), ABISELECT(28,24), "G0x5y4");
+ check_base_class_offset(lv, (C0*)(E0x5*), ABISELECT(24,20), "G0x5y4");
+ check_base_class_offset(lv, (D0*)(E0x5*), ABISELECT(8,4), "G0x5y4");
+ check_base_class_offset(lv, (E0x5*), 0, "G0x5y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G0x5y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G0x5y4.ff");
+ test_class_info(&lv, &cd_G0x5y4);
+ dp->~G0x5y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x5y4(Test_G0x5y4, "G0x5y4", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN6G0x5y4C1Ev();
+extern void _ZN6G0x5y4D1Ev();
+Name_Map name_map_G0x5y4[] = {
+ NSPAIR(_ZN6G0x5y4C1Ev),
+ NSPAIR(_ZN6G0x5y4D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E0x5;
+extern VTBL_ENTRY _ZTI4E0x5[];
+extern VTBL_ENTRY _ZTV4E0x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G0x5y4[] = {
+ // 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E0x5, 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_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 _ZTI6G0x5y4[];
+static VTBL_ENTRY vtc_G0x5y4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x5y4[0]),
+};
+extern VTBL_ENTRY _ZTV6G0x5y4[];
+static VTBL_ENTRY _tg__ZTV4E0x5__6G0x5y4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x5[0]),
+};
+static VTT_ENTRY vtt_G0x5y4[] = {
+ {&(_ZTV6G0x5y4[3]), 3,3},
+ {&(_tg__ZTV4E0x5__6G0x5y4[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G0x5y4[];
+extern VTBL_ENTRY _ZTV6G0x5y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x5y4[];
+Class_Descriptor cd_G0x5y4 = { "G0x5y4", // class name
+ bases_G0x5y4, 6,
+ &(vtc_G0x5y4[0]), // expected_vtbl_contents
+ &(vtt_G0x5y4[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI6G0x5y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x5y4),3, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x5y4),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 G0x5y5 : virtual E0x5 , F0 {
+ int ff;
+ ~G0x5y5(); // tgen
+ G0x5y5(); // tgen
+};
+//SIG(1 G0x5y5) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G0x5y5 ::~G0x5y5(){ note_dtor("G0x5y5", this);} // tgen
+G0x5y5 ::G0x5y5(){ note_ctor("G0x5y5", this);} // tgen
+
+static void Test_G0x5y5()
+{
+ extern Class_Descriptor cd_G0x5y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G0x5y5, buf);
+ G0x5y5 *dp, &lv = *(dp=new (buf) G0x5y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G0x5y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x5y5)");
+ check_base_class_offset(lv, (A0*)(C0*), ABISELECT(32,24), "G0x5y5");
+ check_base_class_offset(lv, (B0*)(C0*), ABISELECT(36,28), "G0x5y5");
+ check_base_class_offset(lv, (C0*)(E0x5*), ABISELECT(32,24), "G0x5y5");
+ check_base_class_offset(lv, (D0*)(E0x5*), ABISELECT(24,16), "G0x5y5");
+ check_base_class_offset(lv, (E0x5*), ABISELECT(16,12), "G0x5y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G0x5y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G0x5y5.ff");
+ test_class_info(&lv, &cd_G0x5y5);
+ dp->~G0x5y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x5y5(Test_G0x5y5, "G0x5y5", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G0x5y5C1Ev();
+extern void _ZN6G0x5y5D1Ev();
+Name_Map name_map_G0x5y5[] = {
+ NSPAIR(_ZN6G0x5y5C1Ev),
+ NSPAIR(_ZN6G0x5y5D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E0x5;
+extern VTBL_ENTRY _ZTI4E0x5[];
+extern VTBL_ENTRY _ZTV4E0x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G0x5y5[] = {
+ // 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_D0, 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_E0x5, 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
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //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 _ZTI6G0x5y5[];
+static VTBL_ENTRY vtc_G0x5y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x5y5[0]),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G0x5y5[0]),
+};
+extern VTBL_ENTRY _ZTV6G0x5y5[];
+static VTBL_ENTRY _tg__ZTV4E0x5__6G0x5y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x5[0]),
+};
+static VTT_ENTRY vtt_G0x5y5[] = {
+ {&(_ZTV6G0x5y5[4]), 4,7},
+ {&(_ZTV6G0x5y5[7]), 7,7},
+ {&(_tg__ZTV4E0x5__6G0x5y5[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G0x5y5[];
+extern VTBL_ENTRY _ZTV6G0x5y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x5y5[];
+Class_Descriptor cd_G0x5y5 = { "G0x5y5", // class name
+ bases_G0x5y5, 6,
+ &(vtc_G0x5y5[0]), // expected_vtbl_contents
+ &(vtt_G0x5y5[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G0x5y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x5y5),7, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x5y5),3, //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 G0x5y6 : E0x5 , virtual F0 {
+ int ff;
+ ~G0x5y6(); // tgen
+ G0x5y6(); // tgen
+};
+//SIG(1 G0x5y6) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G0x5y6 ::~G0x5y6(){ note_dtor("G0x5y6", this);} // tgen
+G0x5y6 ::G0x5y6(){ note_ctor("G0x5y6", this);} // tgen
+
+static void Test_G0x5y6()
+{
+ extern Class_Descriptor cd_G0x5y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G0x5y6, buf);
+ G0x5y6 *dp, &lv = *(dp=new (buf) G0x5y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G0x5y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x5y6)");
+ check_base_class_offset(lv, (A0*)(C0*), ABISELECT(20,16), "G0x5y6");
+ check_base_class_offset(lv, (B0*)(C0*), ABISELECT(24,20), "G0x5y6");
+ check_base_class_offset(lv, (C0*)(E0x5*), ABISELECT(20,16), "G0x5y6");
+ check_base_class_offset(lv, (D0*)(E0x5*), ABISELECT(8,4), "G0x5y6");
+ check_base_class_offset(lv, (E0x5*), 0, "G0x5y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,28), "G0x5y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G0x5y6.ff");
+ test_class_info(&lv, &cd_G0x5y6);
+ dp->~G0x5y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x5y6(Test_G0x5y6, "G0x5y6", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN6G0x5y6C1Ev();
+extern void _ZN6G0x5y6D1Ev();
+Name_Map name_map_G0x5y6[] = {
+ NSPAIR(_ZN6G0x5y6C1Ev),
+ NSPAIR(_ZN6G0x5y6D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E0x5;
+extern VTBL_ENTRY _ZTI4E0x5[];
+extern VTBL_ENTRY _ZTV4E0x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G0x5y6[] = {
+ // 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E0x5, 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_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 _ZTI6G0x5y6[];
+static VTBL_ENTRY vtc_G0x5y6[] = {
+ ABISELECT(32,28),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x5y6[0]),
+};
+extern VTBL_ENTRY _ZTV6G0x5y6[];
+static VTBL_ENTRY _tg__ZTV4E0x5__6G0x5y6[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x5[0]),
+};
+static VTT_ENTRY vtt_G0x5y6[] = {
+ {&(_ZTV6G0x5y6[4]), 4,4},
+ {&(_tg__ZTV4E0x5__6G0x5y6[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G0x5y6[];
+extern VTBL_ENTRY _ZTV6G0x5y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x5y6[];
+Class_Descriptor cd_G0x5y6 = { "G0x5y6", // class name
+ bases_G0x5y6, 6,
+ &(vtc_G0x5y6[0]), // expected_vtbl_contents
+ &(vtt_G0x5y6[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI6G0x5y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x5y6),4, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x5y6),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 G0x5y7 : virtual E0x5 , virtual F0 {
+ int ff;
+ ~G0x5y7(); // tgen
+ G0x5y7(); // tgen
+};
+//SIG(1 G0x5y7) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G0x5y7 ::~G0x5y7(){ note_dtor("G0x5y7", this);} // tgen
+G0x5y7 ::G0x5y7(){ note_ctor("G0x5y7", this);} // tgen
+
+static void Test_G0x5y7()
+{
+ extern Class_Descriptor cd_G0x5y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G0x5y7, buf);
+ G0x5y7 *dp, &lv = *(dp=new (buf) G0x5y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G0x5y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x5y7)");
+ check_base_class_offset(lv, (A0*)(C0*), ABISELECT(32,20), "G0x5y7");
+ check_base_class_offset(lv, (B0*)(C0*), ABISELECT(36,24), "G0x5y7");
+ check_base_class_offset(lv, (C0*)(E0x5*), ABISELECT(32,20), "G0x5y7");
+ check_base_class_offset(lv, (D0*)(E0x5*), ABISELECT(24,12), "G0x5y7");
+ check_base_class_offset(lv, (E0x5*), ABISELECT(16,8), "G0x5y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G0x5y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G0x5y7.ff");
+ test_class_info(&lv, &cd_G0x5y7);
+ dp->~G0x5y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x5y7(Test_G0x5y7, "G0x5y7", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G0x5y7C1Ev();
+extern void _ZN6G0x5y7D1Ev();
+Name_Map name_map_G0x5y7[] = {
+ NSPAIR(_ZN6G0x5y7C1Ev),
+ NSPAIR(_ZN6G0x5y7D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E0x5;
+extern VTBL_ENTRY _ZTI4E0x5[];
+extern VTBL_ENTRY _ZTV4E0x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G0x5y7[] = {
+ // 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_D0, 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_E0x5, 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
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //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 _ZTI6G0x5y7[];
+static VTBL_ENTRY vtc_G0x5y7[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x5y7[0]),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G0x5y7[0]),
+};
+extern VTBL_ENTRY _ZTV6G0x5y7[];
+static VTBL_ENTRY _tg__ZTV4E0x5__6G0x5y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x5[0]),
+};
+static VTT_ENTRY vtt_G0x5y7[] = {
+ {&(_ZTV6G0x5y7[5]), 5,8},
+ {&(_ZTV6G0x5y7[8]), 8,8},
+ {&(_tg__ZTV4E0x5__6G0x5y7[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G0x5y7[];
+extern VTBL_ENTRY _ZTV6G0x5y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x5y7[];
+Class_Descriptor cd_G0x5y7 = { "G0x5y7", // class name
+ bases_G0x5y7, 6,
+ &(vtc_G0x5y7[0]), // expected_vtbl_contents
+ &(vtt_G0x5y7[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G0x5y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x5y7),8, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x5y7),3, //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 E1x5 : virtual C1 , D0 {
+ int fd;
+ ~E1x5(); // tgen
+ E1x5(); // tgen
+};
+//SIG(-1 E1x5) C1{ VBC2{ BC3{ v1 Fi} BC4{ Fi} Fi} BC5{ Fi} Fi}
+
+
+E1x5 ::~E1x5(){ note_dtor("E1x5", this);} // tgen
+E1x5 ::E1x5(){ note_ctor("E1x5", this);} // tgen
+
+static void Test_E1x5()
+{
+ extern Class_Descriptor cd_E1x5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E1x5, buf);
+ E1x5 *dp, &lv = *(dp=new (buf) E1x5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E1x5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E1x5)");
+ check_base_class_offset(lv, (A1*)(C1*), ABISELECT(16,12), "E1x5");
+ check_base_class_offset(lv, (B0*)(C1*), ABISELECT(28,20), "E1x5");
+ check_base_class_offset(lv, (C1*), ABISELECT(16,12), "E1x5");
+ check_base_class_offset(lv, (D0*), ABISELECT(8,4), "E1x5");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E1x5.fd");
+ test_class_info(&lv, &cd_E1x5);
+ dp->~E1x5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE1x5(Test_E1x5, "E1x5", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN4E1x5C1Ev();
+extern void _ZN4E1x5D1Ev();
+Name_Map name_map_E1x5[] = {
+ NSPAIR(_ZN4E1x5C1Ev),
+ NSPAIR(_ZN4E1x5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E1x5[] = {
+ // 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
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI4E1x5[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_E1x5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x5[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E1x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E1x5[];
+static VTT_ENTRY vtt_E1x5[] = {
+ {&(_ZTV4E1x5[3]), 3,7},
+ {&(_ZTV4E1x5[6]), 6,7},
+};
+extern VTBL_ENTRY _ZTI4E1x5[];
+extern VTBL_ENTRY _ZTV4E1x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x5[];
+Class_Descriptor cd_E1x5 = { "E1x5", // class name
+ bases_E1x5, 4,
+ &(vtc_E1x5[0]), // expected_vtbl_contents
+ &(vtt_E1x5[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI4E1x5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E1x5),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E1x5),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 G1x5y0 : E1x5 , F1 {
+ int ff;
+ ~G1x5y0(); // tgen
+ G1x5y0(); // tgen
+};
+//SIG(1 G1x5y0) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G1x5y0 ::~G1x5y0(){ note_dtor("G1x5y0", this);} // tgen
+G1x5y0 ::G1x5y0(){ note_ctor("G1x5y0", this);} // tgen
+
+static void Test_G1x5y0()
+{
+ extern Class_Descriptor cd_G1x5y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G1x5y0, buf);
+ G1x5y0 *dp, &lv = *(dp=new (buf) G1x5y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G1x5y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x5y0)");
+ check_base_class_offset(lv, (A1*)(C1*), ABISELECT(32,24), "G1x5y0");
+ check_base_class_offset(lv, (B0*)(C1*), ABISELECT(44,32), "G1x5y0");
+ check_base_class_offset(lv, (C1*)(E1x5*), ABISELECT(32,24), "G1x5y0");
+ check_base_class_offset(lv, (D0*)(E1x5*), ABISELECT(8,4), "G1x5y0");
+ check_base_class_offset(lv, (E1x5*), 0, "G1x5y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G1x5y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G1x5y0.ff");
+ test_class_info(&lv, &cd_G1x5y0);
+ dp->~G1x5y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x5y0(Test_G1x5y0, "G1x5y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G1x5y0C1Ev();
+extern void _ZN6G1x5y0D1Ev();
+Name_Map name_map_G1x5y0[] = {
+ NSPAIR(_ZN6G1x5y0C1Ev),
+ NSPAIR(_ZN6G1x5y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E1x5;
+extern VTBL_ENTRY _ZTI4E1x5[];
+extern VTBL_ENTRY _ZTV4E1x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G1x5y0[] = {
+ // 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)
+ 0, //bcp->index_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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E1x5, 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
+ 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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G1x5y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G1x5y0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x5y0[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G1x5y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G1x5y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x5y0[];
+static VTBL_ENTRY _tg__ZTV4E1x5__6G1x5y0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C1__4E1x5__6G1x5y0[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E1x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G1x5y0[] = {
+ {&(_ZTV6G1x5y0[3]), 3,10},
+ {&(_tg__ZTV4E1x5__6G1x5y0[3]), 3,3},
+ {&(_tg__ZTV2A12C1__4E1x5__6G1x5y0[3]), 3,4},
+ {&(_ZTV6G1x5y0[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI6G1x5y0[];
+extern VTBL_ENTRY _ZTV6G1x5y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x5y0[];
+Class_Descriptor cd_G1x5y0 = { "G1x5y0", // class name
+ bases_G1x5y0, 6,
+ &(vtc_G1x5y0[0]), // expected_vtbl_contents
+ &(vtt_G1x5y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G1x5y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x5y0),10, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x5y0),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 G1x5y1 : virtual E1x5 , F1 {
+ int ff;
+ ~G1x5y1(); // tgen
+ G1x5y1(); // tgen
+};
+//SIG(1 G1x5y1) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G1x5y1 ::~G1x5y1(){ note_dtor("G1x5y1", this);} // tgen
+G1x5y1 ::G1x5y1(){ note_ctor("G1x5y1", this);} // tgen
+
+static void Test_G1x5y1()
+{
+ extern Class_Descriptor cd_G1x5y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G1x5y1, buf);
+ G1x5y1 *dp, &lv = *(dp=new (buf) G1x5y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G1x5y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x5y1)");
+ check_base_class_offset(lv, (A1*)(C1*), ABISELECT(32,24), "G1x5y1");
+ check_base_class_offset(lv, (B0*)(C1*), ABISELECT(44,32), "G1x5y1");
+ check_base_class_offset(lv, (C1*)(E1x5*), ABISELECT(32,24), "G1x5y1");
+ check_base_class_offset(lv, (D0*)(E1x5*), ABISELECT(24,16), "G1x5y1");
+ check_base_class_offset(lv, (E1x5*), ABISELECT(16,12), "G1x5y1");
+ check_base_class_offset(lv, (F1*), 0, "G1x5y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G1x5y1.ff");
+ test_class_info(&lv, &cd_G1x5y1);
+ dp->~G1x5y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x5y1(Test_G1x5y1, "G1x5y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G1x5y1C1Ev();
+extern void _ZN6G1x5y1D1Ev();
+Name_Map name_map_G1x5y1[] = {
+ NSPAIR(_ZN6G1x5y1C1Ev),
+ NSPAIR(_ZN6G1x5y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E1x5;
+extern VTBL_ENTRY _ZTI4E1x5[];
+extern VTBL_ENTRY _ZTV4E1x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G1x5y1[] = {
+ // 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)
+ 0, //bcp->index_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_D0, 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_E1x5, 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
+ 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 _ZTI6G1x5y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G1x5y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x5y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G1x5y1[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G1x5y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x5y1[];
+static VTBL_ENTRY _tg__ZTV4E1x5__6G1x5y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C1__4E1x5__6G1x5y1[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E1x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G1x5y1[] = {
+ {&(_ZTV6G1x5y1[4]), 4,12},
+ {&(_ZTV6G1x5y1[8]), 8,12},
+ {&(_ZTV6G1x5y1[11]), 11,12},
+ {&(_tg__ZTV4E1x5__6G1x5y1[3]), 3,3},
+ {&(_tg__ZTV2A12C1__4E1x5__6G1x5y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G1x5y1[];
+extern VTBL_ENTRY _ZTV6G1x5y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x5y1[];
+Class_Descriptor cd_G1x5y1 = { "G1x5y1", // class name
+ bases_G1x5y1, 6,
+ &(vtc_G1x5y1[0]), // expected_vtbl_contents
+ &(vtt_G1x5y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G1x5y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x5y1),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x5y1),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 G1x5y2 : E1x5 , virtual F1 {
+ int ff;
+ ~G1x5y2(); // tgen
+ G1x5y2(); // tgen
+};
+//SIG(1 G1x5y2) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G1x5y2 ::~G1x5y2(){ note_dtor("G1x5y2", this);} // tgen
+G1x5y2 ::G1x5y2(){ note_ctor("G1x5y2", this);} // tgen
+
+static void Test_G1x5y2()
+{
+ extern Class_Descriptor cd_G1x5y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G1x5y2, buf);
+ G1x5y2 *dp, &lv = *(dp=new (buf) G1x5y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G1x5y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x5y2)");
+ check_base_class_offset(lv, (A1*)(C1*), ABISELECT(24,16), "G1x5y2");
+ check_base_class_offset(lv, (B0*)(C1*), ABISELECT(36,24), "G1x5y2");
+ check_base_class_offset(lv, (C1*)(E1x5*), ABISELECT(24,16), "G1x5y2");
+ check_base_class_offset(lv, (D0*)(E1x5*), ABISELECT(8,4), "G1x5y2");
+ check_base_class_offset(lv, (E1x5*), 0, "G1x5y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G1x5y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G1x5y2.ff");
+ test_class_info(&lv, &cd_G1x5y2);
+ dp->~G1x5y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x5y2(Test_G1x5y2, "G1x5y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G1x5y2C1Ev();
+extern void _ZN6G1x5y2D1Ev();
+Name_Map name_map_G1x5y2[] = {
+ NSPAIR(_ZN6G1x5y2C1Ev),
+ NSPAIR(_ZN6G1x5y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E1x5;
+extern VTBL_ENTRY _ZTI4E1x5[];
+extern VTBL_ENTRY _ZTV4E1x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G1x5y2[] = {
+ // 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)
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E1x5, 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
+ 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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G1x5y2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G1x5y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x5y2[0]),
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G1x5y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G1x5y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x5y2[];
+static VTBL_ENTRY _tg__ZTV4E1x5__6G1x5y2[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C1__4E1x5__6G1x5y2[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E1x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G1x5y2[] = {
+ {&(_ZTV6G1x5y2[4]), 4,12},
+ {&(_tg__ZTV4E1x5__6G1x5y2[3]), 3,3},
+ {&(_tg__ZTV2A12C1__4E1x5__6G1x5y2[3]), 3,4},
+ {&(_ZTV6G1x5y2[7]), 7,12},
+ {&(_ZTV6G1x5y2[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI6G1x5y2[];
+extern VTBL_ENTRY _ZTV6G1x5y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x5y2[];
+Class_Descriptor cd_G1x5y2 = { "G1x5y2", // class name
+ bases_G1x5y2, 6,
+ &(vtc_G1x5y2[0]), // expected_vtbl_contents
+ &(vtt_G1x5y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G1x5y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x5y2),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x5y2),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 G1x5y3 : virtual E1x5 , virtual F1 {
+ int ff;
+ ~G1x5y3(); // tgen
+ G1x5y3(); // tgen
+};
+//SIG(1 G1x5y3) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G1x5y3 ::~G1x5y3(){ note_dtor("G1x5y3", this);} // tgen
+G1x5y3 ::G1x5y3(){ note_ctor("G1x5y3", this);} // tgen
+
+static void Test_G1x5y3()
+{
+ extern Class_Descriptor cd_G1x5y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G1x5y3, buf);
+ G1x5y3 *dp, &lv = *(dp=new (buf) G1x5y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G1x5y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x5y3)");
+ check_base_class_offset(lv, (A1*)(C1*), ABISELECT(32,20), "G1x5y3");
+ check_base_class_offset(lv, (B0*)(C1*), ABISELECT(44,28), "G1x5y3");
+ check_base_class_offset(lv, (C1*)(E1x5*), ABISELECT(32,20), "G1x5y3");
+ check_base_class_offset(lv, (D0*)(E1x5*), ABISELECT(24,12), "G1x5y3");
+ check_base_class_offset(lv, (E1x5*), ABISELECT(16,8), "G1x5y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G1x5y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G1x5y3.ff");
+ test_class_info(&lv, &cd_G1x5y3);
+ dp->~G1x5y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x5y3(Test_G1x5y3, "G1x5y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G1x5y3C1Ev();
+extern void _ZN6G1x5y3D1Ev();
+Name_Map name_map_G1x5y3[] = {
+ NSPAIR(_ZN6G1x5y3C1Ev),
+ NSPAIR(_ZN6G1x5y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E1x5;
+extern VTBL_ENTRY _ZTI4E1x5[];
+extern VTBL_ENTRY _ZTV4E1x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G1x5y3[] = {
+ // 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)
+ 0, //bcp->index_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_D0, 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_E1x5, 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
+ 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 _ZTI6G1x5y3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G1x5y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x5y3[0]),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G1x5y3[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G1x5y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G1x5y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x5y3[];
+static VTBL_ENTRY _tg__ZTV4E1x5__6G1x5y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C1__4E1x5__6G1x5y3[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E1x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G1x5y3[] = {
+ {&(_ZTV6G1x5y3[5]), 5,16},
+ {&(_ZTV6G1x5y3[8]), 8,16},
+ {&(_ZTV6G1x5y3[11]), 11,16},
+ {&(_ZTV6G1x5y3[15]), 15,16},
+ {&(_tg__ZTV4E1x5__6G1x5y3[3]), 3,3},
+ {&(_tg__ZTV2A12C1__4E1x5__6G1x5y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G1x5y3[];
+extern VTBL_ENTRY _ZTV6G1x5y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x5y3[];
+Class_Descriptor cd_G1x5y3 = { "G1x5y3", // class name
+ bases_G1x5y3, 6,
+ &(vtc_G1x5y3[0]), // expected_vtbl_contents
+ &(vtt_G1x5y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G1x5y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x5y3),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x5y3),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 G1x5y4 : E1x5 , F0 {
+ int ff;
+ ~G1x5y4(); // tgen
+ G1x5y4(); // tgen
+};
+//SIG(1 G1x5y4) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G1x5y4 ::~G1x5y4(){ note_dtor("G1x5y4", this);} // tgen
+G1x5y4 ::G1x5y4(){ note_ctor("G1x5y4", this);} // tgen
+
+static void Test_G1x5y4()
+{
+ extern Class_Descriptor cd_G1x5y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G1x5y4, buf);
+ G1x5y4 *dp, &lv = *(dp=new (buf) G1x5y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G1x5y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x5y4)");
+ check_base_class_offset(lv, (A1*)(C1*), ABISELECT(24,20), "G1x5y4");
+ check_base_class_offset(lv, (B0*)(C1*), ABISELECT(36,28), "G1x5y4");
+ check_base_class_offset(lv, (C1*)(E1x5*), ABISELECT(24,20), "G1x5y4");
+ check_base_class_offset(lv, (D0*)(E1x5*), ABISELECT(8,4), "G1x5y4");
+ check_base_class_offset(lv, (E1x5*), 0, "G1x5y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G1x5y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G1x5y4.ff");
+ test_class_info(&lv, &cd_G1x5y4);
+ dp->~G1x5y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x5y4(Test_G1x5y4, "G1x5y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G1x5y4C1Ev();
+extern void _ZN6G1x5y4D1Ev();
+Name_Map name_map_G1x5y4[] = {
+ NSPAIR(_ZN6G1x5y4C1Ev),
+ NSPAIR(_ZN6G1x5y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E1x5;
+extern VTBL_ENTRY _ZTI4E1x5[];
+extern VTBL_ENTRY _ZTV4E1x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G1x5y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(24,20), //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(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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E1x5, 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 _ZTI6G1x5y4[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G1x5y4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x5y4[0]),
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI6G1x5y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x5y4[];
+static VTBL_ENTRY _tg__ZTV4E1x5__6G1x5y4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C1__4E1x5__6G1x5y4[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E1x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G1x5y4[] = {
+ {&(_ZTV6G1x5y4[3]), 3,7},
+ {&(_tg__ZTV4E1x5__6G1x5y4[3]), 3,3},
+ {&(_tg__ZTV2A12C1__4E1x5__6G1x5y4[3]), 3,4},
+ {&(_ZTV6G1x5y4[6]), 6,7},
+};
+extern VTBL_ENTRY _ZTI6G1x5y4[];
+extern VTBL_ENTRY _ZTV6G1x5y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x5y4[];
+Class_Descriptor cd_G1x5y4 = { "G1x5y4", // class name
+ bases_G1x5y4, 6,
+ &(vtc_G1x5y4[0]), // expected_vtbl_contents
+ &(vtt_G1x5y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G1x5y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x5y4),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x5y4),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 G1x5y5 : virtual E1x5 , F0 {
+ int ff;
+ ~G1x5y5(); // tgen
+ G1x5y5(); // tgen
+};
+//SIG(1 G1x5y5) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G1x5y5 ::~G1x5y5(){ note_dtor("G1x5y5", this);} // tgen
+G1x5y5 ::G1x5y5(){ note_ctor("G1x5y5", this);} // tgen
+
+static void Test_G1x5y5()
+{
+ extern Class_Descriptor cd_G1x5y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G1x5y5, buf);
+ G1x5y5 *dp, &lv = *(dp=new (buf) G1x5y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G1x5y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x5y5)");
+ check_base_class_offset(lv, (A1*)(C1*), ABISELECT(32,24), "G1x5y5");
+ check_base_class_offset(lv, (B0*)(C1*), ABISELECT(44,32), "G1x5y5");
+ check_base_class_offset(lv, (C1*)(E1x5*), ABISELECT(32,24), "G1x5y5");
+ check_base_class_offset(lv, (D0*)(E1x5*), ABISELECT(24,16), "G1x5y5");
+ check_base_class_offset(lv, (E1x5*), ABISELECT(16,12), "G1x5y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G1x5y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G1x5y5.ff");
+ test_class_info(&lv, &cd_G1x5y5);
+ dp->~G1x5y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x5y5(Test_G1x5y5, "G1x5y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G1x5y5C1Ev();
+extern void _ZN6G1x5y5D1Ev();
+Name_Map name_map_G1x5y5[] = {
+ NSPAIR(_ZN6G1x5y5C1Ev),
+ NSPAIR(_ZN6G1x5y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E1x5;
+extern VTBL_ENTRY _ZTI4E1x5[];
+extern VTBL_ENTRY _ZTV4E1x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G1x5y5[] = {
+ // 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)
+ 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_D0, 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_E1x5, 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
+ 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 _ZTI6G1x5y5[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G1x5y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x5y5[0]),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G1x5y5[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G1x5y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x5y5[];
+static VTBL_ENTRY _tg__ZTV4E1x5__6G1x5y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C1__4E1x5__6G1x5y5[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E1x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G1x5y5[] = {
+ {&(_ZTV6G1x5y5[4]), 4,11},
+ {&(_ZTV6G1x5y5[7]), 7,11},
+ {&(_ZTV6G1x5y5[10]), 10,11},
+ {&(_tg__ZTV4E1x5__6G1x5y5[3]), 3,3},
+ {&(_tg__ZTV2A12C1__4E1x5__6G1x5y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G1x5y5[];
+extern VTBL_ENTRY _ZTV6G1x5y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x5y5[];
+Class_Descriptor cd_G1x5y5 = { "G1x5y5", // class name
+ bases_G1x5y5, 6,
+ &(vtc_G1x5y5[0]), // expected_vtbl_contents
+ &(vtt_G1x5y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G1x5y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x5y5),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x5y5),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 G1x5y6 : E1x5 , virtual F0 {
+ int ff;
+ ~G1x5y6(); // tgen
+ G1x5y6(); // tgen
+};
+//SIG(1 G1x5y6) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G1x5y6 ::~G1x5y6(){ note_dtor("G1x5y6", this);} // tgen
+G1x5y6 ::G1x5y6(){ note_ctor("G1x5y6", this);} // tgen
+
+static void Test_G1x5y6()
+{
+ extern Class_Descriptor cd_G1x5y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G1x5y6, buf);
+ G1x5y6 *dp, &lv = *(dp=new (buf) G1x5y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G1x5y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x5y6)");
+ check_base_class_offset(lv, (A1*)(C1*), ABISELECT(24,16), "G1x5y6");
+ check_base_class_offset(lv, (B0*)(C1*), ABISELECT(36,24), "G1x5y6");
+ check_base_class_offset(lv, (C1*)(E1x5*), ABISELECT(24,16), "G1x5y6");
+ check_base_class_offset(lv, (D0*)(E1x5*), ABISELECT(8,4), "G1x5y6");
+ check_base_class_offset(lv, (E1x5*), 0, "G1x5y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G1x5y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G1x5y6.ff");
+ test_class_info(&lv, &cd_G1x5y6);
+ dp->~G1x5y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x5y6(Test_G1x5y6, "G1x5y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G1x5y6C1Ev();
+extern void _ZN6G1x5y6D1Ev();
+Name_Map name_map_G1x5y6[] = {
+ NSPAIR(_ZN6G1x5y6C1Ev),
+ NSPAIR(_ZN6G1x5y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E1x5;
+extern VTBL_ENTRY _ZTI4E1x5[];
+extern VTBL_ENTRY _ZTV4E1x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G1x5y6[] = {
+ // 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)
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E1x5, 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 _ZTI6G1x5y6[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G1x5y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x5y6[0]),
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G1x5y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x5y6[];
+static VTBL_ENTRY _tg__ZTV4E1x5__6G1x5y6[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C1__4E1x5__6G1x5y6[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E1x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G1x5y6[] = {
+ {&(_ZTV6G1x5y6[4]), 4,8},
+ {&(_tg__ZTV4E1x5__6G1x5y6[3]), 3,3},
+ {&(_tg__ZTV2A12C1__4E1x5__6G1x5y6[3]), 3,4},
+ {&(_ZTV6G1x5y6[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI6G1x5y6[];
+extern VTBL_ENTRY _ZTV6G1x5y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x5y6[];
+Class_Descriptor cd_G1x5y6 = { "G1x5y6", // class name
+ bases_G1x5y6, 6,
+ &(vtc_G1x5y6[0]), // expected_vtbl_contents
+ &(vtt_G1x5y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G1x5y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x5y6),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x5y6),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 G1x5y7 : virtual E1x5 , virtual F0 {
+ int ff;
+ ~G1x5y7(); // tgen
+ G1x5y7(); // tgen
+};
+//SIG(1 G1x5y7) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G1x5y7 ::~G1x5y7(){ note_dtor("G1x5y7", this);} // tgen
+G1x5y7 ::G1x5y7(){ note_ctor("G1x5y7", this);} // tgen
+
+static void Test_G1x5y7()
+{
+ extern Class_Descriptor cd_G1x5y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G1x5y7, buf);
+ G1x5y7 *dp, &lv = *(dp=new (buf) G1x5y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G1x5y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x5y7)");
+ check_base_class_offset(lv, (A1*)(C1*), ABISELECT(32,20), "G1x5y7");
+ check_base_class_offset(lv, (B0*)(C1*), ABISELECT(44,28), "G1x5y7");
+ check_base_class_offset(lv, (C1*)(E1x5*), ABISELECT(32,20), "G1x5y7");
+ check_base_class_offset(lv, (D0*)(E1x5*), ABISELECT(24,12), "G1x5y7");
+ check_base_class_offset(lv, (E1x5*), ABISELECT(16,8), "G1x5y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G1x5y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G1x5y7.ff");
+ test_class_info(&lv, &cd_G1x5y7);
+ dp->~G1x5y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x5y7(Test_G1x5y7, "G1x5y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G1x5y7C1Ev();
+extern void _ZN6G1x5y7D1Ev();
+Name_Map name_map_G1x5y7[] = {
+ NSPAIR(_ZN6G1x5y7C1Ev),
+ NSPAIR(_ZN6G1x5y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E1x5;
+extern VTBL_ENTRY _ZTI4E1x5[];
+extern VTBL_ENTRY _ZTV4E1x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G1x5y7[] = {
+ // 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)
+ 0, //bcp->index_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_D0, 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_E1x5, 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
+ 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 _ZTI6G1x5y7[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G1x5y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x5y7[0]),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G1x5y7[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G1x5y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x5y7[];
+static VTBL_ENTRY _tg__ZTV4E1x5__6G1x5y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C1__4E1x5__6G1x5y7[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E1x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G1x5y7[] = {
+ {&(_ZTV6G1x5y7[5]), 5,12},
+ {&(_ZTV6G1x5y7[8]), 8,12},
+ {&(_ZTV6G1x5y7[11]), 11,12},
+ {&(_tg__ZTV4E1x5__6G1x5y7[3]), 3,3},
+ {&(_tg__ZTV2A12C1__4E1x5__6G1x5y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G1x5y7[];
+extern VTBL_ENTRY _ZTV6G1x5y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x5y7[];
+Class_Descriptor cd_G1x5y7 = { "G1x5y7", // class name
+ bases_G1x5y7, 6,
+ &(vtc_G1x5y7[0]), // expected_vtbl_contents
+ &(vtt_G1x5y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G1x5y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x5y7),12, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x5y7),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 E2x5 : virtual C2 , D0 {
+ int fd;
+ ~E2x5(); // tgen
+ E2x5(); // tgen
+};
+//SIG(-1 E2x5) C1{ VBC2{ VBC3{ Fi} BC4{ Fi} Fi} BC5{ Fi} Fi}
+
+
+E2x5 ::~E2x5(){ note_dtor("E2x5", this);} // tgen
+E2x5 ::E2x5(){ note_ctor("E2x5", this);} // tgen
+
+static void Test_E2x5()
+{
+ extern Class_Descriptor cd_E2x5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E2x5, buf);
+ E2x5 *dp, &lv = *(dp=new (buf) E2x5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E2x5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E2x5)");
+ check_base_class_offset(lv, (A0*)(C2*), ABISELECT(32,24), "E2x5");
+ check_base_class_offset(lv, (B0*)(C2*), ABISELECT(24,16), "E2x5");
+ check_base_class_offset(lv, (C2*), ABISELECT(16,12), "E2x5");
+ check_base_class_offset(lv, (D0*), ABISELECT(8,4), "E2x5");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E2x5.fd");
+ test_class_info(&lv, &cd_E2x5);
+ dp->~E2x5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE2x5(Test_E2x5, "E2x5", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN4E2x5C1Ev();
+extern void _ZN4E2x5D1Ev();
+Name_Map name_map_E2x5[] = {
+ NSPAIR(_ZN4E2x5C1Ev),
+ NSPAIR(_ZN4E2x5D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E2x5[] = {
+ // 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
+ 4, //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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI4E2x5[];
+static VTBL_ENTRY vtc_E2x5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x5[0]),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E2x5[0]),
+};
+extern VTBL_ENTRY _ZTV4E2x5[];
+static VTBL_ENTRY _tg__ZTV2C2__4E2x5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_E2x5[] = {
+ {&(_ZTV4E2x5[4]), 4,7},
+ {&(_ZTV4E2x5[7]), 7,7},
+ {&(_tg__ZTV2C2__4E2x5[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI4E2x5[];
+extern VTBL_ENTRY _ZTV4E2x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x5[];
+Class_Descriptor cd_E2x5 = { "E2x5", // class name
+ bases_E2x5, 4,
+ &(vtc_E2x5[0]), // expected_vtbl_contents
+ &(vtt_E2x5[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI4E2x5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E2x5),7, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E2x5),3, //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 G2x5y0 : E2x5 , F1 {
+ int ff;
+ ~G2x5y0(); // tgen
+ G2x5y0(); // tgen
+};
+//SIG(1 G2x5y0) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ v1 Fi} Fi}
+
+
+G2x5y0 ::~G2x5y0(){ note_dtor("G2x5y0", this);} // tgen
+G2x5y0 ::G2x5y0(){ note_ctor("G2x5y0", this);} // tgen
+
+static void Test_G2x5y0()
+{
+ extern Class_Descriptor cd_G2x5y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G2x5y0, buf);
+ G2x5y0 *dp, &lv = *(dp=new (buf) G2x5y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G2x5y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x5y0)");
+ check_base_class_offset(lv, (A0*)(C2*), ABISELECT(48,36), "G2x5y0");
+ check_base_class_offset(lv, (B0*)(C2*), ABISELECT(40,28), "G2x5y0");
+ check_base_class_offset(lv, (C2*)(E2x5*), ABISELECT(32,24), "G2x5y0");
+ check_base_class_offset(lv, (D0*)(E2x5*), ABISELECT(8,4), "G2x5y0");
+ check_base_class_offset(lv, (E2x5*), 0, "G2x5y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G2x5y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G2x5y0.ff");
+ test_class_info(&lv, &cd_G2x5y0);
+ dp->~G2x5y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x5y0(Test_G2x5y0, "G2x5y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G2x5y0C1Ev();
+extern void _ZN6G2x5y0D1Ev();
+Name_Map name_map_G2x5y0[] = {
+ NSPAIR(_ZN6G2x5y0C1Ev),
+ NSPAIR(_ZN6G2x5y0D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E2x5;
+extern VTBL_ENTRY _ZTI4E2x5[];
+extern VTBL_ENTRY _ZTV4E2x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G2x5y0[] = {
+ // 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
+ 7, //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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E2x5, 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,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 _ZTI6G2x5y0[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G2x5y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x5y0[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G2x5y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G2x5y0[0]),
+};
+extern VTBL_ENTRY _ZTV6G2x5y0[];
+static VTBL_ENTRY _tg__ZTV4E2x5__6G2x5y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C2__4E2x5__6G2x5y0[] = {
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E2x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C2__6G2x5y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x5y0[] = {
+ {&(_ZTV6G2x5y0[4]), 4,10},
+ {&(_tg__ZTV4E2x5__6G2x5y0[4]), 4,4},
+ {&(_tg__ZTV2C2__4E2x5__6G2x5y0[3]), 3,3},
+ {&(_ZTV6G2x5y0[10]), 10,10},
+ {&(_tg__ZTV2C2__6G2x5y0[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x5y0[];
+extern VTBL_ENTRY _ZTV6G2x5y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x5y0[];
+Class_Descriptor cd_G2x5y0 = { "G2x5y0", // class name
+ bases_G2x5y0, 6,
+ &(vtc_G2x5y0[0]), // expected_vtbl_contents
+ &(vtt_G2x5y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G2x5y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x5y0),10, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x5y0),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 G2x5y1 : virtual E2x5 , F1 {
+ int ff;
+ ~G2x5y1(); // tgen
+ G2x5y1(); // tgen
+};
+//SIG(1 G2x5y1) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ v1 Fi} Fi}
+
+
+G2x5y1 ::~G2x5y1(){ note_dtor("G2x5y1", this);} // tgen
+G2x5y1 ::G2x5y1(){ note_ctor("G2x5y1", this);} // tgen
+
+static void Test_G2x5y1()
+{
+ extern Class_Descriptor cd_G2x5y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G2x5y1, buf);
+ G2x5y1 *dp, &lv = *(dp=new (buf) G2x5y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G2x5y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x5y1)");
+ check_base_class_offset(lv, (A0*)(C2*), ABISELECT(48,36), "G2x5y1");
+ check_base_class_offset(lv, (B0*)(C2*), ABISELECT(40,28), "G2x5y1");
+ check_base_class_offset(lv, (C2*)(E2x5*), ABISELECT(32,24), "G2x5y1");
+ check_base_class_offset(lv, (D0*)(E2x5*), ABISELECT(24,16), "G2x5y1");
+ check_base_class_offset(lv, (E2x5*), ABISELECT(16,12), "G2x5y1");
+ check_base_class_offset(lv, (F1*), 0, "G2x5y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G2x5y1.ff");
+ test_class_info(&lv, &cd_G2x5y1);
+ dp->~G2x5y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x5y1(Test_G2x5y1, "G2x5y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G2x5y1C1Ev();
+extern void _ZN6G2x5y1D1Ev();
+Name_Map name_map_G2x5y1[] = {
+ NSPAIR(_ZN6G2x5y1C1Ev),
+ NSPAIR(_ZN6G2x5y1D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E2x5;
+extern VTBL_ENTRY _ZTI4E2x5[];
+extern VTBL_ENTRY _ZTV4E2x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G2x5y1[] = {
+ // 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
+ 10, //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_D0, 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_E2x5, 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 _ZTI6G2x5y1[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G2x5y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x5y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G2x5y1[0]),
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G2x5y1[0]),
+};
+extern VTBL_ENTRY _ZTV6G2x5y1[];
+static VTBL_ENTRY _tg__ZTV4E2x5__6G2x5y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C2__4E2x5__6G2x5y1[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E2x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C2__6G2x5y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x5y1[] = {
+ {&(_ZTV6G2x5y1[5]), 5,13},
+ {&(_ZTV6G2x5y1[10]), 10,13},
+ {&(_ZTV6G2x5y1[13]), 13,13},
+ {&(_tg__ZTV4E2x5__6G2x5y1[4]), 4,4},
+ {&(_tg__ZTV2C2__4E2x5__6G2x5y1[3]), 3,3},
+ {&(_tg__ZTV2C2__6G2x5y1[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x5y1[];
+extern VTBL_ENTRY _ZTV6G2x5y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x5y1[];
+Class_Descriptor cd_G2x5y1 = { "G2x5y1", // class name
+ bases_G2x5y1, 6,
+ &(vtc_G2x5y1[0]), // expected_vtbl_contents
+ &(vtt_G2x5y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G2x5y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x5y1),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x5y1),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 G2x5y2 : E2x5 , virtual F1 {
+ int ff;
+ ~G2x5y2(); // tgen
+ G2x5y2(); // tgen
+};
+//SIG(1 G2x5y2) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ v1 Fi} Fi}
+
+
+G2x5y2 ::~G2x5y2(){ note_dtor("G2x5y2", this);} // tgen
+G2x5y2 ::G2x5y2(){ note_ctor("G2x5y2", this);} // tgen
+
+static void Test_G2x5y2()
+{
+ extern Class_Descriptor cd_G2x5y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G2x5y2, buf);
+ G2x5y2 *dp, &lv = *(dp=new (buf) G2x5y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G2x5y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x5y2)");
+ check_base_class_offset(lv, (A0*)(C2*), ABISELECT(40,28), "G2x5y2");
+ check_base_class_offset(lv, (B0*)(C2*), ABISELECT(32,20), "G2x5y2");
+ check_base_class_offset(lv, (C2*)(E2x5*), ABISELECT(24,16), "G2x5y2");
+ check_base_class_offset(lv, (D0*)(E2x5*), ABISELECT(8,4), "G2x5y2");
+ check_base_class_offset(lv, (E2x5*), 0, "G2x5y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G2x5y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G2x5y2.ff");
+ test_class_info(&lv, &cd_G2x5y2);
+ dp->~G2x5y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x5y2(Test_G2x5y2, "G2x5y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G2x5y2C1Ev();
+extern void _ZN6G2x5y2D1Ev();
+Name_Map name_map_G2x5y2[] = {
+ NSPAIR(_ZN6G2x5y2C1Ev),
+ NSPAIR(_ZN6G2x5y2D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E2x5;
+extern VTBL_ENTRY _ZTI4E2x5[];
+extern VTBL_ENTRY _ZTV4E2x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G2x5y2[] = {
+ // 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)
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E2x5, 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
+ 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 _ZTI6G2x5y2[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G2x5y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x5y2[0]),
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G2x5y2[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G2x5y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G2x5y2[];
+static VTBL_ENTRY _tg__ZTV4E2x5__6G2x5y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C2__4E2x5__6G2x5y2[] = {
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E2x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C2__6G2x5y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x5y2[] = {
+ {&(_ZTV6G2x5y2[5]), 5,12},
+ {&(_tg__ZTV4E2x5__6G2x5y2[4]), 4,4},
+ {&(_tg__ZTV2C2__4E2x5__6G2x5y2[3]), 3,3},
+ {&(_ZTV6G2x5y2[8]), 8,12},
+ {&(_ZTV6G2x5y2[11]), 11,12},
+ {&(_tg__ZTV2C2__6G2x5y2[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x5y2[];
+extern VTBL_ENTRY _ZTV6G2x5y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x5y2[];
+Class_Descriptor cd_G2x5y2 = { "G2x5y2", // class name
+ bases_G2x5y2, 6,
+ &(vtc_G2x5y2[0]), // expected_vtbl_contents
+ &(vtt_G2x5y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G2x5y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x5y2),12, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x5y2),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 G2x5y3 : virtual E2x5 , virtual F1 {
+ int ff;
+ ~G2x5y3(); // tgen
+ G2x5y3(); // tgen
+};
+//SIG(1 G2x5y3) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ v1 Fi} Fi}
+
+
+G2x5y3 ::~G2x5y3(){ note_dtor("G2x5y3", this);} // tgen
+G2x5y3 ::G2x5y3(){ note_ctor("G2x5y3", this);} // tgen
+
+static void Test_G2x5y3()
+{
+ extern Class_Descriptor cd_G2x5y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G2x5y3, buf);
+ G2x5y3 *dp, &lv = *(dp=new (buf) G2x5y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G2x5y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x5y3)");
+ check_base_class_offset(lv, (A0*)(C2*), ABISELECT(48,32), "G2x5y3");
+ check_base_class_offset(lv, (B0*)(C2*), ABISELECT(40,24), "G2x5y3");
+ check_base_class_offset(lv, (C2*)(E2x5*), ABISELECT(32,20), "G2x5y3");
+ check_base_class_offset(lv, (D0*)(E2x5*), ABISELECT(24,12), "G2x5y3");
+ check_base_class_offset(lv, (E2x5*), ABISELECT(16,8), "G2x5y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G2x5y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G2x5y3.ff");
+ test_class_info(&lv, &cd_G2x5y3);
+ dp->~G2x5y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x5y3(Test_G2x5y3, "G2x5y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G2x5y3C1Ev();
+extern void _ZN6G2x5y3D1Ev();
+Name_Map name_map_G2x5y3[] = {
+ NSPAIR(_ZN6G2x5y3C1Ev),
+ NSPAIR(_ZN6G2x5y3D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E2x5;
+extern VTBL_ENTRY _ZTI4E2x5[];
+extern VTBL_ENTRY _ZTV4E2x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G2x5y3[] = {
+ // 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
+ 10, //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_D0, 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_E2x5, 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
+ 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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G2x5y3[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G2x5y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x5y3[0]),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G2x5y3[0]),
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G2x5y3[0]),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G2x5y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G2x5y3[];
+static VTBL_ENTRY _tg__ZTV4E2x5__6G2x5y3[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C2__4E2x5__6G2x5y3[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E2x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C2__6G2x5y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x5y3[] = {
+ {&(_ZTV6G2x5y3[6]), 6,17},
+ {&(_ZTV6G2x5y3[10]), 10,17},
+ {&(_ZTV6G2x5y3[13]), 13,17},
+ {&(_ZTV6G2x5y3[16]), 16,17},
+ {&(_tg__ZTV4E2x5__6G2x5y3[4]), 4,4},
+ {&(_tg__ZTV2C2__4E2x5__6G2x5y3[3]), 3,3},
+ {&(_tg__ZTV2C2__6G2x5y3[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x5y3[];
+extern VTBL_ENTRY _ZTV6G2x5y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x5y3[];
+Class_Descriptor cd_G2x5y3 = { "G2x5y3", // class name
+ bases_G2x5y3, 6,
+ &(vtc_G2x5y3[0]), // expected_vtbl_contents
+ &(vtt_G2x5y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G2x5y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x5y3),17, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x5y3),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 G2x5y4 : E2x5 , F0 {
+ int ff;
+ ~G2x5y4(); // tgen
+ G2x5y4(); // tgen
+};
+//SIG(1 G2x5y4) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G2x5y4 ::~G2x5y4(){ note_dtor("G2x5y4", this);} // tgen
+G2x5y4 ::G2x5y4(){ note_ctor("G2x5y4", this);} // tgen
+
+static void Test_G2x5y4()
+{
+ extern Class_Descriptor cd_G2x5y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G2x5y4, buf);
+ G2x5y4 *dp, &lv = *(dp=new (buf) G2x5y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G2x5y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x5y4)");
+ check_base_class_offset(lv, (A0*)(C2*), ABISELECT(40,32), "G2x5y4");
+ check_base_class_offset(lv, (B0*)(C2*), ABISELECT(32,24), "G2x5y4");
+ check_base_class_offset(lv, (C2*)(E2x5*), ABISELECT(24,20), "G2x5y4");
+ check_base_class_offset(lv, (D0*)(E2x5*), ABISELECT(8,4), "G2x5y4");
+ check_base_class_offset(lv, (E2x5*), 0, "G2x5y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G2x5y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G2x5y4.ff");
+ test_class_info(&lv, &cd_G2x5y4);
+ dp->~G2x5y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x5y4(Test_G2x5y4, "G2x5y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G2x5y4C1Ev();
+extern void _ZN6G2x5y4D1Ev();
+Name_Map name_map_G2x5y4[] = {
+ NSPAIR(_ZN6G2x5y4C1Ev),
+ NSPAIR(_ZN6G2x5y4D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E2x5;
+extern VTBL_ENTRY _ZTI4E2x5[];
+extern VTBL_ENTRY _ZTV4E2x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G2x5y4[] = {
+ // 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
+ 4, //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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E2x5, 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(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G2x5y4[];
+static VTBL_ENTRY vtc_G2x5y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x5y4[0]),
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI6G2x5y4[0]),
+};
+extern VTBL_ENTRY _ZTV6G2x5y4[];
+static VTBL_ENTRY _tg__ZTV4E2x5__6G2x5y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C2__4E2x5__6G2x5y4[] = {
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E2x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C2__6G2x5y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x5y4[] = {
+ {&(_ZTV6G2x5y4[4]), 4,7},
+ {&(_tg__ZTV4E2x5__6G2x5y4[4]), 4,4},
+ {&(_tg__ZTV2C2__4E2x5__6G2x5y4[3]), 3,3},
+ {&(_ZTV6G2x5y4[7]), 7,7},
+ {&(_tg__ZTV2C2__6G2x5y4[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x5y4[];
+extern VTBL_ENTRY _ZTV6G2x5y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x5y4[];
+Class_Descriptor cd_G2x5y4 = { "G2x5y4", // class name
+ bases_G2x5y4, 6,
+ &(vtc_G2x5y4[0]), // expected_vtbl_contents
+ &(vtt_G2x5y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G2x5y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x5y4),7, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x5y4),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 G2x5y5 : virtual E2x5 , F0 {
+ int ff;
+ ~G2x5y5(); // tgen
+ G2x5y5(); // tgen
+};
+//SIG(1 G2x5y5) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G2x5y5 ::~G2x5y5(){ note_dtor("G2x5y5", this);} // tgen
+G2x5y5 ::G2x5y5(){ note_ctor("G2x5y5", this);} // tgen
+
+static void Test_G2x5y5()
+{
+ extern Class_Descriptor cd_G2x5y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G2x5y5, buf);
+ G2x5y5 *dp, &lv = *(dp=new (buf) G2x5y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G2x5y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x5y5)");
+ check_base_class_offset(lv, (A0*)(C2*), ABISELECT(48,36), "G2x5y5");
+ check_base_class_offset(lv, (B0*)(C2*), ABISELECT(40,28), "G2x5y5");
+ check_base_class_offset(lv, (C2*)(E2x5*), ABISELECT(32,24), "G2x5y5");
+ check_base_class_offset(lv, (D0*)(E2x5*), ABISELECT(24,16), "G2x5y5");
+ check_base_class_offset(lv, (E2x5*), ABISELECT(16,12), "G2x5y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G2x5y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G2x5y5.ff");
+ test_class_info(&lv, &cd_G2x5y5);
+ dp->~G2x5y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x5y5(Test_G2x5y5, "G2x5y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G2x5y5C1Ev();
+extern void _ZN6G2x5y5D1Ev();
+Name_Map name_map_G2x5y5[] = {
+ NSPAIR(_ZN6G2x5y5C1Ev),
+ NSPAIR(_ZN6G2x5y5D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E2x5;
+extern VTBL_ENTRY _ZTI4E2x5[];
+extern VTBL_ENTRY _ZTV4E2x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G2x5y5[] = {
+ // 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
+ 9, //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_D0, 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_E2x5, 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 _ZTI6G2x5y5[];
+static VTBL_ENTRY vtc_G2x5y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x5y5[0]),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G2x5y5[0]),
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G2x5y5[0]),
+};
+extern VTBL_ENTRY _ZTV6G2x5y5[];
+static VTBL_ENTRY _tg__ZTV4E2x5__6G2x5y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C2__4E2x5__6G2x5y5[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E2x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C2__6G2x5y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x5y5[] = {
+ {&(_ZTV6G2x5y5[5]), 5,12},
+ {&(_ZTV6G2x5y5[9]), 9,12},
+ {&(_ZTV6G2x5y5[12]), 12,12},
+ {&(_tg__ZTV4E2x5__6G2x5y5[4]), 4,4},
+ {&(_tg__ZTV2C2__4E2x5__6G2x5y5[3]), 3,3},
+ {&(_tg__ZTV2C2__6G2x5y5[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x5y5[];
+extern VTBL_ENTRY _ZTV6G2x5y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x5y5[];
+Class_Descriptor cd_G2x5y5 = { "G2x5y5", // class name
+ bases_G2x5y5, 6,
+ &(vtc_G2x5y5[0]), // expected_vtbl_contents
+ &(vtt_G2x5y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G2x5y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x5y5),12, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x5y5),6, //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 G2x5y6 : E2x5 , virtual F0 {
+ int ff;
+ ~G2x5y6(); // tgen
+ G2x5y6(); // tgen
+};
+//SIG(1 G2x5y6) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G2x5y6 ::~G2x5y6(){ note_dtor("G2x5y6", this);} // tgen
+G2x5y6 ::G2x5y6(){ note_ctor("G2x5y6", this);} // tgen
+
+static void Test_G2x5y6()
+{
+ extern Class_Descriptor cd_G2x5y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G2x5y6, buf);
+ G2x5y6 *dp, &lv = *(dp=new (buf) G2x5y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G2x5y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x5y6)");
+ check_base_class_offset(lv, (A0*)(C2*), ABISELECT(40,28), "G2x5y6");
+ check_base_class_offset(lv, (B0*)(C2*), ABISELECT(32,20), "G2x5y6");
+ check_base_class_offset(lv, (C2*)(E2x5*), ABISELECT(24,16), "G2x5y6");
+ check_base_class_offset(lv, (D0*)(E2x5*), ABISELECT(8,4), "G2x5y6");
+ check_base_class_offset(lv, (E2x5*), 0, "G2x5y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G2x5y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G2x5y6.ff");
+ test_class_info(&lv, &cd_G2x5y6);
+ dp->~G2x5y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x5y6(Test_G2x5y6, "G2x5y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G2x5y6C1Ev();
+extern void _ZN6G2x5y6D1Ev();
+Name_Map name_map_G2x5y6[] = {
+ NSPAIR(_ZN6G2x5y6C1Ev),
+ NSPAIR(_ZN6G2x5y6D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E2x5;
+extern VTBL_ENTRY _ZTI4E2x5[];
+extern VTBL_ENTRY _ZTV4E2x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G2x5y6[] = {
+ // 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)
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E2x5, 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 _ZTI6G2x5y6[];
+static VTBL_ENTRY vtc_G2x5y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x5y6[0]),
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G2x5y6[0]),
+};
+extern VTBL_ENTRY _ZTV6G2x5y6[];
+static VTBL_ENTRY _tg__ZTV4E2x5__6G2x5y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C2__4E2x5__6G2x5y6[] = {
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E2x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C2__6G2x5y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x5y6[] = {
+ {&(_ZTV6G2x5y6[5]), 5,8},
+ {&(_tg__ZTV4E2x5__6G2x5y6[4]), 4,4},
+ {&(_tg__ZTV2C2__4E2x5__6G2x5y6[3]), 3,3},
+ {&(_ZTV6G2x5y6[8]), 8,8},
+ {&(_tg__ZTV2C2__6G2x5y6[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x5y6[];
+extern VTBL_ENTRY _ZTV6G2x5y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x5y6[];
+Class_Descriptor cd_G2x5y6 = { "G2x5y6", // class name
+ bases_G2x5y6, 6,
+ &(vtc_G2x5y6[0]), // expected_vtbl_contents
+ &(vtt_G2x5y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G2x5y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x5y6),8, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x5y6),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 G2x5y7 : virtual E2x5 , virtual F0 {
+ int ff;
+ ~G2x5y7(); // tgen
+ G2x5y7(); // tgen
+};
+//SIG(1 G2x5y7) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G2x5y7 ::~G2x5y7(){ note_dtor("G2x5y7", this);} // tgen
+G2x5y7 ::G2x5y7(){ note_ctor("G2x5y7", this);} // tgen
+
+static void Test_G2x5y7()
+{
+ extern Class_Descriptor cd_G2x5y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G2x5y7, buf);
+ G2x5y7 *dp, &lv = *(dp=new (buf) G2x5y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G2x5y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x5y7)");
+ check_base_class_offset(lv, (A0*)(C2*), ABISELECT(48,32), "G2x5y7");
+ check_base_class_offset(lv, (B0*)(C2*), ABISELECT(40,24), "G2x5y7");
+ check_base_class_offset(lv, (C2*)(E2x5*), ABISELECT(32,20), "G2x5y7");
+ check_base_class_offset(lv, (D0*)(E2x5*), ABISELECT(24,12), "G2x5y7");
+ check_base_class_offset(lv, (E2x5*), ABISELECT(16,8), "G2x5y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G2x5y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G2x5y7.ff");
+ test_class_info(&lv, &cd_G2x5y7);
+ dp->~G2x5y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x5y7(Test_G2x5y7, "G2x5y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G2x5y7C1Ev();
+extern void _ZN6G2x5y7D1Ev();
+Name_Map name_map_G2x5y7[] = {
+ NSPAIR(_ZN6G2x5y7C1Ev),
+ NSPAIR(_ZN6G2x5y7D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E2x5;
+extern VTBL_ENTRY _ZTI4E2x5[];
+extern VTBL_ENTRY _ZTV4E2x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G2x5y7[] = {
+ // 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
+ 10, //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_D0, 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_E2x5, 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 _ZTI6G2x5y7[];
+static VTBL_ENTRY vtc_G2x5y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x5y7[0]),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G2x5y7[0]),
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G2x5y7[0]),
+};
+extern VTBL_ENTRY _ZTV6G2x5y7[];
+static VTBL_ENTRY _tg__ZTV4E2x5__6G2x5y7[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C2__4E2x5__6G2x5y7[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E2x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C2__6G2x5y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x5y7[] = {
+ {&(_ZTV6G2x5y7[6]), 6,13},
+ {&(_ZTV6G2x5y7[10]), 10,13},
+ {&(_ZTV6G2x5y7[13]), 13,13},
+ {&(_tg__ZTV4E2x5__6G2x5y7[4]), 4,4},
+ {&(_tg__ZTV2C2__4E2x5__6G2x5y7[3]), 3,3},
+ {&(_tg__ZTV2C2__6G2x5y7[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x5y7[];
+extern VTBL_ENTRY _ZTV6G2x5y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x5y7[];
+Class_Descriptor cd_G2x5y7 = { "G2x5y7", // class name
+ bases_G2x5y7, 6,
+ &(vtc_G2x5y7[0]), // expected_vtbl_contents
+ &(vtt_G2x5y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G2x5y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x5y7),13, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x5y7),6, //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 E3x5 : virtual C3 , D0 {
+ int fd;
+ ~E3x5(); // tgen
+ E3x5(); // tgen
+};
+//SIG(-1 E3x5) C1{ VBC2{ VBC3{ v1 Fi} BC4{ Fi} Fi} BC5{ Fi} Fi}
+
+
+E3x5 ::~E3x5(){ note_dtor("E3x5", this);} // tgen
+E3x5 ::E3x5(){ note_ctor("E3x5", this);} // tgen
+
+static void Test_E3x5()
+{
+ extern Class_Descriptor cd_E3x5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E3x5, buf);
+ E3x5 *dp, &lv = *(dp=new (buf) E3x5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E3x5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E3x5)");
+ check_base_class_offset(lv, (A1*)(C3*), ABISELECT(32,24), "E3x5");
+ check_base_class_offset(lv, (B0*)(C3*), ABISELECT(24,16), "E3x5");
+ check_base_class_offset(lv, (C3*), ABISELECT(16,12), "E3x5");
+ check_base_class_offset(lv, (D0*), ABISELECT(8,4), "E3x5");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E3x5.fd");
+ test_class_info(&lv, &cd_E3x5);
+ dp->~E3x5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE3x5(Test_E3x5, "E3x5", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN4E3x5C1Ev();
+extern void _ZN4E3x5D1Ev();
+Name_Map name_map_E3x5[] = {
+ NSPAIR(_ZN4E3x5C1Ev),
+ NSPAIR(_ZN4E3x5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E3x5[] = {
+ // 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)
+ 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
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI4E3x5[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_E3x5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x5[0]),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E3x5[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E3x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E3x5[];
+static VTBL_ENTRY _tg__ZTV2C3__4E3x5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C3__4E3x5[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_E3x5[] = {
+ {&(_ZTV4E3x5[4]), 4,11},
+ {&(_ZTV4E3x5[7]), 7,11},
+ {&(_ZTV4E3x5[10]), 10,11},
+ {&(_tg__ZTV2C3__4E3x5[3]), 3,3},
+ {&(_tg__ZTV2A1__2C3__4E3x5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI4E3x5[];
+extern VTBL_ENTRY _ZTV4E3x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x5[];
+Class_Descriptor cd_E3x5 = { "E3x5", // class name
+ bases_E3x5, 4,
+ &(vtc_E3x5[0]), // expected_vtbl_contents
+ &(vtt_E3x5[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI4E3x5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E3x5),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E3x5),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 G3x5y0 : E3x5 , F1 {
+ int ff;
+ ~G3x5y0(); // tgen
+ G3x5y0(); // tgen
+};
+//SIG(1 G3x5y0) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G3x5y0 ::~G3x5y0(){ note_dtor("G3x5y0", this);} // tgen
+G3x5y0 ::G3x5y0(){ note_ctor("G3x5y0", this);} // tgen
+
+static void Test_G3x5y0()
+{
+ extern Class_Descriptor cd_G3x5y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G3x5y0, buf);
+ G3x5y0 *dp, &lv = *(dp=new (buf) G3x5y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G3x5y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x5y0)");
+ check_base_class_offset(lv, (A1*)(C3*), ABISELECT(48,36), "G3x5y0");
+ check_base_class_offset(lv, (B0*)(C3*), ABISELECT(40,28), "G3x5y0");
+ check_base_class_offset(lv, (C3*)(E3x5*), ABISELECT(32,24), "G3x5y0");
+ check_base_class_offset(lv, (D0*)(E3x5*), ABISELECT(8,4), "G3x5y0");
+ check_base_class_offset(lv, (E3x5*), 0, "G3x5y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G3x5y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G3x5y0.ff");
+ test_class_info(&lv, &cd_G3x5y0);
+ dp->~G3x5y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x5y0(Test_G3x5y0, "G3x5y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G3x5y0C1Ev();
+extern void _ZN6G3x5y0D1Ev();
+Name_Map name_map_G3x5y0[] = {
+ NSPAIR(_ZN6G3x5y0C1Ev),
+ NSPAIR(_ZN6G3x5y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E3x5;
+extern VTBL_ENTRY _ZTI4E3x5[];
+extern VTBL_ENTRY _ZTV4E3x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G3x5y0[] = {
+ // 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(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
+ 7, //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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E3x5, 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
+ 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 _ZTI6G3x5y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G3x5y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x5y0[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G3x5y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G3x5y0[0]),
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI6G3x5y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x5y0[];
+static VTBL_ENTRY _tg__ZTV4E3x5__6G3x5y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C3__4E3x5__6G3x5y0[] = {
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E3x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x5__6G3x5y0[] = {
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI4E3x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C3__6G3x5y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C3__6G3x5y0[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x5y0[] = {
+ {&(_ZTV6G3x5y0[4]), 4,14},
+ {&(_tg__ZTV4E3x5__6G3x5y0[4]), 4,4},
+ {&(_tg__ZTV2C3__4E3x5__6G3x5y0[3]), 3,3},
+ {&(_tg__ZTV2A1__4E3x5__6G3x5y0[3]), 3,4},
+ {&(_ZTV6G3x5y0[10]), 10,14},
+ {&(_ZTV6G3x5y0[13]), 13,14},
+ {&(_tg__ZTV2C3__6G3x5y0[3]), 3,3},
+ {&(_tg__ZTV2A1__2C3__6G3x5y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G3x5y0[];
+extern VTBL_ENTRY _ZTV6G3x5y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x5y0[];
+Class_Descriptor cd_G3x5y0 = { "G3x5y0", // class name
+ bases_G3x5y0, 6,
+ &(vtc_G3x5y0[0]), // expected_vtbl_contents
+ &(vtt_G3x5y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G3x5y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x5y0),14, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x5y0),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 G3x5y1 : virtual E3x5 , F1 {
+ int ff;
+ ~G3x5y1(); // tgen
+ G3x5y1(); // tgen
+};
+//SIG(1 G3x5y1) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G3x5y1 ::~G3x5y1(){ note_dtor("G3x5y1", this);} // tgen
+G3x5y1 ::G3x5y1(){ note_ctor("G3x5y1", this);} // tgen
+
+static void Test_G3x5y1()
+{
+ extern Class_Descriptor cd_G3x5y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G3x5y1, buf);
+ G3x5y1 *dp, &lv = *(dp=new (buf) G3x5y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G3x5y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x5y1)");
+ check_base_class_offset(lv, (A1*)(C3*), ABISELECT(48,36), "G3x5y1");
+ check_base_class_offset(lv, (B0*)(C3*), ABISELECT(40,28), "G3x5y1");
+ check_base_class_offset(lv, (C3*)(E3x5*), ABISELECT(32,24), "G3x5y1");
+ check_base_class_offset(lv, (D0*)(E3x5*), ABISELECT(24,16), "G3x5y1");
+ check_base_class_offset(lv, (E3x5*), ABISELECT(16,12), "G3x5y1");
+ check_base_class_offset(lv, (F1*), 0, "G3x5y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G3x5y1.ff");
+ test_class_info(&lv, &cd_G3x5y1);
+ dp->~G3x5y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x5y1(Test_G3x5y1, "G3x5y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G3x5y1C1Ev();
+extern void _ZN6G3x5y1D1Ev();
+Name_Map name_map_G3x5y1[] = {
+ NSPAIR(_ZN6G3x5y1C1Ev),
+ NSPAIR(_ZN6G3x5y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E3x5;
+extern VTBL_ENTRY _ZTI4E3x5[];
+extern VTBL_ENTRY _ZTV4E3x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G3x5y1[] = {
+ // 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)
+ 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
+ 10, //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_D0, 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_E3x5, 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 _ZTI6G3x5y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G3x5y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x5y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G3x5y1[0]),
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G3x5y1[0]),
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI6G3x5y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x5y1[];
+static VTBL_ENTRY _tg__ZTV4E3x5__6G3x5y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C3__4E3x5__6G3x5y1[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E3x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x5__6G3x5y1[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E3x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C3__6G3x5y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C3__6G3x5y1[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x5y1[] = {
+ {&(_ZTV6G3x5y1[5]), 5,17},
+ {&(_ZTV6G3x5y1[10]), 10,17},
+ {&(_ZTV6G3x5y1[13]), 13,17},
+ {&(_ZTV6G3x5y1[16]), 16,17},
+ {&(_tg__ZTV4E3x5__6G3x5y1[4]), 4,4},
+ {&(_tg__ZTV2C3__4E3x5__6G3x5y1[3]), 3,3},
+ {&(_tg__ZTV2A1__4E3x5__6G3x5y1[3]), 3,4},
+ {&(_tg__ZTV2C3__6G3x5y1[3]), 3,3},
+ {&(_tg__ZTV2A1__2C3__6G3x5y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G3x5y1[];
+extern VTBL_ENTRY _ZTV6G3x5y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x5y1[];
+Class_Descriptor cd_G3x5y1 = { "G3x5y1", // class name
+ bases_G3x5y1, 6,
+ &(vtc_G3x5y1[0]), // expected_vtbl_contents
+ &(vtt_G3x5y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G3x5y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x5y1),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x5y1),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 G3x5y2 : E3x5 , virtual F1 {
+ int ff;
+ ~G3x5y2(); // tgen
+ G3x5y2(); // tgen
+};
+//SIG(1 G3x5y2) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G3x5y2 ::~G3x5y2(){ note_dtor("G3x5y2", this);} // tgen
+G3x5y2 ::G3x5y2(){ note_ctor("G3x5y2", this);} // tgen
+
+static void Test_G3x5y2()
+{
+ extern Class_Descriptor cd_G3x5y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G3x5y2, buf);
+ G3x5y2 *dp, &lv = *(dp=new (buf) G3x5y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G3x5y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x5y2)");
+ check_base_class_offset(lv, (A1*)(C3*), ABISELECT(40,28), "G3x5y2");
+ check_base_class_offset(lv, (B0*)(C3*), ABISELECT(32,20), "G3x5y2");
+ check_base_class_offset(lv, (C3*)(E3x5*), ABISELECT(24,16), "G3x5y2");
+ check_base_class_offset(lv, (D0*)(E3x5*), ABISELECT(8,4), "G3x5y2");
+ check_base_class_offset(lv, (E3x5*), 0, "G3x5y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G3x5y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G3x5y2.ff");
+ test_class_info(&lv, &cd_G3x5y2);
+ dp->~G3x5y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x5y2(Test_G3x5y2, "G3x5y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G3x5y2C1Ev();
+extern void _ZN6G3x5y2D1Ev();
+Name_Map name_map_G3x5y2[] = {
+ NSPAIR(_ZN6G3x5y2C1Ev),
+ NSPAIR(_ZN6G3x5y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E3x5;
+extern VTBL_ENTRY _ZTI4E3x5[];
+extern VTBL_ENTRY _ZTV4E3x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G3x5y2[] = {
+ // 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(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)
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E3x5, 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
+ 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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G3x5y2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G3x5y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x5y2[0]),
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G3x5y2[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G3x5y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G3x5y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x5y2[];
+static VTBL_ENTRY _tg__ZTV4E3x5__6G3x5y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C3__4E3x5__6G3x5y2[] = {
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E3x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x5__6G3x5y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI4E3x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C3__6G3x5y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C3__6G3x5y2[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x5y2[] = {
+ {&(_ZTV6G3x5y2[5]), 5,16},
+ {&(_tg__ZTV4E3x5__6G3x5y2[4]), 4,4},
+ {&(_tg__ZTV2C3__4E3x5__6G3x5y2[3]), 3,3},
+ {&(_tg__ZTV2A1__4E3x5__6G3x5y2[3]), 3,4},
+ {&(_ZTV6G3x5y2[8]), 8,16},
+ {&(_ZTV6G3x5y2[11]), 11,16},
+ {&(_ZTV6G3x5y2[15]), 15,16},
+ {&(_tg__ZTV2C3__6G3x5y2[3]), 3,3},
+ {&(_tg__ZTV2A1__2C3__6G3x5y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G3x5y2[];
+extern VTBL_ENTRY _ZTV6G3x5y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x5y2[];
+Class_Descriptor cd_G3x5y2 = { "G3x5y2", // class name
+ bases_G3x5y2, 6,
+ &(vtc_G3x5y2[0]), // expected_vtbl_contents
+ &(vtt_G3x5y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G3x5y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x5y2),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x5y2),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 G3x5y3 : virtual E3x5 , virtual F1 {
+ int ff;
+ ~G3x5y3(); // tgen
+ G3x5y3(); // tgen
+};
+//SIG(1 G3x5y3) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G3x5y3 ::~G3x5y3(){ note_dtor("G3x5y3", this);} // tgen
+G3x5y3 ::G3x5y3(){ note_ctor("G3x5y3", this);} // tgen
+
+static void Test_G3x5y3()
+{
+ extern Class_Descriptor cd_G3x5y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G3x5y3, buf);
+ G3x5y3 *dp, &lv = *(dp=new (buf) G3x5y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G3x5y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x5y3)");
+ check_base_class_offset(lv, (A1*)(C3*), ABISELECT(48,32), "G3x5y3");
+ check_base_class_offset(lv, (B0*)(C3*), ABISELECT(40,24), "G3x5y3");
+ check_base_class_offset(lv, (C3*)(E3x5*), ABISELECT(32,20), "G3x5y3");
+ check_base_class_offset(lv, (D0*)(E3x5*), ABISELECT(24,12), "G3x5y3");
+ check_base_class_offset(lv, (E3x5*), ABISELECT(16,8), "G3x5y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G3x5y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G3x5y3.ff");
+ test_class_info(&lv, &cd_G3x5y3);
+ dp->~G3x5y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x5y3(Test_G3x5y3, "G3x5y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN6G3x5y3C1Ev();
+extern void _ZN6G3x5y3D1Ev();
+Name_Map name_map_G3x5y3[] = {
+ NSPAIR(_ZN6G3x5y3C1Ev),
+ NSPAIR(_ZN6G3x5y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E3x5;
+extern VTBL_ENTRY _ZTI4E3x5[];
+extern VTBL_ENTRY _ZTV4E3x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G3x5y3[] = {
+ // 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)
+ 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
+ 10, //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_D0, 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_E3x5, 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(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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G3x5y3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G3x5y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x5y3[0]),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G3x5y3[0]),
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G3x5y3[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G3x5y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI6G3x5y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x5y3[];
+static VTBL_ENTRY _tg__ZTV4E3x5__6G3x5y3[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C3__4E3x5__6G3x5y3[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E3x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x5__6G3x5y3[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E3x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C3__6G3x5y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C3__6G3x5y3[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x5y3[] = {
+ {&(_ZTV6G3x5y3[6]), 6,21},
+ {&(_ZTV6G3x5y3[10]), 10,21},
+ {&(_ZTV6G3x5y3[13]), 13,21},
+ {&(_ZTV6G3x5y3[16]), 16,21},
+ {&(_ZTV6G3x5y3[20]), 20,21},
+ {&(_tg__ZTV4E3x5__6G3x5y3[4]), 4,4},
+ {&(_tg__ZTV2C3__4E3x5__6G3x5y3[3]), 3,3},
+ {&(_tg__ZTV2A1__4E3x5__6G3x5y3[3]), 3,4},
+ {&(_tg__ZTV2C3__6G3x5y3[3]), 3,3},
+ {&(_tg__ZTV2A1__2C3__6G3x5y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G3x5y3[];
+extern VTBL_ENTRY _ZTV6G3x5y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x5y3[];
+Class_Descriptor cd_G3x5y3 = { "G3x5y3", // class name
+ bases_G3x5y3, 6,
+ &(vtc_G3x5y3[0]), // expected_vtbl_contents
+ &(vtt_G3x5y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI6G3x5y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x5y3),21, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x5y3),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 G3x5y4 : E3x5 , F0 {
+ int ff;
+ ~G3x5y4(); // tgen
+ G3x5y4(); // tgen
+};
+//SIG(1 G3x5y4) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G3x5y4 ::~G3x5y4(){ note_dtor("G3x5y4", this);} // tgen
+G3x5y4 ::G3x5y4(){ note_ctor("G3x5y4", this);} // tgen
+
+static void Test_G3x5y4()
+{
+ extern Class_Descriptor cd_G3x5y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G3x5y4, buf);
+ G3x5y4 *dp, &lv = *(dp=new (buf) G3x5y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G3x5y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x5y4)");
+ check_base_class_offset(lv, (A1*)(C3*), ABISELECT(40,32), "G3x5y4");
+ check_base_class_offset(lv, (B0*)(C3*), ABISELECT(32,24), "G3x5y4");
+ check_base_class_offset(lv, (C3*)(E3x5*), ABISELECT(24,20), "G3x5y4");
+ check_base_class_offset(lv, (D0*)(E3x5*), ABISELECT(8,4), "G3x5y4");
+ check_base_class_offset(lv, (E3x5*), 0, "G3x5y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G3x5y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G3x5y4.ff");
+ test_class_info(&lv, &cd_G3x5y4);
+ dp->~G3x5y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x5y4(Test_G3x5y4, "G3x5y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G3x5y4C1Ev();
+extern void _ZN6G3x5y4D1Ev();
+Name_Map name_map_G3x5y4[] = {
+ NSPAIR(_ZN6G3x5y4C1Ev),
+ NSPAIR(_ZN6G3x5y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E3x5;
+extern VTBL_ENTRY _ZTI4E3x5[];
+extern VTBL_ENTRY _ZTV4E3x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G3x5y4[] = {
+ // 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(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
+ 4, //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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E3x5, 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 _ZTI6G3x5y4[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G3x5y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x5y4[0]),
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI6G3x5y4[0]),
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI6G3x5y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x5y4[];
+static VTBL_ENTRY _tg__ZTV4E3x5__6G3x5y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C3__4E3x5__6G3x5y4[] = {
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E3x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x5__6G3x5y4[] = {
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI4E3x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C3__6G3x5y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C3__6G3x5y4[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x5y4[] = {
+ {&(_ZTV6G3x5y4[4]), 4,11},
+ {&(_tg__ZTV4E3x5__6G3x5y4[4]), 4,4},
+ {&(_tg__ZTV2C3__4E3x5__6G3x5y4[3]), 3,3},
+ {&(_tg__ZTV2A1__4E3x5__6G3x5y4[3]), 3,4},
+ {&(_ZTV6G3x5y4[7]), 7,11},
+ {&(_ZTV6G3x5y4[10]), 10,11},
+ {&(_tg__ZTV2C3__6G3x5y4[3]), 3,3},
+ {&(_tg__ZTV2A1__2C3__6G3x5y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G3x5y4[];
+extern VTBL_ENTRY _ZTV6G3x5y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x5y4[];
+Class_Descriptor cd_G3x5y4 = { "G3x5y4", // class name
+ bases_G3x5y4, 6,
+ &(vtc_G3x5y4[0]), // expected_vtbl_contents
+ &(vtt_G3x5y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G3x5y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x5y4),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x5y4),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 G3x5y5 : virtual E3x5 , F0 {
+ int ff;
+ ~G3x5y5(); // tgen
+ G3x5y5(); // tgen
+};
+//SIG(1 G3x5y5) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G3x5y5 ::~G3x5y5(){ note_dtor("G3x5y5", this);} // tgen
+G3x5y5 ::G3x5y5(){ note_ctor("G3x5y5", this);} // tgen
+
+static void Test_G3x5y5()
+{
+ extern Class_Descriptor cd_G3x5y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G3x5y5, buf);
+ G3x5y5 *dp, &lv = *(dp=new (buf) G3x5y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G3x5y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x5y5)");
+ check_base_class_offset(lv, (A1*)(C3*), ABISELECT(48,36), "G3x5y5");
+ check_base_class_offset(lv, (B0*)(C3*), ABISELECT(40,28), "G3x5y5");
+ check_base_class_offset(lv, (C3*)(E3x5*), ABISELECT(32,24), "G3x5y5");
+ check_base_class_offset(lv, (D0*)(E3x5*), ABISELECT(24,16), "G3x5y5");
+ check_base_class_offset(lv, (E3x5*), ABISELECT(16,12), "G3x5y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G3x5y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G3x5y5.ff");
+ test_class_info(&lv, &cd_G3x5y5);
+ dp->~G3x5y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x5y5(Test_G3x5y5, "G3x5y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G3x5y5C1Ev();
+extern void _ZN6G3x5y5D1Ev();
+Name_Map name_map_G3x5y5[] = {
+ NSPAIR(_ZN6G3x5y5C1Ev),
+ NSPAIR(_ZN6G3x5y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E3x5;
+extern VTBL_ENTRY _ZTI4E3x5[];
+extern VTBL_ENTRY _ZTV4E3x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G3x5y5[] = {
+ // 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)
+ 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
+ 9, //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_D0, 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_E3x5, 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 _ZTI6G3x5y5[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G3x5y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x5y5[0]),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G3x5y5[0]),
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G3x5y5[0]),
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI6G3x5y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x5y5[];
+static VTBL_ENTRY _tg__ZTV4E3x5__6G3x5y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C3__4E3x5__6G3x5y5[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E3x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x5__6G3x5y5[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E3x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C3__6G3x5y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C3__6G3x5y5[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x5y5[] = {
+ {&(_ZTV6G3x5y5[5]), 5,16},
+ {&(_ZTV6G3x5y5[9]), 9,16},
+ {&(_ZTV6G3x5y5[12]), 12,16},
+ {&(_ZTV6G3x5y5[15]), 15,16},
+ {&(_tg__ZTV4E3x5__6G3x5y5[4]), 4,4},
+ {&(_tg__ZTV2C3__4E3x5__6G3x5y5[3]), 3,3},
+ {&(_tg__ZTV2A1__4E3x5__6G3x5y5[3]), 3,4},
+ {&(_tg__ZTV2C3__6G3x5y5[3]), 3,3},
+ {&(_tg__ZTV2A1__2C3__6G3x5y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G3x5y5[];
+extern VTBL_ENTRY _ZTV6G3x5y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x5y5[];
+Class_Descriptor cd_G3x5y5 = { "G3x5y5", // class name
+ bases_G3x5y5, 6,
+ &(vtc_G3x5y5[0]), // expected_vtbl_contents
+ &(vtt_G3x5y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G3x5y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x5y5),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x5y5),9, //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 G3x5y6 : E3x5 , virtual F0 {
+ int ff;
+ ~G3x5y6(); // tgen
+ G3x5y6(); // tgen
+};
+//SIG(1 G3x5y6) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G3x5y6 ::~G3x5y6(){ note_dtor("G3x5y6", this);} // tgen
+G3x5y6 ::G3x5y6(){ note_ctor("G3x5y6", this);} // tgen
+
+static void Test_G3x5y6()
+{
+ extern Class_Descriptor cd_G3x5y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G3x5y6, buf);
+ G3x5y6 *dp, &lv = *(dp=new (buf) G3x5y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G3x5y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x5y6)");
+ check_base_class_offset(lv, (A1*)(C3*), ABISELECT(40,28), "G3x5y6");
+ check_base_class_offset(lv, (B0*)(C3*), ABISELECT(32,20), "G3x5y6");
+ check_base_class_offset(lv, (C3*)(E3x5*), ABISELECT(24,16), "G3x5y6");
+ check_base_class_offset(lv, (D0*)(E3x5*), ABISELECT(8,4), "G3x5y6");
+ check_base_class_offset(lv, (E3x5*), 0, "G3x5y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G3x5y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G3x5y6.ff");
+ test_class_info(&lv, &cd_G3x5y6);
+ dp->~G3x5y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x5y6(Test_G3x5y6, "G3x5y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G3x5y6C1Ev();
+extern void _ZN6G3x5y6D1Ev();
+Name_Map name_map_G3x5y6[] = {
+ NSPAIR(_ZN6G3x5y6C1Ev),
+ NSPAIR(_ZN6G3x5y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E3x5;
+extern VTBL_ENTRY _ZTI4E3x5[];
+extern VTBL_ENTRY _ZTV4E3x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G3x5y6[] = {
+ // 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(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)
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E3x5, 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 _ZTI6G3x5y6[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G3x5y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x5y6[0]),
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G3x5y6[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G3x5y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x5y6[];
+static VTBL_ENTRY _tg__ZTV4E3x5__6G3x5y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C3__4E3x5__6G3x5y6[] = {
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E3x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x5__6G3x5y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI4E3x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C3__6G3x5y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C3__6G3x5y6[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x5y6[] = {
+ {&(_ZTV6G3x5y6[5]), 5,12},
+ {&(_tg__ZTV4E3x5__6G3x5y6[4]), 4,4},
+ {&(_tg__ZTV2C3__4E3x5__6G3x5y6[3]), 3,3},
+ {&(_tg__ZTV2A1__4E3x5__6G3x5y6[3]), 3,4},
+ {&(_ZTV6G3x5y6[8]), 8,12},
+ {&(_ZTV6G3x5y6[11]), 11,12},
+ {&(_tg__ZTV2C3__6G3x5y6[3]), 3,3},
+ {&(_tg__ZTV2A1__2C3__6G3x5y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G3x5y6[];
+extern VTBL_ENTRY _ZTV6G3x5y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x5y6[];
+Class_Descriptor cd_G3x5y6 = { "G3x5y6", // class name
+ bases_G3x5y6, 6,
+ &(vtc_G3x5y6[0]), // expected_vtbl_contents
+ &(vtt_G3x5y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G3x5y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x5y6),12, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x5y6),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 G3x5y7 : virtual E3x5 , virtual F0 {
+ int ff;
+ ~G3x5y7(); // tgen
+ G3x5y7(); // tgen
+};
+//SIG(1 G3x5y7) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G3x5y7 ::~G3x5y7(){ note_dtor("G3x5y7", this);} // tgen
+G3x5y7 ::G3x5y7(){ note_ctor("G3x5y7", this);} // tgen
+
+static void Test_G3x5y7()
+{
+ extern Class_Descriptor cd_G3x5y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G3x5y7, buf);
+ G3x5y7 *dp, &lv = *(dp=new (buf) G3x5y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G3x5y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x5y7)");
+ check_base_class_offset(lv, (A1*)(C3*), ABISELECT(48,32), "G3x5y7");
+ check_base_class_offset(lv, (B0*)(C3*), ABISELECT(40,24), "G3x5y7");
+ check_base_class_offset(lv, (C3*)(E3x5*), ABISELECT(32,20), "G3x5y7");
+ check_base_class_offset(lv, (D0*)(E3x5*), ABISELECT(24,12), "G3x5y7");
+ check_base_class_offset(lv, (E3x5*), ABISELECT(16,8), "G3x5y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(60,40), "G3x5y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G3x5y7.ff");
+ test_class_info(&lv, &cd_G3x5y7);
+ dp->~G3x5y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x5y7(Test_G3x5y7, "G3x5y7", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G3x5y7C1Ev();
+extern void _ZN6G3x5y7D1Ev();
+Name_Map name_map_G3x5y7[] = {
+ NSPAIR(_ZN6G3x5y7C1Ev),
+ NSPAIR(_ZN6G3x5y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E3x5;
+extern VTBL_ENTRY _ZTI4E3x5[];
+extern VTBL_ENTRY _ZTV4E3x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G3x5y7[] = {
+ // 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)
+ 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
+ 10, //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_D0, 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_E3x5, 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(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 _ZTI6G3x5y7[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G3x5y7[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x5y7[0]),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G3x5y7[0]),
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G3x5y7[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G3x5y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x5y7[];
+static VTBL_ENTRY _tg__ZTV4E3x5__6G3x5y7[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C3__4E3x5__6G3x5y7[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E3x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x5__6G3x5y7[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E3x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C3__6G3x5y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C3__6G3x5y7[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x5y7[] = {
+ {&(_ZTV6G3x5y7[6]), 6,17},
+ {&(_ZTV6G3x5y7[10]), 10,17},
+ {&(_ZTV6G3x5y7[13]), 13,17},
+ {&(_ZTV6G3x5y7[16]), 16,17},
+ {&(_tg__ZTV4E3x5__6G3x5y7[4]), 4,4},
+ {&(_tg__ZTV2C3__4E3x5__6G3x5y7[3]), 3,3},
+ {&(_tg__ZTV2A1__4E3x5__6G3x5y7[3]), 3,4},
+ {&(_tg__ZTV2C3__6G3x5y7[3]), 3,3},
+ {&(_tg__ZTV2A1__2C3__6G3x5y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G3x5y7[];
+extern VTBL_ENTRY _ZTV6G3x5y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x5y7[];
+Class_Descriptor cd_G3x5y7 = { "G3x5y7", // class name
+ bases_G3x5y7, 6,
+ &(vtc_G3x5y7[0]), // expected_vtbl_contents
+ &(vtt_G3x5y7[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G3x5y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x5y7),17, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x5y7),9, //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 E4x5 : virtual C4 , D0 {
+ int fd;
+ ~E4x5(); // tgen
+ E4x5(); // tgen
+};
+//SIG(-1 E4x5) C1{ VBC2{ BC3{ Fi} BC4{ v1 Fi} Fi} BC5{ Fi} Fi}
+
+
+E4x5 ::~E4x5(){ note_dtor("E4x5", this);} // tgen
+E4x5 ::E4x5(){ note_ctor("E4x5", this);} // tgen
+
+static void Test_E4x5()
+{
+ extern Class_Descriptor cd_E4x5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E4x5, buf);
+ E4x5 *dp, &lv = *(dp=new (buf) E4x5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E4x5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E4x5)");
+ check_base_class_offset(lv, (A0*)(C4*), ABISELECT(28,20), "E4x5");
+ check_base_class_offset(lv, (B1*)(C4*), ABISELECT(16,12), "E4x5");
+ check_base_class_offset(lv, (C4*), ABISELECT(16,12), "E4x5");
+ check_base_class_offset(lv, (D0*), ABISELECT(8,4), "E4x5");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E4x5.fd");
+ test_class_info(&lv, &cd_E4x5);
+ dp->~E4x5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE4x5(Test_E4x5, "E4x5", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN4E4x5C1Ev();
+extern void _ZN4E4x5D1Ev();
+Name_Map name_map_E4x5[] = {
+ NSPAIR(_ZN4E4x5C1Ev),
+ NSPAIR(_ZN4E4x5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E4x5[] = {
+ // 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
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI4E4x5[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_E4x5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x5[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E4x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E4x5[];
+static VTT_ENTRY vtt_E4x5[] = {
+ {&(_ZTV4E4x5[3]), 3,7},
+ {&(_ZTV4E4x5[6]), 6,7},
+};
+extern VTBL_ENTRY _ZTI4E4x5[];
+extern VTBL_ENTRY _ZTV4E4x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x5[];
+Class_Descriptor cd_E4x5 = { "E4x5", // class name
+ bases_E4x5, 4,
+ &(vtc_E4x5[0]), // expected_vtbl_contents
+ &(vtt_E4x5[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI4E4x5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E4x5),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E4x5),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 G4x5y0 : E4x5 , F1 {
+ int ff;
+ ~G4x5y0(); // tgen
+ G4x5y0(); // tgen
+};
+//SIG(1 G4x5y0) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G4x5y0 ::~G4x5y0(){ note_dtor("G4x5y0", this);} // tgen
+G4x5y0 ::G4x5y0(){ note_ctor("G4x5y0", this);} // tgen
+
+static void Test_G4x5y0()
+{
+ extern Class_Descriptor cd_G4x5y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G4x5y0, buf);
+ G4x5y0 *dp, &lv = *(dp=new (buf) G4x5y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G4x5y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x5y0)");
+ check_base_class_offset(lv, (A0*)(C4*), ABISELECT(44,32), "G4x5y0");
+ check_base_class_offset(lv, (B1*)(C4*), ABISELECT(32,24), "G4x5y0");
+ check_base_class_offset(lv, (C4*)(E4x5*), ABISELECT(32,24), "G4x5y0");
+ check_base_class_offset(lv, (D0*)(E4x5*), ABISELECT(8,4), "G4x5y0");
+ check_base_class_offset(lv, (E4x5*), 0, "G4x5y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G4x5y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G4x5y0.ff");
+ test_class_info(&lv, &cd_G4x5y0);
+ dp->~G4x5y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x5y0(Test_G4x5y0, "G4x5y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G4x5y0C1Ev();
+extern void _ZN6G4x5y0D1Ev();
+Name_Map name_map_G4x5y0[] = {
+ NSPAIR(_ZN6G4x5y0C1Ev),
+ NSPAIR(_ZN6G4x5y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E4x5;
+extern VTBL_ENTRY _ZTI4E4x5[];
+extern VTBL_ENTRY _ZTV4E4x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G4x5y0[] = {
+ // 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
+ 6, //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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E4x5, 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
+ 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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G4x5y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G4x5y0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x5y0[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G4x5y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G4x5y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x5y0[];
+static VTBL_ENTRY _tg__ZTV4E4x5__6G4x5y0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x5[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C4__4E4x5__6G4x5y0[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E4x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G4x5y0[] = {
+ {&(_ZTV6G4x5y0[3]), 3,10},
+ {&(_tg__ZTV4E4x5__6G4x5y0[3]), 3,3},
+ {&(_tg__ZTV2B12C4__4E4x5__6G4x5y0[3]), 3,4},
+ {&(_ZTV6G4x5y0[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI6G4x5y0[];
+extern VTBL_ENTRY _ZTV6G4x5y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x5y0[];
+Class_Descriptor cd_G4x5y0 = { "G4x5y0", // class name
+ bases_G4x5y0, 6,
+ &(vtc_G4x5y0[0]), // expected_vtbl_contents
+ &(vtt_G4x5y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G4x5y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x5y0),10, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x5y0),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 G4x5y1 : virtual E4x5 , F1 {
+ int ff;
+ ~G4x5y1(); // tgen
+ G4x5y1(); // tgen
+};
+//SIG(1 G4x5y1) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G4x5y1 ::~G4x5y1(){ note_dtor("G4x5y1", this);} // tgen
+G4x5y1 ::G4x5y1(){ note_ctor("G4x5y1", this);} // tgen
+
+static void Test_G4x5y1()
+{
+ extern Class_Descriptor cd_G4x5y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G4x5y1, buf);
+ G4x5y1 *dp, &lv = *(dp=new (buf) G4x5y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G4x5y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x5y1)");
+ check_base_class_offset(lv, (A0*)(C4*), ABISELECT(44,32), "G4x5y1");
+ check_base_class_offset(lv, (B1*)(C4*), ABISELECT(32,24), "G4x5y1");
+ check_base_class_offset(lv, (C4*)(E4x5*), ABISELECT(32,24), "G4x5y1");
+ check_base_class_offset(lv, (D0*)(E4x5*), ABISELECT(24,16), "G4x5y1");
+ check_base_class_offset(lv, (E4x5*), ABISELECT(16,12), "G4x5y1");
+ check_base_class_offset(lv, (F1*), 0, "G4x5y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G4x5y1.ff");
+ test_class_info(&lv, &cd_G4x5y1);
+ dp->~G4x5y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x5y1(Test_G4x5y1, "G4x5y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G4x5y1C1Ev();
+extern void _ZN6G4x5y1D1Ev();
+Name_Map name_map_G4x5y1[] = {
+ NSPAIR(_ZN6G4x5y1C1Ev),
+ NSPAIR(_ZN6G4x5y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E4x5;
+extern VTBL_ENTRY _ZTI4E4x5[];
+extern VTBL_ENTRY _ZTV4E4x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G4x5y1[] = {
+ // 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
+ 8, //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_D0, 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_E4x5, 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
+ 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 _ZTI6G4x5y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G4x5y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x5y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G4x5y1[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G4x5y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x5y1[];
+static VTBL_ENTRY _tg__ZTV4E4x5__6G4x5y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x5[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C4__4E4x5__6G4x5y1[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E4x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G4x5y1[] = {
+ {&(_ZTV6G4x5y1[4]), 4,12},
+ {&(_ZTV6G4x5y1[8]), 8,12},
+ {&(_ZTV6G4x5y1[11]), 11,12},
+ {&(_tg__ZTV4E4x5__6G4x5y1[3]), 3,3},
+ {&(_tg__ZTV2B12C4__4E4x5__6G4x5y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G4x5y1[];
+extern VTBL_ENTRY _ZTV6G4x5y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x5y1[];
+Class_Descriptor cd_G4x5y1 = { "G4x5y1", // class name
+ bases_G4x5y1, 6,
+ &(vtc_G4x5y1[0]), // expected_vtbl_contents
+ &(vtt_G4x5y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G4x5y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x5y1),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x5y1),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 G4x5y2 : E4x5 , virtual F1 {
+ int ff;
+ ~G4x5y2(); // tgen
+ G4x5y2(); // tgen
+};
+//SIG(1 G4x5y2) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G4x5y2 ::~G4x5y2(){ note_dtor("G4x5y2", this);} // tgen
+G4x5y2 ::G4x5y2(){ note_ctor("G4x5y2", this);} // tgen
+
+static void Test_G4x5y2()
+{
+ extern Class_Descriptor cd_G4x5y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G4x5y2, buf);
+ G4x5y2 *dp, &lv = *(dp=new (buf) G4x5y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G4x5y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x5y2)");
+ check_base_class_offset(lv, (A0*)(C4*), ABISELECT(36,24), "G4x5y2");
+ check_base_class_offset(lv, (B1*)(C4*), ABISELECT(24,16), "G4x5y2");
+ check_base_class_offset(lv, (C4*)(E4x5*), ABISELECT(24,16), "G4x5y2");
+ check_base_class_offset(lv, (D0*)(E4x5*), ABISELECT(8,4), "G4x5y2");
+ check_base_class_offset(lv, (E4x5*), 0, "G4x5y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G4x5y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G4x5y2.ff");
+ test_class_info(&lv, &cd_G4x5y2);
+ dp->~G4x5y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x5y2(Test_G4x5y2, "G4x5y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G4x5y2C1Ev();
+extern void _ZN6G4x5y2D1Ev();
+Name_Map name_map_G4x5y2[] = {
+ NSPAIR(_ZN6G4x5y2C1Ev),
+ NSPAIR(_ZN6G4x5y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E4x5;
+extern VTBL_ENTRY _ZTI4E4x5[];
+extern VTBL_ENTRY _ZTV4E4x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G4x5y2[] = {
+ // 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)
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E4x5, 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
+ 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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G4x5y2[];
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G4x5y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x5y2[0]),
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G4x5y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G4x5y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x5y2[];
+static VTBL_ENTRY _tg__ZTV4E4x5__6G4x5y2[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x5[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C4__4E4x5__6G4x5y2[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E4x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G4x5y2[] = {
+ {&(_ZTV6G4x5y2[4]), 4,12},
+ {&(_tg__ZTV4E4x5__6G4x5y2[3]), 3,3},
+ {&(_tg__ZTV2B12C4__4E4x5__6G4x5y2[3]), 3,4},
+ {&(_ZTV6G4x5y2[7]), 7,12},
+ {&(_ZTV6G4x5y2[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI6G4x5y2[];
+extern VTBL_ENTRY _ZTV6G4x5y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x5y2[];
+Class_Descriptor cd_G4x5y2 = { "G4x5y2", // class name
+ bases_G4x5y2, 6,
+ &(vtc_G4x5y2[0]), // expected_vtbl_contents
+ &(vtt_G4x5y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G4x5y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x5y2),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x5y2),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 G4x5y3 : virtual E4x5 , virtual F1 {
+ int ff;
+ ~G4x5y3(); // tgen
+ G4x5y3(); // tgen
+};
+//SIG(1 G4x5y3) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G4x5y3 ::~G4x5y3(){ note_dtor("G4x5y3", this);} // tgen
+G4x5y3 ::G4x5y3(){ note_ctor("G4x5y3", this);} // tgen
+
+static void Test_G4x5y3()
+{
+ extern Class_Descriptor cd_G4x5y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G4x5y3, buf);
+ G4x5y3 *dp, &lv = *(dp=new (buf) G4x5y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G4x5y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x5y3)");
+ check_base_class_offset(lv, (A0*)(C4*), ABISELECT(44,28), "G4x5y3");
+ check_base_class_offset(lv, (B1*)(C4*), ABISELECT(32,20), "G4x5y3");
+ check_base_class_offset(lv, (C4*)(E4x5*), ABISELECT(32,20), "G4x5y3");
+ check_base_class_offset(lv, (D0*)(E4x5*), ABISELECT(24,12), "G4x5y3");
+ check_base_class_offset(lv, (E4x5*), ABISELECT(16,8), "G4x5y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G4x5y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G4x5y3.ff");
+ test_class_info(&lv, &cd_G4x5y3);
+ dp->~G4x5y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x5y3(Test_G4x5y3, "G4x5y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G4x5y3C1Ev();
+extern void _ZN6G4x5y3D1Ev();
+Name_Map name_map_G4x5y3[] = {
+ NSPAIR(_ZN6G4x5y3C1Ev),
+ NSPAIR(_ZN6G4x5y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E4x5;
+extern VTBL_ENTRY _ZTI4E4x5[];
+extern VTBL_ENTRY _ZTV4E4x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G4x5y3[] = {
+ // 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
+ 8, //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_D0, 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_E4x5, 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
+ 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 _ZTI6G4x5y3[];
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G4x5y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x5y3[0]),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G4x5y3[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G4x5y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G4x5y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x5y3[];
+static VTBL_ENTRY _tg__ZTV4E4x5__6G4x5y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x5[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C4__4E4x5__6G4x5y3[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E4x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G4x5y3[] = {
+ {&(_ZTV6G4x5y3[5]), 5,16},
+ {&(_ZTV6G4x5y3[8]), 8,16},
+ {&(_ZTV6G4x5y3[11]), 11,16},
+ {&(_ZTV6G4x5y3[15]), 15,16},
+ {&(_tg__ZTV4E4x5__6G4x5y3[3]), 3,3},
+ {&(_tg__ZTV2B12C4__4E4x5__6G4x5y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G4x5y3[];
+extern VTBL_ENTRY _ZTV6G4x5y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x5y3[];
+Class_Descriptor cd_G4x5y3 = { "G4x5y3", // class name
+ bases_G4x5y3, 6,
+ &(vtc_G4x5y3[0]), // expected_vtbl_contents
+ &(vtt_G4x5y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G4x5y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x5y3),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x5y3),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 G4x5y4 : E4x5 , F0 {
+ int ff;
+ ~G4x5y4(); // tgen
+ G4x5y4(); // tgen
+};
+//SIG(1 G4x5y4) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G4x5y4 ::~G4x5y4(){ note_dtor("G4x5y4", this);} // tgen
+G4x5y4 ::G4x5y4(){ note_ctor("G4x5y4", this);} // tgen
+
+static void Test_G4x5y4()
+{
+ extern Class_Descriptor cd_G4x5y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G4x5y4, buf);
+ G4x5y4 *dp, &lv = *(dp=new (buf) G4x5y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G4x5y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x5y4)");
+ check_base_class_offset(lv, (A0*)(C4*), ABISELECT(36,28), "G4x5y4");
+ check_base_class_offset(lv, (B1*)(C4*), ABISELECT(24,20), "G4x5y4");
+ check_base_class_offset(lv, (C4*)(E4x5*), ABISELECT(24,20), "G4x5y4");
+ check_base_class_offset(lv, (D0*)(E4x5*), ABISELECT(8,4), "G4x5y4");
+ check_base_class_offset(lv, (E4x5*), 0, "G4x5y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G4x5y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G4x5y4.ff");
+ test_class_info(&lv, &cd_G4x5y4);
+ dp->~G4x5y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x5y4(Test_G4x5y4, "G4x5y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G4x5y4C1Ev();
+extern void _ZN6G4x5y4D1Ev();
+Name_Map name_map_G4x5y4[] = {
+ NSPAIR(_ZN6G4x5y4C1Ev),
+ NSPAIR(_ZN6G4x5y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E4x5;
+extern VTBL_ENTRY _ZTI4E4x5[];
+extern VTBL_ENTRY _ZTV4E4x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G4x5y4[] = {
+ // 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
+ 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(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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E4x5, 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 _ZTI6G4x5y4[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G4x5y4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x5y4[0]),
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI6G4x5y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x5y4[];
+static VTBL_ENTRY _tg__ZTV4E4x5__6G4x5y4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x5[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C4__4E4x5__6G4x5y4[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E4x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G4x5y4[] = {
+ {&(_ZTV6G4x5y4[3]), 3,7},
+ {&(_tg__ZTV4E4x5__6G4x5y4[3]), 3,3},
+ {&(_tg__ZTV2B12C4__4E4x5__6G4x5y4[3]), 3,4},
+ {&(_ZTV6G4x5y4[6]), 6,7},
+};
+extern VTBL_ENTRY _ZTI6G4x5y4[];
+extern VTBL_ENTRY _ZTV6G4x5y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x5y4[];
+Class_Descriptor cd_G4x5y4 = { "G4x5y4", // class name
+ bases_G4x5y4, 6,
+ &(vtc_G4x5y4[0]), // expected_vtbl_contents
+ &(vtt_G4x5y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G4x5y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x5y4),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x5y4),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 G4x5y5 : virtual E4x5 , F0 {
+ int ff;
+ ~G4x5y5(); // tgen
+ G4x5y5(); // tgen
+};
+//SIG(1 G4x5y5) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G4x5y5 ::~G4x5y5(){ note_dtor("G4x5y5", this);} // tgen
+G4x5y5 ::G4x5y5(){ note_ctor("G4x5y5", this);} // tgen
+
+static void Test_G4x5y5()
+{
+ extern Class_Descriptor cd_G4x5y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G4x5y5, buf);
+ G4x5y5 *dp, &lv = *(dp=new (buf) G4x5y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G4x5y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x5y5)");
+ check_base_class_offset(lv, (A0*)(C4*), ABISELECT(44,32), "G4x5y5");
+ check_base_class_offset(lv, (B1*)(C4*), ABISELECT(32,24), "G4x5y5");
+ check_base_class_offset(lv, (C4*)(E4x5*), ABISELECT(32,24), "G4x5y5");
+ check_base_class_offset(lv, (D0*)(E4x5*), ABISELECT(24,16), "G4x5y5");
+ check_base_class_offset(lv, (E4x5*), ABISELECT(16,12), "G4x5y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G4x5y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G4x5y5.ff");
+ test_class_info(&lv, &cd_G4x5y5);
+ dp->~G4x5y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x5y5(Test_G4x5y5, "G4x5y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G4x5y5C1Ev();
+extern void _ZN6G4x5y5D1Ev();
+Name_Map name_map_G4x5y5[] = {
+ NSPAIR(_ZN6G4x5y5C1Ev),
+ NSPAIR(_ZN6G4x5y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E4x5;
+extern VTBL_ENTRY _ZTI4E4x5[];
+extern VTBL_ENTRY _ZTV4E4x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G4x5y5[] = {
+ // 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)
+ 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_D0, 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_E4x5, 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
+ 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 _ZTI6G4x5y5[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G4x5y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x5y5[0]),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G4x5y5[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G4x5y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x5y5[];
+static VTBL_ENTRY _tg__ZTV4E4x5__6G4x5y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x5[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C4__4E4x5__6G4x5y5[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E4x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G4x5y5[] = {
+ {&(_ZTV6G4x5y5[4]), 4,11},
+ {&(_ZTV6G4x5y5[7]), 7,11},
+ {&(_ZTV6G4x5y5[10]), 10,11},
+ {&(_tg__ZTV4E4x5__6G4x5y5[3]), 3,3},
+ {&(_tg__ZTV2B12C4__4E4x5__6G4x5y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G4x5y5[];
+extern VTBL_ENTRY _ZTV6G4x5y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x5y5[];
+Class_Descriptor cd_G4x5y5 = { "G4x5y5", // class name
+ bases_G4x5y5, 6,
+ &(vtc_G4x5y5[0]), // expected_vtbl_contents
+ &(vtt_G4x5y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G4x5y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x5y5),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x5y5),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 G4x5y6 : E4x5 , virtual F0 {
+ int ff;
+ ~G4x5y6(); // tgen
+ G4x5y6(); // tgen
+};
+//SIG(1 G4x5y6) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G4x5y6 ::~G4x5y6(){ note_dtor("G4x5y6", this);} // tgen
+G4x5y6 ::G4x5y6(){ note_ctor("G4x5y6", this);} // tgen
+
+static void Test_G4x5y6()
+{
+ extern Class_Descriptor cd_G4x5y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G4x5y6, buf);
+ G4x5y6 *dp, &lv = *(dp=new (buf) G4x5y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G4x5y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x5y6)");
+ check_base_class_offset(lv, (A0*)(C4*), ABISELECT(36,24), "G4x5y6");
+ check_base_class_offset(lv, (B1*)(C4*), ABISELECT(24,16), "G4x5y6");
+ check_base_class_offset(lv, (C4*)(E4x5*), ABISELECT(24,16), "G4x5y6");
+ check_base_class_offset(lv, (D0*)(E4x5*), ABISELECT(8,4), "G4x5y6");
+ check_base_class_offset(lv, (E4x5*), 0, "G4x5y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G4x5y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G4x5y6.ff");
+ test_class_info(&lv, &cd_G4x5y6);
+ dp->~G4x5y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x5y6(Test_G4x5y6, "G4x5y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G4x5y6C1Ev();
+extern void _ZN6G4x5y6D1Ev();
+Name_Map name_map_G4x5y6[] = {
+ NSPAIR(_ZN6G4x5y6C1Ev),
+ NSPAIR(_ZN6G4x5y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E4x5;
+extern VTBL_ENTRY _ZTI4E4x5[];
+extern VTBL_ENTRY _ZTV4E4x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G4x5y6[] = {
+ // 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)
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E4x5, 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 _ZTI6G4x5y6[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G4x5y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x5y6[0]),
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G4x5y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x5y6[];
+static VTBL_ENTRY _tg__ZTV4E4x5__6G4x5y6[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x5[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C4__4E4x5__6G4x5y6[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E4x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G4x5y6[] = {
+ {&(_ZTV6G4x5y6[4]), 4,8},
+ {&(_tg__ZTV4E4x5__6G4x5y6[3]), 3,3},
+ {&(_tg__ZTV2B12C4__4E4x5__6G4x5y6[3]), 3,4},
+ {&(_ZTV6G4x5y6[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI6G4x5y6[];
+extern VTBL_ENTRY _ZTV6G4x5y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x5y6[];
+Class_Descriptor cd_G4x5y6 = { "G4x5y6", // class name
+ bases_G4x5y6, 6,
+ &(vtc_G4x5y6[0]), // expected_vtbl_contents
+ &(vtt_G4x5y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G4x5y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x5y6),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x5y6),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 G4x5y7 : virtual E4x5 , virtual F0 {
+ int ff;
+ ~G4x5y7(); // tgen
+ G4x5y7(); // tgen
+};
+//SIG(1 G4x5y7) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G4x5y7 ::~G4x5y7(){ note_dtor("G4x5y7", this);} // tgen
+G4x5y7 ::G4x5y7(){ note_ctor("G4x5y7", this);} // tgen
+
+static void Test_G4x5y7()
+{
+ extern Class_Descriptor cd_G4x5y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G4x5y7, buf);
+ G4x5y7 *dp, &lv = *(dp=new (buf) G4x5y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G4x5y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x5y7)");
+ check_base_class_offset(lv, (A0*)(C4*), ABISELECT(44,28), "G4x5y7");
+ check_base_class_offset(lv, (B1*)(C4*), ABISELECT(32,20), "G4x5y7");
+ check_base_class_offset(lv, (C4*)(E4x5*), ABISELECT(32,20), "G4x5y7");
+ check_base_class_offset(lv, (D0*)(E4x5*), ABISELECT(24,12), "G4x5y7");
+ check_base_class_offset(lv, (E4x5*), ABISELECT(16,8), "G4x5y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G4x5y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G4x5y7.ff");
+ test_class_info(&lv, &cd_G4x5y7);
+ dp->~G4x5y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x5y7(Test_G4x5y7, "G4x5y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G4x5y7C1Ev();
+extern void _ZN6G4x5y7D1Ev();
+Name_Map name_map_G4x5y7[] = {
+ NSPAIR(_ZN6G4x5y7C1Ev),
+ NSPAIR(_ZN6G4x5y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E4x5;
+extern VTBL_ENTRY _ZTI4E4x5[];
+extern VTBL_ENTRY _ZTV4E4x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G4x5y7[] = {
+ // 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
+ 8, //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_D0, 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_E4x5, 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
+ 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 _ZTI6G4x5y7[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G4x5y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x5y7[0]),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G4x5y7[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G4x5y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x5y7[];
+static VTBL_ENTRY _tg__ZTV4E4x5__6G4x5y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x5[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C4__4E4x5__6G4x5y7[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E4x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G4x5y7[] = {
+ {&(_ZTV6G4x5y7[5]), 5,12},
+ {&(_ZTV6G4x5y7[8]), 8,12},
+ {&(_ZTV6G4x5y7[11]), 11,12},
+ {&(_tg__ZTV4E4x5__6G4x5y7[3]), 3,3},
+ {&(_tg__ZTV2B12C4__4E4x5__6G4x5y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G4x5y7[];
+extern VTBL_ENTRY _ZTV6G4x5y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x5y7[];
+Class_Descriptor cd_G4x5y7 = { "G4x5y7", // class name
+ bases_G4x5y7, 6,
+ &(vtc_G4x5y7[0]), // expected_vtbl_contents
+ &(vtt_G4x5y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G4x5y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x5y7),12, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x5y7),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 E5x5 : virtual C5 , D0 {
+ int fd;
+ ~E5x5(); // tgen
+ E5x5(); // tgen
+};
+//SIG(-1 E5x5) C1{ VBC2{ BC3{ v1 Fi} BC4{ v2 Fi} Fi} BC5{ Fi} Fi}
+
+
+E5x5 ::~E5x5(){ note_dtor("E5x5", this);} // tgen
+E5x5 ::E5x5(){ note_ctor("E5x5", this);} // tgen
+
+static void Test_E5x5()
+{
+ extern Class_Descriptor cd_E5x5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E5x5, buf);
+ E5x5 *dp, &lv = *(dp=new (buf) E5x5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E5x5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E5x5)");
+ check_base_class_offset(lv, (A1*)(C5*), ABISELECT(16,12), "E5x5");
+ check_base_class_offset(lv, (B1*)(C5*), ABISELECT(32,20), "E5x5");
+ check_base_class_offset(lv, (C5*), ABISELECT(16,12), "E5x5");
+ check_base_class_offset(lv, (D0*), ABISELECT(8,4), "E5x5");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E5x5.fd");
+ test_class_info(&lv, &cd_E5x5);
+ dp->~E5x5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE5x5(Test_E5x5, "E5x5", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN4E5x5C1Ev();
+extern void _ZN4E5x5D1Ev();
+Name_Map name_map_E5x5[] = {
+ NSPAIR(_ZN4E5x5C1Ev),
+ NSPAIR(_ZN4E5x5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E5x5[] = {
+ // 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
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI4E5x5[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_E5x5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x5[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E5x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E5x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E5x5[];
+static VTT_ENTRY vtt_E5x5[] = {
+ {&(_ZTV4E5x5[3]), 3,10},
+ {&(_ZTV4E5x5[6]), 6,10},
+ {&(_ZTV4E5x5[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI4E5x5[];
+extern VTBL_ENTRY _ZTV4E5x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x5[];
+Class_Descriptor cd_E5x5 = { "E5x5", // class name
+ bases_E5x5, 4,
+ &(vtc_E5x5[0]), // expected_vtbl_contents
+ &(vtt_E5x5[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI4E5x5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E5x5),10, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E5x5),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 G5x5y0 : E5x5 , F1 {
+ int ff;
+ ~G5x5y0(); // tgen
+ G5x5y0(); // tgen
+};
+//SIG(1 G5x5y0) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G5x5y0 ::~G5x5y0(){ note_dtor("G5x5y0", this);} // tgen
+G5x5y0 ::G5x5y0(){ note_ctor("G5x5y0", this);} // tgen
+
+static void Test_G5x5y0()
+{
+ extern Class_Descriptor cd_G5x5y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G5x5y0, buf);
+ G5x5y0 *dp, &lv = *(dp=new (buf) G5x5y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G5x5y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x5y0)");
+ check_base_class_offset(lv, (A1*)(C5*), ABISELECT(32,24), "G5x5y0");
+ check_base_class_offset(lv, (B1*)(C5*), ABISELECT(48,32), "G5x5y0");
+ check_base_class_offset(lv, (C5*)(E5x5*), ABISELECT(32,24), "G5x5y0");
+ check_base_class_offset(lv, (D0*)(E5x5*), ABISELECT(8,4), "G5x5y0");
+ check_base_class_offset(lv, (E5x5*), 0, "G5x5y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G5x5y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G5x5y0.ff");
+ test_class_info(&lv, &cd_G5x5y0);
+ dp->~G5x5y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x5y0(Test_G5x5y0, "G5x5y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G5x5y0C1Ev();
+extern void _ZN6G5x5y0D1Ev();
+Name_Map name_map_G5x5y0[] = {
+ NSPAIR(_ZN6G5x5y0C1Ev),
+ NSPAIR(_ZN6G5x5y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E5x5;
+extern VTBL_ENTRY _ZTI4E5x5[];
+extern VTBL_ENTRY _ZTV4E5x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G5x5y0[] = {
+ // 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)
+ 0, //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
+ 10, //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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E5x5, 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
+ 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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G5x5y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G5x5y0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x5y0[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G5x5y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G5x5y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G5x5y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x5y0[];
+static VTBL_ENTRY _tg__ZTV4E5x5__6G5x5y0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C5__4E5x5__6G5x5y0[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E5x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C5__4E5x5__6G5x5y0[] = {
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI4E5x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G5x5y0[] = {
+ {&(_ZTV6G5x5y0[3]), 3,13},
+ {&(_tg__ZTV4E5x5__6G5x5y0[3]), 3,3},
+ {&(_tg__ZTV2A12C5__4E5x5__6G5x5y0[3]), 3,4},
+ {&(_tg__ZTV2B12C5__4E5x5__6G5x5y0[2]), 2,3},
+ {&(_ZTV6G5x5y0[9]), 9,13},
+ {&(_ZTV6G5x5y0[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI6G5x5y0[];
+extern VTBL_ENTRY _ZTV6G5x5y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x5y0[];
+Class_Descriptor cd_G5x5y0 = { "G5x5y0", // class name
+ bases_G5x5y0, 6,
+ &(vtc_G5x5y0[0]), // expected_vtbl_contents
+ &(vtt_G5x5y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G5x5y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x5y0),13, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x5y0),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 G5x5y1 : virtual E5x5 , F1 {
+ int ff;
+ ~G5x5y1(); // tgen
+ G5x5y1(); // tgen
+};
+//SIG(1 G5x5y1) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G5x5y1 ::~G5x5y1(){ note_dtor("G5x5y1", this);} // tgen
+G5x5y1 ::G5x5y1(){ note_ctor("G5x5y1", this);} // tgen
+
+static void Test_G5x5y1()
+{
+ extern Class_Descriptor cd_G5x5y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G5x5y1, buf);
+ G5x5y1 *dp, &lv = *(dp=new (buf) G5x5y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G5x5y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x5y1)");
+ check_base_class_offset(lv, (A1*)(C5*), ABISELECT(32,24), "G5x5y1");
+ check_base_class_offset(lv, (B1*)(C5*), ABISELECT(48,32), "G5x5y1");
+ check_base_class_offset(lv, (C5*)(E5x5*), ABISELECT(32,24), "G5x5y1");
+ check_base_class_offset(lv, (D0*)(E5x5*), ABISELECT(24,16), "G5x5y1");
+ check_base_class_offset(lv, (E5x5*), ABISELECT(16,12), "G5x5y1");
+ check_base_class_offset(lv, (F1*), 0, "G5x5y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G5x5y1.ff");
+ test_class_info(&lv, &cd_G5x5y1);
+ dp->~G5x5y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x5y1(Test_G5x5y1, "G5x5y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G5x5y1C1Ev();
+extern void _ZN6G5x5y1D1Ev();
+Name_Map name_map_G5x5y1[] = {
+ NSPAIR(_ZN6G5x5y1C1Ev),
+ NSPAIR(_ZN6G5x5y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E5x5;
+extern VTBL_ENTRY _ZTI4E5x5[];
+extern VTBL_ENTRY _ZTV4E5x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G5x5y1[] = {
+ // 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)
+ 0, //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
+ 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_D0, 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_E5x5, 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
+ 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 _ZTI6G5x5y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G5x5y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x5y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G5x5y1[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G5x5y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G5x5y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x5y1[];
+static VTBL_ENTRY _tg__ZTV4E5x5__6G5x5y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C5__4E5x5__6G5x5y1[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E5x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C5__4E5x5__6G5x5y1[] = {
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E5x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G5x5y1[] = {
+ {&(_ZTV6G5x5y1[4]), 4,15},
+ {&(_ZTV6G5x5y1[8]), 8,15},
+ {&(_ZTV6G5x5y1[11]), 11,15},
+ {&(_ZTV6G5x5y1[14]), 14,15},
+ {&(_tg__ZTV4E5x5__6G5x5y1[3]), 3,3},
+ {&(_tg__ZTV2A12C5__4E5x5__6G5x5y1[3]), 3,4},
+ {&(_tg__ZTV2B12C5__4E5x5__6G5x5y1[2]), 2,3},
+};
+extern VTBL_ENTRY _ZTI6G5x5y1[];
+extern VTBL_ENTRY _ZTV6G5x5y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x5y1[];
+Class_Descriptor cd_G5x5y1 = { "G5x5y1", // class name
+ bases_G5x5y1, 6,
+ &(vtc_G5x5y1[0]), // expected_vtbl_contents
+ &(vtt_G5x5y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G5x5y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x5y1),15, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x5y1),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 G5x5y2 : E5x5 , virtual F1 {
+ int ff;
+ ~G5x5y2(); // tgen
+ G5x5y2(); // tgen
+};
+//SIG(1 G5x5y2) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G5x5y2 ::~G5x5y2(){ note_dtor("G5x5y2", this);} // tgen
+G5x5y2 ::G5x5y2(){ note_ctor("G5x5y2", this);} // tgen
+
+static void Test_G5x5y2()
+{
+ extern Class_Descriptor cd_G5x5y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G5x5y2, buf);
+ G5x5y2 *dp, &lv = *(dp=new (buf) G5x5y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G5x5y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x5y2)");
+ check_base_class_offset(lv, (A1*)(C5*), ABISELECT(24,16), "G5x5y2");
+ check_base_class_offset(lv, (B1*)(C5*), ABISELECT(40,24), "G5x5y2");
+ check_base_class_offset(lv, (C5*)(E5x5*), ABISELECT(24,16), "G5x5y2");
+ check_base_class_offset(lv, (D0*)(E5x5*), ABISELECT(8,4), "G5x5y2");
+ check_base_class_offset(lv, (E5x5*), 0, "G5x5y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G5x5y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G5x5y2.ff");
+ test_class_info(&lv, &cd_G5x5y2);
+ dp->~G5x5y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x5y2(Test_G5x5y2, "G5x5y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G5x5y2C1Ev();
+extern void _ZN6G5x5y2D1Ev();
+Name_Map name_map_G5x5y2[] = {
+ NSPAIR(_ZN6G5x5y2C1Ev),
+ NSPAIR(_ZN6G5x5y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E5x5;
+extern VTBL_ENTRY _ZTI4E5x5[];
+extern VTBL_ENTRY _ZTV4E5x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G5x5y2[] = {
+ // 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)
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E5x5, 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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G5x5y2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G5x5y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x5y2[0]),
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G5x5y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI6G5x5y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G5x5y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x5y2[];
+static VTBL_ENTRY _tg__ZTV4E5x5__6G5x5y2[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C5__4E5x5__6G5x5y2[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E5x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C5__4E5x5__6G5x5y2[] = {
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI4E5x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G5x5y2[] = {
+ {&(_ZTV6G5x5y2[4]), 4,15},
+ {&(_tg__ZTV4E5x5__6G5x5y2[3]), 3,3},
+ {&(_tg__ZTV2A12C5__4E5x5__6G5x5y2[3]), 3,4},
+ {&(_tg__ZTV2B12C5__4E5x5__6G5x5y2[2]), 2,3},
+ {&(_ZTV6G5x5y2[7]), 7,15},
+ {&(_ZTV6G5x5y2[10]), 10,15},
+ {&(_ZTV6G5x5y2[14]), 14,15},
+};
+extern VTBL_ENTRY _ZTI6G5x5y2[];
+extern VTBL_ENTRY _ZTV6G5x5y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x5y2[];
+Class_Descriptor cd_G5x5y2 = { "G5x5y2", // class name
+ bases_G5x5y2, 6,
+ &(vtc_G5x5y2[0]), // expected_vtbl_contents
+ &(vtt_G5x5y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G5x5y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x5y2),15, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x5y2),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 G5x5y3 : virtual E5x5 , virtual F1 {
+ int ff;
+ ~G5x5y3(); // tgen
+ G5x5y3(); // tgen
+};
+//SIG(1 G5x5y3) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G5x5y3 ::~G5x5y3(){ note_dtor("G5x5y3", this);} // tgen
+G5x5y3 ::G5x5y3(){ note_ctor("G5x5y3", this);} // tgen
+
+static void Test_G5x5y3()
+{
+ extern Class_Descriptor cd_G5x5y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G5x5y3, buf);
+ G5x5y3 *dp, &lv = *(dp=new (buf) G5x5y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G5x5y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x5y3)");
+ check_base_class_offset(lv, (A1*)(C5*), ABISELECT(32,20), "G5x5y3");
+ check_base_class_offset(lv, (B1*)(C5*), ABISELECT(48,28), "G5x5y3");
+ check_base_class_offset(lv, (C5*)(E5x5*), ABISELECT(32,20), "G5x5y3");
+ check_base_class_offset(lv, (D0*)(E5x5*), ABISELECT(24,12), "G5x5y3");
+ check_base_class_offset(lv, (E5x5*), ABISELECT(16,8), "G5x5y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G5x5y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G5x5y3.ff");
+ test_class_info(&lv, &cd_G5x5y3);
+ dp->~G5x5y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x5y3(Test_G5x5y3, "G5x5y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN6G5x5y3C1Ev();
+extern void _ZN6G5x5y3D1Ev();
+Name_Map name_map_G5x5y3[] = {
+ NSPAIR(_ZN6G5x5y3C1Ev),
+ NSPAIR(_ZN6G5x5y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E5x5;
+extern VTBL_ENTRY _ZTI4E5x5[];
+extern VTBL_ENTRY _ZTV4E5x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G5x5y3[] = {
+ // 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)
+ 0, //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
+ 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
+ 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_D0, 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_E5x5, 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
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(64,40), //bcp->offset
+ 15, //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 _ZTI6G5x5y3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G5x5y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x5y3[0]),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G5x5y3[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G5x5y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI6G5x5y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI6G5x5y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x5y3[];
+static VTBL_ENTRY _tg__ZTV4E5x5__6G5x5y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C5__4E5x5__6G5x5y3[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E5x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C5__4E5x5__6G5x5y3[] = {
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E5x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G5x5y3[] = {
+ {&(_ZTV6G5x5y3[5]), 5,19},
+ {&(_ZTV6G5x5y3[8]), 8,19},
+ {&(_ZTV6G5x5y3[11]), 11,19},
+ {&(_ZTV6G5x5y3[14]), 14,19},
+ {&(_ZTV6G5x5y3[18]), 18,19},
+ {&(_tg__ZTV4E5x5__6G5x5y3[3]), 3,3},
+ {&(_tg__ZTV2A12C5__4E5x5__6G5x5y3[3]), 3,4},
+ {&(_tg__ZTV2B12C5__4E5x5__6G5x5y3[2]), 2,3},
+};
+extern VTBL_ENTRY _ZTI6G5x5y3[];
+extern VTBL_ENTRY _ZTV6G5x5y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x5y3[];
+Class_Descriptor cd_G5x5y3 = { "G5x5y3", // class name
+ bases_G5x5y3, 6,
+ &(vtc_G5x5y3[0]), // expected_vtbl_contents
+ &(vtt_G5x5y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI6G5x5y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x5y3),19, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x5y3),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 G5x5y4 : E5x5 , F0 {
+ int ff;
+ ~G5x5y4(); // tgen
+ G5x5y4(); // tgen
+};
+//SIG(1 G5x5y4) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G5x5y4 ::~G5x5y4(){ note_dtor("G5x5y4", this);} // tgen
+G5x5y4 ::G5x5y4(){ note_ctor("G5x5y4", this);} // tgen
+
+static void Test_G5x5y4()
+{
+ extern Class_Descriptor cd_G5x5y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G5x5y4, buf);
+ G5x5y4 *dp, &lv = *(dp=new (buf) G5x5y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G5x5y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x5y4)");
+ check_base_class_offset(lv, (A1*)(C5*), ABISELECT(24,20), "G5x5y4");
+ check_base_class_offset(lv, (B1*)(C5*), ABISELECT(40,28), "G5x5y4");
+ check_base_class_offset(lv, (C5*)(E5x5*), ABISELECT(24,20), "G5x5y4");
+ check_base_class_offset(lv, (D0*)(E5x5*), ABISELECT(8,4), "G5x5y4");
+ check_base_class_offset(lv, (E5x5*), 0, "G5x5y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G5x5y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G5x5y4.ff");
+ test_class_info(&lv, &cd_G5x5y4);
+ dp->~G5x5y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x5y4(Test_G5x5y4, "G5x5y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G5x5y4C1Ev();
+extern void _ZN6G5x5y4D1Ev();
+Name_Map name_map_G5x5y4[] = {
+ NSPAIR(_ZN6G5x5y4C1Ev),
+ NSPAIR(_ZN6G5x5y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E5x5;
+extern VTBL_ENTRY _ZTI4E5x5[];
+extern VTBL_ENTRY _ZTV4E5x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G5x5y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(24,20), //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(40,28), //bcp->offset
+ 7, //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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E5x5, 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 _ZTI6G5x5y4[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G5x5y4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x5y4[0]),
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI6G5x5y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G5x5y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x5y4[];
+static VTBL_ENTRY _tg__ZTV4E5x5__6G5x5y4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C5__4E5x5__6G5x5y4[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E5x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C5__4E5x5__6G5x5y4[] = {
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI4E5x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G5x5y4[] = {
+ {&(_ZTV6G5x5y4[3]), 3,10},
+ {&(_tg__ZTV4E5x5__6G5x5y4[3]), 3,3},
+ {&(_tg__ZTV2A12C5__4E5x5__6G5x5y4[3]), 3,4},
+ {&(_tg__ZTV2B12C5__4E5x5__6G5x5y4[2]), 2,3},
+ {&(_ZTV6G5x5y4[6]), 6,10},
+ {&(_ZTV6G5x5y4[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI6G5x5y4[];
+extern VTBL_ENTRY _ZTV6G5x5y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x5y4[];
+Class_Descriptor cd_G5x5y4 = { "G5x5y4", // class name
+ bases_G5x5y4, 6,
+ &(vtc_G5x5y4[0]), // expected_vtbl_contents
+ &(vtt_G5x5y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G5x5y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x5y4),10, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x5y4),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 G5x5y5 : virtual E5x5 , F0 {
+ int ff;
+ ~G5x5y5(); // tgen
+ G5x5y5(); // tgen
+};
+//SIG(1 G5x5y5) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G5x5y5 ::~G5x5y5(){ note_dtor("G5x5y5", this);} // tgen
+G5x5y5 ::G5x5y5(){ note_ctor("G5x5y5", this);} // tgen
+
+static void Test_G5x5y5()
+{
+ extern Class_Descriptor cd_G5x5y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G5x5y5, buf);
+ G5x5y5 *dp, &lv = *(dp=new (buf) G5x5y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G5x5y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x5y5)");
+ check_base_class_offset(lv, (A1*)(C5*), ABISELECT(32,24), "G5x5y5");
+ check_base_class_offset(lv, (B1*)(C5*), ABISELECT(48,32), "G5x5y5");
+ check_base_class_offset(lv, (C5*)(E5x5*), ABISELECT(32,24), "G5x5y5");
+ check_base_class_offset(lv, (D0*)(E5x5*), ABISELECT(24,16), "G5x5y5");
+ check_base_class_offset(lv, (E5x5*), ABISELECT(16,12), "G5x5y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G5x5y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G5x5y5.ff");
+ test_class_info(&lv, &cd_G5x5y5);
+ dp->~G5x5y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x5y5(Test_G5x5y5, "G5x5y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G5x5y5C1Ev();
+extern void _ZN6G5x5y5D1Ev();
+Name_Map name_map_G5x5y5[] = {
+ NSPAIR(_ZN6G5x5y5C1Ev),
+ NSPAIR(_ZN6G5x5y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E5x5;
+extern VTBL_ENTRY _ZTI4E5x5[];
+extern VTBL_ENTRY _ZTV4E5x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G5x5y5[] = {
+ // 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)
+ 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_D0, 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_E5x5, 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
+ 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 _ZTI6G5x5y5[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G5x5y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x5y5[0]),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G5x5y5[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G5x5y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G5x5y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x5y5[];
+static VTBL_ENTRY _tg__ZTV4E5x5__6G5x5y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C5__4E5x5__6G5x5y5[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E5x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C5__4E5x5__6G5x5y5[] = {
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E5x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G5x5y5[] = {
+ {&(_ZTV6G5x5y5[4]), 4,14},
+ {&(_ZTV6G5x5y5[7]), 7,14},
+ {&(_ZTV6G5x5y5[10]), 10,14},
+ {&(_ZTV6G5x5y5[13]), 13,14},
+ {&(_tg__ZTV4E5x5__6G5x5y5[3]), 3,3},
+ {&(_tg__ZTV2A12C5__4E5x5__6G5x5y5[3]), 3,4},
+ {&(_tg__ZTV2B12C5__4E5x5__6G5x5y5[2]), 2,3},
+};
+extern VTBL_ENTRY _ZTI6G5x5y5[];
+extern VTBL_ENTRY _ZTV6G5x5y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x5y5[];
+Class_Descriptor cd_G5x5y5 = { "G5x5y5", // class name
+ bases_G5x5y5, 6,
+ &(vtc_G5x5y5[0]), // expected_vtbl_contents
+ &(vtt_G5x5y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G5x5y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x5y5),14, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x5y5),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 G5x5y6 : E5x5 , virtual F0 {
+ int ff;
+ ~G5x5y6(); // tgen
+ G5x5y6(); // tgen
+};
+//SIG(1 G5x5y6) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G5x5y6 ::~G5x5y6(){ note_dtor("G5x5y6", this);} // tgen
+G5x5y6 ::G5x5y6(){ note_ctor("G5x5y6", this);} // tgen
+
+static void Test_G5x5y6()
+{
+ extern Class_Descriptor cd_G5x5y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G5x5y6, buf);
+ G5x5y6 *dp, &lv = *(dp=new (buf) G5x5y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G5x5y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x5y6)");
+ check_base_class_offset(lv, (A1*)(C5*), ABISELECT(24,16), "G5x5y6");
+ check_base_class_offset(lv, (B1*)(C5*), ABISELECT(40,24), "G5x5y6");
+ check_base_class_offset(lv, (C5*)(E5x5*), ABISELECT(24,16), "G5x5y6");
+ check_base_class_offset(lv, (D0*)(E5x5*), ABISELECT(8,4), "G5x5y6");
+ check_base_class_offset(lv, (E5x5*), 0, "G5x5y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G5x5y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G5x5y6.ff");
+ test_class_info(&lv, &cd_G5x5y6);
+ dp->~G5x5y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x5y6(Test_G5x5y6, "G5x5y6", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G5x5y6C1Ev();
+extern void _ZN6G5x5y6D1Ev();
+Name_Map name_map_G5x5y6[] = {
+ NSPAIR(_ZN6G5x5y6C1Ev),
+ NSPAIR(_ZN6G5x5y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E5x5;
+extern VTBL_ENTRY _ZTI4E5x5[];
+extern VTBL_ENTRY _ZTV4E5x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G5x5y6[] = {
+ // 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)
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E5x5, 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(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 _ZTI6G5x5y6[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G5x5y6[] = {
+ ABISELECT(56,36),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x5y6[0]),
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G5x5y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI6G5x5y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x5y6[];
+static VTBL_ENTRY _tg__ZTV4E5x5__6G5x5y6[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C5__4E5x5__6G5x5y6[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E5x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C5__4E5x5__6G5x5y6[] = {
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI4E5x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G5x5y6[] = {
+ {&(_ZTV6G5x5y6[4]), 4,11},
+ {&(_tg__ZTV4E5x5__6G5x5y6[3]), 3,3},
+ {&(_tg__ZTV2A12C5__4E5x5__6G5x5y6[3]), 3,4},
+ {&(_tg__ZTV2B12C5__4E5x5__6G5x5y6[2]), 2,3},
+ {&(_ZTV6G5x5y6[7]), 7,11},
+ {&(_ZTV6G5x5y6[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI6G5x5y6[];
+extern VTBL_ENTRY _ZTV6G5x5y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x5y6[];
+Class_Descriptor cd_G5x5y6 = { "G5x5y6", // class name
+ bases_G5x5y6, 6,
+ &(vtc_G5x5y6[0]), // expected_vtbl_contents
+ &(vtt_G5x5y6[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G5x5y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x5y6),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x5y6),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 G5x5y7 : virtual E5x5 , virtual F0 {
+ int ff;
+ ~G5x5y7(); // tgen
+ G5x5y7(); // tgen
+};
+//SIG(1 G5x5y7) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G5x5y7 ::~G5x5y7(){ note_dtor("G5x5y7", this);} // tgen
+G5x5y7 ::G5x5y7(){ note_ctor("G5x5y7", this);} // tgen
+
+static void Test_G5x5y7()
+{
+ extern Class_Descriptor cd_G5x5y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G5x5y7, buf);
+ G5x5y7 *dp, &lv = *(dp=new (buf) G5x5y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G5x5y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x5y7)");
+ check_base_class_offset(lv, (A1*)(C5*), ABISELECT(32,20), "G5x5y7");
+ check_base_class_offset(lv, (B1*)(C5*), ABISELECT(48,28), "G5x5y7");
+ check_base_class_offset(lv, (C5*)(E5x5*), ABISELECT(32,20), "G5x5y7");
+ check_base_class_offset(lv, (D0*)(E5x5*), ABISELECT(24,12), "G5x5y7");
+ check_base_class_offset(lv, (E5x5*), ABISELECT(16,8), "G5x5y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(64,40), "G5x5y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G5x5y7.ff");
+ test_class_info(&lv, &cd_G5x5y7);
+ dp->~G5x5y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x5y7(Test_G5x5y7, "G5x5y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G5x5y7C1Ev();
+extern void _ZN6G5x5y7D1Ev();
+Name_Map name_map_G5x5y7[] = {
+ NSPAIR(_ZN6G5x5y7C1Ev),
+ NSPAIR(_ZN6G5x5y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E5x5;
+extern VTBL_ENTRY _ZTI4E5x5[];
+extern VTBL_ENTRY _ZTV4E5x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G5x5y7[] = {
+ // 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)
+ 0, //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
+ 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
+ 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_D0, 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_E5x5, 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
+ 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 _ZTI6G5x5y7[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G5x5y7[] = {
+ ABISELECT(64,40),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x5y7[0]),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G5x5y7[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G5x5y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI6G5x5y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x5y7[];
+static VTBL_ENTRY _tg__ZTV4E5x5__6G5x5y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C5__4E5x5__6G5x5y7[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E5x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C5__4E5x5__6G5x5y7[] = {
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E5x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G5x5y7[] = {
+ {&(_ZTV6G5x5y7[5]), 5,15},
+ {&(_ZTV6G5x5y7[8]), 8,15},
+ {&(_ZTV6G5x5y7[11]), 11,15},
+ {&(_ZTV6G5x5y7[14]), 14,15},
+ {&(_tg__ZTV4E5x5__6G5x5y7[3]), 3,3},
+ {&(_tg__ZTV2A12C5__4E5x5__6G5x5y7[3]), 3,4},
+ {&(_tg__ZTV2B12C5__4E5x5__6G5x5y7[2]), 2,3},
+};
+extern VTBL_ENTRY _ZTI6G5x5y7[];
+extern VTBL_ENTRY _ZTV6G5x5y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x5y7[];
+Class_Descriptor cd_G5x5y7 = { "G5x5y7", // class name
+ bases_G5x5y7, 6,
+ &(vtc_G5x5y7[0]), // expected_vtbl_contents
+ &(vtt_G5x5y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G5x5y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x5y7),15, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x5y7),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 E6x5 : virtual C6 , D0 {
+ int fd;
+ ~E6x5(); // tgen
+ E6x5(); // tgen
+};
+//SIG(-1 E6x5) C1{ VBC2{ VBC3{ Fi} BC4{ v1 Fi} Fi} BC5{ Fi} Fi}
+
+
+E6x5 ::~E6x5(){ note_dtor("E6x5", this);} // tgen
+E6x5 ::E6x5(){ note_ctor("E6x5", this);} // tgen
+
+static void Test_E6x5()
+{
+ extern Class_Descriptor cd_E6x5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E6x5, buf);
+ E6x5 *dp, &lv = *(dp=new (buf) E6x5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E6x5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E6x5)");
+ check_base_class_offset(lv, (A0*)(C6*), ABISELECT(32,24), "E6x5");
+ check_base_class_offset(lv, (B1*)(C6*), ABISELECT(16,12), "E6x5");
+ check_base_class_offset(lv, (C6*), ABISELECT(16,12), "E6x5");
+ check_base_class_offset(lv, (D0*), ABISELECT(8,4), "E6x5");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E6x5.fd");
+ test_class_info(&lv, &cd_E6x5);
+ dp->~E6x5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE6x5(Test_E6x5, "E6x5", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN4E6x5C1Ev();
+extern void _ZN4E6x5D1Ev();
+Name_Map name_map_E6x5[] = {
+ NSPAIR(_ZN4E6x5C1Ev),
+ NSPAIR(_ZN4E6x5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E6x5[] = {
+ // 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
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI4E6x5[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_E6x5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E6x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E6x5[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__4E6x5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_E6x5[] = {
+ {&(_ZTV4E6x5[4]), 4,9},
+ {&(_ZTV4E6x5[8]), 8,9},
+ {&(_tg__ZTV2C6__4E6x5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI4E6x5[];
+extern VTBL_ENTRY _ZTV4E6x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x5[];
+Class_Descriptor cd_E6x5 = { "E6x5", // class name
+ bases_E6x5, 4,
+ &(vtc_E6x5[0]), // expected_vtbl_contents
+ &(vtt_E6x5[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI4E6x5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E6x5),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E6x5),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 G6x5y0 : E6x5 , F1 {
+ int ff;
+ ~G6x5y0(); // tgen
+ G6x5y0(); // tgen
+};
+//SIG(1 G6x5y0) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G6x5y0 ::~G6x5y0(){ note_dtor("G6x5y0", this);} // tgen
+G6x5y0 ::G6x5y0(){ note_ctor("G6x5y0", this);} // tgen
+
+static void Test_G6x5y0()
+{
+ extern Class_Descriptor cd_G6x5y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G6x5y0, buf);
+ G6x5y0 *dp, &lv = *(dp=new (buf) G6x5y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G6x5y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x5y0)");
+ check_base_class_offset(lv, (A0*)(C6*), ABISELECT(48,36), "G6x5y0");
+ check_base_class_offset(lv, (B1*)(C6*), ABISELECT(32,24), "G6x5y0");
+ check_base_class_offset(lv, (C6*)(E6x5*), ABISELECT(32,24), "G6x5y0");
+ check_base_class_offset(lv, (D0*)(E6x5*), ABISELECT(8,4), "G6x5y0");
+ check_base_class_offset(lv, (E6x5*), 0, "G6x5y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G6x5y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G6x5y0.ff");
+ test_class_info(&lv, &cd_G6x5y0);
+ dp->~G6x5y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x5y0(Test_G6x5y0, "G6x5y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G6x5y0C1Ev();
+extern void _ZN6G6x5y0D1Ev();
+Name_Map name_map_G6x5y0[] = {
+ NSPAIR(_ZN6G6x5y0C1Ev),
+ NSPAIR(_ZN6G6x5y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E6x5;
+extern VTBL_ENTRY _ZTI4E6x5[];
+extern VTBL_ENTRY _ZTV4E6x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G6x5y0[] = {
+ // 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
+ 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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E6x5, 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
+ 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 _ZTI6G6x5y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G6x5y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x5y0[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G6x5y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G6x5y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x5y0[];
+static VTBL_ENTRY _tg__ZTV4E6x5__6G6x5y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x5[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__4E6x5__6G6x5y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E6x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__6G6x5y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x5y0[] = {
+ {&(_ZTV6G6x5y0[4]), 4,12},
+ {&(_tg__ZTV4E6x5__6G6x5y0[4]), 4,4},
+ {&(_tg__ZTV2C6__4E6x5__6G6x5y0[4]), 4,5},
+ {&(_ZTV6G6x5y0[11]), 11,12},
+ {&(_tg__ZTV2C6__6G6x5y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x5y0[];
+extern VTBL_ENTRY _ZTV6G6x5y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x5y0[];
+Class_Descriptor cd_G6x5y0 = { "G6x5y0", // class name
+ bases_G6x5y0, 6,
+ &(vtc_G6x5y0[0]), // expected_vtbl_contents
+ &(vtt_G6x5y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G6x5y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x5y0),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x5y0),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 G6x5y1 : virtual E6x5 , F1 {
+ int ff;
+ ~G6x5y1(); // tgen
+ G6x5y1(); // tgen
+};
+//SIG(1 G6x5y1) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G6x5y1 ::~G6x5y1(){ note_dtor("G6x5y1", this);} // tgen
+G6x5y1 ::G6x5y1(){ note_ctor("G6x5y1", this);} // tgen
+
+static void Test_G6x5y1()
+{
+ extern Class_Descriptor cd_G6x5y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G6x5y1, buf);
+ G6x5y1 *dp, &lv = *(dp=new (buf) G6x5y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G6x5y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x5y1)");
+ check_base_class_offset(lv, (A0*)(C6*), ABISELECT(48,36), "G6x5y1");
+ check_base_class_offset(lv, (B1*)(C6*), ABISELECT(32,24), "G6x5y1");
+ check_base_class_offset(lv, (C6*)(E6x5*), ABISELECT(32,24), "G6x5y1");
+ check_base_class_offset(lv, (D0*)(E6x5*), ABISELECT(24,16), "G6x5y1");
+ check_base_class_offset(lv, (E6x5*), ABISELECT(16,12), "G6x5y1");
+ check_base_class_offset(lv, (F1*), 0, "G6x5y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G6x5y1.ff");
+ test_class_info(&lv, &cd_G6x5y1);
+ dp->~G6x5y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x5y1(Test_G6x5y1, "G6x5y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G6x5y1C1Ev();
+extern void _ZN6G6x5y1D1Ev();
+Name_Map name_map_G6x5y1[] = {
+ NSPAIR(_ZN6G6x5y1C1Ev),
+ NSPAIR(_ZN6G6x5y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E6x5;
+extern VTBL_ENTRY _ZTI4E6x5[];
+extern VTBL_ENTRY _ZTV4E6x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G6x5y1[] = {
+ // 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
+ 10, //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_D0, 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_E6x5, 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 _ZTI6G6x5y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G6x5y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x5y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G6x5y1[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G6x5y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x5y1[];
+static VTBL_ENTRY _tg__ZTV4E6x5__6G6x5y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x5[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__4E6x5__6G6x5y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E6x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__6G6x5y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x5y1[] = {
+ {&(_ZTV6G6x5y1[5]), 5,15},
+ {&(_ZTV6G6x5y1[10]), 10,15},
+ {&(_ZTV6G6x5y1[14]), 14,15},
+ {&(_tg__ZTV4E6x5__6G6x5y1[4]), 4,4},
+ {&(_tg__ZTV2C6__4E6x5__6G6x5y1[4]), 4,5},
+ {&(_tg__ZTV2C6__6G6x5y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x5y1[];
+extern VTBL_ENTRY _ZTV6G6x5y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x5y1[];
+Class_Descriptor cd_G6x5y1 = { "G6x5y1", // class name
+ bases_G6x5y1, 6,
+ &(vtc_G6x5y1[0]), // expected_vtbl_contents
+ &(vtt_G6x5y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G6x5y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x5y1),15, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x5y1),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 G6x5y2 : E6x5 , virtual F1 {
+ int ff;
+ ~G6x5y2(); // tgen
+ G6x5y2(); // tgen
+};
+//SIG(1 G6x5y2) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G6x5y2 ::~G6x5y2(){ note_dtor("G6x5y2", this);} // tgen
+G6x5y2 ::G6x5y2(){ note_ctor("G6x5y2", this);} // tgen
+
+static void Test_G6x5y2()
+{
+ extern Class_Descriptor cd_G6x5y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G6x5y2, buf);
+ G6x5y2 *dp, &lv = *(dp=new (buf) G6x5y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G6x5y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x5y2)");
+ check_base_class_offset(lv, (A0*)(C6*), ABISELECT(40,28), "G6x5y2");
+ check_base_class_offset(lv, (B1*)(C6*), ABISELECT(24,16), "G6x5y2");
+ check_base_class_offset(lv, (C6*)(E6x5*), ABISELECT(24,16), "G6x5y2");
+ check_base_class_offset(lv, (D0*)(E6x5*), ABISELECT(8,4), "G6x5y2");
+ check_base_class_offset(lv, (E6x5*), 0, "G6x5y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G6x5y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G6x5y2.ff");
+ test_class_info(&lv, &cd_G6x5y2);
+ dp->~G6x5y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x5y2(Test_G6x5y2, "G6x5y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G6x5y2C1Ev();
+extern void _ZN6G6x5y2D1Ev();
+Name_Map name_map_G6x5y2[] = {
+ NSPAIR(_ZN6G6x5y2C1Ev),
+ NSPAIR(_ZN6G6x5y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E6x5;
+extern VTBL_ENTRY _ZTI4E6x5[];
+extern VTBL_ENTRY _ZTV4E6x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G6x5y2[] = {
+ // 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)
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E6x5, 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)
+ 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 _ZTI6G6x5y2[];
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G6x5y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x5y2[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G6x5y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G6x5y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x5y2[];
+static VTBL_ENTRY _tg__ZTV4E6x5__6G6x5y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x5[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__4E6x5__6G6x5y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E6x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__6G6x5y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x5y2[] = {
+ {&(_ZTV6G6x5y2[5]), 5,14},
+ {&(_tg__ZTV4E6x5__6G6x5y2[4]), 4,4},
+ {&(_tg__ZTV2C6__4E6x5__6G6x5y2[4]), 4,5},
+ {&(_ZTV6G6x5y2[9]), 9,14},
+ {&(_ZTV6G6x5y2[13]), 13,14},
+ {&(_tg__ZTV2C6__6G6x5y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x5y2[];
+extern VTBL_ENTRY _ZTV6G6x5y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x5y2[];
+Class_Descriptor cd_G6x5y2 = { "G6x5y2", // class name
+ bases_G6x5y2, 6,
+ &(vtc_G6x5y2[0]), // expected_vtbl_contents
+ &(vtt_G6x5y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G6x5y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x5y2),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x5y2),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 G6x5y3 : virtual E6x5 , virtual F1 {
+ int ff;
+ ~G6x5y3(); // tgen
+ G6x5y3(); // tgen
+};
+//SIG(1 G6x5y3) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G6x5y3 ::~G6x5y3(){ note_dtor("G6x5y3", this);} // tgen
+G6x5y3 ::G6x5y3(){ note_ctor("G6x5y3", this);} // tgen
+
+static void Test_G6x5y3()
+{
+ extern Class_Descriptor cd_G6x5y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G6x5y3, buf);
+ G6x5y3 *dp, &lv = *(dp=new (buf) G6x5y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G6x5y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x5y3)");
+ check_base_class_offset(lv, (A0*)(C6*), ABISELECT(48,32), "G6x5y3");
+ check_base_class_offset(lv, (B1*)(C6*), ABISELECT(32,20), "G6x5y3");
+ check_base_class_offset(lv, (C6*)(E6x5*), ABISELECT(32,20), "G6x5y3");
+ check_base_class_offset(lv, (D0*)(E6x5*), ABISELECT(24,12), "G6x5y3");
+ check_base_class_offset(lv, (E6x5*), ABISELECT(16,8), "G6x5y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G6x5y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G6x5y3.ff");
+ test_class_info(&lv, &cd_G6x5y3);
+ dp->~G6x5y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x5y3(Test_G6x5y3, "G6x5y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G6x5y3C1Ev();
+extern void _ZN6G6x5y3D1Ev();
+Name_Map name_map_G6x5y3[] = {
+ NSPAIR(_ZN6G6x5y3C1Ev),
+ NSPAIR(_ZN6G6x5y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E6x5;
+extern VTBL_ENTRY _ZTI4E6x5[];
+extern VTBL_ENTRY _ZTV4E6x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G6x5y3[] = {
+ // 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
+ 10, //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_D0, 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_E6x5, 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
+ 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 _ZTI6G6x5y3[];
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G6x5y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x5y3[0]),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G6x5y3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G6x5y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G6x5y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x5y3[];
+static VTBL_ENTRY _tg__ZTV4E6x5__6G6x5y3[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x5[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__4E6x5__6G6x5y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E6x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__6G6x5y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x5y3[] = {
+ {&(_ZTV6G6x5y3[6]), 6,19},
+ {&(_ZTV6G6x5y3[10]), 10,19},
+ {&(_ZTV6G6x5y3[14]), 14,19},
+ {&(_ZTV6G6x5y3[18]), 18,19},
+ {&(_tg__ZTV4E6x5__6G6x5y3[4]), 4,4},
+ {&(_tg__ZTV2C6__4E6x5__6G6x5y3[4]), 4,5},
+ {&(_tg__ZTV2C6__6G6x5y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x5y3[];
+extern VTBL_ENTRY _ZTV6G6x5y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x5y3[];
+Class_Descriptor cd_G6x5y3 = { "G6x5y3", // class name
+ bases_G6x5y3, 6,
+ &(vtc_G6x5y3[0]), // expected_vtbl_contents
+ &(vtt_G6x5y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G6x5y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x5y3),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x5y3),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 G6x5y4 : E6x5 , F0 {
+ int ff;
+ ~G6x5y4(); // tgen
+ G6x5y4(); // tgen
+};
+//SIG(1 G6x5y4) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G6x5y4 ::~G6x5y4(){ note_dtor("G6x5y4", this);} // tgen
+G6x5y4 ::G6x5y4(){ note_ctor("G6x5y4", this);} // tgen
+
+static void Test_G6x5y4()
+{
+ extern Class_Descriptor cd_G6x5y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G6x5y4, buf);
+ G6x5y4 *dp, &lv = *(dp=new (buf) G6x5y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G6x5y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x5y4)");
+ check_base_class_offset(lv, (A0*)(C6*), ABISELECT(40,32), "G6x5y4");
+ check_base_class_offset(lv, (B1*)(C6*), ABISELECT(24,20), "G6x5y4");
+ check_base_class_offset(lv, (C6*)(E6x5*), ABISELECT(24,20), "G6x5y4");
+ check_base_class_offset(lv, (D0*)(E6x5*), ABISELECT(8,4), "G6x5y4");
+ check_base_class_offset(lv, (E6x5*), 0, "G6x5y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G6x5y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G6x5y4.ff");
+ test_class_info(&lv, &cd_G6x5y4);
+ dp->~G6x5y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x5y4(Test_G6x5y4, "G6x5y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G6x5y4C1Ev();
+extern void _ZN6G6x5y4D1Ev();
+Name_Map name_map_G6x5y4[] = {
+ NSPAIR(_ZN6G6x5y4C1Ev),
+ NSPAIR(_ZN6G6x5y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E6x5;
+extern VTBL_ENTRY _ZTI4E6x5[];
+extern VTBL_ENTRY _ZTV4E6x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G6x5y4[] = {
+ // 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
+ 4, //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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E6x5, 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 _ZTI6G6x5y4[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G6x5y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x5y4[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI6G6x5y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x5y4[];
+static VTBL_ENTRY _tg__ZTV4E6x5__6G6x5y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x5[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__4E6x5__6G6x5y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E6x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__6G6x5y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x5y4[] = {
+ {&(_ZTV6G6x5y4[4]), 4,9},
+ {&(_tg__ZTV4E6x5__6G6x5y4[4]), 4,4},
+ {&(_tg__ZTV2C6__4E6x5__6G6x5y4[4]), 4,5},
+ {&(_ZTV6G6x5y4[8]), 8,9},
+ {&(_tg__ZTV2C6__6G6x5y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x5y4[];
+extern VTBL_ENTRY _ZTV6G6x5y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x5y4[];
+Class_Descriptor cd_G6x5y4 = { "G6x5y4", // class name
+ bases_G6x5y4, 6,
+ &(vtc_G6x5y4[0]), // expected_vtbl_contents
+ &(vtt_G6x5y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G6x5y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x5y4),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x5y4),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 G6x5y5 : virtual E6x5 , F0 {
+ int ff;
+ ~G6x5y5(); // tgen
+ G6x5y5(); // tgen
+};
+//SIG(1 G6x5y5) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G6x5y5 ::~G6x5y5(){ note_dtor("G6x5y5", this);} // tgen
+G6x5y5 ::G6x5y5(){ note_ctor("G6x5y5", this);} // tgen
+
+static void Test_G6x5y5()
+{
+ extern Class_Descriptor cd_G6x5y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G6x5y5, buf);
+ G6x5y5 *dp, &lv = *(dp=new (buf) G6x5y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G6x5y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x5y5)");
+ check_base_class_offset(lv, (A0*)(C6*), ABISELECT(48,36), "G6x5y5");
+ check_base_class_offset(lv, (B1*)(C6*), ABISELECT(32,24), "G6x5y5");
+ check_base_class_offset(lv, (C6*)(E6x5*), ABISELECT(32,24), "G6x5y5");
+ check_base_class_offset(lv, (D0*)(E6x5*), ABISELECT(24,16), "G6x5y5");
+ check_base_class_offset(lv, (E6x5*), ABISELECT(16,12), "G6x5y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G6x5y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G6x5y5.ff");
+ test_class_info(&lv, &cd_G6x5y5);
+ dp->~G6x5y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x5y5(Test_G6x5y5, "G6x5y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G6x5y5C1Ev();
+extern void _ZN6G6x5y5D1Ev();
+Name_Map name_map_G6x5y5[] = {
+ NSPAIR(_ZN6G6x5y5C1Ev),
+ NSPAIR(_ZN6G6x5y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E6x5;
+extern VTBL_ENTRY _ZTI4E6x5[];
+extern VTBL_ENTRY _ZTV4E6x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G6x5y5[] = {
+ // 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
+ 9, //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_D0, 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_E6x5, 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 _ZTI6G6x5y5[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G6x5y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x5y5[0]),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G6x5y5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G6x5y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x5y5[];
+static VTBL_ENTRY _tg__ZTV4E6x5__6G6x5y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x5[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__4E6x5__6G6x5y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E6x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__6G6x5y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x5y5[] = {
+ {&(_ZTV6G6x5y5[5]), 5,14},
+ {&(_ZTV6G6x5y5[9]), 9,14},
+ {&(_ZTV6G6x5y5[13]), 13,14},
+ {&(_tg__ZTV4E6x5__6G6x5y5[4]), 4,4},
+ {&(_tg__ZTV2C6__4E6x5__6G6x5y5[4]), 4,5},
+ {&(_tg__ZTV2C6__6G6x5y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x5y5[];
+extern VTBL_ENTRY _ZTV6G6x5y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x5y5[];
+Class_Descriptor cd_G6x5y5 = { "G6x5y5", // class name
+ bases_G6x5y5, 6,
+ &(vtc_G6x5y5[0]), // expected_vtbl_contents
+ &(vtt_G6x5y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G6x5y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x5y5),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x5y5),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 G6x5y6 : E6x5 , virtual F0 {
+ int ff;
+ ~G6x5y6(); // tgen
+ G6x5y6(); // tgen
+};
+//SIG(1 G6x5y6) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G6x5y6 ::~G6x5y6(){ note_dtor("G6x5y6", this);} // tgen
+G6x5y6 ::G6x5y6(){ note_ctor("G6x5y6", this);} // tgen
+
+static void Test_G6x5y6()
+{
+ extern Class_Descriptor cd_G6x5y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G6x5y6, buf);
+ G6x5y6 *dp, &lv = *(dp=new (buf) G6x5y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G6x5y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x5y6)");
+ check_base_class_offset(lv, (A0*)(C6*), ABISELECT(40,28), "G6x5y6");
+ check_base_class_offset(lv, (B1*)(C6*), ABISELECT(24,16), "G6x5y6");
+ check_base_class_offset(lv, (C6*)(E6x5*), ABISELECT(24,16), "G6x5y6");
+ check_base_class_offset(lv, (D0*)(E6x5*), ABISELECT(8,4), "G6x5y6");
+ check_base_class_offset(lv, (E6x5*), 0, "G6x5y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G6x5y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G6x5y6.ff");
+ test_class_info(&lv, &cd_G6x5y6);
+ dp->~G6x5y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x5y6(Test_G6x5y6, "G6x5y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G6x5y6C1Ev();
+extern void _ZN6G6x5y6D1Ev();
+Name_Map name_map_G6x5y6[] = {
+ NSPAIR(_ZN6G6x5y6C1Ev),
+ NSPAIR(_ZN6G6x5y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E6x5;
+extern VTBL_ENTRY _ZTI4E6x5[];
+extern VTBL_ENTRY _ZTV4E6x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G6x5y6[] = {
+ // 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)
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E6x5, 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 _ZTI6G6x5y6[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G6x5y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x5y6[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G6x5y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x5y6[];
+static VTBL_ENTRY _tg__ZTV4E6x5__6G6x5y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x5[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__4E6x5__6G6x5y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E6x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__6G6x5y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x5y6[] = {
+ {&(_ZTV6G6x5y6[5]), 5,10},
+ {&(_tg__ZTV4E6x5__6G6x5y6[4]), 4,4},
+ {&(_tg__ZTV2C6__4E6x5__6G6x5y6[4]), 4,5},
+ {&(_ZTV6G6x5y6[9]), 9,10},
+ {&(_tg__ZTV2C6__6G6x5y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x5y6[];
+extern VTBL_ENTRY _ZTV6G6x5y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x5y6[];
+Class_Descriptor cd_G6x5y6 = { "G6x5y6", // class name
+ bases_G6x5y6, 6,
+ &(vtc_G6x5y6[0]), // expected_vtbl_contents
+ &(vtt_G6x5y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G6x5y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x5y6),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x5y6),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 G6x5y7 : virtual E6x5 , virtual F0 {
+ int ff;
+ ~G6x5y7(); // tgen
+ G6x5y7(); // tgen
+};
+//SIG(1 G6x5y7) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G6x5y7 ::~G6x5y7(){ note_dtor("G6x5y7", this);} // tgen
+G6x5y7 ::G6x5y7(){ note_ctor("G6x5y7", this);} // tgen
+
+static void Test_G6x5y7()
+{
+ extern Class_Descriptor cd_G6x5y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G6x5y7, buf);
+ G6x5y7 *dp, &lv = *(dp=new (buf) G6x5y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G6x5y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x5y7)");
+ check_base_class_offset(lv, (A0*)(C6*), ABISELECT(48,32), "G6x5y7");
+ check_base_class_offset(lv, (B1*)(C6*), ABISELECT(32,20), "G6x5y7");
+ check_base_class_offset(lv, (C6*)(E6x5*), ABISELECT(32,20), "G6x5y7");
+ check_base_class_offset(lv, (D0*)(E6x5*), ABISELECT(24,12), "G6x5y7");
+ check_base_class_offset(lv, (E6x5*), ABISELECT(16,8), "G6x5y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G6x5y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G6x5y7.ff");
+ test_class_info(&lv, &cd_G6x5y7);
+ dp->~G6x5y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x5y7(Test_G6x5y7, "G6x5y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G6x5y7C1Ev();
+extern void _ZN6G6x5y7D1Ev();
+Name_Map name_map_G6x5y7[] = {
+ NSPAIR(_ZN6G6x5y7C1Ev),
+ NSPAIR(_ZN6G6x5y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E6x5;
+extern VTBL_ENTRY _ZTI4E6x5[];
+extern VTBL_ENTRY _ZTV4E6x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G6x5y7[] = {
+ // 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
+ 10, //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_D0, 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_E6x5, 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 _ZTI6G6x5y7[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G6x5y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x5y7[0]),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G6x5y7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G6x5y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x5y7[];
+static VTBL_ENTRY _tg__ZTV4E6x5__6G6x5y7[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x5[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__4E6x5__6G6x5y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E6x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__6G6x5y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x5y7[] = {
+ {&(_ZTV6G6x5y7[6]), 6,15},
+ {&(_ZTV6G6x5y7[10]), 10,15},
+ {&(_ZTV6G6x5y7[14]), 14,15},
+ {&(_tg__ZTV4E6x5__6G6x5y7[4]), 4,4},
+ {&(_tg__ZTV2C6__4E6x5__6G6x5y7[4]), 4,5},
+ {&(_tg__ZTV2C6__6G6x5y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x5y7[];
+extern VTBL_ENTRY _ZTV6G6x5y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x5y7[];
+Class_Descriptor cd_G6x5y7 = { "G6x5y7", // class name
+ bases_G6x5y7, 6,
+ &(vtc_G6x5y7[0]), // expected_vtbl_contents
+ &(vtt_G6x5y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G6x5y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x5y7),15, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x5y7),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 E7x5 : virtual C7 , D0 {
+ int fd;
+ ~E7x5(); // tgen
+ E7x5(); // tgen
+};
+//SIG(-1 E7x5) C1{ VBC2{ VBC3{ v1 Fi} BC4{ v2 Fi} Fi} BC5{ Fi} Fi}
+
+
+E7x5 ::~E7x5(){ note_dtor("E7x5", this);} // tgen
+E7x5 ::E7x5(){ note_ctor("E7x5", this);} // tgen
+
+static void Test_E7x5()
+{
+ extern Class_Descriptor cd_E7x5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E7x5, buf);
+ E7x5 *dp, &lv = *(dp=new (buf) E7x5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E7x5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E7x5)");
+ check_base_class_offset(lv, (A1*)(C7*), ABISELECT(32,24), "E7x5");
+ check_base_class_offset(lv, (B1*)(C7*), ABISELECT(16,12), "E7x5");
+ check_base_class_offset(lv, (C7*), ABISELECT(16,12), "E7x5");
+ check_base_class_offset(lv, (D0*), ABISELECT(8,4), "E7x5");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E7x5.fd");
+ test_class_info(&lv, &cd_E7x5);
+ dp->~E7x5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE7x5(Test_E7x5, "E7x5", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN4E7x5C1Ev();
+extern void _ZN4E7x5D1Ev();
+Name_Map name_map_E7x5[] = {
+ NSPAIR(_ZN4E7x5C1Ev),
+ NSPAIR(_ZN4E7x5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E7x5[] = {
+ // 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)
+ 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
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI4E7x5[];
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_E7x5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E7x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E7x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E7x5[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__4E7x5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C7__4E7x5[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_E7x5[] = {
+ {&(_ZTV4E7x5[4]), 4,13},
+ {&(_ZTV4E7x5[8]), 8,13},
+ {&(_ZTV4E7x5[12]), 12,13},
+ {&(_tg__ZTV2C7__4E7x5[3]), 3,4},
+ {&(_tg__ZTV2A1__2C7__4E7x5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI4E7x5[];
+extern VTBL_ENTRY _ZTV4E7x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x5[];
+Class_Descriptor cd_E7x5 = { "E7x5", // class name
+ bases_E7x5, 4,
+ &(vtc_E7x5[0]), // expected_vtbl_contents
+ &(vtt_E7x5[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI4E7x5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E7x5),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E7x5),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 G7x5y0 : E7x5 , F1 {
+ int ff;
+ ~G7x5y0(); // tgen
+ G7x5y0(); // tgen
+};
+//SIG(1 G7x5y0) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G7x5y0 ::~G7x5y0(){ note_dtor("G7x5y0", this);} // tgen
+G7x5y0 ::G7x5y0(){ note_ctor("G7x5y0", this);} // tgen
+
+static void Test_G7x5y0()
+{
+ extern Class_Descriptor cd_G7x5y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G7x5y0, buf);
+ G7x5y0 *dp, &lv = *(dp=new (buf) G7x5y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G7x5y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x5y0)");
+ check_base_class_offset(lv, (A1*)(C7*), ABISELECT(48,36), "G7x5y0");
+ check_base_class_offset(lv, (B1*)(C7*), ABISELECT(32,24), "G7x5y0");
+ check_base_class_offset(lv, (C7*)(E7x5*), ABISELECT(32,24), "G7x5y0");
+ check_base_class_offset(lv, (D0*)(E7x5*), ABISELECT(8,4), "G7x5y0");
+ check_base_class_offset(lv, (E7x5*), 0, "G7x5y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G7x5y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G7x5y0.ff");
+ test_class_info(&lv, &cd_G7x5y0);
+ dp->~G7x5y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x5y0(Test_G7x5y0, "G7x5y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G7x5y0C1Ev();
+extern void _ZN6G7x5y0D1Ev();
+Name_Map name_map_G7x5y0[] = {
+ NSPAIR(_ZN6G7x5y0C1Ev),
+ NSPAIR(_ZN6G7x5y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E7x5;
+extern VTBL_ENTRY _ZTI4E7x5[];
+extern VTBL_ENTRY _ZTV4E7x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G7x5y0[] = {
+ // 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)
+ 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
+ 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E7x5, 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
+ 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 _ZTI6G7x5y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G7x5y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x5y0[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G7x5y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G7x5y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI6G7x5y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x5y0[];
+static VTBL_ENTRY _tg__ZTV4E7x5__6G7x5y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x5[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__4E7x5__6G7x5y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E7x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x5__6G7x5y0[] = {
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI4E7x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__6G7x5y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C7__6G7x5y0[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x5y0[] = {
+ {&(_ZTV6G7x5y0[4]), 4,16},
+ {&(_tg__ZTV4E7x5__6G7x5y0[4]), 4,4},
+ {&(_tg__ZTV2C7__4E7x5__6G7x5y0[4]), 4,5},
+ {&(_tg__ZTV2A1__4E7x5__6G7x5y0[3]), 3,4},
+ {&(_ZTV6G7x5y0[11]), 11,16},
+ {&(_ZTV6G7x5y0[15]), 15,16},
+ {&(_tg__ZTV2C7__6G7x5y0[3]), 3,4},
+ {&(_tg__ZTV2A1__2C7__6G7x5y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G7x5y0[];
+extern VTBL_ENTRY _ZTV6G7x5y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x5y0[];
+Class_Descriptor cd_G7x5y0 = { "G7x5y0", // class name
+ bases_G7x5y0, 6,
+ &(vtc_G7x5y0[0]), // expected_vtbl_contents
+ &(vtt_G7x5y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G7x5y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x5y0),16, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x5y0),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 G7x5y1 : virtual E7x5 , F1 {
+ int ff;
+ ~G7x5y1(); // tgen
+ G7x5y1(); // tgen
+};
+//SIG(1 G7x5y1) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G7x5y1 ::~G7x5y1(){ note_dtor("G7x5y1", this);} // tgen
+G7x5y1 ::G7x5y1(){ note_ctor("G7x5y1", this);} // tgen
+
+static void Test_G7x5y1()
+{
+ extern Class_Descriptor cd_G7x5y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G7x5y1, buf);
+ G7x5y1 *dp, &lv = *(dp=new (buf) G7x5y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G7x5y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x5y1)");
+ check_base_class_offset(lv, (A1*)(C7*), ABISELECT(48,36), "G7x5y1");
+ check_base_class_offset(lv, (B1*)(C7*), ABISELECT(32,24), "G7x5y1");
+ check_base_class_offset(lv, (C7*)(E7x5*), ABISELECT(32,24), "G7x5y1");
+ check_base_class_offset(lv, (D0*)(E7x5*), ABISELECT(24,16), "G7x5y1");
+ check_base_class_offset(lv, (E7x5*), ABISELECT(16,12), "G7x5y1");
+ check_base_class_offset(lv, (F1*), 0, "G7x5y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G7x5y1.ff");
+ test_class_info(&lv, &cd_G7x5y1);
+ dp->~G7x5y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x5y1(Test_G7x5y1, "G7x5y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G7x5y1C1Ev();
+extern void _ZN6G7x5y1D1Ev();
+Name_Map name_map_G7x5y1[] = {
+ NSPAIR(_ZN6G7x5y1C1Ev),
+ NSPAIR(_ZN6G7x5y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E7x5;
+extern VTBL_ENTRY _ZTI4E7x5[];
+extern VTBL_ENTRY _ZTV4E7x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G7x5y1[] = {
+ // 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_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
+ 10, //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_D0, 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_E7x5, 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 _ZTI6G7x5y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G7x5y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x5y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G7x5y1[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G7x5y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI6G7x5y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x5y1[];
+static VTBL_ENTRY _tg__ZTV4E7x5__6G7x5y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x5[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__4E7x5__6G7x5y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E7x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x5__6G7x5y1[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E7x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__6G7x5y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C7__6G7x5y1[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x5y1[] = {
+ {&(_ZTV6G7x5y1[5]), 5,19},
+ {&(_ZTV6G7x5y1[10]), 10,19},
+ {&(_ZTV6G7x5y1[14]), 14,19},
+ {&(_ZTV6G7x5y1[18]), 18,19},
+ {&(_tg__ZTV4E7x5__6G7x5y1[4]), 4,4},
+ {&(_tg__ZTV2C7__4E7x5__6G7x5y1[4]), 4,5},
+ {&(_tg__ZTV2A1__4E7x5__6G7x5y1[3]), 3,4},
+ {&(_tg__ZTV2C7__6G7x5y1[3]), 3,4},
+ {&(_tg__ZTV2A1__2C7__6G7x5y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G7x5y1[];
+extern VTBL_ENTRY _ZTV6G7x5y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x5y1[];
+Class_Descriptor cd_G7x5y1 = { "G7x5y1", // class name
+ bases_G7x5y1, 6,
+ &(vtc_G7x5y1[0]), // expected_vtbl_contents
+ &(vtt_G7x5y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G7x5y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x5y1),19, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x5y1),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 G7x5y2 : E7x5 , virtual F1 {
+ int ff;
+ ~G7x5y2(); // tgen
+ G7x5y2(); // tgen
+};
+//SIG(1 G7x5y2) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G7x5y2 ::~G7x5y2(){ note_dtor("G7x5y2", this);} // tgen
+G7x5y2 ::G7x5y2(){ note_ctor("G7x5y2", this);} // tgen
+
+static void Test_G7x5y2()
+{
+ extern Class_Descriptor cd_G7x5y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G7x5y2, buf);
+ G7x5y2 *dp, &lv = *(dp=new (buf) G7x5y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G7x5y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x5y2)");
+ check_base_class_offset(lv, (A1*)(C7*), ABISELECT(40,28), "G7x5y2");
+ check_base_class_offset(lv, (B1*)(C7*), ABISELECT(24,16), "G7x5y2");
+ check_base_class_offset(lv, (C7*)(E7x5*), ABISELECT(24,16), "G7x5y2");
+ check_base_class_offset(lv, (D0*)(E7x5*), ABISELECT(8,4), "G7x5y2");
+ check_base_class_offset(lv, (E7x5*), 0, "G7x5y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G7x5y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G7x5y2.ff");
+ test_class_info(&lv, &cd_G7x5y2);
+ dp->~G7x5y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x5y2(Test_G7x5y2, "G7x5y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G7x5y2C1Ev();
+extern void _ZN6G7x5y2D1Ev();
+Name_Map name_map_G7x5y2[] = {
+ NSPAIR(_ZN6G7x5y2C1Ev),
+ NSPAIR(_ZN6G7x5y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E7x5;
+extern VTBL_ENTRY _ZTI4E7x5[];
+extern VTBL_ENTRY _ZTV4E7x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G7x5y2[] = {
+ // 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_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)
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E7x5, 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)
+ 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 _ZTI6G7x5y2[];
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G7x5y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x5y2[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G7x5y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G7x5y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G7x5y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x5y2[];
+static VTBL_ENTRY _tg__ZTV4E7x5__6G7x5y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x5[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__4E7x5__6G7x5y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E7x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x5__6G7x5y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI4E7x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__6G7x5y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C7__6G7x5y2[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x5y2[] = {
+ {&(_ZTV6G7x5y2[5]), 5,18},
+ {&(_tg__ZTV4E7x5__6G7x5y2[4]), 4,4},
+ {&(_tg__ZTV2C7__4E7x5__6G7x5y2[4]), 4,5},
+ {&(_tg__ZTV2A1__4E7x5__6G7x5y2[3]), 3,4},
+ {&(_ZTV6G7x5y2[9]), 9,18},
+ {&(_ZTV6G7x5y2[13]), 13,18},
+ {&(_ZTV6G7x5y2[17]), 17,18},
+ {&(_tg__ZTV2C7__6G7x5y2[3]), 3,4},
+ {&(_tg__ZTV2A1__2C7__6G7x5y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G7x5y2[];
+extern VTBL_ENTRY _ZTV6G7x5y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x5y2[];
+Class_Descriptor cd_G7x5y2 = { "G7x5y2", // class name
+ bases_G7x5y2, 6,
+ &(vtc_G7x5y2[0]), // expected_vtbl_contents
+ &(vtt_G7x5y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G7x5y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x5y2),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x5y2),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 G7x5y3 : virtual E7x5 , virtual F1 {
+ int ff;
+ ~G7x5y3(); // tgen
+ G7x5y3(); // tgen
+};
+//SIG(1 G7x5y3) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G7x5y3 ::~G7x5y3(){ note_dtor("G7x5y3", this);} // tgen
+G7x5y3 ::G7x5y3(){ note_ctor("G7x5y3", this);} // tgen
+
+static void Test_G7x5y3()
+{
+ extern Class_Descriptor cd_G7x5y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G7x5y3, buf);
+ G7x5y3 *dp, &lv = *(dp=new (buf) G7x5y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G7x5y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x5y3)");
+ check_base_class_offset(lv, (A1*)(C7*), ABISELECT(48,32), "G7x5y3");
+ check_base_class_offset(lv, (B1*)(C7*), ABISELECT(32,20), "G7x5y3");
+ check_base_class_offset(lv, (C7*)(E7x5*), ABISELECT(32,20), "G7x5y3");
+ check_base_class_offset(lv, (D0*)(E7x5*), ABISELECT(24,12), "G7x5y3");
+ check_base_class_offset(lv, (E7x5*), ABISELECT(16,8), "G7x5y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G7x5y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G7x5y3.ff");
+ test_class_info(&lv, &cd_G7x5y3);
+ dp->~G7x5y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x5y3(Test_G7x5y3, "G7x5y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN6G7x5y3C1Ev();
+extern void _ZN6G7x5y3D1Ev();
+Name_Map name_map_G7x5y3[] = {
+ NSPAIR(_ZN6G7x5y3C1Ev),
+ NSPAIR(_ZN6G7x5y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E7x5;
+extern VTBL_ENTRY _ZTI4E7x5[];
+extern VTBL_ENTRY _ZTV4E7x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G7x5y3[] = {
+ // 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_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
+ 10, //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_D0, 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_E7x5, 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(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 _ZTI6G7x5y3[];
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G7x5y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x5y3[0]),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G7x5y3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G7x5y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G7x5y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI6G7x5y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x5y3[];
+static VTBL_ENTRY _tg__ZTV4E7x5__6G7x5y3[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x5[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__4E7x5__6G7x5y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E7x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x5__6G7x5y3[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E7x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__6G7x5y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C7__6G7x5y3[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x5y3[] = {
+ {&(_ZTV6G7x5y3[6]), 6,23},
+ {&(_ZTV6G7x5y3[10]), 10,23},
+ {&(_ZTV6G7x5y3[14]), 14,23},
+ {&(_ZTV6G7x5y3[18]), 18,23},
+ {&(_ZTV6G7x5y3[22]), 22,23},
+ {&(_tg__ZTV4E7x5__6G7x5y3[4]), 4,4},
+ {&(_tg__ZTV2C7__4E7x5__6G7x5y3[4]), 4,5},
+ {&(_tg__ZTV2A1__4E7x5__6G7x5y3[3]), 3,4},
+ {&(_tg__ZTV2C7__6G7x5y3[3]), 3,4},
+ {&(_tg__ZTV2A1__2C7__6G7x5y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G7x5y3[];
+extern VTBL_ENTRY _ZTV6G7x5y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x5y3[];
+Class_Descriptor cd_G7x5y3 = { "G7x5y3", // class name
+ bases_G7x5y3, 6,
+ &(vtc_G7x5y3[0]), // expected_vtbl_contents
+ &(vtt_G7x5y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI6G7x5y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x5y3),23, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x5y3),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 G7x5y4 : E7x5 , F0 {
+ int ff;
+ ~G7x5y4(); // tgen
+ G7x5y4(); // tgen
+};
+//SIG(1 G7x5y4) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G7x5y4 ::~G7x5y4(){ note_dtor("G7x5y4", this);} // tgen
+G7x5y4 ::G7x5y4(){ note_ctor("G7x5y4", this);} // tgen
+
+static void Test_G7x5y4()
+{
+ extern Class_Descriptor cd_G7x5y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G7x5y4, buf);
+ G7x5y4 *dp, &lv = *(dp=new (buf) G7x5y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G7x5y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x5y4)");
+ check_base_class_offset(lv, (A1*)(C7*), ABISELECT(40,32), "G7x5y4");
+ check_base_class_offset(lv, (B1*)(C7*), ABISELECT(24,20), "G7x5y4");
+ check_base_class_offset(lv, (C7*)(E7x5*), ABISELECT(24,20), "G7x5y4");
+ check_base_class_offset(lv, (D0*)(E7x5*), ABISELECT(8,4), "G7x5y4");
+ check_base_class_offset(lv, (E7x5*), 0, "G7x5y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G7x5y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G7x5y4.ff");
+ test_class_info(&lv, &cd_G7x5y4);
+ dp->~G7x5y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x5y4(Test_G7x5y4, "G7x5y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G7x5y4C1Ev();
+extern void _ZN6G7x5y4D1Ev();
+Name_Map name_map_G7x5y4[] = {
+ NSPAIR(_ZN6G7x5y4C1Ev),
+ NSPAIR(_ZN6G7x5y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E7x5;
+extern VTBL_ENTRY _ZTI4E7x5[];
+extern VTBL_ENTRY _ZTV4E7x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G7x5y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,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
+ 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
+ 4, //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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E7x5, 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 _ZTI6G7x5y4[];
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G7x5y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x5y4[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI6G7x5y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI6G7x5y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x5y4[];
+static VTBL_ENTRY _tg__ZTV4E7x5__6G7x5y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x5[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__4E7x5__6G7x5y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E7x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x5__6G7x5y4[] = {
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI4E7x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__6G7x5y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C7__6G7x5y4[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x5y4[] = {
+ {&(_ZTV6G7x5y4[4]), 4,13},
+ {&(_tg__ZTV4E7x5__6G7x5y4[4]), 4,4},
+ {&(_tg__ZTV2C7__4E7x5__6G7x5y4[4]), 4,5},
+ {&(_tg__ZTV2A1__4E7x5__6G7x5y4[3]), 3,4},
+ {&(_ZTV6G7x5y4[8]), 8,13},
+ {&(_ZTV6G7x5y4[12]), 12,13},
+ {&(_tg__ZTV2C7__6G7x5y4[3]), 3,4},
+ {&(_tg__ZTV2A1__2C7__6G7x5y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G7x5y4[];
+extern VTBL_ENTRY _ZTV6G7x5y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x5y4[];
+Class_Descriptor cd_G7x5y4 = { "G7x5y4", // class name
+ bases_G7x5y4, 6,
+ &(vtc_G7x5y4[0]), // expected_vtbl_contents
+ &(vtt_G7x5y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G7x5y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x5y4),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x5y4),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 G7x5y5 : virtual E7x5 , F0 {
+ int ff;
+ ~G7x5y5(); // tgen
+ G7x5y5(); // tgen
+};
+//SIG(1 G7x5y5) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G7x5y5 ::~G7x5y5(){ note_dtor("G7x5y5", this);} // tgen
+G7x5y5 ::G7x5y5(){ note_ctor("G7x5y5", this);} // tgen
+
+static void Test_G7x5y5()
+{
+ extern Class_Descriptor cd_G7x5y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G7x5y5, buf);
+ G7x5y5 *dp, &lv = *(dp=new (buf) G7x5y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G7x5y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x5y5)");
+ check_base_class_offset(lv, (A1*)(C7*), ABISELECT(48,36), "G7x5y5");
+ check_base_class_offset(lv, (B1*)(C7*), ABISELECT(32,24), "G7x5y5");
+ check_base_class_offset(lv, (C7*)(E7x5*), ABISELECT(32,24), "G7x5y5");
+ check_base_class_offset(lv, (D0*)(E7x5*), ABISELECT(24,16), "G7x5y5");
+ check_base_class_offset(lv, (E7x5*), ABISELECT(16,12), "G7x5y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G7x5y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G7x5y5.ff");
+ test_class_info(&lv, &cd_G7x5y5);
+ dp->~G7x5y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x5y5(Test_G7x5y5, "G7x5y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G7x5y5C1Ev();
+extern void _ZN6G7x5y5D1Ev();
+Name_Map name_map_G7x5y5[] = {
+ NSPAIR(_ZN6G7x5y5C1Ev),
+ NSPAIR(_ZN6G7x5y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E7x5;
+extern VTBL_ENTRY _ZTI4E7x5[];
+extern VTBL_ENTRY _ZTV4E7x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G7x5y5[] = {
+ // 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_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
+ 9, //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_D0, 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_E7x5, 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 _ZTI6G7x5y5[];
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G7x5y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x5y5[0]),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G7x5y5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G7x5y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI6G7x5y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x5y5[];
+static VTBL_ENTRY _tg__ZTV4E7x5__6G7x5y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x5[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__4E7x5__6G7x5y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E7x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x5__6G7x5y5[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E7x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__6G7x5y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C7__6G7x5y5[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x5y5[] = {
+ {&(_ZTV6G7x5y5[5]), 5,18},
+ {&(_ZTV6G7x5y5[9]), 9,18},
+ {&(_ZTV6G7x5y5[13]), 13,18},
+ {&(_ZTV6G7x5y5[17]), 17,18},
+ {&(_tg__ZTV4E7x5__6G7x5y5[4]), 4,4},
+ {&(_tg__ZTV2C7__4E7x5__6G7x5y5[4]), 4,5},
+ {&(_tg__ZTV2A1__4E7x5__6G7x5y5[3]), 3,4},
+ {&(_tg__ZTV2C7__6G7x5y5[3]), 3,4},
+ {&(_tg__ZTV2A1__2C7__6G7x5y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G7x5y5[];
+extern VTBL_ENTRY _ZTV6G7x5y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x5y5[];
+Class_Descriptor cd_G7x5y5 = { "G7x5y5", // class name
+ bases_G7x5y5, 6,
+ &(vtc_G7x5y5[0]), // expected_vtbl_contents
+ &(vtt_G7x5y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G7x5y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x5y5),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x5y5),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 G7x5y6 : E7x5 , virtual F0 {
+ int ff;
+ ~G7x5y6(); // tgen
+ G7x5y6(); // tgen
+};
+//SIG(1 G7x5y6) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G7x5y6 ::~G7x5y6(){ note_dtor("G7x5y6", this);} // tgen
+G7x5y6 ::G7x5y6(){ note_ctor("G7x5y6", this);} // tgen
+
+static void Test_G7x5y6()
+{
+ extern Class_Descriptor cd_G7x5y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G7x5y6, buf);
+ G7x5y6 *dp, &lv = *(dp=new (buf) G7x5y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G7x5y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x5y6)");
+ check_base_class_offset(lv, (A1*)(C7*), ABISELECT(40,28), "G7x5y6");
+ check_base_class_offset(lv, (B1*)(C7*), ABISELECT(24,16), "G7x5y6");
+ check_base_class_offset(lv, (C7*)(E7x5*), ABISELECT(24,16), "G7x5y6");
+ check_base_class_offset(lv, (D0*)(E7x5*), ABISELECT(8,4), "G7x5y6");
+ check_base_class_offset(lv, (E7x5*), 0, "G7x5y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G7x5y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G7x5y6.ff");
+ test_class_info(&lv, &cd_G7x5y6);
+ dp->~G7x5y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x5y6(Test_G7x5y6, "G7x5y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G7x5y6C1Ev();
+extern void _ZN6G7x5y6D1Ev();
+Name_Map name_map_G7x5y6[] = {
+ NSPAIR(_ZN6G7x5y6C1Ev),
+ NSPAIR(_ZN6G7x5y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E7x5;
+extern VTBL_ENTRY _ZTI4E7x5[];
+extern VTBL_ENTRY _ZTV4E7x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G7x5y6[] = {
+ // 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_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)
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E7x5, 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 _ZTI6G7x5y6[];
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G7x5y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x5y6[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G7x5y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G7x5y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x5y6[];
+static VTBL_ENTRY _tg__ZTV4E7x5__6G7x5y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x5[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__4E7x5__6G7x5y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E7x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x5__6G7x5y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI4E7x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__6G7x5y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C7__6G7x5y6[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x5y6[] = {
+ {&(_ZTV6G7x5y6[5]), 5,14},
+ {&(_tg__ZTV4E7x5__6G7x5y6[4]), 4,4},
+ {&(_tg__ZTV2C7__4E7x5__6G7x5y6[4]), 4,5},
+ {&(_tg__ZTV2A1__4E7x5__6G7x5y6[3]), 3,4},
+ {&(_ZTV6G7x5y6[9]), 9,14},
+ {&(_ZTV6G7x5y6[13]), 13,14},
+ {&(_tg__ZTV2C7__6G7x5y6[3]), 3,4},
+ {&(_tg__ZTV2A1__2C7__6G7x5y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G7x5y6[];
+extern VTBL_ENTRY _ZTV6G7x5y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x5y6[];
+Class_Descriptor cd_G7x5y6 = { "G7x5y6", // class name
+ bases_G7x5y6, 6,
+ &(vtc_G7x5y6[0]), // expected_vtbl_contents
+ &(vtt_G7x5y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G7x5y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x5y6),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x5y6),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 G7x5y7 : virtual E7x5 , virtual F0 {
+ int ff;
+ ~G7x5y7(); // tgen
+ G7x5y7(); // tgen
+};
+//SIG(1 G7x5y7) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G7x5y7 ::~G7x5y7(){ note_dtor("G7x5y7", this);} // tgen
+G7x5y7 ::G7x5y7(){ note_ctor("G7x5y7", this);} // tgen
+
+static void Test_G7x5y7()
+{
+ extern Class_Descriptor cd_G7x5y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G7x5y7, buf);
+ G7x5y7 *dp, &lv = *(dp=new (buf) G7x5y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G7x5y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x5y7)");
+ check_base_class_offset(lv, (A1*)(C7*), ABISELECT(48,32), "G7x5y7");
+ check_base_class_offset(lv, (B1*)(C7*), ABISELECT(32,20), "G7x5y7");
+ check_base_class_offset(lv, (C7*)(E7x5*), ABISELECT(32,20), "G7x5y7");
+ check_base_class_offset(lv, (D0*)(E7x5*), ABISELECT(24,12), "G7x5y7");
+ check_base_class_offset(lv, (E7x5*), ABISELECT(16,8), "G7x5y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(60,40), "G7x5y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G7x5y7.ff");
+ test_class_info(&lv, &cd_G7x5y7);
+ dp->~G7x5y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x5y7(Test_G7x5y7, "G7x5y7", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G7x5y7C1Ev();
+extern void _ZN6G7x5y7D1Ev();
+Name_Map name_map_G7x5y7[] = {
+ NSPAIR(_ZN6G7x5y7C1Ev),
+ NSPAIR(_ZN6G7x5y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E7x5;
+extern VTBL_ENTRY _ZTI4E7x5[];
+extern VTBL_ENTRY _ZTV4E7x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G7x5y7[] = {
+ // 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_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
+ 10, //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_D0, 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_E7x5, 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(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 _ZTI6G7x5y7[];
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G7x5y7[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x5y7[0]),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G7x5y7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G7x5y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G7x5y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x5y7[];
+static VTBL_ENTRY _tg__ZTV4E7x5__6G7x5y7[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x5[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__4E7x5__6G7x5y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E7x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x5__6G7x5y7[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E7x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__6G7x5y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C7__6G7x5y7[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x5y7[] = {
+ {&(_ZTV6G7x5y7[6]), 6,19},
+ {&(_ZTV6G7x5y7[10]), 10,19},
+ {&(_ZTV6G7x5y7[14]), 14,19},
+ {&(_ZTV6G7x5y7[18]), 18,19},
+ {&(_tg__ZTV4E7x5__6G7x5y7[4]), 4,4},
+ {&(_tg__ZTV2C7__4E7x5__6G7x5y7[4]), 4,5},
+ {&(_tg__ZTV2A1__4E7x5__6G7x5y7[3]), 3,4},
+ {&(_tg__ZTV2C7__6G7x5y7[3]), 3,4},
+ {&(_tg__ZTV2A1__2C7__6G7x5y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G7x5y7[];
+extern VTBL_ENTRY _ZTV6G7x5y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x5y7[];
+Class_Descriptor cd_G7x5y7 = { "G7x5y7", // class name
+ bases_G7x5y7, 6,
+ &(vtc_G7x5y7[0]), // expected_vtbl_contents
+ &(vtt_G7x5y7[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G7x5y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x5y7),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x5y7),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 E8x5 : virtual C8 , D0 {
+ int fd;
+ ~E8x5(); // tgen
+ E8x5(); // tgen
+};
+//SIG(-1 E8x5) C1{ VBC2{ BC3{ Fi} VBC4{ Fi} Fi} BC5{ Fi} Fi}
+
+
+E8x5 ::~E8x5(){ note_dtor("E8x5", this);} // tgen
+E8x5 ::E8x5(){ note_ctor("E8x5", this);} // tgen
+
+static void Test_E8x5()
+{
+ extern Class_Descriptor cd_E8x5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E8x5, buf);
+ E8x5 *dp, &lv = *(dp=new (buf) E8x5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E8x5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E8x5)");
+ check_base_class_offset(lv, (A0*)(C8*), ABISELECT(24,16), "E8x5");
+ check_base_class_offset(lv, (B0*)(C8*), ABISELECT(32,24), "E8x5");
+ check_base_class_offset(lv, (C8*), ABISELECT(16,12), "E8x5");
+ check_base_class_offset(lv, (D0*), ABISELECT(8,4), "E8x5");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E8x5.fd");
+ test_class_info(&lv, &cd_E8x5);
+ dp->~E8x5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE8x5(Test_E8x5, "E8x5", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN4E8x5C1Ev();
+extern void _ZN4E8x5D1Ev();
+Name_Map name_map_E8x5[] = {
+ NSPAIR(_ZN4E8x5C1Ev),
+ NSPAIR(_ZN4E8x5D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E8x5[] = {
+ // 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
+ 4, //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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI4E8x5[];
+static VTBL_ENTRY vtc_E8x5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x5[0]),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E8x5[0]),
+};
+extern VTBL_ENTRY _ZTV4E8x5[];
+static VTBL_ENTRY _tg__ZTV2C8__4E8x5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_E8x5[] = {
+ {&(_ZTV4E8x5[4]), 4,7},
+ {&(_ZTV4E8x5[7]), 7,7},
+ {&(_tg__ZTV2C8__4E8x5[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI4E8x5[];
+extern VTBL_ENTRY _ZTV4E8x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x5[];
+Class_Descriptor cd_E8x5 = { "E8x5", // class name
+ bases_E8x5, 4,
+ &(vtc_E8x5[0]), // expected_vtbl_contents
+ &(vtt_E8x5[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI4E8x5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E8x5),7, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E8x5),3, //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 G8x5y0 : E8x5 , F1 {
+ int ff;
+ ~G8x5y0(); // tgen
+ G8x5y0(); // tgen
+};
+//SIG(1 G8x5y0) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ v1 Fi} Fi}
+
+
+G8x5y0 ::~G8x5y0(){ note_dtor("G8x5y0", this);} // tgen
+G8x5y0 ::G8x5y0(){ note_ctor("G8x5y0", this);} // tgen
+
+static void Test_G8x5y0()
+{
+ extern Class_Descriptor cd_G8x5y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G8x5y0, buf);
+ G8x5y0 *dp, &lv = *(dp=new (buf) G8x5y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G8x5y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x5y0)");
+ check_base_class_offset(lv, (A0*)(C8*), ABISELECT(40,28), "G8x5y0");
+ check_base_class_offset(lv, (B0*)(C8*), ABISELECT(48,36), "G8x5y0");
+ check_base_class_offset(lv, (C8*)(E8x5*), ABISELECT(32,24), "G8x5y0");
+ check_base_class_offset(lv, (D0*)(E8x5*), ABISELECT(8,4), "G8x5y0");
+ check_base_class_offset(lv, (E8x5*), 0, "G8x5y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G8x5y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G8x5y0.ff");
+ test_class_info(&lv, &cd_G8x5y0);
+ dp->~G8x5y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x5y0(Test_G8x5y0, "G8x5y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G8x5y0C1Ev();
+extern void _ZN6G8x5y0D1Ev();
+Name_Map name_map_G8x5y0[] = {
+ NSPAIR(_ZN6G8x5y0C1Ev),
+ NSPAIR(_ZN6G8x5y0D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E8x5;
+extern VTBL_ENTRY _ZTI4E8x5[];
+extern VTBL_ENTRY _ZTV4E8x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G8x5y0[] = {
+ // 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
+ 7, //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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E8x5, 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,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 _ZTI6G8x5y0[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G8x5y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x5y0[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G8x5y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G8x5y0[0]),
+};
+extern VTBL_ENTRY _ZTV6G8x5y0[];
+static VTBL_ENTRY _tg__ZTV4E8x5__6G8x5y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C8__4E8x5__6G8x5y0[] = {
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E8x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C8__6G8x5y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x5y0[] = {
+ {&(_ZTV6G8x5y0[4]), 4,10},
+ {&(_tg__ZTV4E8x5__6G8x5y0[4]), 4,4},
+ {&(_tg__ZTV2C8__4E8x5__6G8x5y0[3]), 3,3},
+ {&(_ZTV6G8x5y0[10]), 10,10},
+ {&(_tg__ZTV2C8__6G8x5y0[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x5y0[];
+extern VTBL_ENTRY _ZTV6G8x5y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x5y0[];
+Class_Descriptor cd_G8x5y0 = { "G8x5y0", // class name
+ bases_G8x5y0, 6,
+ &(vtc_G8x5y0[0]), // expected_vtbl_contents
+ &(vtt_G8x5y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G8x5y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x5y0),10, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x5y0),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 G8x5y1 : virtual E8x5 , F1 {
+ int ff;
+ ~G8x5y1(); // tgen
+ G8x5y1(); // tgen
+};
+//SIG(1 G8x5y1) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ v1 Fi} Fi}
+
+
+G8x5y1 ::~G8x5y1(){ note_dtor("G8x5y1", this);} // tgen
+G8x5y1 ::G8x5y1(){ note_ctor("G8x5y1", this);} // tgen
+
+static void Test_G8x5y1()
+{
+ extern Class_Descriptor cd_G8x5y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G8x5y1, buf);
+ G8x5y1 *dp, &lv = *(dp=new (buf) G8x5y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G8x5y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x5y1)");
+ check_base_class_offset(lv, (A0*)(C8*), ABISELECT(40,28), "G8x5y1");
+ check_base_class_offset(lv, (B0*)(C8*), ABISELECT(48,36), "G8x5y1");
+ check_base_class_offset(lv, (C8*)(E8x5*), ABISELECT(32,24), "G8x5y1");
+ check_base_class_offset(lv, (D0*)(E8x5*), ABISELECT(24,16), "G8x5y1");
+ check_base_class_offset(lv, (E8x5*), ABISELECT(16,12), "G8x5y1");
+ check_base_class_offset(lv, (F1*), 0, "G8x5y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G8x5y1.ff");
+ test_class_info(&lv, &cd_G8x5y1);
+ dp->~G8x5y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x5y1(Test_G8x5y1, "G8x5y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G8x5y1C1Ev();
+extern void _ZN6G8x5y1D1Ev();
+Name_Map name_map_G8x5y1[] = {
+ NSPAIR(_ZN6G8x5y1C1Ev),
+ NSPAIR(_ZN6G8x5y1D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E8x5;
+extern VTBL_ENTRY _ZTI4E8x5[];
+extern VTBL_ENTRY _ZTV4E8x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G8x5y1[] = {
+ // 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
+ 10, //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_D0, 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_E8x5, 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 _ZTI6G8x5y1[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G8x5y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x5y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G8x5y1[0]),
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G8x5y1[0]),
+};
+extern VTBL_ENTRY _ZTV6G8x5y1[];
+static VTBL_ENTRY _tg__ZTV4E8x5__6G8x5y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C8__4E8x5__6G8x5y1[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E8x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C8__6G8x5y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x5y1[] = {
+ {&(_ZTV6G8x5y1[5]), 5,13},
+ {&(_ZTV6G8x5y1[10]), 10,13},
+ {&(_ZTV6G8x5y1[13]), 13,13},
+ {&(_tg__ZTV4E8x5__6G8x5y1[4]), 4,4},
+ {&(_tg__ZTV2C8__4E8x5__6G8x5y1[3]), 3,3},
+ {&(_tg__ZTV2C8__6G8x5y1[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x5y1[];
+extern VTBL_ENTRY _ZTV6G8x5y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x5y1[];
+Class_Descriptor cd_G8x5y1 = { "G8x5y1", // class name
+ bases_G8x5y1, 6,
+ &(vtc_G8x5y1[0]), // expected_vtbl_contents
+ &(vtt_G8x5y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G8x5y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x5y1),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x5y1),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 G8x5y2 : E8x5 , virtual F1 {
+ int ff;
+ ~G8x5y2(); // tgen
+ G8x5y2(); // tgen
+};
+//SIG(1 G8x5y2) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ v1 Fi} Fi}
+
+
+G8x5y2 ::~G8x5y2(){ note_dtor("G8x5y2", this);} // tgen
+G8x5y2 ::G8x5y2(){ note_ctor("G8x5y2", this);} // tgen
+
+static void Test_G8x5y2()
+{
+ extern Class_Descriptor cd_G8x5y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G8x5y2, buf);
+ G8x5y2 *dp, &lv = *(dp=new (buf) G8x5y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G8x5y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x5y2)");
+ check_base_class_offset(lv, (A0*)(C8*), ABISELECT(32,20), "G8x5y2");
+ check_base_class_offset(lv, (B0*)(C8*), ABISELECT(40,28), "G8x5y2");
+ check_base_class_offset(lv, (C8*)(E8x5*), ABISELECT(24,16), "G8x5y2");
+ check_base_class_offset(lv, (D0*)(E8x5*), ABISELECT(8,4), "G8x5y2");
+ check_base_class_offset(lv, (E8x5*), 0, "G8x5y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G8x5y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G8x5y2.ff");
+ test_class_info(&lv, &cd_G8x5y2);
+ dp->~G8x5y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x5y2(Test_G8x5y2, "G8x5y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G8x5y2C1Ev();
+extern void _ZN6G8x5y2D1Ev();
+Name_Map name_map_G8x5y2[] = {
+ NSPAIR(_ZN6G8x5y2C1Ev),
+ NSPAIR(_ZN6G8x5y2D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E8x5;
+extern VTBL_ENTRY _ZTI4E8x5[];
+extern VTBL_ENTRY _ZTV4E8x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G8x5y2[] = {
+ // 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)
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E8x5, 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
+ 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 _ZTI6G8x5y2[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G8x5y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x5y2[0]),
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G8x5y2[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G8x5y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G8x5y2[];
+static VTBL_ENTRY _tg__ZTV4E8x5__6G8x5y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C8__4E8x5__6G8x5y2[] = {
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E8x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C8__6G8x5y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x5y2[] = {
+ {&(_ZTV6G8x5y2[5]), 5,12},
+ {&(_tg__ZTV4E8x5__6G8x5y2[4]), 4,4},
+ {&(_tg__ZTV2C8__4E8x5__6G8x5y2[3]), 3,3},
+ {&(_ZTV6G8x5y2[8]), 8,12},
+ {&(_ZTV6G8x5y2[11]), 11,12},
+ {&(_tg__ZTV2C8__6G8x5y2[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x5y2[];
+extern VTBL_ENTRY _ZTV6G8x5y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x5y2[];
+Class_Descriptor cd_G8x5y2 = { "G8x5y2", // class name
+ bases_G8x5y2, 6,
+ &(vtc_G8x5y2[0]), // expected_vtbl_contents
+ &(vtt_G8x5y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G8x5y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x5y2),12, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x5y2),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 G8x5y3 : virtual E8x5 , virtual F1 {
+ int ff;
+ ~G8x5y3(); // tgen
+ G8x5y3(); // tgen
+};
+//SIG(1 G8x5y3) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ v1 Fi} Fi}
+
+
+G8x5y3 ::~G8x5y3(){ note_dtor("G8x5y3", this);} // tgen
+G8x5y3 ::G8x5y3(){ note_ctor("G8x5y3", this);} // tgen
+
+static void Test_G8x5y3()
+{
+ extern Class_Descriptor cd_G8x5y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G8x5y3, buf);
+ G8x5y3 *dp, &lv = *(dp=new (buf) G8x5y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G8x5y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x5y3)");
+ check_base_class_offset(lv, (A0*)(C8*), ABISELECT(40,24), "G8x5y3");
+ check_base_class_offset(lv, (B0*)(C8*), ABISELECT(48,32), "G8x5y3");
+ check_base_class_offset(lv, (C8*)(E8x5*), ABISELECT(32,20), "G8x5y3");
+ check_base_class_offset(lv, (D0*)(E8x5*), ABISELECT(24,12), "G8x5y3");
+ check_base_class_offset(lv, (E8x5*), ABISELECT(16,8), "G8x5y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G8x5y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G8x5y3.ff");
+ test_class_info(&lv, &cd_G8x5y3);
+ dp->~G8x5y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x5y3(Test_G8x5y3, "G8x5y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G8x5y3C1Ev();
+extern void _ZN6G8x5y3D1Ev();
+Name_Map name_map_G8x5y3[] = {
+ NSPAIR(_ZN6G8x5y3C1Ev),
+ NSPAIR(_ZN6G8x5y3D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E8x5;
+extern VTBL_ENTRY _ZTI4E8x5[];
+extern VTBL_ENTRY _ZTV4E8x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G8x5y3[] = {
+ // 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
+ 10, //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_D0, 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_E8x5, 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
+ 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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G8x5y3[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G8x5y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x5y3[0]),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G8x5y3[0]),
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G8x5y3[0]),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G8x5y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G8x5y3[];
+static VTBL_ENTRY _tg__ZTV4E8x5__6G8x5y3[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C8__4E8x5__6G8x5y3[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E8x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C8__6G8x5y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x5y3[] = {
+ {&(_ZTV6G8x5y3[6]), 6,17},
+ {&(_ZTV6G8x5y3[10]), 10,17},
+ {&(_ZTV6G8x5y3[13]), 13,17},
+ {&(_ZTV6G8x5y3[16]), 16,17},
+ {&(_tg__ZTV4E8x5__6G8x5y3[4]), 4,4},
+ {&(_tg__ZTV2C8__4E8x5__6G8x5y3[3]), 3,3},
+ {&(_tg__ZTV2C8__6G8x5y3[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x5y3[];
+extern VTBL_ENTRY _ZTV6G8x5y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x5y3[];
+Class_Descriptor cd_G8x5y3 = { "G8x5y3", // class name
+ bases_G8x5y3, 6,
+ &(vtc_G8x5y3[0]), // expected_vtbl_contents
+ &(vtt_G8x5y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G8x5y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x5y3),17, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x5y3),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 G8x5y4 : E8x5 , F0 {
+ int ff;
+ ~G8x5y4(); // tgen
+ G8x5y4(); // tgen
+};
+//SIG(1 G8x5y4) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G8x5y4 ::~G8x5y4(){ note_dtor("G8x5y4", this);} // tgen
+G8x5y4 ::G8x5y4(){ note_ctor("G8x5y4", this);} // tgen
+
+static void Test_G8x5y4()
+{
+ extern Class_Descriptor cd_G8x5y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G8x5y4, buf);
+ G8x5y4 *dp, &lv = *(dp=new (buf) G8x5y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G8x5y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x5y4)");
+ check_base_class_offset(lv, (A0*)(C8*), ABISELECT(32,24), "G8x5y4");
+ check_base_class_offset(lv, (B0*)(C8*), ABISELECT(40,32), "G8x5y4");
+ check_base_class_offset(lv, (C8*)(E8x5*), ABISELECT(24,20), "G8x5y4");
+ check_base_class_offset(lv, (D0*)(E8x5*), ABISELECT(8,4), "G8x5y4");
+ check_base_class_offset(lv, (E8x5*), 0, "G8x5y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G8x5y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G8x5y4.ff");
+ test_class_info(&lv, &cd_G8x5y4);
+ dp->~G8x5y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x5y4(Test_G8x5y4, "G8x5y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G8x5y4C1Ev();
+extern void _ZN6G8x5y4D1Ev();
+Name_Map name_map_G8x5y4[] = {
+ NSPAIR(_ZN6G8x5y4C1Ev),
+ NSPAIR(_ZN6G8x5y4D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E8x5;
+extern VTBL_ENTRY _ZTI4E8x5[];
+extern VTBL_ENTRY _ZTV4E8x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G8x5y4[] = {
+ // 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
+ 4, //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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E8x5, 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(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G8x5y4[];
+static VTBL_ENTRY vtc_G8x5y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x5y4[0]),
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI6G8x5y4[0]),
+};
+extern VTBL_ENTRY _ZTV6G8x5y4[];
+static VTBL_ENTRY _tg__ZTV4E8x5__6G8x5y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C8__4E8x5__6G8x5y4[] = {
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E8x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C8__6G8x5y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x5y4[] = {
+ {&(_ZTV6G8x5y4[4]), 4,7},
+ {&(_tg__ZTV4E8x5__6G8x5y4[4]), 4,4},
+ {&(_tg__ZTV2C8__4E8x5__6G8x5y4[3]), 3,3},
+ {&(_ZTV6G8x5y4[7]), 7,7},
+ {&(_tg__ZTV2C8__6G8x5y4[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x5y4[];
+extern VTBL_ENTRY _ZTV6G8x5y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x5y4[];
+Class_Descriptor cd_G8x5y4 = { "G8x5y4", // class name
+ bases_G8x5y4, 6,
+ &(vtc_G8x5y4[0]), // expected_vtbl_contents
+ &(vtt_G8x5y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G8x5y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x5y4),7, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x5y4),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 G8x5y5 : virtual E8x5 , F0 {
+ int ff;
+ ~G8x5y5(); // tgen
+ G8x5y5(); // tgen
+};
+//SIG(1 G8x5y5) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G8x5y5 ::~G8x5y5(){ note_dtor("G8x5y5", this);} // tgen
+G8x5y5 ::G8x5y5(){ note_ctor("G8x5y5", this);} // tgen
+
+static void Test_G8x5y5()
+{
+ extern Class_Descriptor cd_G8x5y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G8x5y5, buf);
+ G8x5y5 *dp, &lv = *(dp=new (buf) G8x5y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G8x5y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x5y5)");
+ check_base_class_offset(lv, (A0*)(C8*), ABISELECT(40,28), "G8x5y5");
+ check_base_class_offset(lv, (B0*)(C8*), ABISELECT(48,36), "G8x5y5");
+ check_base_class_offset(lv, (C8*)(E8x5*), ABISELECT(32,24), "G8x5y5");
+ check_base_class_offset(lv, (D0*)(E8x5*), ABISELECT(24,16), "G8x5y5");
+ check_base_class_offset(lv, (E8x5*), ABISELECT(16,12), "G8x5y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G8x5y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G8x5y5.ff");
+ test_class_info(&lv, &cd_G8x5y5);
+ dp->~G8x5y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x5y5(Test_G8x5y5, "G8x5y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G8x5y5C1Ev();
+extern void _ZN6G8x5y5D1Ev();
+Name_Map name_map_G8x5y5[] = {
+ NSPAIR(_ZN6G8x5y5C1Ev),
+ NSPAIR(_ZN6G8x5y5D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E8x5;
+extern VTBL_ENTRY _ZTI4E8x5[];
+extern VTBL_ENTRY _ZTV4E8x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G8x5y5[] = {
+ // 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
+ 9, //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_D0, 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_E8x5, 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 _ZTI6G8x5y5[];
+static VTBL_ENTRY vtc_G8x5y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x5y5[0]),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G8x5y5[0]),
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G8x5y5[0]),
+};
+extern VTBL_ENTRY _ZTV6G8x5y5[];
+static VTBL_ENTRY _tg__ZTV4E8x5__6G8x5y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C8__4E8x5__6G8x5y5[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E8x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C8__6G8x5y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x5y5[] = {
+ {&(_ZTV6G8x5y5[5]), 5,12},
+ {&(_ZTV6G8x5y5[9]), 9,12},
+ {&(_ZTV6G8x5y5[12]), 12,12},
+ {&(_tg__ZTV4E8x5__6G8x5y5[4]), 4,4},
+ {&(_tg__ZTV2C8__4E8x5__6G8x5y5[3]), 3,3},
+ {&(_tg__ZTV2C8__6G8x5y5[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x5y5[];
+extern VTBL_ENTRY _ZTV6G8x5y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x5y5[];
+Class_Descriptor cd_G8x5y5 = { "G8x5y5", // class name
+ bases_G8x5y5, 6,
+ &(vtc_G8x5y5[0]), // expected_vtbl_contents
+ &(vtt_G8x5y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G8x5y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x5y5),12, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x5y5),6, //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 G8x5y6 : E8x5 , virtual F0 {
+ int ff;
+ ~G8x5y6(); // tgen
+ G8x5y6(); // tgen
+};
+//SIG(1 G8x5y6) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G8x5y6 ::~G8x5y6(){ note_dtor("G8x5y6", this);} // tgen
+G8x5y6 ::G8x5y6(){ note_ctor("G8x5y6", this);} // tgen
+
+static void Test_G8x5y6()
+{
+ extern Class_Descriptor cd_G8x5y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G8x5y6, buf);
+ G8x5y6 *dp, &lv = *(dp=new (buf) G8x5y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G8x5y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x5y6)");
+ check_base_class_offset(lv, (A0*)(C8*), ABISELECT(32,20), "G8x5y6");
+ check_base_class_offset(lv, (B0*)(C8*), ABISELECT(40,28), "G8x5y6");
+ check_base_class_offset(lv, (C8*)(E8x5*), ABISELECT(24,16), "G8x5y6");
+ check_base_class_offset(lv, (D0*)(E8x5*), ABISELECT(8,4), "G8x5y6");
+ check_base_class_offset(lv, (E8x5*), 0, "G8x5y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G8x5y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G8x5y6.ff");
+ test_class_info(&lv, &cd_G8x5y6);
+ dp->~G8x5y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x5y6(Test_G8x5y6, "G8x5y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G8x5y6C1Ev();
+extern void _ZN6G8x5y6D1Ev();
+Name_Map name_map_G8x5y6[] = {
+ NSPAIR(_ZN6G8x5y6C1Ev),
+ NSPAIR(_ZN6G8x5y6D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E8x5;
+extern VTBL_ENTRY _ZTI4E8x5[];
+extern VTBL_ENTRY _ZTV4E8x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G8x5y6[] = {
+ // 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)
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E8x5, 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 _ZTI6G8x5y6[];
+static VTBL_ENTRY vtc_G8x5y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x5y6[0]),
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G8x5y6[0]),
+};
+extern VTBL_ENTRY _ZTV6G8x5y6[];
+static VTBL_ENTRY _tg__ZTV4E8x5__6G8x5y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C8__4E8x5__6G8x5y6[] = {
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E8x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C8__6G8x5y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x5y6[] = {
+ {&(_ZTV6G8x5y6[5]), 5,8},
+ {&(_tg__ZTV4E8x5__6G8x5y6[4]), 4,4},
+ {&(_tg__ZTV2C8__4E8x5__6G8x5y6[3]), 3,3},
+ {&(_ZTV6G8x5y6[8]), 8,8},
+ {&(_tg__ZTV2C8__6G8x5y6[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x5y6[];
+extern VTBL_ENTRY _ZTV6G8x5y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x5y6[];
+Class_Descriptor cd_G8x5y6 = { "G8x5y6", // class name
+ bases_G8x5y6, 6,
+ &(vtc_G8x5y6[0]), // expected_vtbl_contents
+ &(vtt_G8x5y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G8x5y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x5y6),8, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x5y6),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 G8x5y7 : virtual E8x5 , virtual F0 {
+ int ff;
+ ~G8x5y7(); // tgen
+ G8x5y7(); // tgen
+};
+//SIG(1 G8x5y7) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G8x5y7 ::~G8x5y7(){ note_dtor("G8x5y7", this);} // tgen
+G8x5y7 ::G8x5y7(){ note_ctor("G8x5y7", this);} // tgen
+
+static void Test_G8x5y7()
+{
+ extern Class_Descriptor cd_G8x5y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G8x5y7, buf);
+ G8x5y7 *dp, &lv = *(dp=new (buf) G8x5y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G8x5y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x5y7)");
+ check_base_class_offset(lv, (A0*)(C8*), ABISELECT(40,24), "G8x5y7");
+ check_base_class_offset(lv, (B0*)(C8*), ABISELECT(48,32), "G8x5y7");
+ check_base_class_offset(lv, (C8*)(E8x5*), ABISELECT(32,20), "G8x5y7");
+ check_base_class_offset(lv, (D0*)(E8x5*), ABISELECT(24,12), "G8x5y7");
+ check_base_class_offset(lv, (E8x5*), ABISELECT(16,8), "G8x5y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G8x5y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G8x5y7.ff");
+ test_class_info(&lv, &cd_G8x5y7);
+ dp->~G8x5y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x5y7(Test_G8x5y7, "G8x5y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G8x5y7C1Ev();
+extern void _ZN6G8x5y7D1Ev();
+Name_Map name_map_G8x5y7[] = {
+ NSPAIR(_ZN6G8x5y7C1Ev),
+ NSPAIR(_ZN6G8x5y7D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E8x5;
+extern VTBL_ENTRY _ZTI4E8x5[];
+extern VTBL_ENTRY _ZTV4E8x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G8x5y7[] = {
+ // 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
+ 10, //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_D0, 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_E8x5, 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 _ZTI6G8x5y7[];
+static VTBL_ENTRY vtc_G8x5y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x5y7[0]),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G8x5y7[0]),
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G8x5y7[0]),
+};
+extern VTBL_ENTRY _ZTV6G8x5y7[];
+static VTBL_ENTRY _tg__ZTV4E8x5__6G8x5y7[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C8__4E8x5__6G8x5y7[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E8x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C8__6G8x5y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x5y7[] = {
+ {&(_ZTV6G8x5y7[6]), 6,13},
+ {&(_ZTV6G8x5y7[10]), 10,13},
+ {&(_ZTV6G8x5y7[13]), 13,13},
+ {&(_tg__ZTV4E8x5__6G8x5y7[4]), 4,4},
+ {&(_tg__ZTV2C8__4E8x5__6G8x5y7[3]), 3,3},
+ {&(_tg__ZTV2C8__6G8x5y7[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x5y7[];
+extern VTBL_ENTRY _ZTV6G8x5y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x5y7[];
+Class_Descriptor cd_G8x5y7 = { "G8x5y7", // class name
+ bases_G8x5y7, 6,
+ &(vtc_G8x5y7[0]), // expected_vtbl_contents
+ &(vtt_G8x5y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G8x5y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x5y7),13, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x5y7),6, //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 E9x5 : virtual C9 , D0 {
+ int fd;
+ ~E9x5(); // tgen
+ E9x5(); // tgen
+};
+//SIG(-1 E9x5) C1{ VBC2{ BC3{ v1 Fi} VBC4{ Fi} Fi} BC5{ Fi} Fi}
+
+
+E9x5 ::~E9x5(){ note_dtor("E9x5", this);} // tgen
+E9x5 ::E9x5(){ note_ctor("E9x5", this);} // tgen
+
+static void Test_E9x5()
+{
+ extern Class_Descriptor cd_E9x5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E9x5, buf);
+ E9x5 *dp, &lv = *(dp=new (buf) E9x5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E9x5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E9x5)");
+ check_base_class_offset(lv, (A1*)(C9*), ABISELECT(16,12), "E9x5");
+ check_base_class_offset(lv, (B0*)(C9*), ABISELECT(32,24), "E9x5");
+ check_base_class_offset(lv, (C9*), ABISELECT(16,12), "E9x5");
+ check_base_class_offset(lv, (D0*), ABISELECT(8,4), "E9x5");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E9x5.fd");
+ test_class_info(&lv, &cd_E9x5);
+ dp->~E9x5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE9x5(Test_E9x5, "E9x5", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN4E9x5C1Ev();
+extern void _ZN4E9x5D1Ev();
+Name_Map name_map_E9x5[] = {
+ NSPAIR(_ZN4E9x5C1Ev),
+ NSPAIR(_ZN4E9x5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E9x5[] = {
+ // 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
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI4E9x5[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_E9x5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E9x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E9x5[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__4E9x5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_E9x5[] = {
+ {&(_ZTV4E9x5[4]), 4,9},
+ {&(_ZTV4E9x5[8]), 8,9},
+ {&(_tg__ZTV2C9__4E9x5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI4E9x5[];
+extern VTBL_ENTRY _ZTV4E9x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x5[];
+Class_Descriptor cd_E9x5 = { "E9x5", // class name
+ bases_E9x5, 4,
+ &(vtc_E9x5[0]), // expected_vtbl_contents
+ &(vtt_E9x5[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI4E9x5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E9x5),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E9x5),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 G9x5y0 : E9x5 , F1 {
+ int ff;
+ ~G9x5y0(); // tgen
+ G9x5y0(); // tgen
+};
+//SIG(1 G9x5y0) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G9x5y0 ::~G9x5y0(){ note_dtor("G9x5y0", this);} // tgen
+G9x5y0 ::G9x5y0(){ note_ctor("G9x5y0", this);} // tgen
+
+static void Test_G9x5y0()
+{
+ extern Class_Descriptor cd_G9x5y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G9x5y0, buf);
+ G9x5y0 *dp, &lv = *(dp=new (buf) G9x5y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G9x5y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x5y0)");
+ check_base_class_offset(lv, (A1*)(C9*), ABISELECT(32,24), "G9x5y0");
+ check_base_class_offset(lv, (B0*)(C9*), ABISELECT(48,36), "G9x5y0");
+ check_base_class_offset(lv, (C9*)(E9x5*), ABISELECT(32,24), "G9x5y0");
+ check_base_class_offset(lv, (D0*)(E9x5*), ABISELECT(8,4), "G9x5y0");
+ check_base_class_offset(lv, (E9x5*), 0, "G9x5y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G9x5y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G9x5y0.ff");
+ test_class_info(&lv, &cd_G9x5y0);
+ dp->~G9x5y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x5y0(Test_G9x5y0, "G9x5y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G9x5y0C1Ev();
+extern void _ZN6G9x5y0D1Ev();
+Name_Map name_map_G9x5y0[] = {
+ NSPAIR(_ZN6G9x5y0C1Ev),
+ NSPAIR(_ZN6G9x5y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E9x5;
+extern VTBL_ENTRY _ZTI4E9x5[];
+extern VTBL_ENTRY _ZTV4E9x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G9x5y0[] = {
+ // 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
+ 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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E9x5, 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
+ 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 _ZTI6G9x5y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G9x5y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x5y0[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G9x5y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G9x5y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x5y0[];
+static VTBL_ENTRY _tg__ZTV4E9x5__6G9x5y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__4E9x5__6G9x5y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E9x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__6G9x5y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x5y0[] = {
+ {&(_ZTV6G9x5y0[4]), 4,12},
+ {&(_tg__ZTV4E9x5__6G9x5y0[4]), 4,4},
+ {&(_tg__ZTV2C9__4E9x5__6G9x5y0[4]), 4,5},
+ {&(_ZTV6G9x5y0[11]), 11,12},
+ {&(_tg__ZTV2C9__6G9x5y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x5y0[];
+extern VTBL_ENTRY _ZTV6G9x5y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x5y0[];
+Class_Descriptor cd_G9x5y0 = { "G9x5y0", // class name
+ bases_G9x5y0, 6,
+ &(vtc_G9x5y0[0]), // expected_vtbl_contents
+ &(vtt_G9x5y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G9x5y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x5y0),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x5y0),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 G9x5y1 : virtual E9x5 , F1 {
+ int ff;
+ ~G9x5y1(); // tgen
+ G9x5y1(); // tgen
+};
+//SIG(1 G9x5y1) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G9x5y1 ::~G9x5y1(){ note_dtor("G9x5y1", this);} // tgen
+G9x5y1 ::G9x5y1(){ note_ctor("G9x5y1", this);} // tgen
+
+static void Test_G9x5y1()
+{
+ extern Class_Descriptor cd_G9x5y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G9x5y1, buf);
+ G9x5y1 *dp, &lv = *(dp=new (buf) G9x5y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G9x5y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x5y1)");
+ check_base_class_offset(lv, (A1*)(C9*), ABISELECT(32,24), "G9x5y1");
+ check_base_class_offset(lv, (B0*)(C9*), ABISELECT(48,36), "G9x5y1");
+ check_base_class_offset(lv, (C9*)(E9x5*), ABISELECT(32,24), "G9x5y1");
+ check_base_class_offset(lv, (D0*)(E9x5*), ABISELECT(24,16), "G9x5y1");
+ check_base_class_offset(lv, (E9x5*), ABISELECT(16,12), "G9x5y1");
+ check_base_class_offset(lv, (F1*), 0, "G9x5y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G9x5y1.ff");
+ test_class_info(&lv, &cd_G9x5y1);
+ dp->~G9x5y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x5y1(Test_G9x5y1, "G9x5y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G9x5y1C1Ev();
+extern void _ZN6G9x5y1D1Ev();
+Name_Map name_map_G9x5y1[] = {
+ NSPAIR(_ZN6G9x5y1C1Ev),
+ NSPAIR(_ZN6G9x5y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E9x5;
+extern VTBL_ENTRY _ZTI4E9x5[];
+extern VTBL_ENTRY _ZTV4E9x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G9x5y1[] = {
+ // 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
+ 10, //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_D0, 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_E9x5, 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 _ZTI6G9x5y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G9x5y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x5y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G9x5y1[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G9x5y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x5y1[];
+static VTBL_ENTRY _tg__ZTV4E9x5__6G9x5y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__4E9x5__6G9x5y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E9x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__6G9x5y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x5y1[] = {
+ {&(_ZTV6G9x5y1[5]), 5,15},
+ {&(_ZTV6G9x5y1[10]), 10,15},
+ {&(_ZTV6G9x5y1[14]), 14,15},
+ {&(_tg__ZTV4E9x5__6G9x5y1[4]), 4,4},
+ {&(_tg__ZTV2C9__4E9x5__6G9x5y1[4]), 4,5},
+ {&(_tg__ZTV2C9__6G9x5y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x5y1[];
+extern VTBL_ENTRY _ZTV6G9x5y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x5y1[];
+Class_Descriptor cd_G9x5y1 = { "G9x5y1", // class name
+ bases_G9x5y1, 6,
+ &(vtc_G9x5y1[0]), // expected_vtbl_contents
+ &(vtt_G9x5y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G9x5y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x5y1),15, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x5y1),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 G9x5y2 : E9x5 , virtual F1 {
+ int ff;
+ ~G9x5y2(); // tgen
+ G9x5y2(); // tgen
+};
+//SIG(1 G9x5y2) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G9x5y2 ::~G9x5y2(){ note_dtor("G9x5y2", this);} // tgen
+G9x5y2 ::G9x5y2(){ note_ctor("G9x5y2", this);} // tgen
+
+static void Test_G9x5y2()
+{
+ extern Class_Descriptor cd_G9x5y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G9x5y2, buf);
+ G9x5y2 *dp, &lv = *(dp=new (buf) G9x5y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G9x5y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x5y2)");
+ check_base_class_offset(lv, (A1*)(C9*), ABISELECT(24,16), "G9x5y2");
+ check_base_class_offset(lv, (B0*)(C9*), ABISELECT(40,28), "G9x5y2");
+ check_base_class_offset(lv, (C9*)(E9x5*), ABISELECT(24,16), "G9x5y2");
+ check_base_class_offset(lv, (D0*)(E9x5*), ABISELECT(8,4), "G9x5y2");
+ check_base_class_offset(lv, (E9x5*), 0, "G9x5y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G9x5y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G9x5y2.ff");
+ test_class_info(&lv, &cd_G9x5y2);
+ dp->~G9x5y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x5y2(Test_G9x5y2, "G9x5y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G9x5y2C1Ev();
+extern void _ZN6G9x5y2D1Ev();
+Name_Map name_map_G9x5y2[] = {
+ NSPAIR(_ZN6G9x5y2C1Ev),
+ NSPAIR(_ZN6G9x5y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E9x5;
+extern VTBL_ENTRY _ZTI4E9x5[];
+extern VTBL_ENTRY _ZTV4E9x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G9x5y2[] = {
+ // 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)
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E9x5, 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)
+ 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 _ZTI6G9x5y2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G9x5y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x5y2[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G9x5y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G9x5y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x5y2[];
+static VTBL_ENTRY _tg__ZTV4E9x5__6G9x5y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__4E9x5__6G9x5y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E9x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__6G9x5y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x5y2[] = {
+ {&(_ZTV6G9x5y2[5]), 5,14},
+ {&(_tg__ZTV4E9x5__6G9x5y2[4]), 4,4},
+ {&(_tg__ZTV2C9__4E9x5__6G9x5y2[4]), 4,5},
+ {&(_ZTV6G9x5y2[9]), 9,14},
+ {&(_ZTV6G9x5y2[13]), 13,14},
+ {&(_tg__ZTV2C9__6G9x5y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x5y2[];
+extern VTBL_ENTRY _ZTV6G9x5y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x5y2[];
+Class_Descriptor cd_G9x5y2 = { "G9x5y2", // class name
+ bases_G9x5y2, 6,
+ &(vtc_G9x5y2[0]), // expected_vtbl_contents
+ &(vtt_G9x5y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G9x5y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x5y2),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x5y2),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 G9x5y3 : virtual E9x5 , virtual F1 {
+ int ff;
+ ~G9x5y3(); // tgen
+ G9x5y3(); // tgen
+};
+//SIG(1 G9x5y3) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G9x5y3 ::~G9x5y3(){ note_dtor("G9x5y3", this);} // tgen
+G9x5y3 ::G9x5y3(){ note_ctor("G9x5y3", this);} // tgen
+
+static void Test_G9x5y3()
+{
+ extern Class_Descriptor cd_G9x5y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G9x5y3, buf);
+ G9x5y3 *dp, &lv = *(dp=new (buf) G9x5y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G9x5y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x5y3)");
+ check_base_class_offset(lv, (A1*)(C9*), ABISELECT(32,20), "G9x5y3");
+ check_base_class_offset(lv, (B0*)(C9*), ABISELECT(48,32), "G9x5y3");
+ check_base_class_offset(lv, (C9*)(E9x5*), ABISELECT(32,20), "G9x5y3");
+ check_base_class_offset(lv, (D0*)(E9x5*), ABISELECT(24,12), "G9x5y3");
+ check_base_class_offset(lv, (E9x5*), ABISELECT(16,8), "G9x5y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G9x5y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G9x5y3.ff");
+ test_class_info(&lv, &cd_G9x5y3);
+ dp->~G9x5y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x5y3(Test_G9x5y3, "G9x5y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G9x5y3C1Ev();
+extern void _ZN6G9x5y3D1Ev();
+Name_Map name_map_G9x5y3[] = {
+ NSPAIR(_ZN6G9x5y3C1Ev),
+ NSPAIR(_ZN6G9x5y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E9x5;
+extern VTBL_ENTRY _ZTI4E9x5[];
+extern VTBL_ENTRY _ZTV4E9x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G9x5y3[] = {
+ // 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
+ 10, //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_D0, 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_E9x5, 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
+ 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 _ZTI6G9x5y3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G9x5y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x5y3[0]),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G9x5y3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G9x5y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G9x5y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x5y3[];
+static VTBL_ENTRY _tg__ZTV4E9x5__6G9x5y3[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__4E9x5__6G9x5y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E9x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__6G9x5y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x5y3[] = {
+ {&(_ZTV6G9x5y3[6]), 6,19},
+ {&(_ZTV6G9x5y3[10]), 10,19},
+ {&(_ZTV6G9x5y3[14]), 14,19},
+ {&(_ZTV6G9x5y3[18]), 18,19},
+ {&(_tg__ZTV4E9x5__6G9x5y3[4]), 4,4},
+ {&(_tg__ZTV2C9__4E9x5__6G9x5y3[4]), 4,5},
+ {&(_tg__ZTV2C9__6G9x5y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x5y3[];
+extern VTBL_ENTRY _ZTV6G9x5y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x5y3[];
+Class_Descriptor cd_G9x5y3 = { "G9x5y3", // class name
+ bases_G9x5y3, 6,
+ &(vtc_G9x5y3[0]), // expected_vtbl_contents
+ &(vtt_G9x5y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G9x5y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x5y3),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x5y3),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 G9x5y4 : E9x5 , F0 {
+ int ff;
+ ~G9x5y4(); // tgen
+ G9x5y4(); // tgen
+};
+//SIG(1 G9x5y4) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G9x5y4 ::~G9x5y4(){ note_dtor("G9x5y4", this);} // tgen
+G9x5y4 ::G9x5y4(){ note_ctor("G9x5y4", this);} // tgen
+
+static void Test_G9x5y4()
+{
+ extern Class_Descriptor cd_G9x5y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G9x5y4, buf);
+ G9x5y4 *dp, &lv = *(dp=new (buf) G9x5y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G9x5y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x5y4)");
+ check_base_class_offset(lv, (A1*)(C9*), ABISELECT(24,20), "G9x5y4");
+ check_base_class_offset(lv, (B0*)(C9*), ABISELECT(40,32), "G9x5y4");
+ check_base_class_offset(lv, (C9*)(E9x5*), ABISELECT(24,20), "G9x5y4");
+ check_base_class_offset(lv, (D0*)(E9x5*), ABISELECT(8,4), "G9x5y4");
+ check_base_class_offset(lv, (E9x5*), 0, "G9x5y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G9x5y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G9x5y4.ff");
+ test_class_info(&lv, &cd_G9x5y4);
+ dp->~G9x5y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x5y4(Test_G9x5y4, "G9x5y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G9x5y4C1Ev();
+extern void _ZN6G9x5y4D1Ev();
+Name_Map name_map_G9x5y4[] = {
+ NSPAIR(_ZN6G9x5y4C1Ev),
+ NSPAIR(_ZN6G9x5y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E9x5;
+extern VTBL_ENTRY _ZTI4E9x5[];
+extern VTBL_ENTRY _ZTV4E9x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G9x5y4[] = {
+ // 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
+ 4, //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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E9x5, 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 _ZTI6G9x5y4[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G9x5y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x5y4[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI6G9x5y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x5y4[];
+static VTBL_ENTRY _tg__ZTV4E9x5__6G9x5y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__4E9x5__6G9x5y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E9x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__6G9x5y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x5y4[] = {
+ {&(_ZTV6G9x5y4[4]), 4,9},
+ {&(_tg__ZTV4E9x5__6G9x5y4[4]), 4,4},
+ {&(_tg__ZTV2C9__4E9x5__6G9x5y4[4]), 4,5},
+ {&(_ZTV6G9x5y4[8]), 8,9},
+ {&(_tg__ZTV2C9__6G9x5y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x5y4[];
+extern VTBL_ENTRY _ZTV6G9x5y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x5y4[];
+Class_Descriptor cd_G9x5y4 = { "G9x5y4", // class name
+ bases_G9x5y4, 6,
+ &(vtc_G9x5y4[0]), // expected_vtbl_contents
+ &(vtt_G9x5y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G9x5y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x5y4),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x5y4),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 G9x5y5 : virtual E9x5 , F0 {
+ int ff;
+ ~G9x5y5(); // tgen
+ G9x5y5(); // tgen
+};
+//SIG(1 G9x5y5) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G9x5y5 ::~G9x5y5(){ note_dtor("G9x5y5", this);} // tgen
+G9x5y5 ::G9x5y5(){ note_ctor("G9x5y5", this);} // tgen
+
+static void Test_G9x5y5()
+{
+ extern Class_Descriptor cd_G9x5y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G9x5y5, buf);
+ G9x5y5 *dp, &lv = *(dp=new (buf) G9x5y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G9x5y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x5y5)");
+ check_base_class_offset(lv, (A1*)(C9*), ABISELECT(32,24), "G9x5y5");
+ check_base_class_offset(lv, (B0*)(C9*), ABISELECT(48,36), "G9x5y5");
+ check_base_class_offset(lv, (C9*)(E9x5*), ABISELECT(32,24), "G9x5y5");
+ check_base_class_offset(lv, (D0*)(E9x5*), ABISELECT(24,16), "G9x5y5");
+ check_base_class_offset(lv, (E9x5*), ABISELECT(16,12), "G9x5y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G9x5y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G9x5y5.ff");
+ test_class_info(&lv, &cd_G9x5y5);
+ dp->~G9x5y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x5y5(Test_G9x5y5, "G9x5y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G9x5y5C1Ev();
+extern void _ZN6G9x5y5D1Ev();
+Name_Map name_map_G9x5y5[] = {
+ NSPAIR(_ZN6G9x5y5C1Ev),
+ NSPAIR(_ZN6G9x5y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E9x5;
+extern VTBL_ENTRY _ZTI4E9x5[];
+extern VTBL_ENTRY _ZTV4E9x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G9x5y5[] = {
+ // 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
+ 9, //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_D0, 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_E9x5, 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 _ZTI6G9x5y5[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G9x5y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x5y5[0]),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G9x5y5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G9x5y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x5y5[];
+static VTBL_ENTRY _tg__ZTV4E9x5__6G9x5y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__4E9x5__6G9x5y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E9x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__6G9x5y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x5y5[] = {
+ {&(_ZTV6G9x5y5[5]), 5,14},
+ {&(_ZTV6G9x5y5[9]), 9,14},
+ {&(_ZTV6G9x5y5[13]), 13,14},
+ {&(_tg__ZTV4E9x5__6G9x5y5[4]), 4,4},
+ {&(_tg__ZTV2C9__4E9x5__6G9x5y5[4]), 4,5},
+ {&(_tg__ZTV2C9__6G9x5y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x5y5[];
+extern VTBL_ENTRY _ZTV6G9x5y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x5y5[];
+Class_Descriptor cd_G9x5y5 = { "G9x5y5", // class name
+ bases_G9x5y5, 6,
+ &(vtc_G9x5y5[0]), // expected_vtbl_contents
+ &(vtt_G9x5y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G9x5y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x5y5),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x5y5),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 G9x5y6 : E9x5 , virtual F0 {
+ int ff;
+ ~G9x5y6(); // tgen
+ G9x5y6(); // tgen
+};
+//SIG(1 G9x5y6) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G9x5y6 ::~G9x5y6(){ note_dtor("G9x5y6", this);} // tgen
+G9x5y6 ::G9x5y6(){ note_ctor("G9x5y6", this);} // tgen
+
+static void Test_G9x5y6()
+{
+ extern Class_Descriptor cd_G9x5y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G9x5y6, buf);
+ G9x5y6 *dp, &lv = *(dp=new (buf) G9x5y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G9x5y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x5y6)");
+ check_base_class_offset(lv, (A1*)(C9*), ABISELECT(24,16), "G9x5y6");
+ check_base_class_offset(lv, (B0*)(C9*), ABISELECT(40,28), "G9x5y6");
+ check_base_class_offset(lv, (C9*)(E9x5*), ABISELECT(24,16), "G9x5y6");
+ check_base_class_offset(lv, (D0*)(E9x5*), ABISELECT(8,4), "G9x5y6");
+ check_base_class_offset(lv, (E9x5*), 0, "G9x5y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G9x5y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G9x5y6.ff");
+ test_class_info(&lv, &cd_G9x5y6);
+ dp->~G9x5y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x5y6(Test_G9x5y6, "G9x5y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G9x5y6C1Ev();
+extern void _ZN6G9x5y6D1Ev();
+Name_Map name_map_G9x5y6[] = {
+ NSPAIR(_ZN6G9x5y6C1Ev),
+ NSPAIR(_ZN6G9x5y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E9x5;
+extern VTBL_ENTRY _ZTI4E9x5[];
+extern VTBL_ENTRY _ZTV4E9x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G9x5y6[] = {
+ // 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)
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E9x5, 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 _ZTI6G9x5y6[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G9x5y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x5y6[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G9x5y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x5y6[];
+static VTBL_ENTRY _tg__ZTV4E9x5__6G9x5y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__4E9x5__6G9x5y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E9x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__6G9x5y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x5y6[] = {
+ {&(_ZTV6G9x5y6[5]), 5,10},
+ {&(_tg__ZTV4E9x5__6G9x5y6[4]), 4,4},
+ {&(_tg__ZTV2C9__4E9x5__6G9x5y6[4]), 4,5},
+ {&(_ZTV6G9x5y6[9]), 9,10},
+ {&(_tg__ZTV2C9__6G9x5y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x5y6[];
+extern VTBL_ENTRY _ZTV6G9x5y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x5y6[];
+Class_Descriptor cd_G9x5y6 = { "G9x5y6", // class name
+ bases_G9x5y6, 6,
+ &(vtc_G9x5y6[0]), // expected_vtbl_contents
+ &(vtt_G9x5y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G9x5y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x5y6),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x5y6),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 G9x5y7 : virtual E9x5 , virtual F0 {
+ int ff;
+ ~G9x5y7(); // tgen
+ G9x5y7(); // tgen
+};
+//SIG(1 G9x5y7) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G9x5y7 ::~G9x5y7(){ note_dtor("G9x5y7", this);} // tgen
+G9x5y7 ::G9x5y7(){ note_ctor("G9x5y7", this);} // tgen
+
+static void Test_G9x5y7()
+{
+ extern Class_Descriptor cd_G9x5y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G9x5y7, buf);
+ G9x5y7 *dp, &lv = *(dp=new (buf) G9x5y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G9x5y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x5y7)");
+ check_base_class_offset(lv, (A1*)(C9*), ABISELECT(32,20), "G9x5y7");
+ check_base_class_offset(lv, (B0*)(C9*), ABISELECT(48,32), "G9x5y7");
+ check_base_class_offset(lv, (C9*)(E9x5*), ABISELECT(32,20), "G9x5y7");
+ check_base_class_offset(lv, (D0*)(E9x5*), ABISELECT(24,12), "G9x5y7");
+ check_base_class_offset(lv, (E9x5*), ABISELECT(16,8), "G9x5y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G9x5y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G9x5y7.ff");
+ test_class_info(&lv, &cd_G9x5y7);
+ dp->~G9x5y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x5y7(Test_G9x5y7, "G9x5y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G9x5y7C1Ev();
+extern void _ZN6G9x5y7D1Ev();
+Name_Map name_map_G9x5y7[] = {
+ NSPAIR(_ZN6G9x5y7C1Ev),
+ NSPAIR(_ZN6G9x5y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E9x5;
+extern VTBL_ENTRY _ZTI4E9x5[];
+extern VTBL_ENTRY _ZTV4E9x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G9x5y7[] = {
+ // 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
+ 10, //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_D0, 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_E9x5, 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 _ZTI6G9x5y7[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G9x5y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x5y7[0]),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G9x5y7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G9x5y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x5y7[];
+static VTBL_ENTRY _tg__ZTV4E9x5__6G9x5y7[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__4E9x5__6G9x5y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E9x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__6G9x5y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x5y7[] = {
+ {&(_ZTV6G9x5y7[6]), 6,15},
+ {&(_ZTV6G9x5y7[10]), 10,15},
+ {&(_ZTV6G9x5y7[14]), 14,15},
+ {&(_tg__ZTV4E9x5__6G9x5y7[4]), 4,4},
+ {&(_tg__ZTV2C9__4E9x5__6G9x5y7[4]), 4,5},
+ {&(_tg__ZTV2C9__6G9x5y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x5y7[];
+extern VTBL_ENTRY _ZTV6G9x5y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x5y7[];
+Class_Descriptor cd_G9x5y7 = { "G9x5y7", // class name
+ bases_G9x5y7, 6,
+ &(vtc_G9x5y7[0]), // expected_vtbl_contents
+ &(vtt_G9x5y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G9x5y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x5y7),15, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x5y7),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 E10x5 : virtual C10 , D0 {
+ int fd;
+ ~E10x5(); // tgen
+ E10x5(); // tgen
+};
+//SIG(-1 E10x5) C1{ VBC2{ VBC3{ Fi} VBC4{ Fi} Fi} BC5{ Fi} Fi}
+
+
+E10x5 ::~E10x5(){ note_dtor("E10x5", this);} // tgen
+E10x5 ::E10x5(){ note_ctor("E10x5", this);} // tgen
+
+static void Test_E10x5()
+{
+ extern Class_Descriptor cd_E10x5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E10x5, buf);
+ E10x5 *dp, &lv = *(dp=new (buf) E10x5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E10x5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E10x5)");
+ check_base_class_offset(lv, (A0*)(C10*), ABISELECT(28,20), "E10x5");
+ check_base_class_offset(lv, (B0*)(C10*), ABISELECT(32,24), "E10x5");
+ check_base_class_offset(lv, (C10*), ABISELECT(16,12), "E10x5");
+ check_base_class_offset(lv, (D0*), ABISELECT(8,4), "E10x5");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E10x5.fd");
+ test_class_info(&lv, &cd_E10x5);
+ dp->~E10x5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE10x5(Test_E10x5, "E10x5", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E10x5C1Ev();
+extern void _ZN5E10x5D1Ev();
+Name_Map name_map_E10x5[] = {
+ NSPAIR(_ZN5E10x5C1Ev),
+ NSPAIR(_ZN5E10x5D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E10x5[] = {
+ // 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
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E10x5[];
+static VTBL_ENTRY vtc_E10x5[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x5[0]),
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E10x5[0]),
+};
+extern VTBL_ENTRY _ZTV5E10x5[];
+static VTBL_ENTRY _tg__ZTV3C10__5E10x5[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_E10x5[] = {
+ {&(_ZTV5E10x5[5]), 5,9},
+ {&(_ZTV5E10x5[9]), 9,9},
+ {&(_tg__ZTV3C10__5E10x5[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI5E10x5[];
+extern VTBL_ENTRY _ZTV5E10x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x5[];
+Class_Descriptor cd_E10x5 = { "E10x5", // class name
+ bases_E10x5, 4,
+ &(vtc_E10x5[0]), // expected_vtbl_contents
+ &(vtt_E10x5[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E10x5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E10x5),9, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E10x5),3, //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 G10x5y0 : E10x5 , F1 {
+ int ff;
+ ~G10x5y0(); // tgen
+ G10x5y0(); // tgen
+};
+//SIG(1 G10x5y0) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ v1 Fi} Fi}
+
+
+G10x5y0 ::~G10x5y0(){ note_dtor("G10x5y0", this);} // tgen
+G10x5y0 ::G10x5y0(){ note_ctor("G10x5y0", this);} // tgen
+
+static void Test_G10x5y0()
+{
+ extern Class_Descriptor cd_G10x5y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G10x5y0, buf);
+ G10x5y0 *dp, &lv = *(dp=new (buf) G10x5y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G10x5y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x5y0)");
+ check_base_class_offset(lv, (A0*)(C10*), ABISELECT(44,32), "G10x5y0");
+ check_base_class_offset(lv, (B0*)(C10*), ABISELECT(48,36), "G10x5y0");
+ check_base_class_offset(lv, (C10*)(E10x5*), ABISELECT(32,24), "G10x5y0");
+ check_base_class_offset(lv, (D0*)(E10x5*), ABISELECT(8,4), "G10x5y0");
+ check_base_class_offset(lv, (E10x5*), 0, "G10x5y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G10x5y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G10x5y0.ff");
+ test_class_info(&lv, &cd_G10x5y0);
+ dp->~G10x5y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x5y0(Test_G10x5y0, "G10x5y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G10x5y0C1Ev();
+extern void _ZN7G10x5y0D1Ev();
+Name_Map name_map_G10x5y0[] = {
+ NSPAIR(_ZN7G10x5y0C1Ev),
+ NSPAIR(_ZN7G10x5y0D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E10x5;
+extern VTBL_ENTRY _ZTI5E10x5[];
+extern VTBL_ENTRY _ZTV5E10x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G10x5y0[] = {
+ // 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
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E10x5, 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
+ 2, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G10x5y0[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G10x5y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x5y0[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G10x5y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G10x5y0[0]),
+};
+extern VTBL_ENTRY _ZTV7G10x5y0[];
+static VTBL_ENTRY _tg__ZTV5E10x5__7G10x5y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C10__5E10x5__7G10x5y0[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E10x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C10__7G10x5y0[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x5y0[] = {
+ {&(_ZTV7G10x5y0[5]), 5,12},
+ {&(_tg__ZTV5E10x5__7G10x5y0[5]), 5,5},
+ {&(_tg__ZTV3C10__5E10x5__7G10x5y0[4]), 4,4},
+ {&(_ZTV7G10x5y0[12]), 12,12},
+ {&(_tg__ZTV3C10__7G10x5y0[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x5y0[];
+extern VTBL_ENTRY _ZTV7G10x5y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x5y0[];
+Class_Descriptor cd_G10x5y0 = { "G10x5y0", // class name
+ bases_G10x5y0, 6,
+ &(vtc_G10x5y0[0]), // expected_vtbl_contents
+ &(vtt_G10x5y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G10x5y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x5y0),12, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x5y0),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 G10x5y1 : virtual E10x5 , F1 {
+ int ff;
+ ~G10x5y1(); // tgen
+ G10x5y1(); // tgen
+};
+//SIG(1 G10x5y1) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ v1 Fi} Fi}
+
+
+G10x5y1 ::~G10x5y1(){ note_dtor("G10x5y1", this);} // tgen
+G10x5y1 ::G10x5y1(){ note_ctor("G10x5y1", this);} // tgen
+
+static void Test_G10x5y1()
+{
+ extern Class_Descriptor cd_G10x5y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G10x5y1, buf);
+ G10x5y1 *dp, &lv = *(dp=new (buf) G10x5y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G10x5y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x5y1)");
+ check_base_class_offset(lv, (A0*)(C10*), ABISELECT(44,32), "G10x5y1");
+ check_base_class_offset(lv, (B0*)(C10*), ABISELECT(48,36), "G10x5y1");
+ check_base_class_offset(lv, (C10*)(E10x5*), ABISELECT(32,24), "G10x5y1");
+ check_base_class_offset(lv, (D0*)(E10x5*), ABISELECT(24,16), "G10x5y1");
+ check_base_class_offset(lv, (E10x5*), ABISELECT(16,12), "G10x5y1");
+ check_base_class_offset(lv, (F1*), 0, "G10x5y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G10x5y1.ff");
+ test_class_info(&lv, &cd_G10x5y1);
+ dp->~G10x5y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x5y1(Test_G10x5y1, "G10x5y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G10x5y1C1Ev();
+extern void _ZN7G10x5y1D1Ev();
+Name_Map name_map_G10x5y1[] = {
+ NSPAIR(_ZN7G10x5y1C1Ev),
+ NSPAIR(_ZN7G10x5y1D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E10x5;
+extern VTBL_ENTRY _ZTI5E10x5[];
+extern VTBL_ENTRY _ZTV5E10x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G10x5y1[] = {
+ // 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
+ 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_D0, 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_E10x5, 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
+ 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 _ZTI7G10x5y1[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G10x5y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x5y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G10x5y1[0]),
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G10x5y1[0]),
+};
+extern VTBL_ENTRY _ZTV7G10x5y1[];
+static VTBL_ENTRY _tg__ZTV5E10x5__7G10x5y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C10__5E10x5__7G10x5y1[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E10x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C10__7G10x5y1[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x5y1[] = {
+ {&(_ZTV7G10x5y1[6]), 6,16},
+ {&(_ZTV7G10x5y1[12]), 12,16},
+ {&(_ZTV7G10x5y1[16]), 16,16},
+ {&(_tg__ZTV5E10x5__7G10x5y1[5]), 5,5},
+ {&(_tg__ZTV3C10__5E10x5__7G10x5y1[4]), 4,4},
+ {&(_tg__ZTV3C10__7G10x5y1[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x5y1[];
+extern VTBL_ENTRY _ZTV7G10x5y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x5y1[];
+Class_Descriptor cd_G10x5y1 = { "G10x5y1", // class name
+ bases_G10x5y1, 6,
+ &(vtc_G10x5y1[0]), // expected_vtbl_contents
+ &(vtt_G10x5y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G10x5y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x5y1),16, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x5y1),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 G10x5y2 : E10x5 , virtual F1 {
+ int ff;
+ ~G10x5y2(); // tgen
+ G10x5y2(); // tgen
+};
+//SIG(1 G10x5y2) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ v1 Fi} Fi}
+
+
+G10x5y2 ::~G10x5y2(){ note_dtor("G10x5y2", this);} // tgen
+G10x5y2 ::G10x5y2(){ note_ctor("G10x5y2", this);} // tgen
+
+static void Test_G10x5y2()
+{
+ extern Class_Descriptor cd_G10x5y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G10x5y2, buf);
+ G10x5y2 *dp, &lv = *(dp=new (buf) G10x5y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G10x5y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x5y2)");
+ check_base_class_offset(lv, (A0*)(C10*), ABISELECT(36,24), "G10x5y2");
+ check_base_class_offset(lv, (B0*)(C10*), ABISELECT(40,28), "G10x5y2");
+ check_base_class_offset(lv, (C10*)(E10x5*), ABISELECT(24,16), "G10x5y2");
+ check_base_class_offset(lv, (D0*)(E10x5*), ABISELECT(8,4), "G10x5y2");
+ check_base_class_offset(lv, (E10x5*), 0, "G10x5y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G10x5y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G10x5y2.ff");
+ test_class_info(&lv, &cd_G10x5y2);
+ dp->~G10x5y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x5y2(Test_G10x5y2, "G10x5y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G10x5y2C1Ev();
+extern void _ZN7G10x5y2D1Ev();
+Name_Map name_map_G10x5y2[] = {
+ NSPAIR(_ZN7G10x5y2C1Ev),
+ NSPAIR(_ZN7G10x5y2D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E10x5;
+extern VTBL_ENTRY _ZTI5E10x5[];
+extern VTBL_ENTRY _ZTV5E10x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G10x5y2[] = {
+ // 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)
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E10x5, 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(48,32), //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 _ZTI7G10x5y2[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G10x5y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x5y2[0]),
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G10x5y2[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G10x5y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G10x5y2[];
+static VTBL_ENTRY _tg__ZTV5E10x5__7G10x5y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C10__5E10x5__7G10x5y2[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E10x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C10__7G10x5y2[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x5y2[] = {
+ {&(_ZTV7G10x5y2[6]), 6,14},
+ {&(_tg__ZTV5E10x5__7G10x5y2[5]), 5,5},
+ {&(_tg__ZTV3C10__5E10x5__7G10x5y2[4]), 4,4},
+ {&(_ZTV7G10x5y2[10]), 10,14},
+ {&(_ZTV7G10x5y2[13]), 13,14},
+ {&(_tg__ZTV3C10__7G10x5y2[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x5y2[];
+extern VTBL_ENTRY _ZTV7G10x5y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x5y2[];
+Class_Descriptor cd_G10x5y2 = { "G10x5y2", // class name
+ bases_G10x5y2, 6,
+ &(vtc_G10x5y2[0]), // expected_vtbl_contents
+ &(vtt_G10x5y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G10x5y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x5y2),14, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x5y2),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 G10x5y3 : virtual E10x5 , virtual F1 {
+ int ff;
+ ~G10x5y3(); // tgen
+ G10x5y3(); // tgen
+};
+//SIG(1 G10x5y3) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ v1 Fi} Fi}
+
+
+G10x5y3 ::~G10x5y3(){ note_dtor("G10x5y3", this);} // tgen
+G10x5y3 ::G10x5y3(){ note_ctor("G10x5y3", this);} // tgen
+
+static void Test_G10x5y3()
+{
+ extern Class_Descriptor cd_G10x5y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G10x5y3, buf);
+ G10x5y3 *dp, &lv = *(dp=new (buf) G10x5y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G10x5y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x5y3)");
+ check_base_class_offset(lv, (A0*)(C10*), ABISELECT(44,28), "G10x5y3");
+ check_base_class_offset(lv, (B0*)(C10*), ABISELECT(48,32), "G10x5y3");
+ check_base_class_offset(lv, (C10*)(E10x5*), ABISELECT(32,20), "G10x5y3");
+ check_base_class_offset(lv, (D0*)(E10x5*), ABISELECT(24,12), "G10x5y3");
+ check_base_class_offset(lv, (E10x5*), ABISELECT(16,8), "G10x5y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G10x5y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G10x5y3.ff");
+ test_class_info(&lv, &cd_G10x5y3);
+ dp->~G10x5y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x5y3(Test_G10x5y3, "G10x5y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G10x5y3C1Ev();
+extern void _ZN7G10x5y3D1Ev();
+Name_Map name_map_G10x5y3[] = {
+ NSPAIR(_ZN7G10x5y3C1Ev),
+ NSPAIR(_ZN7G10x5y3D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E10x5;
+extern VTBL_ENTRY _ZTI5E10x5[];
+extern VTBL_ENTRY _ZTV5E10x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G10x5y3[] = {
+ // 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
+ 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_D0, 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_E10x5, 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
+ 2, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G10x5y3[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G10x5y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x5y3[0]),
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G10x5y3[0]),
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G10x5y3[0]),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G10x5y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G10x5y3[];
+static VTBL_ENTRY _tg__ZTV5E10x5__7G10x5y3[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C10__5E10x5__7G10x5y3[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E10x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C10__7G10x5y3[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x5y3[] = {
+ {&(_ZTV7G10x5y3[7]), 7,20},
+ {&(_ZTV7G10x5y3[12]), 12,20},
+ {&(_ZTV7G10x5y3[16]), 16,20},
+ {&(_ZTV7G10x5y3[19]), 19,20},
+ {&(_tg__ZTV5E10x5__7G10x5y3[5]), 5,5},
+ {&(_tg__ZTV3C10__5E10x5__7G10x5y3[4]), 4,4},
+ {&(_tg__ZTV3C10__7G10x5y3[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x5y3[];
+extern VTBL_ENTRY _ZTV7G10x5y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x5y3[];
+Class_Descriptor cd_G10x5y3 = { "G10x5y3", // class name
+ bases_G10x5y3, 6,
+ &(vtc_G10x5y3[0]), // expected_vtbl_contents
+ &(vtt_G10x5y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G10x5y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x5y3),20, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x5y3),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 G10x5y4 : E10x5 , F0 {
+ int ff;
+ ~G10x5y4(); // tgen
+ G10x5y4(); // tgen
+};
+//SIG(1 G10x5y4) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G10x5y4 ::~G10x5y4(){ note_dtor("G10x5y4", this);} // tgen
+G10x5y4 ::G10x5y4(){ note_ctor("G10x5y4", this);} // tgen
+
+static void Test_G10x5y4()
+{
+ extern Class_Descriptor cd_G10x5y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G10x5y4, buf);
+ G10x5y4 *dp, &lv = *(dp=new (buf) G10x5y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G10x5y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x5y4)");
+ check_base_class_offset(lv, (A0*)(C10*), ABISELECT(36,28), "G10x5y4");
+ check_base_class_offset(lv, (B0*)(C10*), ABISELECT(40,32), "G10x5y4");
+ check_base_class_offset(lv, (C10*)(E10x5*), ABISELECT(24,20), "G10x5y4");
+ check_base_class_offset(lv, (D0*)(E10x5*), ABISELECT(8,4), "G10x5y4");
+ check_base_class_offset(lv, (E10x5*), 0, "G10x5y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G10x5y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G10x5y4.ff");
+ test_class_info(&lv, &cd_G10x5y4);
+ dp->~G10x5y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x5y4(Test_G10x5y4, "G10x5y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G10x5y4C1Ev();
+extern void _ZN7G10x5y4D1Ev();
+Name_Map name_map_G10x5y4[] = {
+ NSPAIR(_ZN7G10x5y4C1Ev),
+ NSPAIR(_ZN7G10x5y4D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E10x5;
+extern VTBL_ENTRY _ZTI5E10x5[];
+extern VTBL_ENTRY _ZTV5E10x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G10x5y4[] = {
+ // 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
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E10x5, 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
+ 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 _ZTI7G10x5y4[];
+static VTBL_ENTRY vtc_G10x5y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x5y4[0]),
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G10x5y4[0]),
+};
+extern VTBL_ENTRY _ZTV7G10x5y4[];
+static VTBL_ENTRY _tg__ZTV5E10x5__7G10x5y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C10__5E10x5__7G10x5y4[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E10x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C10__7G10x5y4[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x5y4[] = {
+ {&(_ZTV7G10x5y4[5]), 5,9},
+ {&(_tg__ZTV5E10x5__7G10x5y4[5]), 5,5},
+ {&(_tg__ZTV3C10__5E10x5__7G10x5y4[4]), 4,4},
+ {&(_ZTV7G10x5y4[9]), 9,9},
+ {&(_tg__ZTV3C10__7G10x5y4[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x5y4[];
+extern VTBL_ENTRY _ZTV7G10x5y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x5y4[];
+Class_Descriptor cd_G10x5y4 = { "G10x5y4", // class name
+ bases_G10x5y4, 6,
+ &(vtc_G10x5y4[0]), // expected_vtbl_contents
+ &(vtt_G10x5y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G10x5y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x5y4),9, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x5y4),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 G10x5y5 : virtual E10x5 , F0 {
+ int ff;
+ ~G10x5y5(); // tgen
+ G10x5y5(); // tgen
+};
+//SIG(1 G10x5y5) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G10x5y5 ::~G10x5y5(){ note_dtor("G10x5y5", this);} // tgen
+G10x5y5 ::G10x5y5(){ note_ctor("G10x5y5", this);} // tgen
+
+static void Test_G10x5y5()
+{
+ extern Class_Descriptor cd_G10x5y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G10x5y5, buf);
+ G10x5y5 *dp, &lv = *(dp=new (buf) G10x5y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G10x5y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x5y5)");
+ check_base_class_offset(lv, (A0*)(C10*), ABISELECT(44,32), "G10x5y5");
+ check_base_class_offset(lv, (B0*)(C10*), ABISELECT(48,36), "G10x5y5");
+ check_base_class_offset(lv, (C10*)(E10x5*), ABISELECT(32,24), "G10x5y5");
+ check_base_class_offset(lv, (D0*)(E10x5*), ABISELECT(24,16), "G10x5y5");
+ check_base_class_offset(lv, (E10x5*), ABISELECT(16,12), "G10x5y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G10x5y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G10x5y5.ff");
+ test_class_info(&lv, &cd_G10x5y5);
+ dp->~G10x5y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x5y5(Test_G10x5y5, "G10x5y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G10x5y5C1Ev();
+extern void _ZN7G10x5y5D1Ev();
+Name_Map name_map_G10x5y5[] = {
+ NSPAIR(_ZN7G10x5y5C1Ev),
+ NSPAIR(_ZN7G10x5y5D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E10x5;
+extern VTBL_ENTRY _ZTI5E10x5[];
+extern VTBL_ENTRY _ZTV5E10x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G10x5y5[] = {
+ // 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
+ 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_D0, 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_E10x5, 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_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 _ZTI7G10x5y5[];
+static VTBL_ENTRY vtc_G10x5y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x5y5[0]),
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G10x5y5[0]),
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G10x5y5[0]),
+};
+extern VTBL_ENTRY _ZTV7G10x5y5[];
+static VTBL_ENTRY _tg__ZTV5E10x5__7G10x5y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C10__5E10x5__7G10x5y5[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E10x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C10__7G10x5y5[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x5y5[] = {
+ {&(_ZTV7G10x5y5[6]), 6,15},
+ {&(_ZTV7G10x5y5[11]), 11,15},
+ {&(_ZTV7G10x5y5[15]), 15,15},
+ {&(_tg__ZTV5E10x5__7G10x5y5[5]), 5,5},
+ {&(_tg__ZTV3C10__5E10x5__7G10x5y5[4]), 4,4},
+ {&(_tg__ZTV3C10__7G10x5y5[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x5y5[];
+extern VTBL_ENTRY _ZTV7G10x5y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x5y5[];
+Class_Descriptor cd_G10x5y5 = { "G10x5y5", // class name
+ bases_G10x5y5, 6,
+ &(vtc_G10x5y5[0]), // expected_vtbl_contents
+ &(vtt_G10x5y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G10x5y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x5y5),15, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x5y5),6, //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 G10x5y6 : E10x5 , virtual F0 {
+ int ff;
+ ~G10x5y6(); // tgen
+ G10x5y6(); // tgen
+};
+//SIG(1 G10x5y6) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G10x5y6 ::~G10x5y6(){ note_dtor("G10x5y6", this);} // tgen
+G10x5y6 ::G10x5y6(){ note_ctor("G10x5y6", this);} // tgen
+
+static void Test_G10x5y6()
+{
+ extern Class_Descriptor cd_G10x5y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G10x5y6, buf);
+ G10x5y6 *dp, &lv = *(dp=new (buf) G10x5y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G10x5y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x5y6)");
+ check_base_class_offset(lv, (A0*)(C10*), ABISELECT(36,24), "G10x5y6");
+ check_base_class_offset(lv, (B0*)(C10*), ABISELECT(40,28), "G10x5y6");
+ check_base_class_offset(lv, (C10*)(E10x5*), ABISELECT(24,16), "G10x5y6");
+ check_base_class_offset(lv, (D0*)(E10x5*), ABISELECT(8,4), "G10x5y6");
+ check_base_class_offset(lv, (E10x5*), 0, "G10x5y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G10x5y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G10x5y6.ff");
+ test_class_info(&lv, &cd_G10x5y6);
+ dp->~G10x5y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x5y6(Test_G10x5y6, "G10x5y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G10x5y6C1Ev();
+extern void _ZN7G10x5y6D1Ev();
+Name_Map name_map_G10x5y6[] = {
+ NSPAIR(_ZN7G10x5y6C1Ev),
+ NSPAIR(_ZN7G10x5y6D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E10x5;
+extern VTBL_ENTRY _ZTI5E10x5[];
+extern VTBL_ENTRY _ZTV5E10x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G10x5y6[] = {
+ // 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)
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E10x5, 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
+ 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 _ZTI7G10x5y6[];
+static VTBL_ENTRY vtc_G10x5y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x5y6[0]),
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G10x5y6[0]),
+};
+extern VTBL_ENTRY _ZTV7G10x5y6[];
+static VTBL_ENTRY _tg__ZTV5E10x5__7G10x5y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C10__5E10x5__7G10x5y6[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E10x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C10__7G10x5y6[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x5y6[] = {
+ {&(_ZTV7G10x5y6[6]), 6,10},
+ {&(_tg__ZTV5E10x5__7G10x5y6[5]), 5,5},
+ {&(_tg__ZTV3C10__5E10x5__7G10x5y6[4]), 4,4},
+ {&(_ZTV7G10x5y6[10]), 10,10},
+ {&(_tg__ZTV3C10__7G10x5y6[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x5y6[];
+extern VTBL_ENTRY _ZTV7G10x5y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x5y6[];
+Class_Descriptor cd_G10x5y6 = { "G10x5y6", // class name
+ bases_G10x5y6, 6,
+ &(vtc_G10x5y6[0]), // expected_vtbl_contents
+ &(vtt_G10x5y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G10x5y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x5y6),10, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x5y6),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 G10x5y7 : virtual E10x5 , virtual F0 {
+ int ff;
+ ~G10x5y7(); // tgen
+ G10x5y7(); // tgen
+};
+//SIG(1 G10x5y7) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G10x5y7 ::~G10x5y7(){ note_dtor("G10x5y7", this);} // tgen
+G10x5y7 ::G10x5y7(){ note_ctor("G10x5y7", this);} // tgen
+
+static void Test_G10x5y7()
+{
+ extern Class_Descriptor cd_G10x5y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G10x5y7, buf);
+ G10x5y7 *dp, &lv = *(dp=new (buf) G10x5y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G10x5y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x5y7)");
+ check_base_class_offset(lv, (A0*)(C10*), ABISELECT(44,28), "G10x5y7");
+ check_base_class_offset(lv, (B0*)(C10*), ABISELECT(48,32), "G10x5y7");
+ check_base_class_offset(lv, (C10*)(E10x5*), ABISELECT(32,20), "G10x5y7");
+ check_base_class_offset(lv, (D0*)(E10x5*), ABISELECT(24,12), "G10x5y7");
+ check_base_class_offset(lv, (E10x5*), ABISELECT(16,8), "G10x5y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G10x5y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G10x5y7.ff");
+ test_class_info(&lv, &cd_G10x5y7);
+ dp->~G10x5y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x5y7(Test_G10x5y7, "G10x5y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G10x5y7C1Ev();
+extern void _ZN7G10x5y7D1Ev();
+Name_Map name_map_G10x5y7[] = {
+ NSPAIR(_ZN7G10x5y7C1Ev),
+ NSPAIR(_ZN7G10x5y7D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E10x5;
+extern VTBL_ENTRY _ZTI5E10x5[];
+extern VTBL_ENTRY _ZTV5E10x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G10x5y7[] = {
+ // 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
+ 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_D0, 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_E10x5, 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
+ 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 _ZTI7G10x5y7[];
+static VTBL_ENTRY vtc_G10x5y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x5y7[0]),
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G10x5y7[0]),
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G10x5y7[0]),
+};
+extern VTBL_ENTRY _ZTV7G10x5y7[];
+static VTBL_ENTRY _tg__ZTV5E10x5__7G10x5y7[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C10__5E10x5__7G10x5y7[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E10x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C10__7G10x5y7[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x5y7[] = {
+ {&(_ZTV7G10x5y7[7]), 7,16},
+ {&(_ZTV7G10x5y7[12]), 12,16},
+ {&(_ZTV7G10x5y7[16]), 16,16},
+ {&(_tg__ZTV5E10x5__7G10x5y7[5]), 5,5},
+ {&(_tg__ZTV3C10__5E10x5__7G10x5y7[4]), 4,4},
+ {&(_tg__ZTV3C10__7G10x5y7[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x5y7[];
+extern VTBL_ENTRY _ZTV7G10x5y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x5y7[];
+Class_Descriptor cd_G10x5y7 = { "G10x5y7", // class name
+ bases_G10x5y7, 6,
+ &(vtc_G10x5y7[0]), // expected_vtbl_contents
+ &(vtt_G10x5y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G10x5y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x5y7),16, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x5y7),6, //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 E11x5 : virtual C11 , D0 {
+ int fd;
+ ~E11x5(); // tgen
+ E11x5(); // tgen
+};
+//SIG(-1 E11x5) C1{ VBC2{ VBC3{ v1 Fi} VBC4{ Fi} Fi} BC5{ Fi} Fi}
+
+
+E11x5 ::~E11x5(){ note_dtor("E11x5", this);} // tgen
+E11x5 ::E11x5(){ note_ctor("E11x5", this);} // tgen
+
+static void Test_E11x5()
+{
+ extern Class_Descriptor cd_E11x5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E11x5, buf);
+ E11x5 *dp, &lv = *(dp=new (buf) E11x5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E11x5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E11x5)");
+ check_base_class_offset(lv, (A1*)(C11*), ABISELECT(32,20), "E11x5");
+ check_base_class_offset(lv, (B0*)(C11*), ABISELECT(44,28), "E11x5");
+ check_base_class_offset(lv, (C11*), ABISELECT(16,12), "E11x5");
+ check_base_class_offset(lv, (D0*), ABISELECT(8,4), "E11x5");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E11x5.fd");
+ test_class_info(&lv, &cd_E11x5);
+ dp->~E11x5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE11x5(Test_E11x5, "E11x5", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN5E11x5C1Ev();
+extern void _ZN5E11x5D1Ev();
+Name_Map name_map_E11x5[] = {
+ NSPAIR(_ZN5E11x5C1Ev),
+ NSPAIR(_ZN5E11x5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E11x5[] = {
+ // 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)
+ 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
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E11x5[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_E11x5[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x5[0]),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E11x5[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E11x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E11x5[];
+static VTBL_ENTRY _tg__ZTV3C11__5E11x5[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C11__5E11x5[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_E11x5[] = {
+ {&(_ZTV5E11x5[5]), 5,13},
+ {&(_ZTV5E11x5[9]), 9,13},
+ {&(_ZTV5E11x5[12]), 12,13},
+ {&(_tg__ZTV3C11__5E11x5[4]), 4,4},
+ {&(_tg__ZTV2A1__3C11__5E11x5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E11x5[];
+extern VTBL_ENTRY _ZTV5E11x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x5[];
+Class_Descriptor cd_E11x5 = { "E11x5", // class name
+ bases_E11x5, 4,
+ &(vtc_E11x5[0]), // expected_vtbl_contents
+ &(vtt_E11x5[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI5E11x5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E11x5),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E11x5),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 G11x5y0 : E11x5 , F1 {
+ int ff;
+ ~G11x5y0(); // tgen
+ G11x5y0(); // tgen
+};
+//SIG(1 G11x5y0) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G11x5y0 ::~G11x5y0(){ note_dtor("G11x5y0", this);} // tgen
+G11x5y0 ::G11x5y0(){ note_ctor("G11x5y0", this);} // tgen
+
+static void Test_G11x5y0()
+{
+ extern Class_Descriptor cd_G11x5y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G11x5y0, buf);
+ G11x5y0 *dp, &lv = *(dp=new (buf) G11x5y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G11x5y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x5y0)");
+ check_base_class_offset(lv, (A1*)(C11*), ABISELECT(48,32), "G11x5y0");
+ check_base_class_offset(lv, (B0*)(C11*), ABISELECT(60,40), "G11x5y0");
+ check_base_class_offset(lv, (C11*)(E11x5*), ABISELECT(32,24), "G11x5y0");
+ check_base_class_offset(lv, (D0*)(E11x5*), ABISELECT(8,4), "G11x5y0");
+ check_base_class_offset(lv, (E11x5*), 0, "G11x5y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G11x5y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G11x5y0.ff");
+ test_class_info(&lv, &cd_G11x5y0);
+ dp->~G11x5y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x5y0(Test_G11x5y0, "G11x5y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G11x5y0C1Ev();
+extern void _ZN7G11x5y0D1Ev();
+Name_Map name_map_G11x5y0[] = {
+ NSPAIR(_ZN7G11x5y0C1Ev),
+ NSPAIR(_ZN7G11x5y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E11x5;
+extern VTBL_ENTRY _ZTI5E11x5[];
+extern VTBL_ENTRY _ZTV5E11x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G11x5y0[] = {
+ // 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)
+ 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
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E11x5, 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 _ZTI7G11x5y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G11x5y0[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x5y0[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G11x5y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G11x5y0[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G11x5y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x5y0[];
+static VTBL_ENTRY _tg__ZTV5E11x5__7G11x5y0[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C11__5E11x5__7G11x5y0[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E11x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x5__7G11x5y0[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E11x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C11__7G11x5y0[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C11__7G11x5y0[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x5y0[] = {
+ {&(_ZTV7G11x5y0[5]), 5,16},
+ {&(_tg__ZTV5E11x5__7G11x5y0[5]), 5,5},
+ {&(_tg__ZTV3C11__5E11x5__7G11x5y0[4]), 4,4},
+ {&(_tg__ZTV2A1__5E11x5__7G11x5y0[3]), 3,4},
+ {&(_ZTV7G11x5y0[12]), 12,16},
+ {&(_ZTV7G11x5y0[15]), 15,16},
+ {&(_tg__ZTV3C11__7G11x5y0[4]), 4,4},
+ {&(_tg__ZTV2A1__3C11__7G11x5y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G11x5y0[];
+extern VTBL_ENTRY _ZTV7G11x5y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x5y0[];
+Class_Descriptor cd_G11x5y0 = { "G11x5y0", // class name
+ bases_G11x5y0, 6,
+ &(vtc_G11x5y0[0]), // expected_vtbl_contents
+ &(vtt_G11x5y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G11x5y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x5y0),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x5y0),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 G11x5y1 : virtual E11x5 , F1 {
+ int ff;
+ ~G11x5y1(); // tgen
+ G11x5y1(); // tgen
+};
+//SIG(1 G11x5y1) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G11x5y1 ::~G11x5y1(){ note_dtor("G11x5y1", this);} // tgen
+G11x5y1 ::G11x5y1(){ note_ctor("G11x5y1", this);} // tgen
+
+static void Test_G11x5y1()
+{
+ extern Class_Descriptor cd_G11x5y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G11x5y1, buf);
+ G11x5y1 *dp, &lv = *(dp=new (buf) G11x5y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G11x5y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x5y1)");
+ check_base_class_offset(lv, (A1*)(C11*), ABISELECT(48,32), "G11x5y1");
+ check_base_class_offset(lv, (B0*)(C11*), ABISELECT(60,40), "G11x5y1");
+ check_base_class_offset(lv, (C11*)(E11x5*), ABISELECT(32,24), "G11x5y1");
+ check_base_class_offset(lv, (D0*)(E11x5*), ABISELECT(24,16), "G11x5y1");
+ check_base_class_offset(lv, (E11x5*), ABISELECT(16,12), "G11x5y1");
+ check_base_class_offset(lv, (F1*), 0, "G11x5y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G11x5y1.ff");
+ test_class_info(&lv, &cd_G11x5y1);
+ dp->~G11x5y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x5y1(Test_G11x5y1, "G11x5y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G11x5y1C1Ev();
+extern void _ZN7G11x5y1D1Ev();
+Name_Map name_map_G11x5y1[] = {
+ NSPAIR(_ZN7G11x5y1C1Ev),
+ NSPAIR(_ZN7G11x5y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E11x5;
+extern VTBL_ENTRY _ZTI5E11x5[];
+extern VTBL_ENTRY _ZTV5E11x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G11x5y1[] = {
+ // 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(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
+ 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_D0, 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_E11x5, 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 _ZTI7G11x5y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G11x5y1[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x5y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G11x5y1[0]),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G11x5y1[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G11x5y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x5y1[];
+static VTBL_ENTRY _tg__ZTV5E11x5__7G11x5y1[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C11__5E11x5__7G11x5y1[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E11x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x5__7G11x5y1[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E11x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C11__7G11x5y1[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C11__7G11x5y1[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x5y1[] = {
+ {&(_ZTV7G11x5y1[6]), 6,20},
+ {&(_ZTV7G11x5y1[12]), 12,20},
+ {&(_ZTV7G11x5y1[16]), 16,20},
+ {&(_ZTV7G11x5y1[19]), 19,20},
+ {&(_tg__ZTV5E11x5__7G11x5y1[5]), 5,5},
+ {&(_tg__ZTV3C11__5E11x5__7G11x5y1[4]), 4,4},
+ {&(_tg__ZTV2A1__5E11x5__7G11x5y1[3]), 3,4},
+ {&(_tg__ZTV3C11__7G11x5y1[4]), 4,4},
+ {&(_tg__ZTV2A1__3C11__7G11x5y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G11x5y1[];
+extern VTBL_ENTRY _ZTV7G11x5y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x5y1[];
+Class_Descriptor cd_G11x5y1 = { "G11x5y1", // class name
+ bases_G11x5y1, 6,
+ &(vtc_G11x5y1[0]), // expected_vtbl_contents
+ &(vtt_G11x5y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G11x5y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x5y1),20, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x5y1),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 G11x5y2 : E11x5 , virtual F1 {
+ int ff;
+ ~G11x5y2(); // tgen
+ G11x5y2(); // tgen
+};
+//SIG(1 G11x5y2) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G11x5y2 ::~G11x5y2(){ note_dtor("G11x5y2", this);} // tgen
+G11x5y2 ::G11x5y2(){ note_ctor("G11x5y2", this);} // tgen
+
+static void Test_G11x5y2()
+{
+ extern Class_Descriptor cd_G11x5y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G11x5y2, buf);
+ G11x5y2 *dp, &lv = *(dp=new (buf) G11x5y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G11x5y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x5y2)");
+ check_base_class_offset(lv, (A1*)(C11*), ABISELECT(40,24), "G11x5y2");
+ check_base_class_offset(lv, (B0*)(C11*), ABISELECT(52,32), "G11x5y2");
+ check_base_class_offset(lv, (C11*)(E11x5*), ABISELECT(24,16), "G11x5y2");
+ check_base_class_offset(lv, (D0*)(E11x5*), ABISELECT(8,4), "G11x5y2");
+ check_base_class_offset(lv, (E11x5*), 0, "G11x5y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G11x5y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G11x5y2.ff");
+ test_class_info(&lv, &cd_G11x5y2);
+ dp->~G11x5y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x5y2(Test_G11x5y2, "G11x5y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G11x5y2C1Ev();
+extern void _ZN7G11x5y2D1Ev();
+Name_Map name_map_G11x5y2[] = {
+ NSPAIR(_ZN7G11x5y2C1Ev),
+ NSPAIR(_ZN7G11x5y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E11x5;
+extern VTBL_ENTRY _ZTI5E11x5[];
+extern VTBL_ENTRY _ZTV5E11x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G11x5y2[] = {
+ // 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)
+ 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
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E11x5, 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
+ 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 _ZTI7G11x5y2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G11x5y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x5y2[0]),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G11x5y2[0]),
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G11x5y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G11x5y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x5y2[];
+static VTBL_ENTRY _tg__ZTV5E11x5__7G11x5y2[] = {
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C11__5E11x5__7G11x5y2[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E11x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x5__7G11x5y2[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E11x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C11__7G11x5y2[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C11__7G11x5y2[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x5y2[] = {
+ {&(_ZTV7G11x5y2[6]), 6,18},
+ {&(_tg__ZTV5E11x5__7G11x5y2[5]), 5,5},
+ {&(_tg__ZTV3C11__5E11x5__7G11x5y2[4]), 4,4},
+ {&(_tg__ZTV2A1__5E11x5__7G11x5y2[3]), 3,4},
+ {&(_ZTV7G11x5y2[10]), 10,18},
+ {&(_ZTV7G11x5y2[13]), 13,18},
+ {&(_ZTV7G11x5y2[17]), 17,18},
+ {&(_tg__ZTV3C11__7G11x5y2[4]), 4,4},
+ {&(_tg__ZTV2A1__3C11__7G11x5y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G11x5y2[];
+extern VTBL_ENTRY _ZTV7G11x5y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x5y2[];
+Class_Descriptor cd_G11x5y2 = { "G11x5y2", // class name
+ bases_G11x5y2, 6,
+ &(vtc_G11x5y2[0]), // expected_vtbl_contents
+ &(vtt_G11x5y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G11x5y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x5y2),18, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x5y2),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 G11x5y3 : virtual E11x5 , virtual F1 {
+ int ff;
+ ~G11x5y3(); // tgen
+ G11x5y3(); // tgen
+};
+//SIG(1 G11x5y3) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G11x5y3 ::~G11x5y3(){ note_dtor("G11x5y3", this);} // tgen
+G11x5y3 ::G11x5y3(){ note_ctor("G11x5y3", this);} // tgen
+
+static void Test_G11x5y3()
+{
+ extern Class_Descriptor cd_G11x5y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G11x5y3, buf);
+ G11x5y3 *dp, &lv = *(dp=new (buf) G11x5y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G11x5y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x5y3)");
+ check_base_class_offset(lv, (A1*)(C11*), ABISELECT(48,28), "G11x5y3");
+ check_base_class_offset(lv, (B0*)(C11*), ABISELECT(60,36), "G11x5y3");
+ check_base_class_offset(lv, (C11*)(E11x5*), ABISELECT(32,20), "G11x5y3");
+ check_base_class_offset(lv, (D0*)(E11x5*), ABISELECT(24,12), "G11x5y3");
+ check_base_class_offset(lv, (E11x5*), ABISELECT(16,8), "G11x5y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G11x5y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G11x5y3.ff");
+ test_class_info(&lv, &cd_G11x5y3);
+ dp->~G11x5y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x5y3(Test_G11x5y3, "G11x5y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G11x5y3C1Ev();
+extern void _ZN7G11x5y3D1Ev();
+Name_Map name_map_G11x5y3[] = {
+ NSPAIR(_ZN7G11x5y3C1Ev),
+ NSPAIR(_ZN7G11x5y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E11x5;
+extern VTBL_ENTRY _ZTI5E11x5[];
+extern VTBL_ENTRY _ZTV5E11x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G11x5y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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
+ 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
+ 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_D0, 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_E11x5, 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(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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G11x5y3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G11x5y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x5y3[0]),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G11x5y3[0]),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G11x5y3[0]),
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G11x5y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G11x5y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x5y3[];
+static VTBL_ENTRY _tg__ZTV5E11x5__7G11x5y3[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C11__5E11x5__7G11x5y3[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E11x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x5__7G11x5y3[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E11x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C11__7G11x5y3[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C11__7G11x5y3[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x5y3[] = {
+ {&(_ZTV7G11x5y3[7]), 7,24},
+ {&(_ZTV7G11x5y3[12]), 12,24},
+ {&(_ZTV7G11x5y3[16]), 16,24},
+ {&(_ZTV7G11x5y3[19]), 19,24},
+ {&(_ZTV7G11x5y3[23]), 23,24},
+ {&(_tg__ZTV5E11x5__7G11x5y3[5]), 5,5},
+ {&(_tg__ZTV3C11__5E11x5__7G11x5y3[4]), 4,4},
+ {&(_tg__ZTV2A1__5E11x5__7G11x5y3[3]), 3,4},
+ {&(_tg__ZTV3C11__7G11x5y3[4]), 4,4},
+ {&(_tg__ZTV2A1__3C11__7G11x5y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G11x5y3[];
+extern VTBL_ENTRY _ZTV7G11x5y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x5y3[];
+Class_Descriptor cd_G11x5y3 = { "G11x5y3", // class name
+ bases_G11x5y3, 6,
+ &(vtc_G11x5y3[0]), // expected_vtbl_contents
+ &(vtt_G11x5y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G11x5y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x5y3),24, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x5y3),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 G11x5y4 : E11x5 , F0 {
+ int ff;
+ ~G11x5y4(); // tgen
+ G11x5y4(); // tgen
+};
+//SIG(1 G11x5y4) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G11x5y4 ::~G11x5y4(){ note_dtor("G11x5y4", this);} // tgen
+G11x5y4 ::G11x5y4(){ note_ctor("G11x5y4", this);} // tgen
+
+static void Test_G11x5y4()
+{
+ extern Class_Descriptor cd_G11x5y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G11x5y4, buf);
+ G11x5y4 *dp, &lv = *(dp=new (buf) G11x5y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G11x5y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x5y4)");
+ check_base_class_offset(lv, (A1*)(C11*), ABISELECT(40,28), "G11x5y4");
+ check_base_class_offset(lv, (B0*)(C11*), ABISELECT(52,36), "G11x5y4");
+ check_base_class_offset(lv, (C11*)(E11x5*), ABISELECT(24,20), "G11x5y4");
+ check_base_class_offset(lv, (D0*)(E11x5*), ABISELECT(8,4), "G11x5y4");
+ check_base_class_offset(lv, (E11x5*), 0, "G11x5y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G11x5y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G11x5y4.ff");
+ test_class_info(&lv, &cd_G11x5y4);
+ dp->~G11x5y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x5y4(Test_G11x5y4, "G11x5y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G11x5y4C1Ev();
+extern void _ZN7G11x5y4D1Ev();
+Name_Map name_map_G11x5y4[] = {
+ NSPAIR(_ZN7G11x5y4C1Ev),
+ NSPAIR(_ZN7G11x5y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E11x5;
+extern VTBL_ENTRY _ZTI5E11x5[];
+extern VTBL_ENTRY _ZTV5E11x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G11x5y4[] = {
+ // 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(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
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E11x5, 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 _ZTI7G11x5y4[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G11x5y4[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x5y4[0]),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G11x5y4[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G11x5y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x5y4[];
+static VTBL_ENTRY _tg__ZTV5E11x5__7G11x5y4[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C11__5E11x5__7G11x5y4[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E11x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x5__7G11x5y4[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E11x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C11__7G11x5y4[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C11__7G11x5y4[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x5y4[] = {
+ {&(_ZTV7G11x5y4[5]), 5,13},
+ {&(_tg__ZTV5E11x5__7G11x5y4[5]), 5,5},
+ {&(_tg__ZTV3C11__5E11x5__7G11x5y4[4]), 4,4},
+ {&(_tg__ZTV2A1__5E11x5__7G11x5y4[3]), 3,4},
+ {&(_ZTV7G11x5y4[9]), 9,13},
+ {&(_ZTV7G11x5y4[12]), 12,13},
+ {&(_tg__ZTV3C11__7G11x5y4[4]), 4,4},
+ {&(_tg__ZTV2A1__3C11__7G11x5y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G11x5y4[];
+extern VTBL_ENTRY _ZTV7G11x5y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x5y4[];
+Class_Descriptor cd_G11x5y4 = { "G11x5y4", // class name
+ bases_G11x5y4, 6,
+ &(vtc_G11x5y4[0]), // expected_vtbl_contents
+ &(vtt_G11x5y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G11x5y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x5y4),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x5y4),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 G11x5y5 : virtual E11x5 , F0 {
+ int ff;
+ ~G11x5y5(); // tgen
+ G11x5y5(); // tgen
+};
+//SIG(1 G11x5y5) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G11x5y5 ::~G11x5y5(){ note_dtor("G11x5y5", this);} // tgen
+G11x5y5 ::G11x5y5(){ note_ctor("G11x5y5", this);} // tgen
+
+static void Test_G11x5y5()
+{
+ extern Class_Descriptor cd_G11x5y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G11x5y5, buf);
+ G11x5y5 *dp, &lv = *(dp=new (buf) G11x5y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G11x5y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x5y5)");
+ check_base_class_offset(lv, (A1*)(C11*), ABISELECT(48,32), "G11x5y5");
+ check_base_class_offset(lv, (B0*)(C11*), ABISELECT(60,40), "G11x5y5");
+ check_base_class_offset(lv, (C11*)(E11x5*), ABISELECT(32,24), "G11x5y5");
+ check_base_class_offset(lv, (D0*)(E11x5*), ABISELECT(24,16), "G11x5y5");
+ check_base_class_offset(lv, (E11x5*), ABISELECT(16,12), "G11x5y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G11x5y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G11x5y5.ff");
+ test_class_info(&lv, &cd_G11x5y5);
+ dp->~G11x5y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x5y5(Test_G11x5y5, "G11x5y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G11x5y5C1Ev();
+extern void _ZN7G11x5y5D1Ev();
+Name_Map name_map_G11x5y5[] = {
+ NSPAIR(_ZN7G11x5y5C1Ev),
+ NSPAIR(_ZN7G11x5y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E11x5;
+extern VTBL_ENTRY _ZTI5E11x5[];
+extern VTBL_ENTRY _ZTV5E11x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G11x5y5[] = {
+ // 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(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
+ 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_D0, 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_E11x5, 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 _ZTI7G11x5y5[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G11x5y5[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x5y5[0]),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G11x5y5[0]),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G11x5y5[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G11x5y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x5y5[];
+static VTBL_ENTRY _tg__ZTV5E11x5__7G11x5y5[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C11__5E11x5__7G11x5y5[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E11x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x5__7G11x5y5[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E11x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C11__7G11x5y5[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C11__7G11x5y5[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x5y5[] = {
+ {&(_ZTV7G11x5y5[6]), 6,19},
+ {&(_ZTV7G11x5y5[11]), 11,19},
+ {&(_ZTV7G11x5y5[15]), 15,19},
+ {&(_ZTV7G11x5y5[18]), 18,19},
+ {&(_tg__ZTV5E11x5__7G11x5y5[5]), 5,5},
+ {&(_tg__ZTV3C11__5E11x5__7G11x5y5[4]), 4,4},
+ {&(_tg__ZTV2A1__5E11x5__7G11x5y5[3]), 3,4},
+ {&(_tg__ZTV3C11__7G11x5y5[4]), 4,4},
+ {&(_tg__ZTV2A1__3C11__7G11x5y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G11x5y5[];
+extern VTBL_ENTRY _ZTV7G11x5y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x5y5[];
+Class_Descriptor cd_G11x5y5 = { "G11x5y5", // class name
+ bases_G11x5y5, 6,
+ &(vtc_G11x5y5[0]), // expected_vtbl_contents
+ &(vtt_G11x5y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G11x5y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x5y5),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x5y5),9, //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 G11x5y6 : E11x5 , virtual F0 {
+ int ff;
+ ~G11x5y6(); // tgen
+ G11x5y6(); // tgen
+};
+//SIG(1 G11x5y6) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G11x5y6 ::~G11x5y6(){ note_dtor("G11x5y6", this);} // tgen
+G11x5y6 ::G11x5y6(){ note_ctor("G11x5y6", this);} // tgen
+
+static void Test_G11x5y6()
+{
+ extern Class_Descriptor cd_G11x5y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G11x5y6, buf);
+ G11x5y6 *dp, &lv = *(dp=new (buf) G11x5y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G11x5y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x5y6)");
+ check_base_class_offset(lv, (A1*)(C11*), ABISELECT(40,24), "G11x5y6");
+ check_base_class_offset(lv, (B0*)(C11*), ABISELECT(52,32), "G11x5y6");
+ check_base_class_offset(lv, (C11*)(E11x5*), ABISELECT(24,16), "G11x5y6");
+ check_base_class_offset(lv, (D0*)(E11x5*), ABISELECT(8,4), "G11x5y6");
+ check_base_class_offset(lv, (E11x5*), 0, "G11x5y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G11x5y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G11x5y6.ff");
+ test_class_info(&lv, &cd_G11x5y6);
+ dp->~G11x5y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x5y6(Test_G11x5y6, "G11x5y6", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G11x5y6C1Ev();
+extern void _ZN7G11x5y6D1Ev();
+Name_Map name_map_G11x5y6[] = {
+ NSPAIR(_ZN7G11x5y6C1Ev),
+ NSPAIR(_ZN7G11x5y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E11x5;
+extern VTBL_ENTRY _ZTI5E11x5[];
+extern VTBL_ENTRY _ZTV5E11x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G11x5y6[] = {
+ // 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)
+ 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
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E11x5, 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(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 _ZTI7G11x5y6[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G11x5y6[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x5y6[0]),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G11x5y6[0]),
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G11x5y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x5y6[];
+static VTBL_ENTRY _tg__ZTV5E11x5__7G11x5y6[] = {
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C11__5E11x5__7G11x5y6[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E11x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x5__7G11x5y6[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E11x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C11__7G11x5y6[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C11__7G11x5y6[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x5y6[] = {
+ {&(_ZTV7G11x5y6[6]), 6,14},
+ {&(_tg__ZTV5E11x5__7G11x5y6[5]), 5,5},
+ {&(_tg__ZTV3C11__5E11x5__7G11x5y6[4]), 4,4},
+ {&(_tg__ZTV2A1__5E11x5__7G11x5y6[3]), 3,4},
+ {&(_ZTV7G11x5y6[10]), 10,14},
+ {&(_ZTV7G11x5y6[13]), 13,14},
+ {&(_tg__ZTV3C11__7G11x5y6[4]), 4,4},
+ {&(_tg__ZTV2A1__3C11__7G11x5y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G11x5y6[];
+extern VTBL_ENTRY _ZTV7G11x5y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x5y6[];
+Class_Descriptor cd_G11x5y6 = { "G11x5y6", // class name
+ bases_G11x5y6, 6,
+ &(vtc_G11x5y6[0]), // expected_vtbl_contents
+ &(vtt_G11x5y6[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G11x5y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x5y6),14, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x5y6),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 G11x5y7 : virtual E11x5 , virtual F0 {
+ int ff;
+ ~G11x5y7(); // tgen
+ G11x5y7(); // tgen
+};
+//SIG(1 G11x5y7) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G11x5y7 ::~G11x5y7(){ note_dtor("G11x5y7", this);} // tgen
+G11x5y7 ::G11x5y7(){ note_ctor("G11x5y7", this);} // tgen
+
+static void Test_G11x5y7()
+{
+ extern Class_Descriptor cd_G11x5y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G11x5y7, buf);
+ G11x5y7 *dp, &lv = *(dp=new (buf) G11x5y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G11x5y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x5y7)");
+ check_base_class_offset(lv, (A1*)(C11*), ABISELECT(48,28), "G11x5y7");
+ check_base_class_offset(lv, (B0*)(C11*), ABISELECT(60,36), "G11x5y7");
+ check_base_class_offset(lv, (C11*)(E11x5*), ABISELECT(32,20), "G11x5y7");
+ check_base_class_offset(lv, (D0*)(E11x5*), ABISELECT(24,12), "G11x5y7");
+ check_base_class_offset(lv, (E11x5*), ABISELECT(16,8), "G11x5y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(64,40), "G11x5y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G11x5y7.ff");
+ test_class_info(&lv, &cd_G11x5y7);
+ dp->~G11x5y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x5y7(Test_G11x5y7, "G11x5y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G11x5y7C1Ev();
+extern void _ZN7G11x5y7D1Ev();
+Name_Map name_map_G11x5y7[] = {
+ NSPAIR(_ZN7G11x5y7C1Ev),
+ NSPAIR(_ZN7G11x5y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E11x5;
+extern VTBL_ENTRY _ZTI5E11x5[];
+extern VTBL_ENTRY _ZTV5E11x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G11x5y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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
+ 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
+ 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_D0, 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_E11x5, 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(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 _ZTI7G11x5y7[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G11x5y7[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x5y7[0]),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G11x5y7[0]),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G11x5y7[0]),
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G11x5y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x5y7[];
+static VTBL_ENTRY _tg__ZTV5E11x5__7G11x5y7[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C11__5E11x5__7G11x5y7[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E11x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x5__7G11x5y7[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E11x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C11__7G11x5y7[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C11__7G11x5y7[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x5y7[] = {
+ {&(_ZTV7G11x5y7[7]), 7,20},
+ {&(_ZTV7G11x5y7[12]), 12,20},
+ {&(_ZTV7G11x5y7[16]), 16,20},
+ {&(_ZTV7G11x5y7[19]), 19,20},
+ {&(_tg__ZTV5E11x5__7G11x5y7[5]), 5,5},
+ {&(_tg__ZTV3C11__5E11x5__7G11x5y7[4]), 4,4},
+ {&(_tg__ZTV2A1__5E11x5__7G11x5y7[3]), 3,4},
+ {&(_tg__ZTV3C11__7G11x5y7[4]), 4,4},
+ {&(_tg__ZTV2A1__3C11__7G11x5y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G11x5y7[];
+extern VTBL_ENTRY _ZTV7G11x5y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x5y7[];
+Class_Descriptor cd_G11x5y7 = { "G11x5y7", // class name
+ bases_G11x5y7, 6,
+ &(vtc_G11x5y7[0]), // expected_vtbl_contents
+ &(vtt_G11x5y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G11x5y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x5y7),20, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x5y7),9, //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 E12x5 : virtual C12 , D0 {
+ int fd;
+ ~E12x5(); // tgen
+ E12x5(); // tgen
+};
+//SIG(-1 E12x5) C1{ VBC2{ BC3{ Fi} VBC4{ v1 Fi} Fi} BC5{ Fi} Fi}
+
+
+E12x5 ::~E12x5(){ note_dtor("E12x5", this);} // tgen
+E12x5 ::E12x5(){ note_ctor("E12x5", this);} // tgen
+
+static void Test_E12x5()
+{
+ extern Class_Descriptor cd_E12x5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E12x5, buf);
+ E12x5 *dp, &lv = *(dp=new (buf) E12x5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E12x5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E12x5)");
+ check_base_class_offset(lv, (A0*)(C12*), ABISELECT(24,16), "E12x5");
+ check_base_class_offset(lv, (B1*)(C12*), ABISELECT(32,24), "E12x5");
+ check_base_class_offset(lv, (C12*), ABISELECT(16,12), "E12x5");
+ check_base_class_offset(lv, (D0*), ABISELECT(8,4), "E12x5");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E12x5.fd");
+ test_class_info(&lv, &cd_E12x5);
+ dp->~E12x5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE12x5(Test_E12x5, "E12x5", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN5E12x5C1Ev();
+extern void _ZN5E12x5D1Ev();
+Name_Map name_map_E12x5[] = {
+ NSPAIR(_ZN5E12x5C1Ev),
+ NSPAIR(_ZN5E12x5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E12x5[] = {
+ // 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
+ 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
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C12, 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E12x5[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_E12x5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x5[0]),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E12x5[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E12x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E12x5[];
+static VTBL_ENTRY _tg__ZTV3C12__5E12x5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C12__5E12x5[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_E12x5[] = {
+ {&(_ZTV5E12x5[4]), 4,11},
+ {&(_ZTV5E12x5[7]), 7,11},
+ {&(_ZTV5E12x5[10]), 10,11},
+ {&(_tg__ZTV3C12__5E12x5[3]), 3,3},
+ {&(_tg__ZTV2B1__3C12__5E12x5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E12x5[];
+extern VTBL_ENTRY _ZTV5E12x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x5[];
+Class_Descriptor cd_E12x5 = { "E12x5", // class name
+ bases_E12x5, 4,
+ &(vtc_E12x5[0]), // expected_vtbl_contents
+ &(vtt_E12x5[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI5E12x5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E12x5),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E12x5),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 G12x5y0 : E12x5 , F1 {
+ int ff;
+ ~G12x5y0(); // tgen
+ G12x5y0(); // tgen
+};
+//SIG(1 G12x5y0) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G12x5y0 ::~G12x5y0(){ note_dtor("G12x5y0", this);} // tgen
+G12x5y0 ::G12x5y0(){ note_ctor("G12x5y0", this);} // tgen
+
+static void Test_G12x5y0()
+{
+ extern Class_Descriptor cd_G12x5y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G12x5y0, buf);
+ G12x5y0 *dp, &lv = *(dp=new (buf) G12x5y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G12x5y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x5y0)");
+ check_base_class_offset(lv, (A0*)(C12*), ABISELECT(40,28), "G12x5y0");
+ check_base_class_offset(lv, (B1*)(C12*), ABISELECT(48,36), "G12x5y0");
+ check_base_class_offset(lv, (C12*)(E12x5*), ABISELECT(32,24), "G12x5y0");
+ check_base_class_offset(lv, (D0*)(E12x5*), ABISELECT(8,4), "G12x5y0");
+ check_base_class_offset(lv, (E12x5*), 0, "G12x5y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G12x5y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G12x5y0.ff");
+ test_class_info(&lv, &cd_G12x5y0);
+ dp->~G12x5y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x5y0(Test_G12x5y0, "G12x5y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G12x5y0C1Ev();
+extern void _ZN7G12x5y0D1Ev();
+Name_Map name_map_G12x5y0[] = {
+ NSPAIR(_ZN7G12x5y0C1Ev),
+ NSPAIR(_ZN7G12x5y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E12x5;
+extern VTBL_ENTRY _ZTI5E12x5[];
+extern VTBL_ENTRY _ZTV5E12x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G12x5y0[] = {
+ // 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
+ 10, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C12, 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
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E12x5, 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
+ 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 _ZTI7G12x5y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G12x5y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x5y0[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G12x5y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G12x5y0[0]),
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G12x5y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x5y0[];
+static VTBL_ENTRY _tg__ZTV5E12x5__7G12x5y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C12__5E12x5__7G12x5y0[] = {
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E12x5[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x5__7G12x5y0[] = {
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI5E12x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C12__7G12x5y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C12__7G12x5y0[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x5y0[] = {
+ {&(_ZTV7G12x5y0[4]), 4,14},
+ {&(_tg__ZTV5E12x5__7G12x5y0[4]), 4,4},
+ {&(_tg__ZTV3C12__5E12x5__7G12x5y0[3]), 3,3},
+ {&(_tg__ZTV2B1__5E12x5__7G12x5y0[3]), 3,4},
+ {&(_ZTV7G12x5y0[10]), 10,14},
+ {&(_ZTV7G12x5y0[13]), 13,14},
+ {&(_tg__ZTV3C12__7G12x5y0[3]), 3,3},
+ {&(_tg__ZTV2B1__3C12__7G12x5y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G12x5y0[];
+extern VTBL_ENTRY _ZTV7G12x5y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x5y0[];
+Class_Descriptor cd_G12x5y0 = { "G12x5y0", // class name
+ bases_G12x5y0, 6,
+ &(vtc_G12x5y0[0]), // expected_vtbl_contents
+ &(vtt_G12x5y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G12x5y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x5y0),14, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x5y0),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 G12x5y1 : virtual E12x5 , F1 {
+ int ff;
+ ~G12x5y1(); // tgen
+ G12x5y1(); // tgen
+};
+//SIG(1 G12x5y1) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G12x5y1 ::~G12x5y1(){ note_dtor("G12x5y1", this);} // tgen
+G12x5y1 ::G12x5y1(){ note_ctor("G12x5y1", this);} // tgen
+
+static void Test_G12x5y1()
+{
+ extern Class_Descriptor cd_G12x5y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G12x5y1, buf);
+ G12x5y1 *dp, &lv = *(dp=new (buf) G12x5y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G12x5y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x5y1)");
+ check_base_class_offset(lv, (A0*)(C12*), ABISELECT(40,28), "G12x5y1");
+ check_base_class_offset(lv, (B1*)(C12*), ABISELECT(48,36), "G12x5y1");
+ check_base_class_offset(lv, (C12*)(E12x5*), ABISELECT(32,24), "G12x5y1");
+ check_base_class_offset(lv, (D0*)(E12x5*), ABISELECT(24,16), "G12x5y1");
+ check_base_class_offset(lv, (E12x5*), ABISELECT(16,12), "G12x5y1");
+ check_base_class_offset(lv, (F1*), 0, "G12x5y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G12x5y1.ff");
+ test_class_info(&lv, &cd_G12x5y1);
+ dp->~G12x5y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x5y1(Test_G12x5y1, "G12x5y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G12x5y1C1Ev();
+extern void _ZN7G12x5y1D1Ev();
+Name_Map name_map_G12x5y1[] = {
+ NSPAIR(_ZN7G12x5y1C1Ev),
+ NSPAIR(_ZN7G12x5y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E12x5;
+extern VTBL_ENTRY _ZTI5E12x5[];
+extern VTBL_ENTRY _ZTV5E12x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G12x5y1[] = {
+ // 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)
+ 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
+ 10, //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_D0, 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_E12x5, 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 _ZTI7G12x5y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G12x5y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x5y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G12x5y1[0]),
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G12x5y1[0]),
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G12x5y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x5y1[];
+static VTBL_ENTRY _tg__ZTV5E12x5__7G12x5y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C12__5E12x5__7G12x5y1[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E12x5[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x5__7G12x5y1[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E12x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C12__7G12x5y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C12__7G12x5y1[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x5y1[] = {
+ {&(_ZTV7G12x5y1[5]), 5,17},
+ {&(_ZTV7G12x5y1[10]), 10,17},
+ {&(_ZTV7G12x5y1[13]), 13,17},
+ {&(_ZTV7G12x5y1[16]), 16,17},
+ {&(_tg__ZTV5E12x5__7G12x5y1[4]), 4,4},
+ {&(_tg__ZTV3C12__5E12x5__7G12x5y1[3]), 3,3},
+ {&(_tg__ZTV2B1__5E12x5__7G12x5y1[3]), 3,4},
+ {&(_tg__ZTV3C12__7G12x5y1[3]), 3,3},
+ {&(_tg__ZTV2B1__3C12__7G12x5y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G12x5y1[];
+extern VTBL_ENTRY _ZTV7G12x5y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x5y1[];
+Class_Descriptor cd_G12x5y1 = { "G12x5y1", // class name
+ bases_G12x5y1, 6,
+ &(vtc_G12x5y1[0]), // expected_vtbl_contents
+ &(vtt_G12x5y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G12x5y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x5y1),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x5y1),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 G12x5y2 : E12x5 , virtual F1 {
+ int ff;
+ ~G12x5y2(); // tgen
+ G12x5y2(); // tgen
+};
+//SIG(1 G12x5y2) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G12x5y2 ::~G12x5y2(){ note_dtor("G12x5y2", this);} // tgen
+G12x5y2 ::G12x5y2(){ note_ctor("G12x5y2", this);} // tgen
+
+static void Test_G12x5y2()
+{
+ extern Class_Descriptor cd_G12x5y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G12x5y2, buf);
+ G12x5y2 *dp, &lv = *(dp=new (buf) G12x5y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G12x5y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x5y2)");
+ check_base_class_offset(lv, (A0*)(C12*), ABISELECT(32,20), "G12x5y2");
+ check_base_class_offset(lv, (B1*)(C12*), ABISELECT(40,28), "G12x5y2");
+ check_base_class_offset(lv, (C12*)(E12x5*), ABISELECT(24,16), "G12x5y2");
+ check_base_class_offset(lv, (D0*)(E12x5*), ABISELECT(8,4), "G12x5y2");
+ check_base_class_offset(lv, (E12x5*), 0, "G12x5y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G12x5y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G12x5y2.ff");
+ test_class_info(&lv, &cd_G12x5y2);
+ dp->~G12x5y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x5y2(Test_G12x5y2, "G12x5y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G12x5y2C1Ev();
+extern void _ZN7G12x5y2D1Ev();
+Name_Map name_map_G12x5y2[] = {
+ NSPAIR(_ZN7G12x5y2C1Ev),
+ NSPAIR(_ZN7G12x5y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E12x5;
+extern VTBL_ENTRY _ZTI5E12x5[];
+extern VTBL_ENTRY _ZTV5E12x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G12x5y2[] = {
+ // 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)
+ 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
+ 5, //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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E12x5, 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
+ 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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G12x5y2[];
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G12x5y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x5y2[0]),
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G12x5y2[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G12x5y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G12x5y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x5y2[];
+static VTBL_ENTRY _tg__ZTV5E12x5__7G12x5y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C12__5E12x5__7G12x5y2[] = {
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E12x5[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x5__7G12x5y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E12x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C12__7G12x5y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C12__7G12x5y2[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x5y2[] = {
+ {&(_ZTV7G12x5y2[5]), 5,16},
+ {&(_tg__ZTV5E12x5__7G12x5y2[4]), 4,4},
+ {&(_tg__ZTV3C12__5E12x5__7G12x5y2[3]), 3,3},
+ {&(_tg__ZTV2B1__5E12x5__7G12x5y2[3]), 3,4},
+ {&(_ZTV7G12x5y2[8]), 8,16},
+ {&(_ZTV7G12x5y2[11]), 11,16},
+ {&(_ZTV7G12x5y2[15]), 15,16},
+ {&(_tg__ZTV3C12__7G12x5y2[3]), 3,3},
+ {&(_tg__ZTV2B1__3C12__7G12x5y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G12x5y2[];
+extern VTBL_ENTRY _ZTV7G12x5y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x5y2[];
+Class_Descriptor cd_G12x5y2 = { "G12x5y2", // class name
+ bases_G12x5y2, 6,
+ &(vtc_G12x5y2[0]), // expected_vtbl_contents
+ &(vtt_G12x5y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G12x5y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x5y2),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x5y2),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 G12x5y3 : virtual E12x5 , virtual F1 {
+ int ff;
+ ~G12x5y3(); // tgen
+ G12x5y3(); // tgen
+};
+//SIG(1 G12x5y3) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G12x5y3 ::~G12x5y3(){ note_dtor("G12x5y3", this);} // tgen
+G12x5y3 ::G12x5y3(){ note_ctor("G12x5y3", this);} // tgen
+
+static void Test_G12x5y3()
+{
+ extern Class_Descriptor cd_G12x5y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G12x5y3, buf);
+ G12x5y3 *dp, &lv = *(dp=new (buf) G12x5y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G12x5y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x5y3)");
+ check_base_class_offset(lv, (A0*)(C12*), ABISELECT(40,24), "G12x5y3");
+ check_base_class_offset(lv, (B1*)(C12*), ABISELECT(48,32), "G12x5y3");
+ check_base_class_offset(lv, (C12*)(E12x5*), ABISELECT(32,20), "G12x5y3");
+ check_base_class_offset(lv, (D0*)(E12x5*), ABISELECT(24,12), "G12x5y3");
+ check_base_class_offset(lv, (E12x5*), ABISELECT(16,8), "G12x5y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G12x5y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G12x5y3.ff");
+ test_class_info(&lv, &cd_G12x5y3);
+ dp->~G12x5y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x5y3(Test_G12x5y3, "G12x5y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G12x5y3C1Ev();
+extern void _ZN7G12x5y3D1Ev();
+Name_Map name_map_G12x5y3[] = {
+ NSPAIR(_ZN7G12x5y3C1Ev),
+ NSPAIR(_ZN7G12x5y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E12x5;
+extern VTBL_ENTRY _ZTI5E12x5[];
+extern VTBL_ENTRY _ZTV5E12x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G12x5y3[] = {
+ // 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)
+ 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
+ 10, //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_D0, 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_E12x5, 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(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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G12x5y3[];
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G12x5y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x5y3[0]),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G12x5y3[0]),
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G12x5y3[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G12x5y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G12x5y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x5y3[];
+static VTBL_ENTRY _tg__ZTV5E12x5__7G12x5y3[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C12__5E12x5__7G12x5y3[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E12x5[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x5__7G12x5y3[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E12x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C12__7G12x5y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C12__7G12x5y3[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x5y3[] = {
+ {&(_ZTV7G12x5y3[6]), 6,21},
+ {&(_ZTV7G12x5y3[10]), 10,21},
+ {&(_ZTV7G12x5y3[13]), 13,21},
+ {&(_ZTV7G12x5y3[16]), 16,21},
+ {&(_ZTV7G12x5y3[20]), 20,21},
+ {&(_tg__ZTV5E12x5__7G12x5y3[4]), 4,4},
+ {&(_tg__ZTV3C12__5E12x5__7G12x5y3[3]), 3,3},
+ {&(_tg__ZTV2B1__5E12x5__7G12x5y3[3]), 3,4},
+ {&(_tg__ZTV3C12__7G12x5y3[3]), 3,3},
+ {&(_tg__ZTV2B1__3C12__7G12x5y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G12x5y3[];
+extern VTBL_ENTRY _ZTV7G12x5y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x5y3[];
+Class_Descriptor cd_G12x5y3 = { "G12x5y3", // class name
+ bases_G12x5y3, 6,
+ &(vtc_G12x5y3[0]), // expected_vtbl_contents
+ &(vtt_G12x5y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G12x5y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x5y3),21, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x5y3),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 G12x5y4 : E12x5 , F0 {
+ int ff;
+ ~G12x5y4(); // tgen
+ G12x5y4(); // tgen
+};
+//SIG(1 G12x5y4) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G12x5y4 ::~G12x5y4(){ note_dtor("G12x5y4", this);} // tgen
+G12x5y4 ::G12x5y4(){ note_ctor("G12x5y4", this);} // tgen
+
+static void Test_G12x5y4()
+{
+ extern Class_Descriptor cd_G12x5y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G12x5y4, buf);
+ G12x5y4 *dp, &lv = *(dp=new (buf) G12x5y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G12x5y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x5y4)");
+ check_base_class_offset(lv, (A0*)(C12*), ABISELECT(32,24), "G12x5y4");
+ check_base_class_offset(lv, (B1*)(C12*), ABISELECT(40,32), "G12x5y4");
+ check_base_class_offset(lv, (C12*)(E12x5*), ABISELECT(24,20), "G12x5y4");
+ check_base_class_offset(lv, (D0*)(E12x5*), ABISELECT(8,4), "G12x5y4");
+ check_base_class_offset(lv, (E12x5*), 0, "G12x5y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G12x5y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G12x5y4.ff");
+ test_class_info(&lv, &cd_G12x5y4);
+ dp->~G12x5y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x5y4(Test_G12x5y4, "G12x5y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G12x5y4C1Ev();
+extern void _ZN7G12x5y4D1Ev();
+Name_Map name_map_G12x5y4[] = {
+ NSPAIR(_ZN7G12x5y4C1Ev),
+ NSPAIR(_ZN7G12x5y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E12x5;
+extern VTBL_ENTRY _ZTI5E12x5[];
+extern VTBL_ENTRY _ZTV5E12x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G12x5y4[] = {
+ // 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
+ 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, 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
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E12x5, 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 _ZTI7G12x5y4[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G12x5y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x5y4[0]),
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G12x5y4[0]),
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G12x5y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x5y4[];
+static VTBL_ENTRY _tg__ZTV5E12x5__7G12x5y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C12__5E12x5__7G12x5y4[] = {
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E12x5[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x5__7G12x5y4[] = {
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI5E12x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C12__7G12x5y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C12__7G12x5y4[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x5y4[] = {
+ {&(_ZTV7G12x5y4[4]), 4,11},
+ {&(_tg__ZTV5E12x5__7G12x5y4[4]), 4,4},
+ {&(_tg__ZTV3C12__5E12x5__7G12x5y4[3]), 3,3},
+ {&(_tg__ZTV2B1__5E12x5__7G12x5y4[3]), 3,4},
+ {&(_ZTV7G12x5y4[7]), 7,11},
+ {&(_ZTV7G12x5y4[10]), 10,11},
+ {&(_tg__ZTV3C12__7G12x5y4[3]), 3,3},
+ {&(_tg__ZTV2B1__3C12__7G12x5y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G12x5y4[];
+extern VTBL_ENTRY _ZTV7G12x5y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x5y4[];
+Class_Descriptor cd_G12x5y4 = { "G12x5y4", // class name
+ bases_G12x5y4, 6,
+ &(vtc_G12x5y4[0]), // expected_vtbl_contents
+ &(vtt_G12x5y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G12x5y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x5y4),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x5y4),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 G12x5y5 : virtual E12x5 , F0 {
+ int ff;
+ ~G12x5y5(); // tgen
+ G12x5y5(); // tgen
+};
+//SIG(1 G12x5y5) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G12x5y5 ::~G12x5y5(){ note_dtor("G12x5y5", this);} // tgen
+G12x5y5 ::G12x5y5(){ note_ctor("G12x5y5", this);} // tgen
+
+static void Test_G12x5y5()
+{
+ extern Class_Descriptor cd_G12x5y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G12x5y5, buf);
+ G12x5y5 *dp, &lv = *(dp=new (buf) G12x5y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G12x5y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x5y5)");
+ check_base_class_offset(lv, (A0*)(C12*), ABISELECT(40,28), "G12x5y5");
+ check_base_class_offset(lv, (B1*)(C12*), ABISELECT(48,36), "G12x5y5");
+ check_base_class_offset(lv, (C12*)(E12x5*), ABISELECT(32,24), "G12x5y5");
+ check_base_class_offset(lv, (D0*)(E12x5*), ABISELECT(24,16), "G12x5y5");
+ check_base_class_offset(lv, (E12x5*), ABISELECT(16,12), "G12x5y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G12x5y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G12x5y5.ff");
+ test_class_info(&lv, &cd_G12x5y5);
+ dp->~G12x5y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x5y5(Test_G12x5y5, "G12x5y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G12x5y5C1Ev();
+extern void _ZN7G12x5y5D1Ev();
+Name_Map name_map_G12x5y5[] = {
+ NSPAIR(_ZN7G12x5y5C1Ev),
+ NSPAIR(_ZN7G12x5y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E12x5;
+extern VTBL_ENTRY _ZTI5E12x5[];
+extern VTBL_ENTRY _ZTV5E12x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G12x5y5[] = {
+ // 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
+ 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
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C12, 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
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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_E12x5, 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 _ZTI7G12x5y5[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G12x5y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x5y5[0]),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G12x5y5[0]),
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G12x5y5[0]),
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G12x5y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x5y5[];
+static VTBL_ENTRY _tg__ZTV5E12x5__7G12x5y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C12__5E12x5__7G12x5y5[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E12x5[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x5__7G12x5y5[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E12x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C12__7G12x5y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C12__7G12x5y5[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x5y5[] = {
+ {&(_ZTV7G12x5y5[5]), 5,16},
+ {&(_ZTV7G12x5y5[9]), 9,16},
+ {&(_ZTV7G12x5y5[12]), 12,16},
+ {&(_ZTV7G12x5y5[15]), 15,16},
+ {&(_tg__ZTV5E12x5__7G12x5y5[4]), 4,4},
+ {&(_tg__ZTV3C12__5E12x5__7G12x5y5[3]), 3,3},
+ {&(_tg__ZTV2B1__5E12x5__7G12x5y5[3]), 3,4},
+ {&(_tg__ZTV3C12__7G12x5y5[3]), 3,3},
+ {&(_tg__ZTV2B1__3C12__7G12x5y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G12x5y5[];
+extern VTBL_ENTRY _ZTV7G12x5y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x5y5[];
+Class_Descriptor cd_G12x5y5 = { "G12x5y5", // class name
+ bases_G12x5y5, 6,
+ &(vtc_G12x5y5[0]), // expected_vtbl_contents
+ &(vtt_G12x5y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G12x5y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x5y5),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x5y5),9, //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 G12x5y6 : E12x5 , virtual F0 {
+ int ff;
+ ~G12x5y6(); // tgen
+ G12x5y6(); // tgen
+};
+//SIG(1 G12x5y6) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G12x5y6 ::~G12x5y6(){ note_dtor("G12x5y6", this);} // tgen
+G12x5y6 ::G12x5y6(){ note_ctor("G12x5y6", this);} // tgen
+
+static void Test_G12x5y6()
+{
+ extern Class_Descriptor cd_G12x5y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G12x5y6, buf);
+ G12x5y6 *dp, &lv = *(dp=new (buf) G12x5y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G12x5y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x5y6)");
+ check_base_class_offset(lv, (A0*)(C12*), ABISELECT(32,20), "G12x5y6");
+ check_base_class_offset(lv, (B1*)(C12*), ABISELECT(40,28), "G12x5y6");
+ check_base_class_offset(lv, (C12*)(E12x5*), ABISELECT(24,16), "G12x5y6");
+ check_base_class_offset(lv, (D0*)(E12x5*), ABISELECT(8,4), "G12x5y6");
+ check_base_class_offset(lv, (E12x5*), 0, "G12x5y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G12x5y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G12x5y6.ff");
+ test_class_info(&lv, &cd_G12x5y6);
+ dp->~G12x5y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x5y6(Test_G12x5y6, "G12x5y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G12x5y6C1Ev();
+extern void _ZN7G12x5y6D1Ev();
+Name_Map name_map_G12x5y6[] = {
+ NSPAIR(_ZN7G12x5y6C1Ev),
+ NSPAIR(_ZN7G12x5y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E12x5;
+extern VTBL_ENTRY _ZTI5E12x5[];
+extern VTBL_ENTRY _ZTV5E12x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G12x5y6[] = {
+ // 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)
+ 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
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E12x5, 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 _ZTI7G12x5y6[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G12x5y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x5y6[0]),
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G12x5y6[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G12x5y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x5y6[];
+static VTBL_ENTRY _tg__ZTV5E12x5__7G12x5y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C12__5E12x5__7G12x5y6[] = {
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E12x5[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x5__7G12x5y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E12x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C12__7G12x5y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C12__7G12x5y6[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x5y6[] = {
+ {&(_ZTV7G12x5y6[5]), 5,12},
+ {&(_tg__ZTV5E12x5__7G12x5y6[4]), 4,4},
+ {&(_tg__ZTV3C12__5E12x5__7G12x5y6[3]), 3,3},
+ {&(_tg__ZTV2B1__5E12x5__7G12x5y6[3]), 3,4},
+ {&(_ZTV7G12x5y6[8]), 8,12},
+ {&(_ZTV7G12x5y6[11]), 11,12},
+ {&(_tg__ZTV3C12__7G12x5y6[3]), 3,3},
+ {&(_tg__ZTV2B1__3C12__7G12x5y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G12x5y6[];
+extern VTBL_ENTRY _ZTV7G12x5y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x5y6[];
+Class_Descriptor cd_G12x5y6 = { "G12x5y6", // class name
+ bases_G12x5y6, 6,
+ &(vtc_G12x5y6[0]), // expected_vtbl_contents
+ &(vtt_G12x5y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G12x5y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x5y6),12, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x5y6),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 G12x5y7 : virtual E12x5 , virtual F0 {
+ int ff;
+ ~G12x5y7(); // tgen
+ G12x5y7(); // tgen
+};
+//SIG(1 G12x5y7) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G12x5y7 ::~G12x5y7(){ note_dtor("G12x5y7", this);} // tgen
+G12x5y7 ::G12x5y7(){ note_ctor("G12x5y7", this);} // tgen
+
+static void Test_G12x5y7()
+{
+ extern Class_Descriptor cd_G12x5y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G12x5y7, buf);
+ G12x5y7 *dp, &lv = *(dp=new (buf) G12x5y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G12x5y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x5y7)");
+ check_base_class_offset(lv, (A0*)(C12*), ABISELECT(40,24), "G12x5y7");
+ check_base_class_offset(lv, (B1*)(C12*), ABISELECT(48,32), "G12x5y7");
+ check_base_class_offset(lv, (C12*)(E12x5*), ABISELECT(32,20), "G12x5y7");
+ check_base_class_offset(lv, (D0*)(E12x5*), ABISELECT(24,12), "G12x5y7");
+ check_base_class_offset(lv, (E12x5*), ABISELECT(16,8), "G12x5y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(60,40), "G12x5y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G12x5y7.ff");
+ test_class_info(&lv, &cd_G12x5y7);
+ dp->~G12x5y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x5y7(Test_G12x5y7, "G12x5y7", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G12x5y7C1Ev();
+extern void _ZN7G12x5y7D1Ev();
+Name_Map name_map_G12x5y7[] = {
+ NSPAIR(_ZN7G12x5y7C1Ev),
+ NSPAIR(_ZN7G12x5y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E12x5;
+extern VTBL_ENTRY _ZTI5E12x5[];
+extern VTBL_ENTRY _ZTV5E12x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G12x5y7[] = {
+ // 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)
+ 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
+ 10, //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_D0, 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_E12x5, 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(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 _ZTI7G12x5y7[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G12x5y7[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x5y7[0]),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G12x5y7[0]),
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G12x5y7[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G12x5y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x5y7[];
+static VTBL_ENTRY _tg__ZTV5E12x5__7G12x5y7[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C12__5E12x5__7G12x5y7[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E12x5[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x5__7G12x5y7[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E12x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C12__7G12x5y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C12__7G12x5y7[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x5y7[] = {
+ {&(_ZTV7G12x5y7[6]), 6,17},
+ {&(_ZTV7G12x5y7[10]), 10,17},
+ {&(_ZTV7G12x5y7[13]), 13,17},
+ {&(_ZTV7G12x5y7[16]), 16,17},
+ {&(_tg__ZTV5E12x5__7G12x5y7[4]), 4,4},
+ {&(_tg__ZTV3C12__5E12x5__7G12x5y7[3]), 3,3},
+ {&(_tg__ZTV2B1__5E12x5__7G12x5y7[3]), 3,4},
+ {&(_tg__ZTV3C12__7G12x5y7[3]), 3,3},
+ {&(_tg__ZTV2B1__3C12__7G12x5y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G12x5y7[];
+extern VTBL_ENTRY _ZTV7G12x5y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x5y7[];
+Class_Descriptor cd_G12x5y7 = { "G12x5y7", // class name
+ bases_G12x5y7, 6,
+ &(vtc_G12x5y7[0]), // expected_vtbl_contents
+ &(vtt_G12x5y7[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G12x5y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x5y7),17, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x5y7),9, //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 E13x5 : virtual C13 , D0 {
+ int fd;
+ ~E13x5(); // tgen
+ E13x5(); // tgen
+};
+//SIG(-1 E13x5) C1{ VBC2{ BC3{ v1 Fi} VBC4{ v2 Fi} Fi} BC5{ Fi} Fi}
+
+
+E13x5 ::~E13x5(){ note_dtor("E13x5", this);} // tgen
+E13x5 ::E13x5(){ note_ctor("E13x5", this);} // tgen
+
+static void Test_E13x5()
+{
+ extern Class_Descriptor cd_E13x5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E13x5, buf);
+ E13x5 *dp, &lv = *(dp=new (buf) E13x5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E13x5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E13x5)");
+ check_base_class_offset(lv, (A1*)(C13*), ABISELECT(16,12), "E13x5");
+ check_base_class_offset(lv, (B1*)(C13*), ABISELECT(32,24), "E13x5");
+ check_base_class_offset(lv, (C13*), ABISELECT(16,12), "E13x5");
+ check_base_class_offset(lv, (D0*), ABISELECT(8,4), "E13x5");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E13x5.fd");
+ test_class_info(&lv, &cd_E13x5);
+ dp->~E13x5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE13x5(Test_E13x5, "E13x5", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN5E13x5C1Ev();
+extern void _ZN5E13x5D1Ev();
+Name_Map name_map_E13x5[] = {
+ NSPAIR(_ZN5E13x5C1Ev),
+ NSPAIR(_ZN5E13x5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E13x5[] = {
+ // 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
+ 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_C13, 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E13x5[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_E13x5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E13x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E13x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E13x5[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__5E13x5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C13__5E13x5[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_E13x5[] = {
+ {&(_ZTV5E13x5[4]), 4,13},
+ {&(_ZTV5E13x5[8]), 8,13},
+ {&(_ZTV5E13x5[12]), 12,13},
+ {&(_tg__ZTV3C13__5E13x5[3]), 3,4},
+ {&(_tg__ZTV2B1__3C13__5E13x5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E13x5[];
+extern VTBL_ENTRY _ZTV5E13x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x5[];
+Class_Descriptor cd_E13x5 = { "E13x5", // class name
+ bases_E13x5, 4,
+ &(vtc_E13x5[0]), // expected_vtbl_contents
+ &(vtt_E13x5[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI5E13x5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E13x5),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E13x5),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 G13x5y0 : E13x5 , F1 {
+ int ff;
+ ~G13x5y0(); // tgen
+ G13x5y0(); // tgen
+};
+//SIG(1 G13x5y0) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G13x5y0 ::~G13x5y0(){ note_dtor("G13x5y0", this);} // tgen
+G13x5y0 ::G13x5y0(){ note_ctor("G13x5y0", this);} // tgen
+
+static void Test_G13x5y0()
+{
+ extern Class_Descriptor cd_G13x5y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G13x5y0, buf);
+ G13x5y0 *dp, &lv = *(dp=new (buf) G13x5y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G13x5y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x5y0)");
+ check_base_class_offset(lv, (A1*)(C13*), ABISELECT(32,24), "G13x5y0");
+ check_base_class_offset(lv, (B1*)(C13*), ABISELECT(48,36), "G13x5y0");
+ check_base_class_offset(lv, (C13*)(E13x5*), ABISELECT(32,24), "G13x5y0");
+ check_base_class_offset(lv, (D0*)(E13x5*), ABISELECT(8,4), "G13x5y0");
+ check_base_class_offset(lv, (E13x5*), 0, "G13x5y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G13x5y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G13x5y0.ff");
+ test_class_info(&lv, &cd_G13x5y0);
+ dp->~G13x5y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x5y0(Test_G13x5y0, "G13x5y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G13x5y0C1Ev();
+extern void _ZN7G13x5y0D1Ev();
+Name_Map name_map_G13x5y0[] = {
+ NSPAIR(_ZN7G13x5y0C1Ev),
+ NSPAIR(_ZN7G13x5y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E13x5;
+extern VTBL_ENTRY _ZTI5E13x5[];
+extern VTBL_ENTRY _ZTV5E13x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G13x5y0[] = {
+ // 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
+ 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_C13, ABISELECT(32,24), //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E13x5, 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
+ 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 _ZTI7G13x5y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G13x5y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x5y0[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G13x5y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G13x5y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G13x5y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x5y0[];
+static VTBL_ENTRY _tg__ZTV5E13x5__7G13x5y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__5E13x5__7G13x5y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E13x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x5__7G13x5y0[] = {
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI5E13x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__7G13x5y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C13__7G13x5y0[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x5y0[] = {
+ {&(_ZTV7G13x5y0[4]), 4,16},
+ {&(_tg__ZTV5E13x5__7G13x5y0[4]), 4,4},
+ {&(_tg__ZTV3C13__5E13x5__7G13x5y0[4]), 4,5},
+ {&(_tg__ZTV2B1__5E13x5__7G13x5y0[3]), 3,4},
+ {&(_ZTV7G13x5y0[11]), 11,16},
+ {&(_ZTV7G13x5y0[15]), 15,16},
+ {&(_tg__ZTV3C13__7G13x5y0[3]), 3,4},
+ {&(_tg__ZTV2B1__3C13__7G13x5y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G13x5y0[];
+extern VTBL_ENTRY _ZTV7G13x5y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x5y0[];
+Class_Descriptor cd_G13x5y0 = { "G13x5y0", // class name
+ bases_G13x5y0, 6,
+ &(vtc_G13x5y0[0]), // expected_vtbl_contents
+ &(vtt_G13x5y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G13x5y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x5y0),16, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x5y0),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 G13x5y1 : virtual E13x5 , F1 {
+ int ff;
+ ~G13x5y1(); // tgen
+ G13x5y1(); // tgen
+};
+//SIG(1 G13x5y1) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G13x5y1 ::~G13x5y1(){ note_dtor("G13x5y1", this);} // tgen
+G13x5y1 ::G13x5y1(){ note_ctor("G13x5y1", this);} // tgen
+
+static void Test_G13x5y1()
+{
+ extern Class_Descriptor cd_G13x5y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G13x5y1, buf);
+ G13x5y1 *dp, &lv = *(dp=new (buf) G13x5y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G13x5y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x5y1)");
+ check_base_class_offset(lv, (A1*)(C13*), ABISELECT(32,24), "G13x5y1");
+ check_base_class_offset(lv, (B1*)(C13*), ABISELECT(48,36), "G13x5y1");
+ check_base_class_offset(lv, (C13*)(E13x5*), ABISELECT(32,24), "G13x5y1");
+ check_base_class_offset(lv, (D0*)(E13x5*), ABISELECT(24,16), "G13x5y1");
+ check_base_class_offset(lv, (E13x5*), ABISELECT(16,12), "G13x5y1");
+ check_base_class_offset(lv, (F1*), 0, "G13x5y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G13x5y1.ff");
+ test_class_info(&lv, &cd_G13x5y1);
+ dp->~G13x5y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x5y1(Test_G13x5y1, "G13x5y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G13x5y1C1Ev();
+extern void _ZN7G13x5y1D1Ev();
+Name_Map name_map_G13x5y1[] = {
+ NSPAIR(_ZN7G13x5y1C1Ev),
+ NSPAIR(_ZN7G13x5y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E13x5;
+extern VTBL_ENTRY _ZTI5E13x5[];
+extern VTBL_ENTRY _ZTV5E13x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G13x5y1[] = {
+ // 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
+ 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_C13, ABISELECT(32,24), //bcp->offset
+ 10, //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_D0, 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_E13x5, 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 _ZTI7G13x5y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G13x5y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x5y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G13x5y1[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G13x5y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G13x5y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x5y1[];
+static VTBL_ENTRY _tg__ZTV5E13x5__7G13x5y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__5E13x5__7G13x5y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E13x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x5__7G13x5y1[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E13x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__7G13x5y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C13__7G13x5y1[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x5y1[] = {
+ {&(_ZTV7G13x5y1[5]), 5,19},
+ {&(_ZTV7G13x5y1[10]), 10,19},
+ {&(_ZTV7G13x5y1[14]), 14,19},
+ {&(_ZTV7G13x5y1[18]), 18,19},
+ {&(_tg__ZTV5E13x5__7G13x5y1[4]), 4,4},
+ {&(_tg__ZTV3C13__5E13x5__7G13x5y1[4]), 4,5},
+ {&(_tg__ZTV2B1__5E13x5__7G13x5y1[3]), 3,4},
+ {&(_tg__ZTV3C13__7G13x5y1[3]), 3,4},
+ {&(_tg__ZTV2B1__3C13__7G13x5y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G13x5y1[];
+extern VTBL_ENTRY _ZTV7G13x5y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x5y1[];
+Class_Descriptor cd_G13x5y1 = { "G13x5y1", // class name
+ bases_G13x5y1, 6,
+ &(vtc_G13x5y1[0]), // expected_vtbl_contents
+ &(vtt_G13x5y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G13x5y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x5y1),19, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x5y1),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 G13x5y2 : E13x5 , virtual F1 {
+ int ff;
+ ~G13x5y2(); // tgen
+ G13x5y2(); // tgen
+};
+//SIG(1 G13x5y2) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G13x5y2 ::~G13x5y2(){ note_dtor("G13x5y2", this);} // tgen
+G13x5y2 ::G13x5y2(){ note_ctor("G13x5y2", this);} // tgen
+
+static void Test_G13x5y2()
+{
+ extern Class_Descriptor cd_G13x5y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G13x5y2, buf);
+ G13x5y2 *dp, &lv = *(dp=new (buf) G13x5y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G13x5y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x5y2)");
+ check_base_class_offset(lv, (A1*)(C13*), ABISELECT(24,16), "G13x5y2");
+ check_base_class_offset(lv, (B1*)(C13*), ABISELECT(40,28), "G13x5y2");
+ check_base_class_offset(lv, (C13*)(E13x5*), ABISELECT(24,16), "G13x5y2");
+ check_base_class_offset(lv, (D0*)(E13x5*), ABISELECT(8,4), "G13x5y2");
+ check_base_class_offset(lv, (E13x5*), 0, "G13x5y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G13x5y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G13x5y2.ff");
+ test_class_info(&lv, &cd_G13x5y2);
+ dp->~G13x5y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x5y2(Test_G13x5y2, "G13x5y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G13x5y2C1Ev();
+extern void _ZN7G13x5y2D1Ev();
+Name_Map name_map_G13x5y2[] = {
+ NSPAIR(_ZN7G13x5y2C1Ev),
+ NSPAIR(_ZN7G13x5y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E13x5;
+extern VTBL_ENTRY _ZTI5E13x5[];
+extern VTBL_ENTRY _ZTV5E13x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G13x5y2[] = {
+ // 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)
+ 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
+ 5, //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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E13x5, 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)
+ 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 _ZTI7G13x5y2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G13x5y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x5y2[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G13x5y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G13x5y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G13x5y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x5y2[];
+static VTBL_ENTRY _tg__ZTV5E13x5__7G13x5y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__5E13x5__7G13x5y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E13x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x5__7G13x5y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E13x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__7G13x5y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C13__7G13x5y2[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x5y2[] = {
+ {&(_ZTV7G13x5y2[5]), 5,18},
+ {&(_tg__ZTV5E13x5__7G13x5y2[4]), 4,4},
+ {&(_tg__ZTV3C13__5E13x5__7G13x5y2[4]), 4,5},
+ {&(_tg__ZTV2B1__5E13x5__7G13x5y2[3]), 3,4},
+ {&(_ZTV7G13x5y2[9]), 9,18},
+ {&(_ZTV7G13x5y2[13]), 13,18},
+ {&(_ZTV7G13x5y2[17]), 17,18},
+ {&(_tg__ZTV3C13__7G13x5y2[3]), 3,4},
+ {&(_tg__ZTV2B1__3C13__7G13x5y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G13x5y2[];
+extern VTBL_ENTRY _ZTV7G13x5y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x5y2[];
+Class_Descriptor cd_G13x5y2 = { "G13x5y2", // class name
+ bases_G13x5y2, 6,
+ &(vtc_G13x5y2[0]), // expected_vtbl_contents
+ &(vtt_G13x5y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G13x5y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x5y2),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x5y2),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 G13x5y3 : virtual E13x5 , virtual F1 {
+ int ff;
+ ~G13x5y3(); // tgen
+ G13x5y3(); // tgen
+};
+//SIG(1 G13x5y3) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G13x5y3 ::~G13x5y3(){ note_dtor("G13x5y3", this);} // tgen
+G13x5y3 ::G13x5y3(){ note_ctor("G13x5y3", this);} // tgen
+
+static void Test_G13x5y3()
+{
+ extern Class_Descriptor cd_G13x5y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G13x5y3, buf);
+ G13x5y3 *dp, &lv = *(dp=new (buf) G13x5y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G13x5y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x5y3)");
+ check_base_class_offset(lv, (A1*)(C13*), ABISELECT(32,20), "G13x5y3");
+ check_base_class_offset(lv, (B1*)(C13*), ABISELECT(48,32), "G13x5y3");
+ check_base_class_offset(lv, (C13*)(E13x5*), ABISELECT(32,20), "G13x5y3");
+ check_base_class_offset(lv, (D0*)(E13x5*), ABISELECT(24,12), "G13x5y3");
+ check_base_class_offset(lv, (E13x5*), ABISELECT(16,8), "G13x5y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G13x5y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G13x5y3.ff");
+ test_class_info(&lv, &cd_G13x5y3);
+ dp->~G13x5y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x5y3(Test_G13x5y3, "G13x5y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G13x5y3C1Ev();
+extern void _ZN7G13x5y3D1Ev();
+Name_Map name_map_G13x5y3[] = {
+ NSPAIR(_ZN7G13x5y3C1Ev),
+ NSPAIR(_ZN7G13x5y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E13x5;
+extern VTBL_ENTRY _ZTI5E13x5[];
+extern VTBL_ENTRY _ZTV5E13x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G13x5y3[] = {
+ // 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
+ 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_C13, ABISELECT(32,20), //bcp->offset
+ 10, //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_D0, 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_E13x5, 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(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 _ZTI7G13x5y3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G13x5y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x5y3[0]),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G13x5y3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G13x5y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G13x5y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G13x5y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x5y3[];
+static VTBL_ENTRY _tg__ZTV5E13x5__7G13x5y3[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__5E13x5__7G13x5y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E13x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x5__7G13x5y3[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E13x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__7G13x5y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C13__7G13x5y3[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x5y3[] = {
+ {&(_ZTV7G13x5y3[6]), 6,23},
+ {&(_ZTV7G13x5y3[10]), 10,23},
+ {&(_ZTV7G13x5y3[14]), 14,23},
+ {&(_ZTV7G13x5y3[18]), 18,23},
+ {&(_ZTV7G13x5y3[22]), 22,23},
+ {&(_tg__ZTV5E13x5__7G13x5y3[4]), 4,4},
+ {&(_tg__ZTV3C13__5E13x5__7G13x5y3[4]), 4,5},
+ {&(_tg__ZTV2B1__5E13x5__7G13x5y3[3]), 3,4},
+ {&(_tg__ZTV3C13__7G13x5y3[3]), 3,4},
+ {&(_tg__ZTV2B1__3C13__7G13x5y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G13x5y3[];
+extern VTBL_ENTRY _ZTV7G13x5y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x5y3[];
+Class_Descriptor cd_G13x5y3 = { "G13x5y3", // class name
+ bases_G13x5y3, 6,
+ &(vtc_G13x5y3[0]), // expected_vtbl_contents
+ &(vtt_G13x5y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G13x5y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x5y3),23, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x5y3),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 G13x5y4 : E13x5 , F0 {
+ int ff;
+ ~G13x5y4(); // tgen
+ G13x5y4(); // tgen
+};
+//SIG(1 G13x5y4) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G13x5y4 ::~G13x5y4(){ note_dtor("G13x5y4", this);} // tgen
+G13x5y4 ::G13x5y4(){ note_ctor("G13x5y4", this);} // tgen
+
+static void Test_G13x5y4()
+{
+ extern Class_Descriptor cd_G13x5y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G13x5y4, buf);
+ G13x5y4 *dp, &lv = *(dp=new (buf) G13x5y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G13x5y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x5y4)");
+ check_base_class_offset(lv, (A1*)(C13*), ABISELECT(24,20), "G13x5y4");
+ check_base_class_offset(lv, (B1*)(C13*), ABISELECT(40,32), "G13x5y4");
+ check_base_class_offset(lv, (C13*)(E13x5*), ABISELECT(24,20), "G13x5y4");
+ check_base_class_offset(lv, (D0*)(E13x5*), ABISELECT(8,4), "G13x5y4");
+ check_base_class_offset(lv, (E13x5*), 0, "G13x5y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G13x5y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G13x5y4.ff");
+ test_class_info(&lv, &cd_G13x5y4);
+ dp->~G13x5y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x5y4(Test_G13x5y4, "G13x5y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G13x5y4C1Ev();
+extern void _ZN7G13x5y4D1Ev();
+Name_Map name_map_G13x5y4[] = {
+ NSPAIR(_ZN7G13x5y4C1Ev),
+ NSPAIR(_ZN7G13x5y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E13x5;
+extern VTBL_ENTRY _ZTI5E13x5[];
+extern VTBL_ENTRY _ZTV5E13x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G13x5y4[] = {
+ // 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
+ 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_C13, ABISELECT(24,20), //bcp->offset
+ 4, //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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E13x5, 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 _ZTI7G13x5y4[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G13x5y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x5y4[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G13x5y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G13x5y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x5y4[];
+static VTBL_ENTRY _tg__ZTV5E13x5__7G13x5y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__5E13x5__7G13x5y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E13x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x5__7G13x5y4[] = {
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI5E13x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__7G13x5y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C13__7G13x5y4[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x5y4[] = {
+ {&(_ZTV7G13x5y4[4]), 4,13},
+ {&(_tg__ZTV5E13x5__7G13x5y4[4]), 4,4},
+ {&(_tg__ZTV3C13__5E13x5__7G13x5y4[4]), 4,5},
+ {&(_tg__ZTV2B1__5E13x5__7G13x5y4[3]), 3,4},
+ {&(_ZTV7G13x5y4[8]), 8,13},
+ {&(_ZTV7G13x5y4[12]), 12,13},
+ {&(_tg__ZTV3C13__7G13x5y4[3]), 3,4},
+ {&(_tg__ZTV2B1__3C13__7G13x5y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G13x5y4[];
+extern VTBL_ENTRY _ZTV7G13x5y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x5y4[];
+Class_Descriptor cd_G13x5y4 = { "G13x5y4", // class name
+ bases_G13x5y4, 6,
+ &(vtc_G13x5y4[0]), // expected_vtbl_contents
+ &(vtt_G13x5y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G13x5y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x5y4),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x5y4),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 G13x5y5 : virtual E13x5 , F0 {
+ int ff;
+ ~G13x5y5(); // tgen
+ G13x5y5(); // tgen
+};
+//SIG(1 G13x5y5) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G13x5y5 ::~G13x5y5(){ note_dtor("G13x5y5", this);} // tgen
+G13x5y5 ::G13x5y5(){ note_ctor("G13x5y5", this);} // tgen
+
+static void Test_G13x5y5()
+{
+ extern Class_Descriptor cd_G13x5y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G13x5y5, buf);
+ G13x5y5 *dp, &lv = *(dp=new (buf) G13x5y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G13x5y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x5y5)");
+ check_base_class_offset(lv, (A1*)(C13*), ABISELECT(32,24), "G13x5y5");
+ check_base_class_offset(lv, (B1*)(C13*), ABISELECT(48,36), "G13x5y5");
+ check_base_class_offset(lv, (C13*)(E13x5*), ABISELECT(32,24), "G13x5y5");
+ check_base_class_offset(lv, (D0*)(E13x5*), ABISELECT(24,16), "G13x5y5");
+ check_base_class_offset(lv, (E13x5*), ABISELECT(16,12), "G13x5y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G13x5y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G13x5y5.ff");
+ test_class_info(&lv, &cd_G13x5y5);
+ dp->~G13x5y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x5y5(Test_G13x5y5, "G13x5y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G13x5y5C1Ev();
+extern void _ZN7G13x5y5D1Ev();
+Name_Map name_map_G13x5y5[] = {
+ NSPAIR(_ZN7G13x5y5C1Ev),
+ NSPAIR(_ZN7G13x5y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E13x5;
+extern VTBL_ENTRY _ZTI5E13x5[];
+extern VTBL_ENTRY _ZTV5E13x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G13x5y5[] = {
+ // 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
+ 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_C13, ABISELECT(32,24), //bcp->offset
+ 9, //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_D0, 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_E13x5, 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 _ZTI7G13x5y5[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G13x5y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x5y5[0]),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G13x5y5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G13x5y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G13x5y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x5y5[];
+static VTBL_ENTRY _tg__ZTV5E13x5__7G13x5y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__5E13x5__7G13x5y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E13x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x5__7G13x5y5[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E13x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__7G13x5y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C13__7G13x5y5[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x5y5[] = {
+ {&(_ZTV7G13x5y5[5]), 5,18},
+ {&(_ZTV7G13x5y5[9]), 9,18},
+ {&(_ZTV7G13x5y5[13]), 13,18},
+ {&(_ZTV7G13x5y5[17]), 17,18},
+ {&(_tg__ZTV5E13x5__7G13x5y5[4]), 4,4},
+ {&(_tg__ZTV3C13__5E13x5__7G13x5y5[4]), 4,5},
+ {&(_tg__ZTV2B1__5E13x5__7G13x5y5[3]), 3,4},
+ {&(_tg__ZTV3C13__7G13x5y5[3]), 3,4},
+ {&(_tg__ZTV2B1__3C13__7G13x5y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G13x5y5[];
+extern VTBL_ENTRY _ZTV7G13x5y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x5y5[];
+Class_Descriptor cd_G13x5y5 = { "G13x5y5", // class name
+ bases_G13x5y5, 6,
+ &(vtc_G13x5y5[0]), // expected_vtbl_contents
+ &(vtt_G13x5y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G13x5y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x5y5),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x5y5),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 G13x5y6 : E13x5 , virtual F0 {
+ int ff;
+ ~G13x5y6(); // tgen
+ G13x5y6(); // tgen
+};
+//SIG(1 G13x5y6) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G13x5y6 ::~G13x5y6(){ note_dtor("G13x5y6", this);} // tgen
+G13x5y6 ::G13x5y6(){ note_ctor("G13x5y6", this);} // tgen
+
+static void Test_G13x5y6()
+{
+ extern Class_Descriptor cd_G13x5y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G13x5y6, buf);
+ G13x5y6 *dp, &lv = *(dp=new (buf) G13x5y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G13x5y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x5y6)");
+ check_base_class_offset(lv, (A1*)(C13*), ABISELECT(24,16), "G13x5y6");
+ check_base_class_offset(lv, (B1*)(C13*), ABISELECT(40,28), "G13x5y6");
+ check_base_class_offset(lv, (C13*)(E13x5*), ABISELECT(24,16), "G13x5y6");
+ check_base_class_offset(lv, (D0*)(E13x5*), ABISELECT(8,4), "G13x5y6");
+ check_base_class_offset(lv, (E13x5*), 0, "G13x5y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G13x5y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G13x5y6.ff");
+ test_class_info(&lv, &cd_G13x5y6);
+ dp->~G13x5y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x5y6(Test_G13x5y6, "G13x5y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G13x5y6C1Ev();
+extern void _ZN7G13x5y6D1Ev();
+Name_Map name_map_G13x5y6[] = {
+ NSPAIR(_ZN7G13x5y6C1Ev),
+ NSPAIR(_ZN7G13x5y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E13x5;
+extern VTBL_ENTRY _ZTI5E13x5[];
+extern VTBL_ENTRY _ZTV5E13x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G13x5y6[] = {
+ // 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)
+ 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
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E13x5, 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 _ZTI7G13x5y6[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G13x5y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x5y6[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G13x5y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G13x5y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x5y6[];
+static VTBL_ENTRY _tg__ZTV5E13x5__7G13x5y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__5E13x5__7G13x5y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E13x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x5__7G13x5y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E13x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__7G13x5y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C13__7G13x5y6[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x5y6[] = {
+ {&(_ZTV7G13x5y6[5]), 5,14},
+ {&(_tg__ZTV5E13x5__7G13x5y6[4]), 4,4},
+ {&(_tg__ZTV3C13__5E13x5__7G13x5y6[4]), 4,5},
+ {&(_tg__ZTV2B1__5E13x5__7G13x5y6[3]), 3,4},
+ {&(_ZTV7G13x5y6[9]), 9,14},
+ {&(_ZTV7G13x5y6[13]), 13,14},
+ {&(_tg__ZTV3C13__7G13x5y6[3]), 3,4},
+ {&(_tg__ZTV2B1__3C13__7G13x5y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G13x5y6[];
+extern VTBL_ENTRY _ZTV7G13x5y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x5y6[];
+Class_Descriptor cd_G13x5y6 = { "G13x5y6", // class name
+ bases_G13x5y6, 6,
+ &(vtc_G13x5y6[0]), // expected_vtbl_contents
+ &(vtt_G13x5y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G13x5y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x5y6),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x5y6),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 G13x5y7 : virtual E13x5 , virtual F0 {
+ int ff;
+ ~G13x5y7(); // tgen
+ G13x5y7(); // tgen
+};
+//SIG(1 G13x5y7) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G13x5y7 ::~G13x5y7(){ note_dtor("G13x5y7", this);} // tgen
+G13x5y7 ::G13x5y7(){ note_ctor("G13x5y7", this);} // tgen
+
+static void Test_G13x5y7()
+{
+ extern Class_Descriptor cd_G13x5y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G13x5y7, buf);
+ G13x5y7 *dp, &lv = *(dp=new (buf) G13x5y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G13x5y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x5y7)");
+ check_base_class_offset(lv, (A1*)(C13*), ABISELECT(32,20), "G13x5y7");
+ check_base_class_offset(lv, (B1*)(C13*), ABISELECT(48,32), "G13x5y7");
+ check_base_class_offset(lv, (C13*)(E13x5*), ABISELECT(32,20), "G13x5y7");
+ check_base_class_offset(lv, (D0*)(E13x5*), ABISELECT(24,12), "G13x5y7");
+ check_base_class_offset(lv, (E13x5*), ABISELECT(16,8), "G13x5y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(60,40), "G13x5y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G13x5y7.ff");
+ test_class_info(&lv, &cd_G13x5y7);
+ dp->~G13x5y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x5y7(Test_G13x5y7, "G13x5y7", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G13x5y7C1Ev();
+extern void _ZN7G13x5y7D1Ev();
+Name_Map name_map_G13x5y7[] = {
+ NSPAIR(_ZN7G13x5y7C1Ev),
+ NSPAIR(_ZN7G13x5y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E13x5;
+extern VTBL_ENTRY _ZTI5E13x5[];
+extern VTBL_ENTRY _ZTV5E13x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G13x5y7[] = {
+ // 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
+ 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_C13, ABISELECT(32,20), //bcp->offset
+ 10, //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_D0, 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_E13x5, 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(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 _ZTI7G13x5y7[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G13x5y7[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x5y7[0]),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G13x5y7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G13x5y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G13x5y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x5y7[];
+static VTBL_ENTRY _tg__ZTV5E13x5__7G13x5y7[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__5E13x5__7G13x5y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E13x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x5__7G13x5y7[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E13x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__7G13x5y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C13__7G13x5y7[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x5y7[] = {
+ {&(_ZTV7G13x5y7[6]), 6,19},
+ {&(_ZTV7G13x5y7[10]), 10,19},
+ {&(_ZTV7G13x5y7[14]), 14,19},
+ {&(_ZTV7G13x5y7[18]), 18,19},
+ {&(_tg__ZTV5E13x5__7G13x5y7[4]), 4,4},
+ {&(_tg__ZTV3C13__5E13x5__7G13x5y7[4]), 4,5},
+ {&(_tg__ZTV2B1__5E13x5__7G13x5y7[3]), 3,4},
+ {&(_tg__ZTV3C13__7G13x5y7[3]), 3,4},
+ {&(_tg__ZTV2B1__3C13__7G13x5y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G13x5y7[];
+extern VTBL_ENTRY _ZTV7G13x5y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x5y7[];
+Class_Descriptor cd_G13x5y7 = { "G13x5y7", // class name
+ bases_G13x5y7, 6,
+ &(vtc_G13x5y7[0]), // expected_vtbl_contents
+ &(vtt_G13x5y7[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G13x5y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x5y7),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x5y7),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 E14x5 : virtual C14 , D0 {
+ int fd;
+ ~E14x5(); // tgen
+ E14x5(); // tgen
+};
+//SIG(-1 E14x5) C1{ VBC2{ VBC3{ Fi} VBC4{ v1 Fi} Fi} BC5{ Fi} Fi}
+
+
+E14x5 ::~E14x5(){ note_dtor("E14x5", this);} // tgen
+E14x5 ::E14x5(){ note_ctor("E14x5", this);} // tgen
+
+static void Test_E14x5()
+{
+ extern Class_Descriptor cd_E14x5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E14x5, buf);
+ E14x5 *dp, &lv = *(dp=new (buf) E14x5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E14x5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E14x5)");
+ check_base_class_offset(lv, (A0*)(C14*), ABISELECT(28,20), "E14x5");
+ check_base_class_offset(lv, (B1*)(C14*), ABISELECT(32,24), "E14x5");
+ check_base_class_offset(lv, (C14*), ABISELECT(16,12), "E14x5");
+ check_base_class_offset(lv, (D0*), ABISELECT(8,4), "E14x5");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E14x5.fd");
+ test_class_info(&lv, &cd_E14x5);
+ dp->~E14x5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE14x5(Test_E14x5, "E14x5", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN5E14x5C1Ev();
+extern void _ZN5E14x5D1Ev();
+Name_Map name_map_E14x5[] = {
+ NSPAIR(_ZN5E14x5C1Ev),
+ NSPAIR(_ZN5E14x5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E14x5[] = {
+ // 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
+ 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_C14, 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E14x5[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_E14x5[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x5[0]),
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E14x5[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E14x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E14x5[];
+static VTBL_ENTRY _tg__ZTV3C14__5E14x5[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C14__5E14x5[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_E14x5[] = {
+ {&(_ZTV5E14x5[5]), 5,13},
+ {&(_ZTV5E14x5[9]), 9,13},
+ {&(_ZTV5E14x5[12]), 12,13},
+ {&(_tg__ZTV3C14__5E14x5[4]), 4,4},
+ {&(_tg__ZTV2B1__3C14__5E14x5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E14x5[];
+extern VTBL_ENTRY _ZTV5E14x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x5[];
+Class_Descriptor cd_E14x5 = { "E14x5", // class name
+ bases_E14x5, 4,
+ &(vtc_E14x5[0]), // expected_vtbl_contents
+ &(vtt_E14x5[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI5E14x5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E14x5),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E14x5),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 G14x5y0 : E14x5 , F1 {
+ int ff;
+ ~G14x5y0(); // tgen
+ G14x5y0(); // tgen
+};
+//SIG(1 G14x5y0) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G14x5y0 ::~G14x5y0(){ note_dtor("G14x5y0", this);} // tgen
+G14x5y0 ::G14x5y0(){ note_ctor("G14x5y0", this);} // tgen
+
+static void Test_G14x5y0()
+{
+ extern Class_Descriptor cd_G14x5y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G14x5y0, buf);
+ G14x5y0 *dp, &lv = *(dp=new (buf) G14x5y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G14x5y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x5y0)");
+ check_base_class_offset(lv, (A0*)(C14*), ABISELECT(44,32), "G14x5y0");
+ check_base_class_offset(lv, (B1*)(C14*), ABISELECT(48,36), "G14x5y0");
+ check_base_class_offset(lv, (C14*)(E14x5*), ABISELECT(32,24), "G14x5y0");
+ check_base_class_offset(lv, (D0*)(E14x5*), ABISELECT(8,4), "G14x5y0");
+ check_base_class_offset(lv, (E14x5*), 0, "G14x5y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G14x5y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G14x5y0.ff");
+ test_class_info(&lv, &cd_G14x5y0);
+ dp->~G14x5y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x5y0(Test_G14x5y0, "G14x5y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G14x5y0C1Ev();
+extern void _ZN7G14x5y0D1Ev();
+Name_Map name_map_G14x5y0[] = {
+ NSPAIR(_ZN7G14x5y0C1Ev),
+ NSPAIR(_ZN7G14x5y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E14x5;
+extern VTBL_ENTRY _ZTI5E14x5[];
+extern VTBL_ENTRY _ZTV5E14x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G14x5y0[] = {
+ // 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
+ 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_C14, 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E14x5, 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 _ZTI7G14x5y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G14x5y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x5y0[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G14x5y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G14x5y0[0]),
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G14x5y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x5y0[];
+static VTBL_ENTRY _tg__ZTV5E14x5__7G14x5y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C14__5E14x5__7G14x5y0[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E14x5[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x5__7G14x5y0[] = {
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI5E14x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C14__7G14x5y0[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C14__7G14x5y0[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x5y0[] = {
+ {&(_ZTV7G14x5y0[5]), 5,16},
+ {&(_tg__ZTV5E14x5__7G14x5y0[5]), 5,5},
+ {&(_tg__ZTV3C14__5E14x5__7G14x5y0[4]), 4,4},
+ {&(_tg__ZTV2B1__5E14x5__7G14x5y0[3]), 3,4},
+ {&(_ZTV7G14x5y0[12]), 12,16},
+ {&(_ZTV7G14x5y0[15]), 15,16},
+ {&(_tg__ZTV3C14__7G14x5y0[4]), 4,4},
+ {&(_tg__ZTV2B1__3C14__7G14x5y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G14x5y0[];
+extern VTBL_ENTRY _ZTV7G14x5y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x5y0[];
+Class_Descriptor cd_G14x5y0 = { "G14x5y0", // class name
+ bases_G14x5y0, 6,
+ &(vtc_G14x5y0[0]), // expected_vtbl_contents
+ &(vtt_G14x5y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G14x5y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x5y0),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x5y0),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 G14x5y1 : virtual E14x5 , F1 {
+ int ff;
+ ~G14x5y1(); // tgen
+ G14x5y1(); // tgen
+};
+//SIG(1 G14x5y1) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G14x5y1 ::~G14x5y1(){ note_dtor("G14x5y1", this);} // tgen
+G14x5y1 ::G14x5y1(){ note_ctor("G14x5y1", this);} // tgen
+
+static void Test_G14x5y1()
+{
+ extern Class_Descriptor cd_G14x5y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G14x5y1, buf);
+ G14x5y1 *dp, &lv = *(dp=new (buf) G14x5y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G14x5y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x5y1)");
+ check_base_class_offset(lv, (A0*)(C14*), ABISELECT(44,32), "G14x5y1");
+ check_base_class_offset(lv, (B1*)(C14*), ABISELECT(48,36), "G14x5y1");
+ check_base_class_offset(lv, (C14*)(E14x5*), ABISELECT(32,24), "G14x5y1");
+ check_base_class_offset(lv, (D0*)(E14x5*), ABISELECT(24,16), "G14x5y1");
+ check_base_class_offset(lv, (E14x5*), ABISELECT(16,12), "G14x5y1");
+ check_base_class_offset(lv, (F1*), 0, "G14x5y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G14x5y1.ff");
+ test_class_info(&lv, &cd_G14x5y1);
+ dp->~G14x5y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x5y1(Test_G14x5y1, "G14x5y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G14x5y1C1Ev();
+extern void _ZN7G14x5y1D1Ev();
+Name_Map name_map_G14x5y1[] = {
+ NSPAIR(_ZN7G14x5y1C1Ev),
+ NSPAIR(_ZN7G14x5y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E14x5;
+extern VTBL_ENTRY _ZTI5E14x5[];
+extern VTBL_ENTRY _ZTV5E14x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G14x5y1[] = {
+ // 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
+ 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_C14, 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_D0, 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_E14x5, 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 _ZTI7G14x5y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G14x5y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x5y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G14x5y1[0]),
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G14x5y1[0]),
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G14x5y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x5y1[];
+static VTBL_ENTRY _tg__ZTV5E14x5__7G14x5y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C14__5E14x5__7G14x5y1[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E14x5[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x5__7G14x5y1[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E14x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C14__7G14x5y1[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C14__7G14x5y1[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x5y1[] = {
+ {&(_ZTV7G14x5y1[6]), 6,20},
+ {&(_ZTV7G14x5y1[12]), 12,20},
+ {&(_ZTV7G14x5y1[16]), 16,20},
+ {&(_ZTV7G14x5y1[19]), 19,20},
+ {&(_tg__ZTV5E14x5__7G14x5y1[5]), 5,5},
+ {&(_tg__ZTV3C14__5E14x5__7G14x5y1[4]), 4,4},
+ {&(_tg__ZTV2B1__5E14x5__7G14x5y1[3]), 3,4},
+ {&(_tg__ZTV3C14__7G14x5y1[4]), 4,4},
+ {&(_tg__ZTV2B1__3C14__7G14x5y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G14x5y1[];
+extern VTBL_ENTRY _ZTV7G14x5y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x5y1[];
+Class_Descriptor cd_G14x5y1 = { "G14x5y1", // class name
+ bases_G14x5y1, 6,
+ &(vtc_G14x5y1[0]), // expected_vtbl_contents
+ &(vtt_G14x5y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G14x5y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x5y1),20, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x5y1),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 G14x5y2 : E14x5 , virtual F1 {
+ int ff;
+ ~G14x5y2(); // tgen
+ G14x5y2(); // tgen
+};
+//SIG(1 G14x5y2) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G14x5y2 ::~G14x5y2(){ note_dtor("G14x5y2", this);} // tgen
+G14x5y2 ::G14x5y2(){ note_ctor("G14x5y2", this);} // tgen
+
+static void Test_G14x5y2()
+{
+ extern Class_Descriptor cd_G14x5y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G14x5y2, buf);
+ G14x5y2 *dp, &lv = *(dp=new (buf) G14x5y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G14x5y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x5y2)");
+ check_base_class_offset(lv, (A0*)(C14*), ABISELECT(36,24), "G14x5y2");
+ check_base_class_offset(lv, (B1*)(C14*), ABISELECT(40,28), "G14x5y2");
+ check_base_class_offset(lv, (C14*)(E14x5*), ABISELECT(24,16), "G14x5y2");
+ check_base_class_offset(lv, (D0*)(E14x5*), ABISELECT(8,4), "G14x5y2");
+ check_base_class_offset(lv, (E14x5*), 0, "G14x5y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G14x5y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G14x5y2.ff");
+ test_class_info(&lv, &cd_G14x5y2);
+ dp->~G14x5y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x5y2(Test_G14x5y2, "G14x5y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G14x5y2C1Ev();
+extern void _ZN7G14x5y2D1Ev();
+Name_Map name_map_G14x5y2[] = {
+ NSPAIR(_ZN7G14x5y2C1Ev),
+ NSPAIR(_ZN7G14x5y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E14x5;
+extern VTBL_ENTRY _ZTI5E14x5[];
+extern VTBL_ENTRY _ZTV5E14x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G14x5y2[] = {
+ // 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)
+ 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
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E14x5, 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
+ 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 _ZTI7G14x5y2[];
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G14x5y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x5y2[0]),
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G14x5y2[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G14x5y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G14x5y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x5y2[];
+static VTBL_ENTRY _tg__ZTV5E14x5__7G14x5y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C14__5E14x5__7G14x5y2[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E14x5[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x5__7G14x5y2[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E14x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C14__7G14x5y2[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C14__7G14x5y2[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x5y2[] = {
+ {&(_ZTV7G14x5y2[6]), 6,18},
+ {&(_tg__ZTV5E14x5__7G14x5y2[5]), 5,5},
+ {&(_tg__ZTV3C14__5E14x5__7G14x5y2[4]), 4,4},
+ {&(_tg__ZTV2B1__5E14x5__7G14x5y2[3]), 3,4},
+ {&(_ZTV7G14x5y2[10]), 10,18},
+ {&(_ZTV7G14x5y2[13]), 13,18},
+ {&(_ZTV7G14x5y2[17]), 17,18},
+ {&(_tg__ZTV3C14__7G14x5y2[4]), 4,4},
+ {&(_tg__ZTV2B1__3C14__7G14x5y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G14x5y2[];
+extern VTBL_ENTRY _ZTV7G14x5y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x5y2[];
+Class_Descriptor cd_G14x5y2 = { "G14x5y2", // class name
+ bases_G14x5y2, 6,
+ &(vtc_G14x5y2[0]), // expected_vtbl_contents
+ &(vtt_G14x5y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G14x5y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x5y2),18, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x5y2),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 G14x5y3 : virtual E14x5 , virtual F1 {
+ int ff;
+ ~G14x5y3(); // tgen
+ G14x5y3(); // tgen
+};
+//SIG(1 G14x5y3) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G14x5y3 ::~G14x5y3(){ note_dtor("G14x5y3", this);} // tgen
+G14x5y3 ::G14x5y3(){ note_ctor("G14x5y3", this);} // tgen
+
+static void Test_G14x5y3()
+{
+ extern Class_Descriptor cd_G14x5y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G14x5y3, buf);
+ G14x5y3 *dp, &lv = *(dp=new (buf) G14x5y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G14x5y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x5y3)");
+ check_base_class_offset(lv, (A0*)(C14*), ABISELECT(44,28), "G14x5y3");
+ check_base_class_offset(lv, (B1*)(C14*), ABISELECT(48,32), "G14x5y3");
+ check_base_class_offset(lv, (C14*)(E14x5*), ABISELECT(32,20), "G14x5y3");
+ check_base_class_offset(lv, (D0*)(E14x5*), ABISELECT(24,12), "G14x5y3");
+ check_base_class_offset(lv, (E14x5*), ABISELECT(16,8), "G14x5y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G14x5y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G14x5y3.ff");
+ test_class_info(&lv, &cd_G14x5y3);
+ dp->~G14x5y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x5y3(Test_G14x5y3, "G14x5y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G14x5y3C1Ev();
+extern void _ZN7G14x5y3D1Ev();
+Name_Map name_map_G14x5y3[] = {
+ NSPAIR(_ZN7G14x5y3C1Ev),
+ NSPAIR(_ZN7G14x5y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E14x5;
+extern VTBL_ENTRY _ZTI5E14x5[];
+extern VTBL_ENTRY _ZTV5E14x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G14x5y3[] = {
+ // 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
+ 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_C14, 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_D0, 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_E14x5, 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(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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G14x5y3[];
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G14x5y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x5y3[0]),
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G14x5y3[0]),
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G14x5y3[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G14x5y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G14x5y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x5y3[];
+static VTBL_ENTRY _tg__ZTV5E14x5__7G14x5y3[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C14__5E14x5__7G14x5y3[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E14x5[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x5__7G14x5y3[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E14x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C14__7G14x5y3[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C14__7G14x5y3[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x5y3[] = {
+ {&(_ZTV7G14x5y3[7]), 7,24},
+ {&(_ZTV7G14x5y3[12]), 12,24},
+ {&(_ZTV7G14x5y3[16]), 16,24},
+ {&(_ZTV7G14x5y3[19]), 19,24},
+ {&(_ZTV7G14x5y3[23]), 23,24},
+ {&(_tg__ZTV5E14x5__7G14x5y3[5]), 5,5},
+ {&(_tg__ZTV3C14__5E14x5__7G14x5y3[4]), 4,4},
+ {&(_tg__ZTV2B1__5E14x5__7G14x5y3[3]), 3,4},
+ {&(_tg__ZTV3C14__7G14x5y3[4]), 4,4},
+ {&(_tg__ZTV2B1__3C14__7G14x5y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G14x5y3[];
+extern VTBL_ENTRY _ZTV7G14x5y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x5y3[];
+Class_Descriptor cd_G14x5y3 = { "G14x5y3", // class name
+ bases_G14x5y3, 6,
+ &(vtc_G14x5y3[0]), // expected_vtbl_contents
+ &(vtt_G14x5y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G14x5y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x5y3),24, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x5y3),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 G14x5y4 : E14x5 , F0 {
+ int ff;
+ ~G14x5y4(); // tgen
+ G14x5y4(); // tgen
+};
+//SIG(1 G14x5y4) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G14x5y4 ::~G14x5y4(){ note_dtor("G14x5y4", this);} // tgen
+G14x5y4 ::G14x5y4(){ note_ctor("G14x5y4", this);} // tgen
+
+static void Test_G14x5y4()
+{
+ extern Class_Descriptor cd_G14x5y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G14x5y4, buf);
+ G14x5y4 *dp, &lv = *(dp=new (buf) G14x5y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G14x5y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x5y4)");
+ check_base_class_offset(lv, (A0*)(C14*), ABISELECT(36,28), "G14x5y4");
+ check_base_class_offset(lv, (B1*)(C14*), ABISELECT(40,32), "G14x5y4");
+ check_base_class_offset(lv, (C14*)(E14x5*), ABISELECT(24,20), "G14x5y4");
+ check_base_class_offset(lv, (D0*)(E14x5*), ABISELECT(8,4), "G14x5y4");
+ check_base_class_offset(lv, (E14x5*), 0, "G14x5y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G14x5y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G14x5y4.ff");
+ test_class_info(&lv, &cd_G14x5y4);
+ dp->~G14x5y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x5y4(Test_G14x5y4, "G14x5y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G14x5y4C1Ev();
+extern void _ZN7G14x5y4D1Ev();
+Name_Map name_map_G14x5y4[] = {
+ NSPAIR(_ZN7G14x5y4C1Ev),
+ NSPAIR(_ZN7G14x5y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E14x5;
+extern VTBL_ENTRY _ZTI5E14x5[];
+extern VTBL_ENTRY _ZTV5E14x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G14x5y4[] = {
+ // 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
+ 9, //bcp->virtual_function_table_offset
+ 3, //num_negative_vtable_entries(t, bcp)
+ 6, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C14, 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E14x5, 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 _ZTI7G14x5y4[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G14x5y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x5y4[0]),
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G14x5y4[0]),
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G14x5y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x5y4[];
+static VTBL_ENTRY _tg__ZTV5E14x5__7G14x5y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C14__5E14x5__7G14x5y4[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E14x5[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x5__7G14x5y4[] = {
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI5E14x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C14__7G14x5y4[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C14__7G14x5y4[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x5y4[] = {
+ {&(_ZTV7G14x5y4[5]), 5,13},
+ {&(_tg__ZTV5E14x5__7G14x5y4[5]), 5,5},
+ {&(_tg__ZTV3C14__5E14x5__7G14x5y4[4]), 4,4},
+ {&(_tg__ZTV2B1__5E14x5__7G14x5y4[3]), 3,4},
+ {&(_ZTV7G14x5y4[9]), 9,13},
+ {&(_ZTV7G14x5y4[12]), 12,13},
+ {&(_tg__ZTV3C14__7G14x5y4[4]), 4,4},
+ {&(_tg__ZTV2B1__3C14__7G14x5y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G14x5y4[];
+extern VTBL_ENTRY _ZTV7G14x5y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x5y4[];
+Class_Descriptor cd_G14x5y4 = { "G14x5y4", // class name
+ bases_G14x5y4, 6,
+ &(vtc_G14x5y4[0]), // expected_vtbl_contents
+ &(vtt_G14x5y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G14x5y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x5y4),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x5y4),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 G14x5y5 : virtual E14x5 , F0 {
+ int ff;
+ ~G14x5y5(); // tgen
+ G14x5y5(); // tgen
+};
+//SIG(1 G14x5y5) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G14x5y5 ::~G14x5y5(){ note_dtor("G14x5y5", this);} // tgen
+G14x5y5 ::G14x5y5(){ note_ctor("G14x5y5", this);} // tgen
+
+static void Test_G14x5y5()
+{
+ extern Class_Descriptor cd_G14x5y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G14x5y5, buf);
+ G14x5y5 *dp, &lv = *(dp=new (buf) G14x5y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G14x5y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x5y5)");
+ check_base_class_offset(lv, (A0*)(C14*), ABISELECT(44,32), "G14x5y5");
+ check_base_class_offset(lv, (B1*)(C14*), ABISELECT(48,36), "G14x5y5");
+ check_base_class_offset(lv, (C14*)(E14x5*), ABISELECT(32,24), "G14x5y5");
+ check_base_class_offset(lv, (D0*)(E14x5*), ABISELECT(24,16), "G14x5y5");
+ check_base_class_offset(lv, (E14x5*), ABISELECT(16,12), "G14x5y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G14x5y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G14x5y5.ff");
+ test_class_info(&lv, &cd_G14x5y5);
+ dp->~G14x5y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x5y5(Test_G14x5y5, "G14x5y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G14x5y5C1Ev();
+extern void _ZN7G14x5y5D1Ev();
+Name_Map name_map_G14x5y5[] = {
+ NSPAIR(_ZN7G14x5y5C1Ev),
+ NSPAIR(_ZN7G14x5y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E14x5;
+extern VTBL_ENTRY _ZTI5E14x5[];
+extern VTBL_ENTRY _ZTV5E14x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G14x5y5[] = {
+ // 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)
+ 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
+ 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_D0, 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_E14x5, 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 _ZTI7G14x5y5[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G14x5y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x5y5[0]),
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G14x5y5[0]),
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G14x5y5[0]),
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G14x5y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x5y5[];
+static VTBL_ENTRY _tg__ZTV5E14x5__7G14x5y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C14__5E14x5__7G14x5y5[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E14x5[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x5__7G14x5y5[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E14x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C14__7G14x5y5[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C14__7G14x5y5[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x5y5[] = {
+ {&(_ZTV7G14x5y5[6]), 6,19},
+ {&(_ZTV7G14x5y5[11]), 11,19},
+ {&(_ZTV7G14x5y5[15]), 15,19},
+ {&(_ZTV7G14x5y5[18]), 18,19},
+ {&(_tg__ZTV5E14x5__7G14x5y5[5]), 5,5},
+ {&(_tg__ZTV3C14__5E14x5__7G14x5y5[4]), 4,4},
+ {&(_tg__ZTV2B1__5E14x5__7G14x5y5[3]), 3,4},
+ {&(_tg__ZTV3C14__7G14x5y5[4]), 4,4},
+ {&(_tg__ZTV2B1__3C14__7G14x5y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G14x5y5[];
+extern VTBL_ENTRY _ZTV7G14x5y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x5y5[];
+Class_Descriptor cd_G14x5y5 = { "G14x5y5", // class name
+ bases_G14x5y5, 6,
+ &(vtc_G14x5y5[0]), // expected_vtbl_contents
+ &(vtt_G14x5y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G14x5y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x5y5),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x5y5),9, //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 G14x5y6 : E14x5 , virtual F0 {
+ int ff;
+ ~G14x5y6(); // tgen
+ G14x5y6(); // tgen
+};
+//SIG(1 G14x5y6) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G14x5y6 ::~G14x5y6(){ note_dtor("G14x5y6", this);} // tgen
+G14x5y6 ::G14x5y6(){ note_ctor("G14x5y6", this);} // tgen
+
+static void Test_G14x5y6()
+{
+ extern Class_Descriptor cd_G14x5y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G14x5y6, buf);
+ G14x5y6 *dp, &lv = *(dp=new (buf) G14x5y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G14x5y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x5y6)");
+ check_base_class_offset(lv, (A0*)(C14*), ABISELECT(36,24), "G14x5y6");
+ check_base_class_offset(lv, (B1*)(C14*), ABISELECT(40,28), "G14x5y6");
+ check_base_class_offset(lv, (C14*)(E14x5*), ABISELECT(24,16), "G14x5y6");
+ check_base_class_offset(lv, (D0*)(E14x5*), ABISELECT(8,4), "G14x5y6");
+ check_base_class_offset(lv, (E14x5*), 0, "G14x5y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G14x5y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G14x5y6.ff");
+ test_class_info(&lv, &cd_G14x5y6);
+ dp->~G14x5y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x5y6(Test_G14x5y6, "G14x5y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G14x5y6C1Ev();
+extern void _ZN7G14x5y6D1Ev();
+Name_Map name_map_G14x5y6[] = {
+ NSPAIR(_ZN7G14x5y6C1Ev),
+ NSPAIR(_ZN7G14x5y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E14x5;
+extern VTBL_ENTRY _ZTI5E14x5[];
+extern VTBL_ENTRY _ZTV5E14x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G14x5y6[] = {
+ // 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)
+ 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
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E14x5, 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 _ZTI7G14x5y6[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G14x5y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x5y6[0]),
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G14x5y6[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G14x5y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x5y6[];
+static VTBL_ENTRY _tg__ZTV5E14x5__7G14x5y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C14__5E14x5__7G14x5y6[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E14x5[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x5__7G14x5y6[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E14x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C14__7G14x5y6[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C14__7G14x5y6[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x5y6[] = {
+ {&(_ZTV7G14x5y6[6]), 6,14},
+ {&(_tg__ZTV5E14x5__7G14x5y6[5]), 5,5},
+ {&(_tg__ZTV3C14__5E14x5__7G14x5y6[4]), 4,4},
+ {&(_tg__ZTV2B1__5E14x5__7G14x5y6[3]), 3,4},
+ {&(_ZTV7G14x5y6[10]), 10,14},
+ {&(_ZTV7G14x5y6[13]), 13,14},
+ {&(_tg__ZTV3C14__7G14x5y6[4]), 4,4},
+ {&(_tg__ZTV2B1__3C14__7G14x5y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G14x5y6[];
+extern VTBL_ENTRY _ZTV7G14x5y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x5y6[];
+Class_Descriptor cd_G14x5y6 = { "G14x5y6", // class name
+ bases_G14x5y6, 6,
+ &(vtc_G14x5y6[0]), // expected_vtbl_contents
+ &(vtt_G14x5y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G14x5y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x5y6),14, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x5y6),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 G14x5y7 : virtual E14x5 , virtual F0 {
+ int ff;
+ ~G14x5y7(); // tgen
+ G14x5y7(); // tgen
+};
+//SIG(1 G14x5y7) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G14x5y7 ::~G14x5y7(){ note_dtor("G14x5y7", this);} // tgen
+G14x5y7 ::G14x5y7(){ note_ctor("G14x5y7", this);} // tgen
+
+static void Test_G14x5y7()
+{
+ extern Class_Descriptor cd_G14x5y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G14x5y7, buf);
+ G14x5y7 *dp, &lv = *(dp=new (buf) G14x5y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G14x5y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x5y7)");
+ check_base_class_offset(lv, (A0*)(C14*), ABISELECT(44,28), "G14x5y7");
+ check_base_class_offset(lv, (B1*)(C14*), ABISELECT(48,32), "G14x5y7");
+ check_base_class_offset(lv, (C14*)(E14x5*), ABISELECT(32,20), "G14x5y7");
+ check_base_class_offset(lv, (D0*)(E14x5*), ABISELECT(24,12), "G14x5y7");
+ check_base_class_offset(lv, (E14x5*), ABISELECT(16,8), "G14x5y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(60,40), "G14x5y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G14x5y7.ff");
+ test_class_info(&lv, &cd_G14x5y7);
+ dp->~G14x5y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x5y7(Test_G14x5y7, "G14x5y7", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G14x5y7C1Ev();
+extern void _ZN7G14x5y7D1Ev();
+Name_Map name_map_G14x5y7[] = {
+ NSPAIR(_ZN7G14x5y7C1Ev),
+ NSPAIR(_ZN7G14x5y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E14x5;
+extern VTBL_ENTRY _ZTI5E14x5[];
+extern VTBL_ENTRY _ZTV5E14x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G14x5y7[] = {
+ // 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
+ 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_C14, 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_D0, 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_E14x5, 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(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 _ZTI7G14x5y7[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G14x5y7[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x5y7[0]),
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G14x5y7[0]),
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G14x5y7[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G14x5y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x5y7[];
+static VTBL_ENTRY _tg__ZTV5E14x5__7G14x5y7[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C14__5E14x5__7G14x5y7[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E14x5[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x5__7G14x5y7[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E14x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C14__7G14x5y7[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C14__7G14x5y7[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x5y7[] = {
+ {&(_ZTV7G14x5y7[7]), 7,20},
+ {&(_ZTV7G14x5y7[12]), 12,20},
+ {&(_ZTV7G14x5y7[16]), 16,20},
+ {&(_ZTV7G14x5y7[19]), 19,20},
+ {&(_tg__ZTV5E14x5__7G14x5y7[5]), 5,5},
+ {&(_tg__ZTV3C14__5E14x5__7G14x5y7[4]), 4,4},
+ {&(_tg__ZTV2B1__5E14x5__7G14x5y7[3]), 3,4},
+ {&(_tg__ZTV3C14__7G14x5y7[4]), 4,4},
+ {&(_tg__ZTV2B1__3C14__7G14x5y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G14x5y7[];
+extern VTBL_ENTRY _ZTV7G14x5y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x5y7[];
+Class_Descriptor cd_G14x5y7 = { "G14x5y7", // class name
+ bases_G14x5y7, 6,
+ &(vtc_G14x5y7[0]), // expected_vtbl_contents
+ &(vtt_G14x5y7[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G14x5y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x5y7),20, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x5y7),9, //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 E15x5 : virtual C15 , D0 {
+ int fd;
+ ~E15x5(); // tgen
+ E15x5(); // tgen
+};
+//SIG(-1 E15x5) C1{ VBC2{ VBC3{ v1 Fi} VBC4{ v2 Fi} Fi} BC5{ Fi} Fi}
+
+
+E15x5 ::~E15x5(){ note_dtor("E15x5", this);} // tgen
+E15x5 ::E15x5(){ note_ctor("E15x5", this);} // tgen
+
+static void Test_E15x5()
+{
+ extern Class_Descriptor cd_E15x5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,10)];
+ init_test(&cd_E15x5, buf);
+ E15x5 *dp, &lv = *(dp=new (buf) E15x5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,36), "sizeof(E15x5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E15x5)");
+ check_base_class_offset(lv, (A1*)(C15*), ABISELECT(32,20), "E15x5");
+ check_base_class_offset(lv, (B1*)(C15*), ABISELECT(48,28), "E15x5");
+ check_base_class_offset(lv, (C15*), ABISELECT(16,12), "E15x5");
+ check_base_class_offset(lv, (D0*), ABISELECT(8,4), "E15x5");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E15x5.fd");
+ test_class_info(&lv, &cd_E15x5);
+ dp->~E15x5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE15x5(Test_E15x5, "E15x5", ABISELECT(64,36));
+
+#else // __cplusplus
+
+extern void _ZN5E15x5C1Ev();
+extern void _ZN5E15x5D1Ev();
+Name_Map name_map_E15x5[] = {
+ NSPAIR(_ZN5E15x5C1Ev),
+ NSPAIR(_ZN5E15x5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E15x5[] = {
+ // 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)
+ 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
+ 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
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C15, 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E15x5[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_E15x5[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x5[0]),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E15x5[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E15x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E15x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E15x5[];
+static VTBL_ENTRY _tg__ZTV3C15__5E15x5[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C15__5E15x5[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C15__5E15x5[] = {
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_E15x5[] = {
+ {&(_ZTV5E15x5[5]), 5,17},
+ {&(_ZTV5E15x5[9]), 9,17},
+ {&(_ZTV5E15x5[12]), 12,17},
+ {&(_ZTV5E15x5[16]), 16,17},
+ {&(_tg__ZTV3C15__5E15x5[4]), 4,4},
+ {&(_tg__ZTV2A1__3C15__5E15x5[3]), 3,4},
+ {&(_tg__ZTV2B1__3C15__5E15x5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E15x5[];
+extern VTBL_ENTRY _ZTV5E15x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x5[];
+Class_Descriptor cd_E15x5 = { "E15x5", // class name
+ bases_E15x5, 4,
+ &(vtc_E15x5[0]), // expected_vtbl_contents
+ &(vtt_E15x5[0]), // expected_vtt_contents
+ ABISELECT(64,36), // object size
+ NSPAIRA(_ZTI5E15x5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E15x5),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E15x5),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 G15x5y0 : E15x5 , F1 {
+ int ff;
+ ~G15x5y0(); // tgen
+ G15x5y0(); // tgen
+};
+//SIG(1 G15x5y0) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G15x5y0 ::~G15x5y0(){ note_dtor("G15x5y0", this);} // tgen
+G15x5y0 ::G15x5y0(){ note_ctor("G15x5y0", this);} // tgen
+
+static void Test_G15x5y0()
+{
+ extern Class_Descriptor cd_G15x5y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G15x5y0, buf);
+ G15x5y0 *dp, &lv = *(dp=new (buf) G15x5y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G15x5y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x5y0)");
+ check_base_class_offset(lv, (A1*)(C15*), ABISELECT(48,32), "G15x5y0");
+ check_base_class_offset(lv, (B1*)(C15*), ABISELECT(64,40), "G15x5y0");
+ check_base_class_offset(lv, (C15*)(E15x5*), ABISELECT(32,24), "G15x5y0");
+ check_base_class_offset(lv, (D0*)(E15x5*), ABISELECT(8,4), "G15x5y0");
+ check_base_class_offset(lv, (E15x5*), 0, "G15x5y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G15x5y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G15x5y0.ff");
+ test_class_info(&lv, &cd_G15x5y0);
+ dp->~G15x5y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x5y0(Test_G15x5y0, "G15x5y0", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G15x5y0C1Ev();
+extern void _ZN7G15x5y0D1Ev();
+Name_Map name_map_G15x5y0[] = {
+ NSPAIR(_ZN7G15x5y0C1Ev),
+ NSPAIR(_ZN7G15x5y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E15x5;
+extern VTBL_ENTRY _ZTI5E15x5[];
+extern VTBL_ENTRY _ZTV5E15x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G15x5y0[] = {
+ // 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)
+ 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
+ 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_C15, ABISELECT(32,24), //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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E15x5, 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 _ZTI7G15x5y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G15x5y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x5y0[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G15x5y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G15x5y0[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G15x5y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G15x5y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x5y0[];
+static VTBL_ENTRY _tg__ZTV5E15x5__7G15x5y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C15__5E15x5__7G15x5y0[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E15x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x5__7G15x5y0[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E15x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x5__7G15x5y0[] = {
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI5E15x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C15__7G15x5y0[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C15__7G15x5y0[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C15__7G15x5y0[] = {
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x5y0[] = {
+ {&(_ZTV7G15x5y0[5]), 5,20},
+ {&(_tg__ZTV5E15x5__7G15x5y0[5]), 5,5},
+ {&(_tg__ZTV3C15__5E15x5__7G15x5y0[4]), 4,4},
+ {&(_tg__ZTV2A1__5E15x5__7G15x5y0[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x5__7G15x5y0[3]), 3,4},
+ {&(_ZTV7G15x5y0[12]), 12,20},
+ {&(_ZTV7G15x5y0[15]), 15,20},
+ {&(_ZTV7G15x5y0[19]), 19,20},
+ {&(_tg__ZTV3C15__7G15x5y0[4]), 4,4},
+ {&(_tg__ZTV2A1__3C15__7G15x5y0[3]), 3,4},
+ {&(_tg__ZTV2B1__3C15__7G15x5y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G15x5y0[];
+extern VTBL_ENTRY _ZTV7G15x5y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x5y0[];
+Class_Descriptor cd_G15x5y0 = { "G15x5y0", // class name
+ bases_G15x5y0, 6,
+ &(vtc_G15x5y0[0]), // expected_vtbl_contents
+ &(vtt_G15x5y0[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G15x5y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x5y0),20, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x5y0),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 G15x5y1 : virtual E15x5 , F1 {
+ int ff;
+ ~G15x5y1(); // tgen
+ G15x5y1(); // tgen
+};
+//SIG(1 G15x5y1) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G15x5y1 ::~G15x5y1(){ note_dtor("G15x5y1", this);} // tgen
+G15x5y1 ::G15x5y1(){ note_ctor("G15x5y1", this);} // tgen
+
+static void Test_G15x5y1()
+{
+ extern Class_Descriptor cd_G15x5y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G15x5y1, buf);
+ G15x5y1 *dp, &lv = *(dp=new (buf) G15x5y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G15x5y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x5y1)");
+ check_base_class_offset(lv, (A1*)(C15*), ABISELECT(48,32), "G15x5y1");
+ check_base_class_offset(lv, (B1*)(C15*), ABISELECT(64,40), "G15x5y1");
+ check_base_class_offset(lv, (C15*)(E15x5*), ABISELECT(32,24), "G15x5y1");
+ check_base_class_offset(lv, (D0*)(E15x5*), ABISELECT(24,16), "G15x5y1");
+ check_base_class_offset(lv, (E15x5*), ABISELECT(16,12), "G15x5y1");
+ check_base_class_offset(lv, (F1*), 0, "G15x5y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G15x5y1.ff");
+ test_class_info(&lv, &cd_G15x5y1);
+ dp->~G15x5y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x5y1(Test_G15x5y1, "G15x5y1", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G15x5y1C1Ev();
+extern void _ZN7G15x5y1D1Ev();
+Name_Map name_map_G15x5y1[] = {
+ NSPAIR(_ZN7G15x5y1C1Ev),
+ NSPAIR(_ZN7G15x5y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E15x5;
+extern VTBL_ENTRY _ZTI5E15x5[];
+extern VTBL_ENTRY _ZTV5E15x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G15x5y1[] = {
+ // 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(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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C15, 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
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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_E15x5, 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 _ZTI7G15x5y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G15x5y1[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x5y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G15x5y1[0]),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G15x5y1[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G15x5y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G15x5y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x5y1[];
+static VTBL_ENTRY _tg__ZTV5E15x5__7G15x5y1[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C15__5E15x5__7G15x5y1[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E15x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x5__7G15x5y1[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E15x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x5__7G15x5y1[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E15x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C15__7G15x5y1[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C15__7G15x5y1[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C15__7G15x5y1[] = {
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x5y1[] = {
+ {&(_ZTV7G15x5y1[6]), 6,24},
+ {&(_ZTV7G15x5y1[12]), 12,24},
+ {&(_ZTV7G15x5y1[16]), 16,24},
+ {&(_ZTV7G15x5y1[19]), 19,24},
+ {&(_ZTV7G15x5y1[23]), 23,24},
+ {&(_tg__ZTV5E15x5__7G15x5y1[5]), 5,5},
+ {&(_tg__ZTV3C15__5E15x5__7G15x5y1[4]), 4,4},
+ {&(_tg__ZTV2A1__5E15x5__7G15x5y1[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x5__7G15x5y1[3]), 3,4},
+ {&(_tg__ZTV3C15__7G15x5y1[4]), 4,4},
+ {&(_tg__ZTV2A1__3C15__7G15x5y1[3]), 3,4},
+ {&(_tg__ZTV2B1__3C15__7G15x5y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G15x5y1[];
+extern VTBL_ENTRY _ZTV7G15x5y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x5y1[];
+Class_Descriptor cd_G15x5y1 = { "G15x5y1", // class name
+ bases_G15x5y1, 6,
+ &(vtc_G15x5y1[0]), // expected_vtbl_contents
+ &(vtt_G15x5y1[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G15x5y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x5y1),24, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x5y1),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 G15x5y2 : E15x5 , virtual F1 {
+ int ff;
+ ~G15x5y2(); // tgen
+ G15x5y2(); // tgen
+};
+//SIG(1 G15x5y2) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G15x5y2 ::~G15x5y2(){ note_dtor("G15x5y2", this);} // tgen
+G15x5y2 ::G15x5y2(){ note_ctor("G15x5y2", this);} // tgen
+
+static void Test_G15x5y2()
+{
+ extern Class_Descriptor cd_G15x5y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(12,13)];
+ init_test(&cd_G15x5y2, buf);
+ G15x5y2 *dp, &lv = *(dp=new (buf) G15x5y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(88,48), "sizeof(G15x5y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x5y2)");
+ check_base_class_offset(lv, (A1*)(C15*), ABISELECT(40,24), "G15x5y2");
+ check_base_class_offset(lv, (B1*)(C15*), ABISELECT(56,32), "G15x5y2");
+ check_base_class_offset(lv, (C15*)(E15x5*), ABISELECT(24,16), "G15x5y2");
+ check_base_class_offset(lv, (D0*)(E15x5*), ABISELECT(8,4), "G15x5y2");
+ check_base_class_offset(lv, (E15x5*), 0, "G15x5y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(72,40), "G15x5y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G15x5y2.ff");
+ test_class_info(&lv, &cd_G15x5y2);
+ dp->~G15x5y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x5y2(Test_G15x5y2, "G15x5y2", ABISELECT(88,48));
+
+#else // __cplusplus
+
+extern void _ZN7G15x5y2C1Ev();
+extern void _ZN7G15x5y2D1Ev();
+Name_Map name_map_G15x5y2[] = {
+ NSPAIR(_ZN7G15x5y2C1Ev),
+ NSPAIR(_ZN7G15x5y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E15x5;
+extern VTBL_ENTRY _ZTI5E15x5[];
+extern VTBL_ENTRY _ZTV5E15x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G15x5y2[] = {
+ // 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_B1, ABISELECT(56,32), //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,16), //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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E15x5, 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(72,40), //bcp->offset
+ 18, //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 _ZTI7G15x5y2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G15x5y2[] = {
+ ABISELECT(72,40),
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x5y2[0]),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G15x5y2[0]),
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G15x5y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G15x5y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-72,-40),
+ (VTBL_ENTRY)&(_ZTI7G15x5y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x5y2[];
+static VTBL_ENTRY _tg__ZTV5E15x5__7G15x5y2[] = {
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C15__5E15x5__7G15x5y2[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E15x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x5__7G15x5y2[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E15x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x5__7G15x5y2[] = {
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI5E15x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C15__7G15x5y2[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C15__7G15x5y2[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C15__7G15x5y2[] = {
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x5y2[] = {
+ {&(_ZTV7G15x5y2[6]), 6,22},
+ {&(_tg__ZTV5E15x5__7G15x5y2[5]), 5,5},
+ {&(_tg__ZTV3C15__5E15x5__7G15x5y2[4]), 4,4},
+ {&(_tg__ZTV2A1__5E15x5__7G15x5y2[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x5__7G15x5y2[3]), 3,4},
+ {&(_ZTV7G15x5y2[10]), 10,22},
+ {&(_ZTV7G15x5y2[13]), 13,22},
+ {&(_ZTV7G15x5y2[17]), 17,22},
+ {&(_ZTV7G15x5y2[21]), 21,22},
+ {&(_tg__ZTV3C15__7G15x5y2[4]), 4,4},
+ {&(_tg__ZTV2A1__3C15__7G15x5y2[3]), 3,4},
+ {&(_tg__ZTV2B1__3C15__7G15x5y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G15x5y2[];
+extern VTBL_ENTRY _ZTV7G15x5y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x5y2[];
+Class_Descriptor cd_G15x5y2 = { "G15x5y2", // class name
+ bases_G15x5y2, 6,
+ &(vtc_G15x5y2[0]), // expected_vtbl_contents
+ &(vtt_G15x5y2[0]), // expected_vtt_contents
+ ABISELECT(88,48), // object size
+ NSPAIRA(_ZTI7G15x5y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x5y2),22, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x5y2),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 G15x5y3 : virtual E15x5 , virtual F1 {
+ int ff;
+ ~G15x5y3(); // tgen
+ G15x5y3(); // tgen
+};
+//SIG(1 G15x5y3) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G15x5y3 ::~G15x5y3(){ note_dtor("G15x5y3", this);} // tgen
+G15x5y3 ::G15x5y3(){ note_ctor("G15x5y3", this);} // tgen
+
+static void Test_G15x5y3()
+{
+ extern Class_Descriptor cd_G15x5y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(13,14)];
+ init_test(&cd_G15x5y3, buf);
+ G15x5y3 *dp, &lv = *(dp=new (buf) G15x5y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(96,52), "sizeof(G15x5y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x5y3)");
+ check_base_class_offset(lv, (A1*)(C15*), ABISELECT(48,28), "G15x5y3");
+ check_base_class_offset(lv, (B1*)(C15*), ABISELECT(64,36), "G15x5y3");
+ check_base_class_offset(lv, (C15*)(E15x5*), ABISELECT(32,20), "G15x5y3");
+ check_base_class_offset(lv, (D0*)(E15x5*), ABISELECT(24,12), "G15x5y3");
+ check_base_class_offset(lv, (E15x5*), ABISELECT(16,8), "G15x5y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(80,44), "G15x5y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G15x5y3.ff");
+ test_class_info(&lv, &cd_G15x5y3);
+ dp->~G15x5y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x5y3(Test_G15x5y3, "G15x5y3", ABISELECT(96,52));
+
+#else // __cplusplus
+
+extern void _ZN7G15x5y3C1Ev();
+extern void _ZN7G15x5y3D1Ev();
+Name_Map name_map_G15x5y3[] = {
+ NSPAIR(_ZN7G15x5y3C1Ev),
+ NSPAIR(_ZN7G15x5y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E15x5;
+extern VTBL_ENTRY _ZTI5E15x5[];
+extern VTBL_ENTRY _ZTV5E15x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G15x5y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B1, 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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C15, 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
+ 11, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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_E15x5, 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
+ 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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G15x5y3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G15x5y3[] = {
+ ABISELECT(80,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x5y3[0]),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G15x5y3[0]),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G15x5y3[0]),
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G15x5y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G15x5y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-80,-44),
+ (VTBL_ENTRY)&(_ZTI7G15x5y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x5y3[];
+static VTBL_ENTRY _tg__ZTV5E15x5__7G15x5y3[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C15__5E15x5__7G15x5y3[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E15x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x5__7G15x5y3[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E15x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x5__7G15x5y3[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E15x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C15__7G15x5y3[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C15__7G15x5y3[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C15__7G15x5y3[] = {
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x5y3[] = {
+ {&(_ZTV7G15x5y3[7]), 7,28},
+ {&(_ZTV7G15x5y3[12]), 12,28},
+ {&(_ZTV7G15x5y3[16]), 16,28},
+ {&(_ZTV7G15x5y3[19]), 19,28},
+ {&(_ZTV7G15x5y3[23]), 23,28},
+ {&(_ZTV7G15x5y3[27]), 27,28},
+ {&(_tg__ZTV5E15x5__7G15x5y3[5]), 5,5},
+ {&(_tg__ZTV3C15__5E15x5__7G15x5y3[4]), 4,4},
+ {&(_tg__ZTV2A1__5E15x5__7G15x5y3[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x5__7G15x5y3[3]), 3,4},
+ {&(_tg__ZTV3C15__7G15x5y3[4]), 4,4},
+ {&(_tg__ZTV2A1__3C15__7G15x5y3[3]), 3,4},
+ {&(_tg__ZTV2B1__3C15__7G15x5y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G15x5y3[];
+extern VTBL_ENTRY _ZTV7G15x5y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x5y3[];
+Class_Descriptor cd_G15x5y3 = { "G15x5y3", // class name
+ bases_G15x5y3, 6,
+ &(vtc_G15x5y3[0]), // expected_vtbl_contents
+ &(vtt_G15x5y3[0]), // expected_vtt_contents
+ ABISELECT(96,52), // object size
+ NSPAIRA(_ZTI7G15x5y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x5y3),28, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x5y3),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 G15x5y4 : E15x5 , F0 {
+ int ff;
+ ~G15x5y4(); // tgen
+ G15x5y4(); // tgen
+};
+//SIG(1 G15x5y4) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G15x5y4 ::~G15x5y4(){ note_dtor("G15x5y4", this);} // tgen
+G15x5y4 ::G15x5y4(){ note_ctor("G15x5y4", this);} // tgen
+
+static void Test_G15x5y4()
+{
+ extern Class_Descriptor cd_G15x5y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G15x5y4, buf);
+ G15x5y4 *dp, &lv = *(dp=new (buf) G15x5y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G15x5y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x5y4)");
+ check_base_class_offset(lv, (A1*)(C15*), ABISELECT(40,28), "G15x5y4");
+ check_base_class_offset(lv, (B1*)(C15*), ABISELECT(56,36), "G15x5y4");
+ check_base_class_offset(lv, (C15*)(E15x5*), ABISELECT(24,20), "G15x5y4");
+ check_base_class_offset(lv, (D0*)(E15x5*), ABISELECT(8,4), "G15x5y4");
+ check_base_class_offset(lv, (E15x5*), 0, "G15x5y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G15x5y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G15x5y4.ff");
+ test_class_info(&lv, &cd_G15x5y4);
+ dp->~G15x5y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x5y4(Test_G15x5y4, "G15x5y4", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G15x5y4C1Ev();
+extern void _ZN7G15x5y4D1Ev();
+Name_Map name_map_G15x5y4[] = {
+ NSPAIR(_ZN7G15x5y4C1Ev),
+ NSPAIR(_ZN7G15x5y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E15x5;
+extern VTBL_ENTRY _ZTI5E15x5[];
+extern VTBL_ENTRY _ZTV5E15x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G15x5y4[] = {
+ // 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)
+ 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
+ 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
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C15, ABISELECT(24,20), //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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E15x5, 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 _ZTI7G15x5y4[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G15x5y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x5y4[0]),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G15x5y4[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G15x5y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G15x5y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x5y4[];
+static VTBL_ENTRY _tg__ZTV5E15x5__7G15x5y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C15__5E15x5__7G15x5y4[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E15x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x5__7G15x5y4[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E15x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x5__7G15x5y4[] = {
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI5E15x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C15__7G15x5y4[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C15__7G15x5y4[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C15__7G15x5y4[] = {
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x5y4[] = {
+ {&(_ZTV7G15x5y4[5]), 5,17},
+ {&(_tg__ZTV5E15x5__7G15x5y4[5]), 5,5},
+ {&(_tg__ZTV3C15__5E15x5__7G15x5y4[4]), 4,4},
+ {&(_tg__ZTV2A1__5E15x5__7G15x5y4[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x5__7G15x5y4[3]), 3,4},
+ {&(_ZTV7G15x5y4[9]), 9,17},
+ {&(_ZTV7G15x5y4[12]), 12,17},
+ {&(_ZTV7G15x5y4[16]), 16,17},
+ {&(_tg__ZTV3C15__7G15x5y4[4]), 4,4},
+ {&(_tg__ZTV2A1__3C15__7G15x5y4[3]), 3,4},
+ {&(_tg__ZTV2B1__3C15__7G15x5y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G15x5y4[];
+extern VTBL_ENTRY _ZTV7G15x5y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x5y4[];
+Class_Descriptor cd_G15x5y4 = { "G15x5y4", // class name
+ bases_G15x5y4, 6,
+ &(vtc_G15x5y4[0]), // expected_vtbl_contents
+ &(vtt_G15x5y4[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G15x5y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x5y4),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x5y4),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 G15x5y5 : virtual E15x5 , F0 {
+ int ff;
+ ~G15x5y5(); // tgen
+ G15x5y5(); // tgen
+};
+//SIG(1 G15x5y5) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G15x5y5 ::~G15x5y5(){ note_dtor("G15x5y5", this);} // tgen
+G15x5y5 ::G15x5y5(){ note_ctor("G15x5y5", this);} // tgen
+
+static void Test_G15x5y5()
+{
+ extern Class_Descriptor cd_G15x5y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G15x5y5, buf);
+ G15x5y5 *dp, &lv = *(dp=new (buf) G15x5y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G15x5y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x5y5)");
+ check_base_class_offset(lv, (A1*)(C15*), ABISELECT(48,32), "G15x5y5");
+ check_base_class_offset(lv, (B1*)(C15*), ABISELECT(64,40), "G15x5y5");
+ check_base_class_offset(lv, (C15*)(E15x5*), ABISELECT(32,24), "G15x5y5");
+ check_base_class_offset(lv, (D0*)(E15x5*), ABISELECT(24,16), "G15x5y5");
+ check_base_class_offset(lv, (E15x5*), ABISELECT(16,12), "G15x5y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G15x5y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G15x5y5.ff");
+ test_class_info(&lv, &cd_G15x5y5);
+ dp->~G15x5y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x5y5(Test_G15x5y5, "G15x5y5", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G15x5y5C1Ev();
+extern void _ZN7G15x5y5D1Ev();
+Name_Map name_map_G15x5y5[] = {
+ NSPAIR(_ZN7G15x5y5C1Ev),
+ NSPAIR(_ZN7G15x5y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E15x5;
+extern VTBL_ENTRY _ZTI5E15x5[];
+extern VTBL_ENTRY _ZTV5E15x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G15x5y5[] = {
+ // 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_B1, 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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C15, 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
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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_E15x5, 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 _ZTI7G15x5y5[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G15x5y5[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x5y5[0]),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G15x5y5[0]),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G15x5y5[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G15x5y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G15x5y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x5y5[];
+static VTBL_ENTRY _tg__ZTV5E15x5__7G15x5y5[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C15__5E15x5__7G15x5y5[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E15x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x5__7G15x5y5[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E15x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x5__7G15x5y5[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E15x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C15__7G15x5y5[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C15__7G15x5y5[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C15__7G15x5y5[] = {
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x5y5[] = {
+ {&(_ZTV7G15x5y5[6]), 6,23},
+ {&(_ZTV7G15x5y5[11]), 11,23},
+ {&(_ZTV7G15x5y5[15]), 15,23},
+ {&(_ZTV7G15x5y5[18]), 18,23},
+ {&(_ZTV7G15x5y5[22]), 22,23},
+ {&(_tg__ZTV5E15x5__7G15x5y5[5]), 5,5},
+ {&(_tg__ZTV3C15__5E15x5__7G15x5y5[4]), 4,4},
+ {&(_tg__ZTV2A1__5E15x5__7G15x5y5[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x5__7G15x5y5[3]), 3,4},
+ {&(_tg__ZTV3C15__7G15x5y5[4]), 4,4},
+ {&(_tg__ZTV2A1__3C15__7G15x5y5[3]), 3,4},
+ {&(_tg__ZTV2B1__3C15__7G15x5y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G15x5y5[];
+extern VTBL_ENTRY _ZTV7G15x5y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x5y5[];
+Class_Descriptor cd_G15x5y5 = { "G15x5y5", // class name
+ bases_G15x5y5, 6,
+ &(vtc_G15x5y5[0]), // expected_vtbl_contents
+ &(vtt_G15x5y5[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G15x5y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x5y5),23, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x5y5),12, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G15x5y6 : E15x5 , virtual F0 {
+ int ff;
+ ~G15x5y6(); // tgen
+ G15x5y6(); // tgen
+};
+//SIG(1 G15x5y6) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G15x5y6 ::~G15x5y6(){ note_dtor("G15x5y6", this);} // tgen
+G15x5y6 ::G15x5y6(){ note_ctor("G15x5y6", this);} // tgen
+
+static void Test_G15x5y6()
+{
+ extern Class_Descriptor cd_G15x5y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G15x5y6, buf);
+ G15x5y6 *dp, &lv = *(dp=new (buf) G15x5y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G15x5y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x5y6)");
+ check_base_class_offset(lv, (A1*)(C15*), ABISELECT(40,24), "G15x5y6");
+ check_base_class_offset(lv, (B1*)(C15*), ABISELECT(56,32), "G15x5y6");
+ check_base_class_offset(lv, (C15*)(E15x5*), ABISELECT(24,16), "G15x5y6");
+ check_base_class_offset(lv, (D0*)(E15x5*), ABISELECT(8,4), "G15x5y6");
+ check_base_class_offset(lv, (E15x5*), 0, "G15x5y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(68,40), "G15x5y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G15x5y6.ff");
+ test_class_info(&lv, &cd_G15x5y6);
+ dp->~G15x5y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x5y6(Test_G15x5y6, "G15x5y6", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G15x5y6C1Ev();
+extern void _ZN7G15x5y6D1Ev();
+Name_Map name_map_G15x5y6[] = {
+ NSPAIR(_ZN7G15x5y6C1Ev),
+ NSPAIR(_ZN7G15x5y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E15x5;
+extern VTBL_ENTRY _ZTI5E15x5[];
+extern VTBL_ENTRY _ZTV5E15x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G15x5y6[] = {
+ // 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_B1, ABISELECT(56,32), //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,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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E15x5, 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(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 _ZTI7G15x5y6[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G15x5y6[] = {
+ ABISELECT(68,40),
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x5y6[0]),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G15x5y6[0]),
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G15x5y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G15x5y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x5y6[];
+static VTBL_ENTRY _tg__ZTV5E15x5__7G15x5y6[] = {
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C15__5E15x5__7G15x5y6[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E15x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x5__7G15x5y6[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E15x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x5__7G15x5y6[] = {
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI5E15x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C15__7G15x5y6[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C15__7G15x5y6[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C15__7G15x5y6[] = {
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x5y6[] = {
+ {&(_ZTV7G15x5y6[6]), 6,18},
+ {&(_tg__ZTV5E15x5__7G15x5y6[5]), 5,5},
+ {&(_tg__ZTV3C15__5E15x5__7G15x5y6[4]), 4,4},
+ {&(_tg__ZTV2A1__5E15x5__7G15x5y6[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x5__7G15x5y6[3]), 3,4},
+ {&(_ZTV7G15x5y6[10]), 10,18},
+ {&(_ZTV7G15x5y6[13]), 13,18},
+ {&(_ZTV7G15x5y6[17]), 17,18},
+ {&(_tg__ZTV3C15__7G15x5y6[4]), 4,4},
+ {&(_tg__ZTV2A1__3C15__7G15x5y6[3]), 3,4},
+ {&(_tg__ZTV2B1__3C15__7G15x5y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G15x5y6[];
+extern VTBL_ENTRY _ZTV7G15x5y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x5y6[];
+Class_Descriptor cd_G15x5y6 = { "G15x5y6", // class name
+ bases_G15x5y6, 6,
+ &(vtc_G15x5y6[0]), // expected_vtbl_contents
+ &(vtt_G15x5y6[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G15x5y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x5y6),18, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x5y6),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 G15x5y7 : virtual E15x5 , virtual F0 {
+ int ff;
+ ~G15x5y7(); // tgen
+ G15x5y7(); // tgen
+};
+//SIG(1 G15x5y7) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G15x5y7 ::~G15x5y7(){ note_dtor("G15x5y7", this);} // tgen
+G15x5y7 ::G15x5y7(){ note_ctor("G15x5y7", this);} // tgen
+
+static void Test_G15x5y7()
+{
+ extern Class_Descriptor cd_G15x5y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G15x5y7, buf);
+ G15x5y7 *dp, &lv = *(dp=new (buf) G15x5y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G15x5y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x5y7)");
+ check_base_class_offset(lv, (A1*)(C15*), ABISELECT(48,28), "G15x5y7");
+ check_base_class_offset(lv, (B1*)(C15*), ABISELECT(64,36), "G15x5y7");
+ check_base_class_offset(lv, (C15*)(E15x5*), ABISELECT(32,20), "G15x5y7");
+ check_base_class_offset(lv, (D0*)(E15x5*), ABISELECT(24,12), "G15x5y7");
+ check_base_class_offset(lv, (E15x5*), ABISELECT(16,8), "G15x5y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(76,44), "G15x5y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G15x5y7.ff");
+ test_class_info(&lv, &cd_G15x5y7);
+ dp->~G15x5y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x5y7(Test_G15x5y7, "G15x5y7", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G15x5y7C1Ev();
+extern void _ZN7G15x5y7D1Ev();
+Name_Map name_map_G15x5y7[] = {
+ NSPAIR(_ZN7G15x5y7C1Ev),
+ NSPAIR(_ZN7G15x5y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E15x5;
+extern VTBL_ENTRY _ZTI5E15x5[];
+extern VTBL_ENTRY _ZTV5E15x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G15x5y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 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
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_B1, 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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 1},
+ {&cd_C15, 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_D0, 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_E15x5, 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 _ZTI7G15x5y7[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G15x5y7[] = {
+ ABISELECT(76,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x5y7[0]),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G15x5y7[0]),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G15x5y7[0]),
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G15x5y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G15x5y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x5y7[];
+static VTBL_ENTRY _tg__ZTV5E15x5__7G15x5y7[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x5[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C15__5E15x5__7G15x5y7[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E15x5[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x5__7G15x5y7[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E15x5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x5__7G15x5y7[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E15x5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C15__7G15x5y7[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C15__7G15x5y7[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C15__7G15x5y7[] = {
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x5y7[] = {
+ {&(_ZTV7G15x5y7[7]), 7,24},
+ {&(_ZTV7G15x5y7[12]), 12,24},
+ {&(_ZTV7G15x5y7[16]), 16,24},
+ {&(_ZTV7G15x5y7[19]), 19,24},
+ {&(_ZTV7G15x5y7[23]), 23,24},
+ {&(_tg__ZTV5E15x5__7G15x5y7[5]), 5,5},
+ {&(_tg__ZTV3C15__5E15x5__7G15x5y7[4]), 4,4},
+ {&(_tg__ZTV2A1__5E15x5__7G15x5y7[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x5__7G15x5y7[3]), 3,4},
+ {&(_tg__ZTV3C15__7G15x5y7[4]), 4,4},
+ {&(_tg__ZTV2A1__3C15__7G15x5y7[3]), 3,4},
+ {&(_tg__ZTV2B1__3C15__7G15x5y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G15x5y7[];
+extern VTBL_ENTRY _ZTV7G15x5y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x5y7[];
+Class_Descriptor cd_G15x5y7 = { "G15x5y7", // class name
+ bases_G15x5y7, 6,
+ &(vtc_G15x5y7[0]), // expected_vtbl_contents
+ &(vtt_G15x5y7[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G15x5y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x5y7),24, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x5y7),12, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E16x5 : virtual C16 , D0 {
+ int fd;
+ ~E16x5(); // tgen
+ E16x5(); // tgen
+};
+//SIG(-1 E16x5) C1{ VBC2{ BC3{ Fi} BC4{ Fi} v1 Fi} BC5{ Fi} Fi}
+
+
+E16x5 ::~E16x5(){ note_dtor("E16x5", this);} // tgen
+E16x5 ::E16x5(){ note_ctor("E16x5", this);} // tgen
+
+static void Test_E16x5()
+{
+ extern Class_Descriptor cd_E16x5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E16x5, buf);
+ E16x5 *dp, &lv = *(dp=new (buf) E16x5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E16x5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E16x5)");
+ check_base_class_offset(lv, (A0*)(C16*), ABISELECT(24,16), "E16x5");
+ check_base_class_offset(lv, (B0*)(C16*), ABISELECT(28,20), "E16x5");
+ check_base_class_offset(lv, (C16*), ABISELECT(16,12), "E16x5");
+ check_base_class_offset(lv, (D0*), ABISELECT(8,4), "E16x5");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E16x5.fd");
+ test_class_info(&lv, &cd_E16x5);
+ dp->~E16x5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE16x5(Test_E16x5, "E16x5", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E16x5C1Ev();
+extern void _ZN5E16x5D1Ev();
+Name_Map name_map_E16x5[] = {
+ NSPAIR(_ZN5E16x5C1Ev),
+ NSPAIR(_ZN5E16x5D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E16x5[] = {
+ // 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)
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E16x5[];
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY vtc_E16x5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x5[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E16x5[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+extern VTBL_ENTRY _ZTV5E16x5[];
+static VTT_ENTRY vtt_E16x5[] = {
+ {&(_ZTV5E16x5[3]), 3,7},
+ {&(_ZTV5E16x5[6]), 6,7},
+};
+extern VTBL_ENTRY _ZTI5E16x5[];
+extern VTBL_ENTRY _ZTV5E16x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x5[];
+Class_Descriptor cd_E16x5 = { "E16x5", // class name
+ bases_E16x5, 4,
+ &(vtc_E16x5[0]), // expected_vtbl_contents
+ &(vtt_E16x5[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E16x5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E16x5),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E16x5),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 G16x5y0 : E16x5 , F1 {
+ int ff;
+ ~G16x5y0(); // tgen
+ G16x5y0(); // tgen
+};
+//SIG(1 G16x5y0) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G16x5y0 ::~G16x5y0(){ note_dtor("G16x5y0", this);} // tgen
+G16x5y0 ::G16x5y0(){ note_ctor("G16x5y0", this);} // tgen
+
+static void Test_G16x5y0()
+{
+ extern Class_Descriptor cd_G16x5y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G16x5y0, buf);
+ G16x5y0 *dp, &lv = *(dp=new (buf) G16x5y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G16x5y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x5y0)");
+ check_base_class_offset(lv, (A0*)(C16*), ABISELECT(40,28), "G16x5y0");
+ check_base_class_offset(lv, (B0*)(C16*), ABISELECT(44,32), "G16x5y0");
+ check_base_class_offset(lv, (C16*)(E16x5*), ABISELECT(32,24), "G16x5y0");
+ check_base_class_offset(lv, (D0*)(E16x5*), ABISELECT(8,4), "G16x5y0");
+ check_base_class_offset(lv, (E16x5*), 0, "G16x5y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G16x5y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G16x5y0.ff");
+ test_class_info(&lv, &cd_G16x5y0);
+ dp->~G16x5y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x5y0(Test_G16x5y0, "G16x5y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G16x5y0C1Ev();
+extern void _ZN7G16x5y0D1Ev();
+Name_Map name_map_G16x5y0[] = {
+ NSPAIR(_ZN7G16x5y0C1Ev),
+ NSPAIR(_ZN7G16x5y0D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E16x5;
+extern VTBL_ENTRY _ZTI5E16x5[];
+extern VTBL_ENTRY _ZTV5E16x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G16x5y0[] = {
+ // 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
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E16x5, 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
+ 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 _ZTI7G16x5y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY vtc_G16x5y0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x5y0[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G16x5y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G16x5y0[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x5y0[];
+static VTBL_ENTRY _tg__ZTV5E16x5__7G16x5y0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x5[0]),
+};
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY _tg__ZTV3C16__5E16x5__7G16x5y0[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E16x5[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+static VTT_ENTRY vtt_G16x5y0[] = {
+ {&(_ZTV7G16x5y0[3]), 3,10},
+ {&(_tg__ZTV5E16x5__7G16x5y0[3]), 3,3},
+ {&(_tg__ZTV3C16__5E16x5__7G16x5y0[3]), 3,4},
+ {&(_ZTV7G16x5y0[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI7G16x5y0[];
+extern VTBL_ENTRY _ZTV7G16x5y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x5y0[];
+Class_Descriptor cd_G16x5y0 = { "G16x5y0", // class name
+ bases_G16x5y0, 6,
+ &(vtc_G16x5y0[0]), // expected_vtbl_contents
+ &(vtt_G16x5y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G16x5y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x5y0),10, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x5y0),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 G16x5y1 : virtual E16x5 , F1 {
+ int ff;
+ ~G16x5y1(); // tgen
+ G16x5y1(); // tgen
+};
+//SIG(1 G16x5y1) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G16x5y1 ::~G16x5y1(){ note_dtor("G16x5y1", this);} // tgen
+G16x5y1 ::G16x5y1(){ note_ctor("G16x5y1", this);} // tgen
+
+static void Test_G16x5y1()
+{
+ extern Class_Descriptor cd_G16x5y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G16x5y1, buf);
+ G16x5y1 *dp, &lv = *(dp=new (buf) G16x5y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G16x5y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x5y1)");
+ check_base_class_offset(lv, (A0*)(C16*), ABISELECT(40,28), "G16x5y1");
+ check_base_class_offset(lv, (B0*)(C16*), ABISELECT(44,32), "G16x5y1");
+ check_base_class_offset(lv, (C16*)(E16x5*), ABISELECT(32,24), "G16x5y1");
+ check_base_class_offset(lv, (D0*)(E16x5*), ABISELECT(24,16), "G16x5y1");
+ check_base_class_offset(lv, (E16x5*), ABISELECT(16,12), "G16x5y1");
+ check_base_class_offset(lv, (F1*), 0, "G16x5y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G16x5y1.ff");
+ test_class_info(&lv, &cd_G16x5y1);
+ dp->~G16x5y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x5y1(Test_G16x5y1, "G16x5y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G16x5y1C1Ev();
+extern void _ZN7G16x5y1D1Ev();
+Name_Map name_map_G16x5y1[] = {
+ NSPAIR(_ZN7G16x5y1C1Ev),
+ NSPAIR(_ZN7G16x5y1D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E16x5;
+extern VTBL_ENTRY _ZTI5E16x5[];
+extern VTBL_ENTRY _ZTV5E16x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G16x5y1[] = {
+ // 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
+ 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_D0, 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_E16x5, 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 _ZTI7G16x5y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY vtc_G16x5y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x5y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G16x5y1[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G16x5y1[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x5y1[];
+static VTBL_ENTRY _tg__ZTV5E16x5__7G16x5y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x5[0]),
+};
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY _tg__ZTV3C16__5E16x5__7G16x5y1[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E16x5[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+static VTT_ENTRY vtt_G16x5y1[] = {
+ {&(_ZTV7G16x5y1[4]), 4,12},
+ {&(_ZTV7G16x5y1[8]), 8,12},
+ {&(_ZTV7G16x5y1[11]), 11,12},
+ {&(_tg__ZTV5E16x5__7G16x5y1[3]), 3,3},
+ {&(_tg__ZTV3C16__5E16x5__7G16x5y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G16x5y1[];
+extern VTBL_ENTRY _ZTV7G16x5y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x5y1[];
+Class_Descriptor cd_G16x5y1 = { "G16x5y1", // class name
+ bases_G16x5y1, 6,
+ &(vtc_G16x5y1[0]), // expected_vtbl_contents
+ &(vtt_G16x5y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G16x5y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x5y1),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x5y1),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 G16x5y2 : E16x5 , virtual F1 {
+ int ff;
+ ~G16x5y2(); // tgen
+ G16x5y2(); // tgen
+};
+//SIG(1 G16x5y2) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G16x5y2 ::~G16x5y2(){ note_dtor("G16x5y2", this);} // tgen
+G16x5y2 ::G16x5y2(){ note_ctor("G16x5y2", this);} // tgen
+
+static void Test_G16x5y2()
+{
+ extern Class_Descriptor cd_G16x5y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G16x5y2, buf);
+ G16x5y2 *dp, &lv = *(dp=new (buf) G16x5y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G16x5y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x5y2)");
+ check_base_class_offset(lv, (A0*)(C16*), ABISELECT(32,20), "G16x5y2");
+ check_base_class_offset(lv, (B0*)(C16*), ABISELECT(36,24), "G16x5y2");
+ check_base_class_offset(lv, (C16*)(E16x5*), ABISELECT(24,16), "G16x5y2");
+ check_base_class_offset(lv, (D0*)(E16x5*), ABISELECT(8,4), "G16x5y2");
+ check_base_class_offset(lv, (E16x5*), 0, "G16x5y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G16x5y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G16x5y2.ff");
+ test_class_info(&lv, &cd_G16x5y2);
+ dp->~G16x5y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x5y2(Test_G16x5y2, "G16x5y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G16x5y2C1Ev();
+extern void _ZN7G16x5y2D1Ev();
+Name_Map name_map_G16x5y2[] = {
+ NSPAIR(_ZN7G16x5y2C1Ev),
+ NSPAIR(_ZN7G16x5y2D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E16x5;
+extern VTBL_ENTRY _ZTI5E16x5[];
+extern VTBL_ENTRY _ZTV5E16x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G16x5y2[] = {
+ // 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)
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E16x5, 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 _ZTI7G16x5y2[];
+extern void _ZN3C163fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G16x5y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x5y2[0]),
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G16x5y2[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G16x5y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x5y2[];
+static VTBL_ENTRY _tg__ZTV5E16x5__7G16x5y2[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x5[0]),
+};
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY _tg__ZTV3C16__5E16x5__7G16x5y2[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E16x5[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+static VTT_ENTRY vtt_G16x5y2[] = {
+ {&(_ZTV7G16x5y2[4]), 4,12},
+ {&(_tg__ZTV5E16x5__7G16x5y2[3]), 3,3},
+ {&(_tg__ZTV3C16__5E16x5__7G16x5y2[3]), 3,4},
+ {&(_ZTV7G16x5y2[7]), 7,12},
+ {&(_ZTV7G16x5y2[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI7G16x5y2[];
+extern VTBL_ENTRY _ZTV7G16x5y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x5y2[];
+Class_Descriptor cd_G16x5y2 = { "G16x5y2", // class name
+ bases_G16x5y2, 6,
+ &(vtc_G16x5y2[0]), // expected_vtbl_contents
+ &(vtt_G16x5y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G16x5y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x5y2),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x5y2),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 G16x5y3 : virtual E16x5 , virtual F1 {
+ int ff;
+ ~G16x5y3(); // tgen
+ G16x5y3(); // tgen
+};
+//SIG(1 G16x5y3) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G16x5y3 ::~G16x5y3(){ note_dtor("G16x5y3", this);} // tgen
+G16x5y3 ::G16x5y3(){ note_ctor("G16x5y3", this);} // tgen
+
+static void Test_G16x5y3()
+{
+ extern Class_Descriptor cd_G16x5y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G16x5y3, buf);
+ G16x5y3 *dp, &lv = *(dp=new (buf) G16x5y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G16x5y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x5y3)");
+ check_base_class_offset(lv, (A0*)(C16*), ABISELECT(40,24), "G16x5y3");
+ check_base_class_offset(lv, (B0*)(C16*), ABISELECT(44,28), "G16x5y3");
+ check_base_class_offset(lv, (C16*)(E16x5*), ABISELECT(32,20), "G16x5y3");
+ check_base_class_offset(lv, (D0*)(E16x5*), ABISELECT(24,12), "G16x5y3");
+ check_base_class_offset(lv, (E16x5*), ABISELECT(16,8), "G16x5y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G16x5y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G16x5y3.ff");
+ test_class_info(&lv, &cd_G16x5y3);
+ dp->~G16x5y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x5y3(Test_G16x5y3, "G16x5y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G16x5y3C1Ev();
+extern void _ZN7G16x5y3D1Ev();
+Name_Map name_map_G16x5y3[] = {
+ NSPAIR(_ZN7G16x5y3C1Ev),
+ NSPAIR(_ZN7G16x5y3D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E16x5;
+extern VTBL_ENTRY _ZTI5E16x5[];
+extern VTBL_ENTRY _ZTV5E16x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G16x5y3[] = {
+ // 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
+ 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_D0, 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_E16x5, 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 _ZTI7G16x5y3[];
+extern void _ZN3C163fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G16x5y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x5y3[0]),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G16x5y3[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G16x5y3[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G16x5y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x5y3[];
+static VTBL_ENTRY _tg__ZTV5E16x5__7G16x5y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x5[0]),
+};
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY _tg__ZTV3C16__5E16x5__7G16x5y3[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E16x5[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+static VTT_ENTRY vtt_G16x5y3[] = {
+ {&(_ZTV7G16x5y3[5]), 5,16},
+ {&(_ZTV7G16x5y3[8]), 8,16},
+ {&(_ZTV7G16x5y3[11]), 11,16},
+ {&(_ZTV7G16x5y3[15]), 15,16},
+ {&(_tg__ZTV5E16x5__7G16x5y3[3]), 3,3},
+ {&(_tg__ZTV3C16__5E16x5__7G16x5y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G16x5y3[];
+extern VTBL_ENTRY _ZTV7G16x5y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x5y3[];
+Class_Descriptor cd_G16x5y3 = { "G16x5y3", // class name
+ bases_G16x5y3, 6,
+ &(vtc_G16x5y3[0]), // expected_vtbl_contents
+ &(vtt_G16x5y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G16x5y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x5y3),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x5y3),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 G16x5y4 : E16x5 , F0 {
+ int ff;
+ ~G16x5y4(); // tgen
+ G16x5y4(); // tgen
+};
+//SIG(1 G16x5y4) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G16x5y4 ::~G16x5y4(){ note_dtor("G16x5y4", this);} // tgen
+G16x5y4 ::G16x5y4(){ note_ctor("G16x5y4", this);} // tgen
+
+static void Test_G16x5y4()
+{
+ extern Class_Descriptor cd_G16x5y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G16x5y4, buf);
+ G16x5y4 *dp, &lv = *(dp=new (buf) G16x5y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G16x5y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x5y4)");
+ check_base_class_offset(lv, (A0*)(C16*), ABISELECT(32,24), "G16x5y4");
+ check_base_class_offset(lv, (B0*)(C16*), ABISELECT(36,28), "G16x5y4");
+ check_base_class_offset(lv, (C16*)(E16x5*), ABISELECT(24,20), "G16x5y4");
+ check_base_class_offset(lv, (D0*)(E16x5*), ABISELECT(8,4), "G16x5y4");
+ check_base_class_offset(lv, (E16x5*), 0, "G16x5y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G16x5y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G16x5y4.ff");
+ test_class_info(&lv, &cd_G16x5y4);
+ dp->~G16x5y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x5y4(Test_G16x5y4, "G16x5y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G16x5y4C1Ev();
+extern void _ZN7G16x5y4D1Ev();
+Name_Map name_map_G16x5y4[] = {
+ NSPAIR(_ZN7G16x5y4C1Ev),
+ NSPAIR(_ZN7G16x5y4D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E16x5;
+extern VTBL_ENTRY _ZTI5E16x5[];
+extern VTBL_ENTRY _ZTV5E16x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G16x5y4[] = {
+ // 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
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E16x5, 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 _ZTI7G16x5y4[];
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY vtc_G16x5y4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x5y4[0]),
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G16x5y4[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x5y4[];
+static VTBL_ENTRY _tg__ZTV5E16x5__7G16x5y4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x5[0]),
+};
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY _tg__ZTV3C16__5E16x5__7G16x5y4[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E16x5[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+static VTT_ENTRY vtt_G16x5y4[] = {
+ {&(_ZTV7G16x5y4[3]), 3,7},
+ {&(_tg__ZTV5E16x5__7G16x5y4[3]), 3,3},
+ {&(_tg__ZTV3C16__5E16x5__7G16x5y4[3]), 3,4},
+ {&(_ZTV7G16x5y4[6]), 6,7},
+};
+extern VTBL_ENTRY _ZTI7G16x5y4[];
+extern VTBL_ENTRY _ZTV7G16x5y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x5y4[];
+Class_Descriptor cd_G16x5y4 = { "G16x5y4", // class name
+ bases_G16x5y4, 6,
+ &(vtc_G16x5y4[0]), // expected_vtbl_contents
+ &(vtt_G16x5y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G16x5y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x5y4),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x5y4),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 G16x5y5 : virtual E16x5 , F0 {
+ int ff;
+ ~G16x5y5(); // tgen
+ G16x5y5(); // tgen
+};
+//SIG(1 G16x5y5) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G16x5y5 ::~G16x5y5(){ note_dtor("G16x5y5", this);} // tgen
+G16x5y5 ::G16x5y5(){ note_ctor("G16x5y5", this);} // tgen
+
+static void Test_G16x5y5()
+{
+ extern Class_Descriptor cd_G16x5y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G16x5y5, buf);
+ G16x5y5 *dp, &lv = *(dp=new (buf) G16x5y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G16x5y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x5y5)");
+ check_base_class_offset(lv, (A0*)(C16*), ABISELECT(40,28), "G16x5y5");
+ check_base_class_offset(lv, (B0*)(C16*), ABISELECT(44,32), "G16x5y5");
+ check_base_class_offset(lv, (C16*)(E16x5*), ABISELECT(32,24), "G16x5y5");
+ check_base_class_offset(lv, (D0*)(E16x5*), ABISELECT(24,16), "G16x5y5");
+ check_base_class_offset(lv, (E16x5*), ABISELECT(16,12), "G16x5y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G16x5y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G16x5y5.ff");
+ test_class_info(&lv, &cd_G16x5y5);
+ dp->~G16x5y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x5y5(Test_G16x5y5, "G16x5y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G16x5y5C1Ev();
+extern void _ZN7G16x5y5D1Ev();
+Name_Map name_map_G16x5y5[] = {
+ NSPAIR(_ZN7G16x5y5C1Ev),
+ NSPAIR(_ZN7G16x5y5D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E16x5;
+extern VTBL_ENTRY _ZTI5E16x5[];
+extern VTBL_ENTRY _ZTV5E16x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G16x5y5[] = {
+ // 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)
+ 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_D0, 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_E16x5, 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 _ZTI7G16x5y5[];
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY vtc_G16x5y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x5y5[0]),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G16x5y5[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G16x5y5[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x5y5[];
+static VTBL_ENTRY _tg__ZTV5E16x5__7G16x5y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x5[0]),
+};
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY _tg__ZTV3C16__5E16x5__7G16x5y5[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E16x5[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+static VTT_ENTRY vtt_G16x5y5[] = {
+ {&(_ZTV7G16x5y5[4]), 4,11},
+ {&(_ZTV7G16x5y5[7]), 7,11},
+ {&(_ZTV7G16x5y5[10]), 10,11},
+ {&(_tg__ZTV5E16x5__7G16x5y5[3]), 3,3},
+ {&(_tg__ZTV3C16__5E16x5__7G16x5y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G16x5y5[];
+extern VTBL_ENTRY _ZTV7G16x5y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x5y5[];
+Class_Descriptor cd_G16x5y5 = { "G16x5y5", // class name
+ bases_G16x5y5, 6,
+ &(vtc_G16x5y5[0]), // expected_vtbl_contents
+ &(vtt_G16x5y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G16x5y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x5y5),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x5y5),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 G16x5y6 : E16x5 , virtual F0 {
+ int ff;
+ ~G16x5y6(); // tgen
+ G16x5y6(); // tgen
+};
+//SIG(1 G16x5y6) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G16x5y6 ::~G16x5y6(){ note_dtor("G16x5y6", this);} // tgen
+G16x5y6 ::G16x5y6(){ note_ctor("G16x5y6", this);} // tgen
+
+static void Test_G16x5y6()
+{
+ extern Class_Descriptor cd_G16x5y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G16x5y6, buf);
+ G16x5y6 *dp, &lv = *(dp=new (buf) G16x5y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G16x5y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x5y6)");
+ check_base_class_offset(lv, (A0*)(C16*), ABISELECT(32,20), "G16x5y6");
+ check_base_class_offset(lv, (B0*)(C16*), ABISELECT(36,24), "G16x5y6");
+ check_base_class_offset(lv, (C16*)(E16x5*), ABISELECT(24,16), "G16x5y6");
+ check_base_class_offset(lv, (D0*)(E16x5*), ABISELECT(8,4), "G16x5y6");
+ check_base_class_offset(lv, (E16x5*), 0, "G16x5y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G16x5y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G16x5y6.ff");
+ test_class_info(&lv, &cd_G16x5y6);
+ dp->~G16x5y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x5y6(Test_G16x5y6, "G16x5y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G16x5y6C1Ev();
+extern void _ZN7G16x5y6D1Ev();
+Name_Map name_map_G16x5y6[] = {
+ NSPAIR(_ZN7G16x5y6C1Ev),
+ NSPAIR(_ZN7G16x5y6D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E16x5;
+extern VTBL_ENTRY _ZTI5E16x5[];
+extern VTBL_ENTRY _ZTV5E16x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G16x5y6[] = {
+ // 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)
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E16x5, 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 _ZTI7G16x5y6[];
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY vtc_G16x5y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x5y6[0]),
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G16x5y6[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x5y6[];
+static VTBL_ENTRY _tg__ZTV5E16x5__7G16x5y6[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x5[0]),
+};
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY _tg__ZTV3C16__5E16x5__7G16x5y6[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E16x5[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+static VTT_ENTRY vtt_G16x5y6[] = {
+ {&(_ZTV7G16x5y6[4]), 4,8},
+ {&(_tg__ZTV5E16x5__7G16x5y6[3]), 3,3},
+ {&(_tg__ZTV3C16__5E16x5__7G16x5y6[3]), 3,4},
+ {&(_ZTV7G16x5y6[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI7G16x5y6[];
+extern VTBL_ENTRY _ZTV7G16x5y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x5y6[];
+Class_Descriptor cd_G16x5y6 = { "G16x5y6", // class name
+ bases_G16x5y6, 6,
+ &(vtc_G16x5y6[0]), // expected_vtbl_contents
+ &(vtt_G16x5y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G16x5y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x5y6),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x5y6),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 G16x5y7 : virtual E16x5 , virtual F0 {
+ int ff;
+ ~G16x5y7(); // tgen
+ G16x5y7(); // tgen
+};
+//SIG(1 G16x5y7) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G16x5y7 ::~G16x5y7(){ note_dtor("G16x5y7", this);} // tgen
+G16x5y7 ::G16x5y7(){ note_ctor("G16x5y7", this);} // tgen
+
+static void Test_G16x5y7()
+{
+ extern Class_Descriptor cd_G16x5y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G16x5y7, buf);
+ G16x5y7 *dp, &lv = *(dp=new (buf) G16x5y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G16x5y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x5y7)");
+ check_base_class_offset(lv, (A0*)(C16*), ABISELECT(40,24), "G16x5y7");
+ check_base_class_offset(lv, (B0*)(C16*), ABISELECT(44,28), "G16x5y7");
+ check_base_class_offset(lv, (C16*)(E16x5*), ABISELECT(32,20), "G16x5y7");
+ check_base_class_offset(lv, (D0*)(E16x5*), ABISELECT(24,12), "G16x5y7");
+ check_base_class_offset(lv, (E16x5*), ABISELECT(16,8), "G16x5y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G16x5y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G16x5y7.ff");
+ test_class_info(&lv, &cd_G16x5y7);
+ dp->~G16x5y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x5y7(Test_G16x5y7, "G16x5y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G16x5y7C1Ev();
+extern void _ZN7G16x5y7D1Ev();
+Name_Map name_map_G16x5y7[] = {
+ NSPAIR(_ZN7G16x5y7C1Ev),
+ NSPAIR(_ZN7G16x5y7D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E16x5;
+extern VTBL_ENTRY _ZTI5E16x5[];
+extern VTBL_ENTRY _ZTV5E16x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G16x5y7[] = {
+ // 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
+ 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_D0, 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_E16x5, 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 _ZTI7G16x5y7[];
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY vtc_G16x5y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x5y7[0]),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G16x5y7[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G16x5y7[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x5y7[];
+static VTBL_ENTRY _tg__ZTV5E16x5__7G16x5y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x5[0]),
+};
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY _tg__ZTV3C16__5E16x5__7G16x5y7[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E16x5[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+static VTT_ENTRY vtt_G16x5y7[] = {
+ {&(_ZTV7G16x5y7[5]), 5,12},
+ {&(_ZTV7G16x5y7[8]), 8,12},
+ {&(_ZTV7G16x5y7[11]), 11,12},
+ {&(_tg__ZTV5E16x5__7G16x5y7[3]), 3,3},
+ {&(_tg__ZTV3C16__5E16x5__7G16x5y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G16x5y7[];
+extern VTBL_ENTRY _ZTV7G16x5y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x5y7[];
+Class_Descriptor cd_G16x5y7 = { "G16x5y7", // class name
+ bases_G16x5y7, 6,
+ &(vtc_G16x5y7[0]), // expected_vtbl_contents
+ &(vtt_G16x5y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G16x5y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x5y7),12, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x5y7),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 E17x5 : virtual C17 , D0 {
+ int fd;
+ ~E17x5(); // tgen
+ E17x5(); // tgen
+};
+//SIG(-1 E17x5) C1{ VBC2{ BC3{ v1 Fi} BC4{ Fi} v1 Fi} BC5{ Fi} Fi}
+
+
+E17x5 ::~E17x5(){ note_dtor("E17x5", this);} // tgen
+E17x5 ::E17x5(){ note_ctor("E17x5", this);} // tgen
+
+static void Test_E17x5()
+{
+ extern Class_Descriptor cd_E17x5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E17x5, buf);
+ E17x5 *dp, &lv = *(dp=new (buf) E17x5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E17x5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E17x5)");
+ check_base_class_offset(lv, (A1*)(C17*), ABISELECT(16,12), "E17x5");
+ check_base_class_offset(lv, (B0*)(C17*), ABISELECT(28,20), "E17x5");
+ check_base_class_offset(lv, (C17*), ABISELECT(16,12), "E17x5");
+ check_base_class_offset(lv, (D0*), ABISELECT(8,4), "E17x5");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E17x5.fd");
+ test_class_info(&lv, &cd_E17x5);
+ dp->~E17x5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE17x5(Test_E17x5, "E17x5", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E17x5C1Ev();
+extern void _ZN5E17x5D1Ev();
+Name_Map name_map_E17x5[] = {
+ NSPAIR(_ZN5E17x5C1Ev),
+ NSPAIR(_ZN5E17x5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E17x5[] = {
+ // 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)
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E17x5[];
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY vtc_E17x5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x5[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E17x5[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+extern VTBL_ENTRY _ZTV5E17x5[];
+static VTT_ENTRY vtt_E17x5[] = {
+ {&(_ZTV5E17x5[3]), 3,7},
+ {&(_ZTV5E17x5[6]), 6,7},
+};
+extern VTBL_ENTRY _ZTI5E17x5[];
+extern VTBL_ENTRY _ZTV5E17x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x5[];
+Class_Descriptor cd_E17x5 = { "E17x5", // class name
+ bases_E17x5, 4,
+ &(vtc_E17x5[0]), // expected_vtbl_contents
+ &(vtt_E17x5[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E17x5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E17x5),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E17x5),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 G17x5y0 : E17x5 , F1 {
+ int ff;
+ ~G17x5y0(); // tgen
+ G17x5y0(); // tgen
+};
+//SIG(1 G17x5y0) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G17x5y0 ::~G17x5y0(){ note_dtor("G17x5y0", this);} // tgen
+G17x5y0 ::G17x5y0(){ note_ctor("G17x5y0", this);} // tgen
+
+static void Test_G17x5y0()
+{
+ extern Class_Descriptor cd_G17x5y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G17x5y0, buf);
+ G17x5y0 *dp, &lv = *(dp=new (buf) G17x5y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G17x5y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x5y0)");
+ check_base_class_offset(lv, (A1*)(C17*), ABISELECT(32,24), "G17x5y0");
+ check_base_class_offset(lv, (B0*)(C17*), ABISELECT(44,32), "G17x5y0");
+ check_base_class_offset(lv, (C17*)(E17x5*), ABISELECT(32,24), "G17x5y0");
+ check_base_class_offset(lv, (D0*)(E17x5*), ABISELECT(8,4), "G17x5y0");
+ check_base_class_offset(lv, (E17x5*), 0, "G17x5y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G17x5y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G17x5y0.ff");
+ test_class_info(&lv, &cd_G17x5y0);
+ dp->~G17x5y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x5y0(Test_G17x5y0, "G17x5y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G17x5y0C1Ev();
+extern void _ZN7G17x5y0D1Ev();
+Name_Map name_map_G17x5y0[] = {
+ NSPAIR(_ZN7G17x5y0C1Ev),
+ NSPAIR(_ZN7G17x5y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E17x5;
+extern VTBL_ENTRY _ZTI5E17x5[];
+extern VTBL_ENTRY _ZTV5E17x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G17x5y0[] = {
+ // 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
+ 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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E17x5, 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
+ 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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G17x5y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY vtc_G17x5y0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x5y0[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G17x5y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G17x5y0[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x5y0[];
+static VTBL_ENTRY _tg__ZTV5E17x5__7G17x5y0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x5[0]),
+};
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY _tg__ZTV3C17__5E17x5__7G17x5y0[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E17x5[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+static VTT_ENTRY vtt_G17x5y0[] = {
+ {&(_ZTV7G17x5y0[3]), 3,10},
+ {&(_tg__ZTV5E17x5__7G17x5y0[3]), 3,3},
+ {&(_tg__ZTV3C17__5E17x5__7G17x5y0[3]), 3,4},
+ {&(_ZTV7G17x5y0[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI7G17x5y0[];
+extern VTBL_ENTRY _ZTV7G17x5y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x5y0[];
+Class_Descriptor cd_G17x5y0 = { "G17x5y0", // class name
+ bases_G17x5y0, 6,
+ &(vtc_G17x5y0[0]), // expected_vtbl_contents
+ &(vtt_G17x5y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G17x5y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x5y0),10, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x5y0),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 G17x5y1 : virtual E17x5 , F1 {
+ int ff;
+ ~G17x5y1(); // tgen
+ G17x5y1(); // tgen
+};
+//SIG(1 G17x5y1) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G17x5y1 ::~G17x5y1(){ note_dtor("G17x5y1", this);} // tgen
+G17x5y1 ::G17x5y1(){ note_ctor("G17x5y1", this);} // tgen
+
+static void Test_G17x5y1()
+{
+ extern Class_Descriptor cd_G17x5y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G17x5y1, buf);
+ G17x5y1 *dp, &lv = *(dp=new (buf) G17x5y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G17x5y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x5y1)");
+ check_base_class_offset(lv, (A1*)(C17*), ABISELECT(32,24), "G17x5y1");
+ check_base_class_offset(lv, (B0*)(C17*), ABISELECT(44,32), "G17x5y1");
+ check_base_class_offset(lv, (C17*)(E17x5*), ABISELECT(32,24), "G17x5y1");
+ check_base_class_offset(lv, (D0*)(E17x5*), ABISELECT(24,16), "G17x5y1");
+ check_base_class_offset(lv, (E17x5*), ABISELECT(16,12), "G17x5y1");
+ check_base_class_offset(lv, (F1*), 0, "G17x5y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G17x5y1.ff");
+ test_class_info(&lv, &cd_G17x5y1);
+ dp->~G17x5y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x5y1(Test_G17x5y1, "G17x5y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G17x5y1C1Ev();
+extern void _ZN7G17x5y1D1Ev();
+Name_Map name_map_G17x5y1[] = {
+ NSPAIR(_ZN7G17x5y1C1Ev),
+ NSPAIR(_ZN7G17x5y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E17x5;
+extern VTBL_ENTRY _ZTI5E17x5[];
+extern VTBL_ENTRY _ZTV5E17x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G17x5y1[] = {
+ // 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
+ 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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_E17x5, 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
+ 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 _ZTI7G17x5y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY vtc_G17x5y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x5y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G17x5y1[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G17x5y1[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x5y1[];
+static VTBL_ENTRY _tg__ZTV5E17x5__7G17x5y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x5[0]),
+};
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY _tg__ZTV3C17__5E17x5__7G17x5y1[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E17x5[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+static VTT_ENTRY vtt_G17x5y1[] = {
+ {&(_ZTV7G17x5y1[4]), 4,12},
+ {&(_ZTV7G17x5y1[8]), 8,12},
+ {&(_ZTV7G17x5y1[11]), 11,12},
+ {&(_tg__ZTV5E17x5__7G17x5y1[3]), 3,3},
+ {&(_tg__ZTV3C17__5E17x5__7G17x5y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G17x5y1[];
+extern VTBL_ENTRY _ZTV7G17x5y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x5y1[];
+Class_Descriptor cd_G17x5y1 = { "G17x5y1", // class name
+ bases_G17x5y1, 6,
+ &(vtc_G17x5y1[0]), // expected_vtbl_contents
+ &(vtt_G17x5y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G17x5y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x5y1),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x5y1),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 G17x5y2 : E17x5 , virtual F1 {
+ int ff;
+ ~G17x5y2(); // tgen
+ G17x5y2(); // tgen
+};
+//SIG(1 G17x5y2) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G17x5y2 ::~G17x5y2(){ note_dtor("G17x5y2", this);} // tgen
+G17x5y2 ::G17x5y2(){ note_ctor("G17x5y2", this);} // tgen
+
+static void Test_G17x5y2()
+{
+ extern Class_Descriptor cd_G17x5y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G17x5y2, buf);
+ G17x5y2 *dp, &lv = *(dp=new (buf) G17x5y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G17x5y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x5y2)");
+ check_base_class_offset(lv, (A1*)(C17*), ABISELECT(24,16), "G17x5y2");
+ check_base_class_offset(lv, (B0*)(C17*), ABISELECT(36,24), "G17x5y2");
+ check_base_class_offset(lv, (C17*)(E17x5*), ABISELECT(24,16), "G17x5y2");
+ check_base_class_offset(lv, (D0*)(E17x5*), ABISELECT(8,4), "G17x5y2");
+ check_base_class_offset(lv, (E17x5*), 0, "G17x5y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G17x5y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G17x5y2.ff");
+ test_class_info(&lv, &cd_G17x5y2);
+ dp->~G17x5y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x5y2(Test_G17x5y2, "G17x5y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G17x5y2C1Ev();
+extern void _ZN7G17x5y2D1Ev();
+Name_Map name_map_G17x5y2[] = {
+ NSPAIR(_ZN7G17x5y2C1Ev),
+ NSPAIR(_ZN7G17x5y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E17x5;
+extern VTBL_ENTRY _ZTI5E17x5[];
+extern VTBL_ENTRY _ZTV5E17x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G17x5y2[] = {
+ // 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)
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E17x5, 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
+ 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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G17x5y2[];
+extern void _ZN3C173fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G17x5y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x5y2[0]),
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G17x5y2[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G17x5y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x5y2[];
+static VTBL_ENTRY _tg__ZTV5E17x5__7G17x5y2[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x5[0]),
+};
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY _tg__ZTV3C17__5E17x5__7G17x5y2[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E17x5[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+static VTT_ENTRY vtt_G17x5y2[] = {
+ {&(_ZTV7G17x5y2[4]), 4,12},
+ {&(_tg__ZTV5E17x5__7G17x5y2[3]), 3,3},
+ {&(_tg__ZTV3C17__5E17x5__7G17x5y2[3]), 3,4},
+ {&(_ZTV7G17x5y2[7]), 7,12},
+ {&(_ZTV7G17x5y2[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI7G17x5y2[];
+extern VTBL_ENTRY _ZTV7G17x5y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x5y2[];
+Class_Descriptor cd_G17x5y2 = { "G17x5y2", // class name
+ bases_G17x5y2, 6,
+ &(vtc_G17x5y2[0]), // expected_vtbl_contents
+ &(vtt_G17x5y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G17x5y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x5y2),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x5y2),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 G17x5y3 : virtual E17x5 , virtual F1 {
+ int ff;
+ ~G17x5y3(); // tgen
+ G17x5y3(); // tgen
+};
+//SIG(1 G17x5y3) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G17x5y3 ::~G17x5y3(){ note_dtor("G17x5y3", this);} // tgen
+G17x5y3 ::G17x5y3(){ note_ctor("G17x5y3", this);} // tgen
+
+static void Test_G17x5y3()
+{
+ extern Class_Descriptor cd_G17x5y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G17x5y3, buf);
+ G17x5y3 *dp, &lv = *(dp=new (buf) G17x5y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G17x5y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x5y3)");
+ check_base_class_offset(lv, (A1*)(C17*), ABISELECT(32,20), "G17x5y3");
+ check_base_class_offset(lv, (B0*)(C17*), ABISELECT(44,28), "G17x5y3");
+ check_base_class_offset(lv, (C17*)(E17x5*), ABISELECT(32,20), "G17x5y3");
+ check_base_class_offset(lv, (D0*)(E17x5*), ABISELECT(24,12), "G17x5y3");
+ check_base_class_offset(lv, (E17x5*), ABISELECT(16,8), "G17x5y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G17x5y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G17x5y3.ff");
+ test_class_info(&lv, &cd_G17x5y3);
+ dp->~G17x5y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x5y3(Test_G17x5y3, "G17x5y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G17x5y3C1Ev();
+extern void _ZN7G17x5y3D1Ev();
+Name_Map name_map_G17x5y3[] = {
+ NSPAIR(_ZN7G17x5y3C1Ev),
+ NSPAIR(_ZN7G17x5y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E17x5;
+extern VTBL_ENTRY _ZTI5E17x5[];
+extern VTBL_ENTRY _ZTV5E17x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G17x5y3[] = {
+ // 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
+ 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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_E17x5, 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
+ 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 _ZTI7G17x5y3[];
+extern void _ZN3C173fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G17x5y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x5y3[0]),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G17x5y3[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G17x5y3[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G17x5y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x5y3[];
+static VTBL_ENTRY _tg__ZTV5E17x5__7G17x5y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x5[0]),
+};
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY _tg__ZTV3C17__5E17x5__7G17x5y3[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E17x5[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+static VTT_ENTRY vtt_G17x5y3[] = {
+ {&(_ZTV7G17x5y3[5]), 5,16},
+ {&(_ZTV7G17x5y3[8]), 8,16},
+ {&(_ZTV7G17x5y3[11]), 11,16},
+ {&(_ZTV7G17x5y3[15]), 15,16},
+ {&(_tg__ZTV5E17x5__7G17x5y3[3]), 3,3},
+ {&(_tg__ZTV3C17__5E17x5__7G17x5y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G17x5y3[];
+extern VTBL_ENTRY _ZTV7G17x5y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x5y3[];
+Class_Descriptor cd_G17x5y3 = { "G17x5y3", // class name
+ bases_G17x5y3, 6,
+ &(vtc_G17x5y3[0]), // expected_vtbl_contents
+ &(vtt_G17x5y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G17x5y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x5y3),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x5y3),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 G17x5y4 : E17x5 , F0 {
+ int ff;
+ ~G17x5y4(); // tgen
+ G17x5y4(); // tgen
+};
+//SIG(1 G17x5y4) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G17x5y4 ::~G17x5y4(){ note_dtor("G17x5y4", this);} // tgen
+G17x5y4 ::G17x5y4(){ note_ctor("G17x5y4", this);} // tgen
+
+static void Test_G17x5y4()
+{
+ extern Class_Descriptor cd_G17x5y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G17x5y4, buf);
+ G17x5y4 *dp, &lv = *(dp=new (buf) G17x5y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G17x5y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x5y4)");
+ check_base_class_offset(lv, (A1*)(C17*), ABISELECT(24,20), "G17x5y4");
+ check_base_class_offset(lv, (B0*)(C17*), ABISELECT(36,28), "G17x5y4");
+ check_base_class_offset(lv, (C17*)(E17x5*), ABISELECT(24,20), "G17x5y4");
+ check_base_class_offset(lv, (D0*)(E17x5*), ABISELECT(8,4), "G17x5y4");
+ check_base_class_offset(lv, (E17x5*), 0, "G17x5y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G17x5y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G17x5y4.ff");
+ test_class_info(&lv, &cd_G17x5y4);
+ dp->~G17x5y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x5y4(Test_G17x5y4, "G17x5y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G17x5y4C1Ev();
+extern void _ZN7G17x5y4D1Ev();
+Name_Map name_map_G17x5y4[] = {
+ NSPAIR(_ZN7G17x5y4C1Ev),
+ NSPAIR(_ZN7G17x5y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E17x5;
+extern VTBL_ENTRY _ZTI5E17x5[];
+extern VTBL_ENTRY _ZTV5E17x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G17x5y4[] = {
+ // 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
+ 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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E17x5, 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 _ZTI7G17x5y4[];
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY vtc_G17x5y4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x5y4[0]),
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G17x5y4[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x5y4[];
+static VTBL_ENTRY _tg__ZTV5E17x5__7G17x5y4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x5[0]),
+};
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY _tg__ZTV3C17__5E17x5__7G17x5y4[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E17x5[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+static VTT_ENTRY vtt_G17x5y4[] = {
+ {&(_ZTV7G17x5y4[3]), 3,7},
+ {&(_tg__ZTV5E17x5__7G17x5y4[3]), 3,3},
+ {&(_tg__ZTV3C17__5E17x5__7G17x5y4[3]), 3,4},
+ {&(_ZTV7G17x5y4[6]), 6,7},
+};
+extern VTBL_ENTRY _ZTI7G17x5y4[];
+extern VTBL_ENTRY _ZTV7G17x5y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x5y4[];
+Class_Descriptor cd_G17x5y4 = { "G17x5y4", // class name
+ bases_G17x5y4, 6,
+ &(vtc_G17x5y4[0]), // expected_vtbl_contents
+ &(vtt_G17x5y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G17x5y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x5y4),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x5y4),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 G17x5y5 : virtual E17x5 , F0 {
+ int ff;
+ ~G17x5y5(); // tgen
+ G17x5y5(); // tgen
+};
+//SIG(1 G17x5y5) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G17x5y5 ::~G17x5y5(){ note_dtor("G17x5y5", this);} // tgen
+G17x5y5 ::G17x5y5(){ note_ctor("G17x5y5", this);} // tgen
+
+static void Test_G17x5y5()
+{
+ extern Class_Descriptor cd_G17x5y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G17x5y5, buf);
+ G17x5y5 *dp, &lv = *(dp=new (buf) G17x5y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G17x5y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x5y5)");
+ check_base_class_offset(lv, (A1*)(C17*), ABISELECT(32,24), "G17x5y5");
+ check_base_class_offset(lv, (B0*)(C17*), ABISELECT(44,32), "G17x5y5");
+ check_base_class_offset(lv, (C17*)(E17x5*), ABISELECT(32,24), "G17x5y5");
+ check_base_class_offset(lv, (D0*)(E17x5*), ABISELECT(24,16), "G17x5y5");
+ check_base_class_offset(lv, (E17x5*), ABISELECT(16,12), "G17x5y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G17x5y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G17x5y5.ff");
+ test_class_info(&lv, &cd_G17x5y5);
+ dp->~G17x5y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x5y5(Test_G17x5y5, "G17x5y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G17x5y5C1Ev();
+extern void _ZN7G17x5y5D1Ev();
+Name_Map name_map_G17x5y5[] = {
+ NSPAIR(_ZN7G17x5y5C1Ev),
+ NSPAIR(_ZN7G17x5y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E17x5;
+extern VTBL_ENTRY _ZTI5E17x5[];
+extern VTBL_ENTRY _ZTV5E17x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G17x5y5[] = {
+ // 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)
+ 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_D0, 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_E17x5, 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
+ 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 _ZTI7G17x5y5[];
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY vtc_G17x5y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x5y5[0]),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G17x5y5[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G17x5y5[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x5y5[];
+static VTBL_ENTRY _tg__ZTV5E17x5__7G17x5y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x5[0]),
+};
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY _tg__ZTV3C17__5E17x5__7G17x5y5[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E17x5[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+static VTT_ENTRY vtt_G17x5y5[] = {
+ {&(_ZTV7G17x5y5[4]), 4,11},
+ {&(_ZTV7G17x5y5[7]), 7,11},
+ {&(_ZTV7G17x5y5[10]), 10,11},
+ {&(_tg__ZTV5E17x5__7G17x5y5[3]), 3,3},
+ {&(_tg__ZTV3C17__5E17x5__7G17x5y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G17x5y5[];
+extern VTBL_ENTRY _ZTV7G17x5y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x5y5[];
+Class_Descriptor cd_G17x5y5 = { "G17x5y5", // class name
+ bases_G17x5y5, 6,
+ &(vtc_G17x5y5[0]), // expected_vtbl_contents
+ &(vtt_G17x5y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G17x5y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x5y5),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x5y5),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 G17x5y6 : E17x5 , virtual F0 {
+ int ff;
+ ~G17x5y6(); // tgen
+ G17x5y6(); // tgen
+};
+//SIG(1 G17x5y6) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G17x5y6 ::~G17x5y6(){ note_dtor("G17x5y6", this);} // tgen
+G17x5y6 ::G17x5y6(){ note_ctor("G17x5y6", this);} // tgen
+
+static void Test_G17x5y6()
+{
+ extern Class_Descriptor cd_G17x5y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G17x5y6, buf);
+ G17x5y6 *dp, &lv = *(dp=new (buf) G17x5y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G17x5y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x5y6)");
+ check_base_class_offset(lv, (A1*)(C17*), ABISELECT(24,16), "G17x5y6");
+ check_base_class_offset(lv, (B0*)(C17*), ABISELECT(36,24), "G17x5y6");
+ check_base_class_offset(lv, (C17*)(E17x5*), ABISELECT(24,16), "G17x5y6");
+ check_base_class_offset(lv, (D0*)(E17x5*), ABISELECT(8,4), "G17x5y6");
+ check_base_class_offset(lv, (E17x5*), 0, "G17x5y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G17x5y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G17x5y6.ff");
+ test_class_info(&lv, &cd_G17x5y6);
+ dp->~G17x5y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x5y6(Test_G17x5y6, "G17x5y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G17x5y6C1Ev();
+extern void _ZN7G17x5y6D1Ev();
+Name_Map name_map_G17x5y6[] = {
+ NSPAIR(_ZN7G17x5y6C1Ev),
+ NSPAIR(_ZN7G17x5y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E17x5;
+extern VTBL_ENTRY _ZTI5E17x5[];
+extern VTBL_ENTRY _ZTV5E17x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G17x5y6[] = {
+ // 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)
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E17x5, 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 _ZTI7G17x5y6[];
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY vtc_G17x5y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x5y6[0]),
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G17x5y6[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x5y6[];
+static VTBL_ENTRY _tg__ZTV5E17x5__7G17x5y6[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x5[0]),
+};
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY _tg__ZTV3C17__5E17x5__7G17x5y6[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E17x5[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+static VTT_ENTRY vtt_G17x5y6[] = {
+ {&(_ZTV7G17x5y6[4]), 4,8},
+ {&(_tg__ZTV5E17x5__7G17x5y6[3]), 3,3},
+ {&(_tg__ZTV3C17__5E17x5__7G17x5y6[3]), 3,4},
+ {&(_ZTV7G17x5y6[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI7G17x5y6[];
+extern VTBL_ENTRY _ZTV7G17x5y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x5y6[];
+Class_Descriptor cd_G17x5y6 = { "G17x5y6", // class name
+ bases_G17x5y6, 6,
+ &(vtc_G17x5y6[0]), // expected_vtbl_contents
+ &(vtt_G17x5y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G17x5y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x5y6),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x5y6),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 G17x5y7 : virtual E17x5 , virtual F0 {
+ int ff;
+ ~G17x5y7(); // tgen
+ G17x5y7(); // tgen
+};
+//SIG(1 G17x5y7) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G17x5y7 ::~G17x5y7(){ note_dtor("G17x5y7", this);} // tgen
+G17x5y7 ::G17x5y7(){ note_ctor("G17x5y7", this);} // tgen
+
+static void Test_G17x5y7()
+{
+ extern Class_Descriptor cd_G17x5y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G17x5y7, buf);
+ G17x5y7 *dp, &lv = *(dp=new (buf) G17x5y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G17x5y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x5y7)");
+ check_base_class_offset(lv, (A1*)(C17*), ABISELECT(32,20), "G17x5y7");
+ check_base_class_offset(lv, (B0*)(C17*), ABISELECT(44,28), "G17x5y7");
+ check_base_class_offset(lv, (C17*)(E17x5*), ABISELECT(32,20), "G17x5y7");
+ check_base_class_offset(lv, (D0*)(E17x5*), ABISELECT(24,12), "G17x5y7");
+ check_base_class_offset(lv, (E17x5*), ABISELECT(16,8), "G17x5y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G17x5y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G17x5y7.ff");
+ test_class_info(&lv, &cd_G17x5y7);
+ dp->~G17x5y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x5y7(Test_G17x5y7, "G17x5y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G17x5y7C1Ev();
+extern void _ZN7G17x5y7D1Ev();
+Name_Map name_map_G17x5y7[] = {
+ NSPAIR(_ZN7G17x5y7C1Ev),
+ NSPAIR(_ZN7G17x5y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E17x5;
+extern VTBL_ENTRY _ZTI5E17x5[];
+extern VTBL_ENTRY _ZTV5E17x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G17x5y7[] = {
+ // 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
+ 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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_E17x5, 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
+ 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 _ZTI7G17x5y7[];
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY vtc_G17x5y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x5y7[0]),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G17x5y7[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G17x5y7[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x5y7[];
+static VTBL_ENTRY _tg__ZTV5E17x5__7G17x5y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x5[0]),
+};
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY _tg__ZTV3C17__5E17x5__7G17x5y7[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E17x5[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+static VTT_ENTRY vtt_G17x5y7[] = {
+ {&(_ZTV7G17x5y7[5]), 5,12},
+ {&(_ZTV7G17x5y7[8]), 8,12},
+ {&(_ZTV7G17x5y7[11]), 11,12},
+ {&(_tg__ZTV5E17x5__7G17x5y7[3]), 3,3},
+ {&(_tg__ZTV3C17__5E17x5__7G17x5y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G17x5y7[];
+extern VTBL_ENTRY _ZTV7G17x5y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x5y7[];
+Class_Descriptor cd_G17x5y7 = { "G17x5y7", // class name
+ bases_G17x5y7, 6,
+ &(vtc_G17x5y7[0]), // expected_vtbl_contents
+ &(vtt_G17x5y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G17x5y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x5y7),12, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x5y7),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 E18x5 : virtual C18 , D0 {
+ int fd;
+ ~E18x5(); // tgen
+ E18x5(); // tgen
+};
+//SIG(-1 E18x5) C1{ VBC2{ VBC3{ Fi} BC4{ Fi} v1 Fi} BC5{ Fi} Fi}
+
+
+E18x5 ::~E18x5(){ note_dtor("E18x5", this);} // tgen
+E18x5 ::E18x5(){ note_ctor("E18x5", this);} // tgen
+
+static void Test_E18x5()
+{
+ extern Class_Descriptor cd_E18x5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E18x5, buf);
+ E18x5 *dp, &lv = *(dp=new (buf) E18x5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E18x5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E18x5)");
+ check_base_class_offset(lv, (A0*)(C18*), ABISELECT(32,24), "E18x5");
+ check_base_class_offset(lv, (B0*)(C18*), ABISELECT(24,16), "E18x5");
+ check_base_class_offset(lv, (C18*), ABISELECT(16,12), "E18x5");
+ check_base_class_offset(lv, (D0*), ABISELECT(8,4), "E18x5");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E18x5.fd");
+ test_class_info(&lv, &cd_E18x5);
+ dp->~E18x5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE18x5(Test_E18x5, "E18x5", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E18x5C1Ev();
+extern void _ZN5E18x5D1Ev();
+Name_Map name_map_E18x5[] = {
+ NSPAIR(_ZN5E18x5C1Ev),
+ NSPAIR(_ZN5E18x5D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E18x5[] = {
+ // 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
+ 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
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E18x5[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY vtc_E18x5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E18x5[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern VTBL_ENTRY _ZTV5E18x5[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__5E18x5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_E18x5[] = {
+ {&(_ZTV5E18x5[4]), 4,9},
+ {&(_ZTV5E18x5[8]), 8,9},
+ {&(_tg__ZTV3C18__5E18x5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E18x5[];
+extern VTBL_ENTRY _ZTV5E18x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x5[];
+Class_Descriptor cd_E18x5 = { "E18x5", // class name
+ bases_E18x5, 4,
+ &(vtc_E18x5[0]), // expected_vtbl_contents
+ &(vtt_E18x5[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E18x5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E18x5),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E18x5),3, //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 G18x5y0 : E18x5 , F1 {
+ int ff;
+ ~G18x5y0(); // tgen
+ G18x5y0(); // tgen
+};
+//SIG(1 G18x5y0) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G18x5y0 ::~G18x5y0(){ note_dtor("G18x5y0", this);} // tgen
+G18x5y0 ::G18x5y0(){ note_ctor("G18x5y0", this);} // tgen
+
+static void Test_G18x5y0()
+{
+ extern Class_Descriptor cd_G18x5y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G18x5y0, buf);
+ G18x5y0 *dp, &lv = *(dp=new (buf) G18x5y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G18x5y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x5y0)");
+ check_base_class_offset(lv, (A0*)(C18*), ABISELECT(48,36), "G18x5y0");
+ check_base_class_offset(lv, (B0*)(C18*), ABISELECT(40,28), "G18x5y0");
+ check_base_class_offset(lv, (C18*)(E18x5*), ABISELECT(32,24), "G18x5y0");
+ check_base_class_offset(lv, (D0*)(E18x5*), ABISELECT(8,4), "G18x5y0");
+ check_base_class_offset(lv, (E18x5*), 0, "G18x5y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G18x5y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G18x5y0.ff");
+ test_class_info(&lv, &cd_G18x5y0);
+ dp->~G18x5y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x5y0(Test_G18x5y0, "G18x5y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G18x5y0C1Ev();
+extern void _ZN7G18x5y0D1Ev();
+Name_Map name_map_G18x5y0[] = {
+ NSPAIR(_ZN7G18x5y0C1Ev),
+ NSPAIR(_ZN7G18x5y0D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E18x5;
+extern VTBL_ENTRY _ZTI5E18x5[];
+extern VTBL_ENTRY _ZTV5E18x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G18x5y0[] = {
+ // 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
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E18x5, 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,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 _ZTI7G18x5y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY vtc_G18x5y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x5y0[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G18x5y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G18x5y0[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x5y0[];
+static VTBL_ENTRY _tg__ZTV5E18x5__7G18x5y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x5[0]),
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__5E18x5__7G18x5y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E18x5[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__7G18x5y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x5y0[] = {
+ {&(_ZTV7G18x5y0[4]), 4,12},
+ {&(_tg__ZTV5E18x5__7G18x5y0[4]), 4,4},
+ {&(_tg__ZTV3C18__5E18x5__7G18x5y0[4]), 4,5},
+ {&(_ZTV7G18x5y0[11]), 11,12},
+ {&(_tg__ZTV3C18__7G18x5y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x5y0[];
+extern VTBL_ENTRY _ZTV7G18x5y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x5y0[];
+Class_Descriptor cd_G18x5y0 = { "G18x5y0", // class name
+ bases_G18x5y0, 6,
+ &(vtc_G18x5y0[0]), // expected_vtbl_contents
+ &(vtt_G18x5y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G18x5y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x5y0),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x5y0),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 G18x5y1 : virtual E18x5 , F1 {
+ int ff;
+ ~G18x5y1(); // tgen
+ G18x5y1(); // tgen
+};
+//SIG(1 G18x5y1) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G18x5y1 ::~G18x5y1(){ note_dtor("G18x5y1", this);} // tgen
+G18x5y1 ::G18x5y1(){ note_ctor("G18x5y1", this);} // tgen
+
+static void Test_G18x5y1()
+{
+ extern Class_Descriptor cd_G18x5y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G18x5y1, buf);
+ G18x5y1 *dp, &lv = *(dp=new (buf) G18x5y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G18x5y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x5y1)");
+ check_base_class_offset(lv, (A0*)(C18*), ABISELECT(48,36), "G18x5y1");
+ check_base_class_offset(lv, (B0*)(C18*), ABISELECT(40,28), "G18x5y1");
+ check_base_class_offset(lv, (C18*)(E18x5*), ABISELECT(32,24), "G18x5y1");
+ check_base_class_offset(lv, (D0*)(E18x5*), ABISELECT(24,16), "G18x5y1");
+ check_base_class_offset(lv, (E18x5*), ABISELECT(16,12), "G18x5y1");
+ check_base_class_offset(lv, (F1*), 0, "G18x5y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G18x5y1.ff");
+ test_class_info(&lv, &cd_G18x5y1);
+ dp->~G18x5y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x5y1(Test_G18x5y1, "G18x5y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G18x5y1C1Ev();
+extern void _ZN7G18x5y1D1Ev();
+Name_Map name_map_G18x5y1[] = {
+ NSPAIR(_ZN7G18x5y1C1Ev),
+ NSPAIR(_ZN7G18x5y1D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E18x5;
+extern VTBL_ENTRY _ZTI5E18x5[];
+extern VTBL_ENTRY _ZTV5E18x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G18x5y1[] = {
+ // 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
+ 10, //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_D0, 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_E18x5, 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 _ZTI7G18x5y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY vtc_G18x5y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x5y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G18x5y1[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G18x5y1[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x5y1[];
+static VTBL_ENTRY _tg__ZTV5E18x5__7G18x5y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x5[0]),
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__5E18x5__7G18x5y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E18x5[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__7G18x5y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x5y1[] = {
+ {&(_ZTV7G18x5y1[5]), 5,15},
+ {&(_ZTV7G18x5y1[10]), 10,15},
+ {&(_ZTV7G18x5y1[14]), 14,15},
+ {&(_tg__ZTV5E18x5__7G18x5y1[4]), 4,4},
+ {&(_tg__ZTV3C18__5E18x5__7G18x5y1[4]), 4,5},
+ {&(_tg__ZTV3C18__7G18x5y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x5y1[];
+extern VTBL_ENTRY _ZTV7G18x5y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x5y1[];
+Class_Descriptor cd_G18x5y1 = { "G18x5y1", // class name
+ bases_G18x5y1, 6,
+ &(vtc_G18x5y1[0]), // expected_vtbl_contents
+ &(vtt_G18x5y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G18x5y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x5y1),15, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x5y1),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 G18x5y2 : E18x5 , virtual F1 {
+ int ff;
+ ~G18x5y2(); // tgen
+ G18x5y2(); // tgen
+};
+//SIG(1 G18x5y2) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G18x5y2 ::~G18x5y2(){ note_dtor("G18x5y2", this);} // tgen
+G18x5y2 ::G18x5y2(){ note_ctor("G18x5y2", this);} // tgen
+
+static void Test_G18x5y2()
+{
+ extern Class_Descriptor cd_G18x5y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G18x5y2, buf);
+ G18x5y2 *dp, &lv = *(dp=new (buf) G18x5y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G18x5y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x5y2)");
+ check_base_class_offset(lv, (A0*)(C18*), ABISELECT(40,28), "G18x5y2");
+ check_base_class_offset(lv, (B0*)(C18*), ABISELECT(32,20), "G18x5y2");
+ check_base_class_offset(lv, (C18*)(E18x5*), ABISELECT(24,16), "G18x5y2");
+ check_base_class_offset(lv, (D0*)(E18x5*), ABISELECT(8,4), "G18x5y2");
+ check_base_class_offset(lv, (E18x5*), 0, "G18x5y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G18x5y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G18x5y2.ff");
+ test_class_info(&lv, &cd_G18x5y2);
+ dp->~G18x5y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x5y2(Test_G18x5y2, "G18x5y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G18x5y2C1Ev();
+extern void _ZN7G18x5y2D1Ev();
+Name_Map name_map_G18x5y2[] = {
+ NSPAIR(_ZN7G18x5y2C1Ev),
+ NSPAIR(_ZN7G18x5y2D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E18x5;
+extern VTBL_ENTRY _ZTI5E18x5[];
+extern VTBL_ENTRY _ZTV5E18x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G18x5y2[] = {
+ // 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)
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E18x5, 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
+ 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 _ZTI7G18x5y2[];
+extern void _ZN3C183fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G18x5y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x5y2[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G18x5y2[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G18x5y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x5y2[];
+static VTBL_ENTRY _tg__ZTV5E18x5__7G18x5y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x5[0]),
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__5E18x5__7G18x5y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E18x5[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__7G18x5y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x5y2[] = {
+ {&(_ZTV7G18x5y2[5]), 5,14},
+ {&(_tg__ZTV5E18x5__7G18x5y2[4]), 4,4},
+ {&(_tg__ZTV3C18__5E18x5__7G18x5y2[4]), 4,5},
+ {&(_ZTV7G18x5y2[9]), 9,14},
+ {&(_ZTV7G18x5y2[13]), 13,14},
+ {&(_tg__ZTV3C18__7G18x5y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x5y2[];
+extern VTBL_ENTRY _ZTV7G18x5y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x5y2[];
+Class_Descriptor cd_G18x5y2 = { "G18x5y2", // class name
+ bases_G18x5y2, 6,
+ &(vtc_G18x5y2[0]), // expected_vtbl_contents
+ &(vtt_G18x5y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G18x5y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x5y2),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x5y2),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 G18x5y3 : virtual E18x5 , virtual F1 {
+ int ff;
+ ~G18x5y3(); // tgen
+ G18x5y3(); // tgen
+};
+//SIG(1 G18x5y3) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G18x5y3 ::~G18x5y3(){ note_dtor("G18x5y3", this);} // tgen
+G18x5y3 ::G18x5y3(){ note_ctor("G18x5y3", this);} // tgen
+
+static void Test_G18x5y3()
+{
+ extern Class_Descriptor cd_G18x5y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G18x5y3, buf);
+ G18x5y3 *dp, &lv = *(dp=new (buf) G18x5y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G18x5y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x5y3)");
+ check_base_class_offset(lv, (A0*)(C18*), ABISELECT(48,32), "G18x5y3");
+ check_base_class_offset(lv, (B0*)(C18*), ABISELECT(40,24), "G18x5y3");
+ check_base_class_offset(lv, (C18*)(E18x5*), ABISELECT(32,20), "G18x5y3");
+ check_base_class_offset(lv, (D0*)(E18x5*), ABISELECT(24,12), "G18x5y3");
+ check_base_class_offset(lv, (E18x5*), ABISELECT(16,8), "G18x5y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G18x5y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G18x5y3.ff");
+ test_class_info(&lv, &cd_G18x5y3);
+ dp->~G18x5y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x5y3(Test_G18x5y3, "G18x5y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G18x5y3C1Ev();
+extern void _ZN7G18x5y3D1Ev();
+Name_Map name_map_G18x5y3[] = {
+ NSPAIR(_ZN7G18x5y3C1Ev),
+ NSPAIR(_ZN7G18x5y3D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E18x5;
+extern VTBL_ENTRY _ZTI5E18x5[];
+extern VTBL_ENTRY _ZTV5E18x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G18x5y3[] = {
+ // 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
+ 10, //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_D0, 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_E18x5, 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
+ 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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G18x5y3[];
+extern void _ZN3C183fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G18x5y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x5y3[0]),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G18x5y3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G18x5y3[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G18x5y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x5y3[];
+static VTBL_ENTRY _tg__ZTV5E18x5__7G18x5y3[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x5[0]),
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__5E18x5__7G18x5y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E18x5[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__7G18x5y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x5y3[] = {
+ {&(_ZTV7G18x5y3[6]), 6,19},
+ {&(_ZTV7G18x5y3[10]), 10,19},
+ {&(_ZTV7G18x5y3[14]), 14,19},
+ {&(_ZTV7G18x5y3[18]), 18,19},
+ {&(_tg__ZTV5E18x5__7G18x5y3[4]), 4,4},
+ {&(_tg__ZTV3C18__5E18x5__7G18x5y3[4]), 4,5},
+ {&(_tg__ZTV3C18__7G18x5y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x5y3[];
+extern VTBL_ENTRY _ZTV7G18x5y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x5y3[];
+Class_Descriptor cd_G18x5y3 = { "G18x5y3", // class name
+ bases_G18x5y3, 6,
+ &(vtc_G18x5y3[0]), // expected_vtbl_contents
+ &(vtt_G18x5y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G18x5y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x5y3),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x5y3),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 G18x5y4 : E18x5 , F0 {
+ int ff;
+ ~G18x5y4(); // tgen
+ G18x5y4(); // tgen
+};
+//SIG(1 G18x5y4) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G18x5y4 ::~G18x5y4(){ note_dtor("G18x5y4", this);} // tgen
+G18x5y4 ::G18x5y4(){ note_ctor("G18x5y4", this);} // tgen
+
+static void Test_G18x5y4()
+{
+ extern Class_Descriptor cd_G18x5y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G18x5y4, buf);
+ G18x5y4 *dp, &lv = *(dp=new (buf) G18x5y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G18x5y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x5y4)");
+ check_base_class_offset(lv, (A0*)(C18*), ABISELECT(40,32), "G18x5y4");
+ check_base_class_offset(lv, (B0*)(C18*), ABISELECT(32,24), "G18x5y4");
+ check_base_class_offset(lv, (C18*)(E18x5*), ABISELECT(24,20), "G18x5y4");
+ check_base_class_offset(lv, (D0*)(E18x5*), ABISELECT(8,4), "G18x5y4");
+ check_base_class_offset(lv, (E18x5*), 0, "G18x5y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G18x5y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G18x5y4.ff");
+ test_class_info(&lv, &cd_G18x5y4);
+ dp->~G18x5y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x5y4(Test_G18x5y4, "G18x5y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G18x5y4C1Ev();
+extern void _ZN7G18x5y4D1Ev();
+Name_Map name_map_G18x5y4[] = {
+ NSPAIR(_ZN7G18x5y4C1Ev),
+ NSPAIR(_ZN7G18x5y4D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E18x5;
+extern VTBL_ENTRY _ZTI5E18x5[];
+extern VTBL_ENTRY _ZTV5E18x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G18x5y4[] = {
+ // 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
+ 4, //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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E18x5, 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(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G18x5y4[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY vtc_G18x5y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x5y4[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G18x5y4[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x5y4[];
+static VTBL_ENTRY _tg__ZTV5E18x5__7G18x5y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x5[0]),
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__5E18x5__7G18x5y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E18x5[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__7G18x5y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x5y4[] = {
+ {&(_ZTV7G18x5y4[4]), 4,9},
+ {&(_tg__ZTV5E18x5__7G18x5y4[4]), 4,4},
+ {&(_tg__ZTV3C18__5E18x5__7G18x5y4[4]), 4,5},
+ {&(_ZTV7G18x5y4[8]), 8,9},
+ {&(_tg__ZTV3C18__7G18x5y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x5y4[];
+extern VTBL_ENTRY _ZTV7G18x5y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x5y4[];
+Class_Descriptor cd_G18x5y4 = { "G18x5y4", // class name
+ bases_G18x5y4, 6,
+ &(vtc_G18x5y4[0]), // expected_vtbl_contents
+ &(vtt_G18x5y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G18x5y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x5y4),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x5y4),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 G18x5y5 : virtual E18x5 , F0 {
+ int ff;
+ ~G18x5y5(); // tgen
+ G18x5y5(); // tgen
+};
+//SIG(1 G18x5y5) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G18x5y5 ::~G18x5y5(){ note_dtor("G18x5y5", this);} // tgen
+G18x5y5 ::G18x5y5(){ note_ctor("G18x5y5", this);} // tgen
+
+static void Test_G18x5y5()
+{
+ extern Class_Descriptor cd_G18x5y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G18x5y5, buf);
+ G18x5y5 *dp, &lv = *(dp=new (buf) G18x5y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G18x5y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x5y5)");
+ check_base_class_offset(lv, (A0*)(C18*), ABISELECT(48,36), "G18x5y5");
+ check_base_class_offset(lv, (B0*)(C18*), ABISELECT(40,28), "G18x5y5");
+ check_base_class_offset(lv, (C18*)(E18x5*), ABISELECT(32,24), "G18x5y5");
+ check_base_class_offset(lv, (D0*)(E18x5*), ABISELECT(24,16), "G18x5y5");
+ check_base_class_offset(lv, (E18x5*), ABISELECT(16,12), "G18x5y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G18x5y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G18x5y5.ff");
+ test_class_info(&lv, &cd_G18x5y5);
+ dp->~G18x5y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x5y5(Test_G18x5y5, "G18x5y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G18x5y5C1Ev();
+extern void _ZN7G18x5y5D1Ev();
+Name_Map name_map_G18x5y5[] = {
+ NSPAIR(_ZN7G18x5y5C1Ev),
+ NSPAIR(_ZN7G18x5y5D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E18x5;
+extern VTBL_ENTRY _ZTI5E18x5[];
+extern VTBL_ENTRY _ZTV5E18x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G18x5y5[] = {
+ // 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
+ 9, //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_D0, 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_E18x5, 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 _ZTI7G18x5y5[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY vtc_G18x5y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x5y5[0]),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G18x5y5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G18x5y5[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x5y5[];
+static VTBL_ENTRY _tg__ZTV5E18x5__7G18x5y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x5[0]),
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__5E18x5__7G18x5y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E18x5[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__7G18x5y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x5y5[] = {
+ {&(_ZTV7G18x5y5[5]), 5,14},
+ {&(_ZTV7G18x5y5[9]), 9,14},
+ {&(_ZTV7G18x5y5[13]), 13,14},
+ {&(_tg__ZTV5E18x5__7G18x5y5[4]), 4,4},
+ {&(_tg__ZTV3C18__5E18x5__7G18x5y5[4]), 4,5},
+ {&(_tg__ZTV3C18__7G18x5y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x5y5[];
+extern VTBL_ENTRY _ZTV7G18x5y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x5y5[];
+Class_Descriptor cd_G18x5y5 = { "G18x5y5", // class name
+ bases_G18x5y5, 6,
+ &(vtc_G18x5y5[0]), // expected_vtbl_contents
+ &(vtt_G18x5y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G18x5y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x5y5),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x5y5),6, //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 G18x5y6 : E18x5 , virtual F0 {
+ int ff;
+ ~G18x5y6(); // tgen
+ G18x5y6(); // tgen
+};
+//SIG(1 G18x5y6) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G18x5y6 ::~G18x5y6(){ note_dtor("G18x5y6", this);} // tgen
+G18x5y6 ::G18x5y6(){ note_ctor("G18x5y6", this);} // tgen
+
+static void Test_G18x5y6()
+{
+ extern Class_Descriptor cd_G18x5y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G18x5y6, buf);
+ G18x5y6 *dp, &lv = *(dp=new (buf) G18x5y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G18x5y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x5y6)");
+ check_base_class_offset(lv, (A0*)(C18*), ABISELECT(40,28), "G18x5y6");
+ check_base_class_offset(lv, (B0*)(C18*), ABISELECT(32,20), "G18x5y6");
+ check_base_class_offset(lv, (C18*)(E18x5*), ABISELECT(24,16), "G18x5y6");
+ check_base_class_offset(lv, (D0*)(E18x5*), ABISELECT(8,4), "G18x5y6");
+ check_base_class_offset(lv, (E18x5*), 0, "G18x5y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G18x5y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G18x5y6.ff");
+ test_class_info(&lv, &cd_G18x5y6);
+ dp->~G18x5y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x5y6(Test_G18x5y6, "G18x5y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G18x5y6C1Ev();
+extern void _ZN7G18x5y6D1Ev();
+Name_Map name_map_G18x5y6[] = {
+ NSPAIR(_ZN7G18x5y6C1Ev),
+ NSPAIR(_ZN7G18x5y6D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E18x5;
+extern VTBL_ENTRY _ZTI5E18x5[];
+extern VTBL_ENTRY _ZTV5E18x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G18x5y6[] = {
+ // 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)
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E18x5, 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 _ZTI7G18x5y6[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY vtc_G18x5y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x5y6[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G18x5y6[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x5y6[];
+static VTBL_ENTRY _tg__ZTV5E18x5__7G18x5y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x5[0]),
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__5E18x5__7G18x5y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E18x5[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__7G18x5y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x5y6[] = {
+ {&(_ZTV7G18x5y6[5]), 5,10},
+ {&(_tg__ZTV5E18x5__7G18x5y6[4]), 4,4},
+ {&(_tg__ZTV3C18__5E18x5__7G18x5y6[4]), 4,5},
+ {&(_ZTV7G18x5y6[9]), 9,10},
+ {&(_tg__ZTV3C18__7G18x5y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x5y6[];
+extern VTBL_ENTRY _ZTV7G18x5y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x5y6[];
+Class_Descriptor cd_G18x5y6 = { "G18x5y6", // class name
+ bases_G18x5y6, 6,
+ &(vtc_G18x5y6[0]), // expected_vtbl_contents
+ &(vtt_G18x5y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G18x5y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x5y6),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x5y6),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 G18x5y7 : virtual E18x5 , virtual F0 {
+ int ff;
+ ~G18x5y7(); // tgen
+ G18x5y7(); // tgen
+};
+//SIG(1 G18x5y7) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G18x5y7 ::~G18x5y7(){ note_dtor("G18x5y7", this);} // tgen
+G18x5y7 ::G18x5y7(){ note_ctor("G18x5y7", this);} // tgen
+
+static void Test_G18x5y7()
+{
+ extern Class_Descriptor cd_G18x5y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G18x5y7, buf);
+ G18x5y7 *dp, &lv = *(dp=new (buf) G18x5y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G18x5y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x5y7)");
+ check_base_class_offset(lv, (A0*)(C18*), ABISELECT(48,32), "G18x5y7");
+ check_base_class_offset(lv, (B0*)(C18*), ABISELECT(40,24), "G18x5y7");
+ check_base_class_offset(lv, (C18*)(E18x5*), ABISELECT(32,20), "G18x5y7");
+ check_base_class_offset(lv, (D0*)(E18x5*), ABISELECT(24,12), "G18x5y7");
+ check_base_class_offset(lv, (E18x5*), ABISELECT(16,8), "G18x5y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G18x5y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G18x5y7.ff");
+ test_class_info(&lv, &cd_G18x5y7);
+ dp->~G18x5y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x5y7(Test_G18x5y7, "G18x5y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G18x5y7C1Ev();
+extern void _ZN7G18x5y7D1Ev();
+Name_Map name_map_G18x5y7[] = {
+ NSPAIR(_ZN7G18x5y7C1Ev),
+ NSPAIR(_ZN7G18x5y7D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E18x5;
+extern VTBL_ENTRY _ZTI5E18x5[];
+extern VTBL_ENTRY _ZTV5E18x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G18x5y7[] = {
+ // 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
+ 10, //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_D0, 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_E18x5, 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 _ZTI7G18x5y7[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY vtc_G18x5y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x5y7[0]),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G18x5y7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G18x5y7[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x5y7[];
+static VTBL_ENTRY _tg__ZTV5E18x5__7G18x5y7[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x5[0]),
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__5E18x5__7G18x5y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E18x5[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__7G18x5y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x5y7[] = {
+ {&(_ZTV7G18x5y7[6]), 6,15},
+ {&(_ZTV7G18x5y7[10]), 10,15},
+ {&(_ZTV7G18x5y7[14]), 14,15},
+ {&(_tg__ZTV5E18x5__7G18x5y7[4]), 4,4},
+ {&(_tg__ZTV3C18__5E18x5__7G18x5y7[4]), 4,5},
+ {&(_tg__ZTV3C18__7G18x5y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x5y7[];
+extern VTBL_ENTRY _ZTV7G18x5y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x5y7[];
+Class_Descriptor cd_G18x5y7 = { "G18x5y7", // class name
+ bases_G18x5y7, 6,
+ &(vtc_G18x5y7[0]), // expected_vtbl_contents
+ &(vtt_G18x5y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G18x5y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x5y7),15, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x5y7),6, //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 E19x5 : virtual C19 , D0 {
+ int fd;
+ ~E19x5(); // tgen
+ E19x5(); // tgen
+};
+//SIG(-1 E19x5) C1{ VBC2{ VBC3{ v1 Fi} BC4{ Fi} v1 Fi} BC5{ Fi} Fi}
+
+
+E19x5 ::~E19x5(){ note_dtor("E19x5", this);} // tgen
+E19x5 ::E19x5(){ note_ctor("E19x5", this);} // tgen
+
+static void Test_E19x5()
+{
+ extern Class_Descriptor cd_E19x5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E19x5, buf);
+ E19x5 *dp, &lv = *(dp=new (buf) E19x5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E19x5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E19x5)");
+ check_base_class_offset(lv, (A1*)(C19*), ABISELECT(32,24), "E19x5");
+ check_base_class_offset(lv, (B0*)(C19*), ABISELECT(24,16), "E19x5");
+ check_base_class_offset(lv, (C19*), ABISELECT(16,12), "E19x5");
+ check_base_class_offset(lv, (D0*), ABISELECT(8,4), "E19x5");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E19x5.fd");
+ test_class_info(&lv, &cd_E19x5);
+ dp->~E19x5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE19x5(Test_E19x5, "E19x5", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN5E19x5C1Ev();
+extern void _ZN5E19x5D1Ev();
+Name_Map name_map_E19x5[] = {
+ NSPAIR(_ZN5E19x5C1Ev),
+ NSPAIR(_ZN5E19x5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E19x5[] = {
+ // 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)
+ 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
+ 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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E19x5[];
+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_E19x5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E19x5[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E19x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern VTBL_ENTRY _ZTV5E19x5[];
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__5E19x5[] = {
+ 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__5E19x5[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_E19x5[] = {
+ {&(_ZTV5E19x5[4]), 4,13},
+ {&(_ZTV5E19x5[8]), 8,13},
+ {&(_ZTV5E19x5[12]), 12,13},
+ {&(_tg__ZTV3C19__5E19x5[3]), 3,4},
+ {&(_tg__ZTV2A1__3C19__5E19x5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E19x5[];
+extern VTBL_ENTRY _ZTV5E19x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x5[];
+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_E19x5 = { "E19x5", // class name
+ bases_E19x5, 4,
+ &(vtc_E19x5[0]), // expected_vtbl_contents
+ &(vtt_E19x5[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI5E19x5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E19x5),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E19x5),5, //virtual table table var
+ 2, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names71,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x5y0 : E19x5 , F1 {
+ int ff;
+ ~G19x5y0(); // tgen
+ G19x5y0(); // tgen
+};
+//SIG(1 G19x5y0) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G19x5y0 ::~G19x5y0(){ note_dtor("G19x5y0", this);} // tgen
+G19x5y0 ::G19x5y0(){ note_ctor("G19x5y0", this);} // tgen
+
+static void Test_G19x5y0()
+{
+ extern Class_Descriptor cd_G19x5y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G19x5y0, buf);
+ G19x5y0 *dp, &lv = *(dp=new (buf) G19x5y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G19x5y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x5y0)");
+ check_base_class_offset(lv, (A1*)(C19*), ABISELECT(48,36), "G19x5y0");
+ check_base_class_offset(lv, (B0*)(C19*), ABISELECT(40,28), "G19x5y0");
+ check_base_class_offset(lv, (C19*)(E19x5*), ABISELECT(32,24), "G19x5y0");
+ check_base_class_offset(lv, (D0*)(E19x5*), ABISELECT(8,4), "G19x5y0");
+ check_base_class_offset(lv, (E19x5*), 0, "G19x5y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G19x5y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G19x5y0.ff");
+ test_class_info(&lv, &cd_G19x5y0);
+ dp->~G19x5y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x5y0(Test_G19x5y0, "G19x5y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G19x5y0C1Ev();
+extern void _ZN7G19x5y0D1Ev();
+Name_Map name_map_G19x5y0[] = {
+ NSPAIR(_ZN7G19x5y0C1Ev),
+ NSPAIR(_ZN7G19x5y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E19x5;
+extern VTBL_ENTRY _ZTI5E19x5[];
+extern VTBL_ENTRY _ZTV5E19x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G19x5y0[] = {
+ // 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)
+ 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
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E19x5, 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
+ 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 _ZTI7G19x5y0[];
+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_G19x5y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x5y0[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G19x5y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G19x5y0[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G19x5y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern VTBL_ENTRY _ZTV7G19x5y0[];
+static VTBL_ENTRY _tg__ZTV5E19x5__7G19x5y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x5[0]),
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__5E19x5__7G19x5y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E19x5[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__5E19x5__7G19x5y0[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI5E19x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__7G19x5y0[] = {
+ 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__7G19x5y0[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x5y0[] = {
+ {&(_ZTV7G19x5y0[4]), 4,16},
+ {&(_tg__ZTV5E19x5__7G19x5y0[4]), 4,4},
+ {&(_tg__ZTV3C19__5E19x5__7G19x5y0[4]), 4,5},
+ {&(_tg__ZTV2A1__5E19x5__7G19x5y0[3]), 3,4},
+ {&(_ZTV7G19x5y0[11]), 11,16},
+ {&(_ZTV7G19x5y0[15]), 15,16},
+ {&(_tg__ZTV3C19__7G19x5y0[3]), 3,4},
+ {&(_tg__ZTV2A1__3C19__7G19x5y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G19x5y0[];
+extern VTBL_ENTRY _ZTV7G19x5y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x5y0[];
+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_G19x5y0 = { "G19x5y0", // class name
+ bases_G19x5y0, 6,
+ &(vtc_G19x5y0[0]), // expected_vtbl_contents
+ &(vtt_G19x5y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G19x5y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x5y0),16, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x5y0),8, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names72,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x5y1 : virtual E19x5 , F1 {
+ int ff;
+ ~G19x5y1(); // tgen
+ G19x5y1(); // tgen
+};
+//SIG(1 G19x5y1) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G19x5y1 ::~G19x5y1(){ note_dtor("G19x5y1", this);} // tgen
+G19x5y1 ::G19x5y1(){ note_ctor("G19x5y1", this);} // tgen
+
+static void Test_G19x5y1()
+{
+ extern Class_Descriptor cd_G19x5y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G19x5y1, buf);
+ G19x5y1 *dp, &lv = *(dp=new (buf) G19x5y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G19x5y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x5y1)");
+ check_base_class_offset(lv, (A1*)(C19*), ABISELECT(48,36), "G19x5y1");
+ check_base_class_offset(lv, (B0*)(C19*), ABISELECT(40,28), "G19x5y1");
+ check_base_class_offset(lv, (C19*)(E19x5*), ABISELECT(32,24), "G19x5y1");
+ check_base_class_offset(lv, (D0*)(E19x5*), ABISELECT(24,16), "G19x5y1");
+ check_base_class_offset(lv, (E19x5*), ABISELECT(16,12), "G19x5y1");
+ check_base_class_offset(lv, (F1*), 0, "G19x5y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G19x5y1.ff");
+ test_class_info(&lv, &cd_G19x5y1);
+ dp->~G19x5y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x5y1(Test_G19x5y1, "G19x5y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G19x5y1C1Ev();
+extern void _ZN7G19x5y1D1Ev();
+Name_Map name_map_G19x5y1[] = {
+ NSPAIR(_ZN7G19x5y1C1Ev),
+ NSPAIR(_ZN7G19x5y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E19x5;
+extern VTBL_ENTRY _ZTI5E19x5[];
+extern VTBL_ENTRY _ZTV5E19x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G19x5y1[] = {
+ // 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_C19, ABISELECT(32,24), //bcp->offset
+ 10, //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_D0, 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_E19x5, 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 _ZTI7G19x5y1[];
+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_G19x5y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x5y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G19x5y1[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G19x5y1[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G19x5y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern VTBL_ENTRY _ZTV7G19x5y1[];
+static VTBL_ENTRY _tg__ZTV5E19x5__7G19x5y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x5[0]),
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__5E19x5__7G19x5y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E19x5[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__5E19x5__7G19x5y1[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E19x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__7G19x5y1[] = {
+ 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__7G19x5y1[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x5y1[] = {
+ {&(_ZTV7G19x5y1[5]), 5,19},
+ {&(_ZTV7G19x5y1[10]), 10,19},
+ {&(_ZTV7G19x5y1[14]), 14,19},
+ {&(_ZTV7G19x5y1[18]), 18,19},
+ {&(_tg__ZTV5E19x5__7G19x5y1[4]), 4,4},
+ {&(_tg__ZTV3C19__5E19x5__7G19x5y1[4]), 4,5},
+ {&(_tg__ZTV2A1__5E19x5__7G19x5y1[3]), 3,4},
+ {&(_tg__ZTV3C19__7G19x5y1[3]), 3,4},
+ {&(_tg__ZTV2A1__3C19__7G19x5y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G19x5y1[];
+extern VTBL_ENTRY _ZTV7G19x5y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x5y1[];
+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_G19x5y1 = { "G19x5y1", // class name
+ bases_G19x5y1, 6,
+ &(vtc_G19x5y1[0]), // expected_vtbl_contents
+ &(vtt_G19x5y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G19x5y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x5y1),19, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x5y1),9, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names73,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x5y2 : E19x5 , virtual F1 {
+ int ff;
+ ~G19x5y2(); // tgen
+ G19x5y2(); // tgen
+};
+//SIG(1 G19x5y2) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G19x5y2 ::~G19x5y2(){ note_dtor("G19x5y2", this);} // tgen
+G19x5y2 ::G19x5y2(){ note_ctor("G19x5y2", this);} // tgen
+
+static void Test_G19x5y2()
+{
+ extern Class_Descriptor cd_G19x5y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G19x5y2, buf);
+ G19x5y2 *dp, &lv = *(dp=new (buf) G19x5y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G19x5y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x5y2)");
+ check_base_class_offset(lv, (A1*)(C19*), ABISELECT(40,28), "G19x5y2");
+ check_base_class_offset(lv, (B0*)(C19*), ABISELECT(32,20), "G19x5y2");
+ check_base_class_offset(lv, (C19*)(E19x5*), ABISELECT(24,16), "G19x5y2");
+ check_base_class_offset(lv, (D0*)(E19x5*), ABISELECT(8,4), "G19x5y2");
+ check_base_class_offset(lv, (E19x5*), 0, "G19x5y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G19x5y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G19x5y2.ff");
+ test_class_info(&lv, &cd_G19x5y2);
+ dp->~G19x5y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x5y2(Test_G19x5y2, "G19x5y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G19x5y2C1Ev();
+extern void _ZN7G19x5y2D1Ev();
+Name_Map name_map_G19x5y2[] = {
+ NSPAIR(_ZN7G19x5y2C1Ev),
+ NSPAIR(_ZN7G19x5y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E19x5;
+extern VTBL_ENTRY _ZTI5E19x5[];
+extern VTBL_ENTRY _ZTV5E19x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G19x5y2[] = {
+ // 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(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)
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E19x5, 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
+ 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 _ZTI7G19x5y2[];
+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_G19x5y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x5y2[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G19x5y2[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G19x5y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G19x5y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G19x5y2[];
+static VTBL_ENTRY _tg__ZTV5E19x5__7G19x5y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x5[0]),
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__5E19x5__7G19x5y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E19x5[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__5E19x5__7G19x5y2[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E19x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__7G19x5y2[] = {
+ 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__7G19x5y2[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x5y2[] = {
+ {&(_ZTV7G19x5y2[5]), 5,18},
+ {&(_tg__ZTV5E19x5__7G19x5y2[4]), 4,4},
+ {&(_tg__ZTV3C19__5E19x5__7G19x5y2[4]), 4,5},
+ {&(_tg__ZTV2A1__5E19x5__7G19x5y2[3]), 3,4},
+ {&(_ZTV7G19x5y2[9]), 9,18},
+ {&(_ZTV7G19x5y2[13]), 13,18},
+ {&(_ZTV7G19x5y2[17]), 17,18},
+ {&(_tg__ZTV3C19__7G19x5y2[3]), 3,4},
+ {&(_tg__ZTV2A1__3C19__7G19x5y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G19x5y2[];
+extern VTBL_ENTRY _ZTV7G19x5y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x5y2[];
+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_G19x5y2 = { "G19x5y2", // class name
+ bases_G19x5y2, 6,
+ &(vtc_G19x5y2[0]), // expected_vtbl_contents
+ &(vtt_G19x5y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G19x5y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x5y2),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x5y2),9, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names74,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x5y3 : virtual E19x5 , virtual F1 {
+ int ff;
+ ~G19x5y3(); // tgen
+ G19x5y3(); // tgen
+};
+//SIG(1 G19x5y3) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G19x5y3 ::~G19x5y3(){ note_dtor("G19x5y3", this);} // tgen
+G19x5y3 ::G19x5y3(){ note_ctor("G19x5y3", this);} // tgen
+
+static void Test_G19x5y3()
+{
+ extern Class_Descriptor cd_G19x5y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G19x5y3, buf);
+ G19x5y3 *dp, &lv = *(dp=new (buf) G19x5y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G19x5y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x5y3)");
+ check_base_class_offset(lv, (A1*)(C19*), ABISELECT(48,32), "G19x5y3");
+ check_base_class_offset(lv, (B0*)(C19*), ABISELECT(40,24), "G19x5y3");
+ check_base_class_offset(lv, (C19*)(E19x5*), ABISELECT(32,20), "G19x5y3");
+ check_base_class_offset(lv, (D0*)(E19x5*), ABISELECT(24,12), "G19x5y3");
+ check_base_class_offset(lv, (E19x5*), ABISELECT(16,8), "G19x5y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G19x5y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G19x5y3.ff");
+ test_class_info(&lv, &cd_G19x5y3);
+ dp->~G19x5y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x5y3(Test_G19x5y3, "G19x5y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G19x5y3C1Ev();
+extern void _ZN7G19x5y3D1Ev();
+Name_Map name_map_G19x5y3[] = {
+ NSPAIR(_ZN7G19x5y3C1Ev),
+ NSPAIR(_ZN7G19x5y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E19x5;
+extern VTBL_ENTRY _ZTI5E19x5[];
+extern VTBL_ENTRY _ZTV5E19x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G19x5y3[] = {
+ // 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_C19, ABISELECT(32,20), //bcp->offset
+ 10, //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_D0, 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_E19x5, 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(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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G19x5y3[];
+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_G19x5y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x5y3[0]),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G19x5y3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G19x5y3[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G19x5y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G19x5y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G19x5y3[];
+static VTBL_ENTRY _tg__ZTV5E19x5__7G19x5y3[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x5[0]),
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__5E19x5__7G19x5y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E19x5[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__5E19x5__7G19x5y3[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E19x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__7G19x5y3[] = {
+ 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__7G19x5y3[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x5y3[] = {
+ {&(_ZTV7G19x5y3[6]), 6,23},
+ {&(_ZTV7G19x5y3[10]), 10,23},
+ {&(_ZTV7G19x5y3[14]), 14,23},
+ {&(_ZTV7G19x5y3[18]), 18,23},
+ {&(_ZTV7G19x5y3[22]), 22,23},
+ {&(_tg__ZTV5E19x5__7G19x5y3[4]), 4,4},
+ {&(_tg__ZTV3C19__5E19x5__7G19x5y3[4]), 4,5},
+ {&(_tg__ZTV2A1__5E19x5__7G19x5y3[3]), 3,4},
+ {&(_tg__ZTV3C19__7G19x5y3[3]), 3,4},
+ {&(_tg__ZTV2A1__3C19__7G19x5y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G19x5y3[];
+extern VTBL_ENTRY _ZTV7G19x5y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x5y3[];
+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_G19x5y3 = { "G19x5y3", // class name
+ bases_G19x5y3, 6,
+ &(vtc_G19x5y3[0]), // expected_vtbl_contents
+ &(vtt_G19x5y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G19x5y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x5y3),23, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x5y3),10, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names75,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x5y4 : E19x5 , F0 {
+ int ff;
+ ~G19x5y4(); // tgen
+ G19x5y4(); // tgen
+};
+//SIG(1 G19x5y4) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G19x5y4 ::~G19x5y4(){ note_dtor("G19x5y4", this);} // tgen
+G19x5y4 ::G19x5y4(){ note_ctor("G19x5y4", this);} // tgen
+
+static void Test_G19x5y4()
+{
+ extern Class_Descriptor cd_G19x5y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G19x5y4, buf);
+ G19x5y4 *dp, &lv = *(dp=new (buf) G19x5y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G19x5y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x5y4)");
+ check_base_class_offset(lv, (A1*)(C19*), ABISELECT(40,32), "G19x5y4");
+ check_base_class_offset(lv, (B0*)(C19*), ABISELECT(32,24), "G19x5y4");
+ check_base_class_offset(lv, (C19*)(E19x5*), ABISELECT(24,20), "G19x5y4");
+ check_base_class_offset(lv, (D0*)(E19x5*), ABISELECT(8,4), "G19x5y4");
+ check_base_class_offset(lv, (E19x5*), 0, "G19x5y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G19x5y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G19x5y4.ff");
+ test_class_info(&lv, &cd_G19x5y4);
+ dp->~G19x5y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x5y4(Test_G19x5y4, "G19x5y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G19x5y4C1Ev();
+extern void _ZN7G19x5y4D1Ev();
+Name_Map name_map_G19x5y4[] = {
+ NSPAIR(_ZN7G19x5y4C1Ev),
+ NSPAIR(_ZN7G19x5y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E19x5;
+extern VTBL_ENTRY _ZTI5E19x5[];
+extern VTBL_ENTRY _ZTV5E19x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G19x5y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,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
+ 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
+ 4, //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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E19x5, 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 _ZTI7G19x5y4[];
+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_G19x5y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x5y4[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G19x5y4[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G19x5y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern VTBL_ENTRY _ZTV7G19x5y4[];
+static VTBL_ENTRY _tg__ZTV5E19x5__7G19x5y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x5[0]),
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__5E19x5__7G19x5y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E19x5[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__5E19x5__7G19x5y4[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI5E19x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__7G19x5y4[] = {
+ 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__7G19x5y4[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x5y4[] = {
+ {&(_ZTV7G19x5y4[4]), 4,13},
+ {&(_tg__ZTV5E19x5__7G19x5y4[4]), 4,4},
+ {&(_tg__ZTV3C19__5E19x5__7G19x5y4[4]), 4,5},
+ {&(_tg__ZTV2A1__5E19x5__7G19x5y4[3]), 3,4},
+ {&(_ZTV7G19x5y4[8]), 8,13},
+ {&(_ZTV7G19x5y4[12]), 12,13},
+ {&(_tg__ZTV3C19__7G19x5y4[3]), 3,4},
+ {&(_tg__ZTV2A1__3C19__7G19x5y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G19x5y4[];
+extern VTBL_ENTRY _ZTV7G19x5y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x5y4[];
+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_G19x5y4 = { "G19x5y4", // class name
+ bases_G19x5y4, 6,
+ &(vtc_G19x5y4[0]), // expected_vtbl_contents
+ &(vtt_G19x5y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G19x5y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x5y4),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x5y4),8, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names76,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x5y5 : virtual E19x5 , F0 {
+ int ff;
+ ~G19x5y5(); // tgen
+ G19x5y5(); // tgen
+};
+//SIG(1 G19x5y5) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G19x5y5 ::~G19x5y5(){ note_dtor("G19x5y5", this);} // tgen
+G19x5y5 ::G19x5y5(){ note_ctor("G19x5y5", this);} // tgen
+
+static void Test_G19x5y5()
+{
+ extern Class_Descriptor cd_G19x5y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G19x5y5, buf);
+ G19x5y5 *dp, &lv = *(dp=new (buf) G19x5y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G19x5y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x5y5)");
+ check_base_class_offset(lv, (A1*)(C19*), ABISELECT(48,36), "G19x5y5");
+ check_base_class_offset(lv, (B0*)(C19*), ABISELECT(40,28), "G19x5y5");
+ check_base_class_offset(lv, (C19*)(E19x5*), ABISELECT(32,24), "G19x5y5");
+ check_base_class_offset(lv, (D0*)(E19x5*), ABISELECT(24,16), "G19x5y5");
+ check_base_class_offset(lv, (E19x5*), ABISELECT(16,12), "G19x5y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G19x5y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G19x5y5.ff");
+ test_class_info(&lv, &cd_G19x5y5);
+ dp->~G19x5y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x5y5(Test_G19x5y5, "G19x5y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G19x5y5C1Ev();
+extern void _ZN7G19x5y5D1Ev();
+Name_Map name_map_G19x5y5[] = {
+ NSPAIR(_ZN7G19x5y5C1Ev),
+ NSPAIR(_ZN7G19x5y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E19x5;
+extern VTBL_ENTRY _ZTI5E19x5[];
+extern VTBL_ENTRY _ZTV5E19x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G19x5y5[] = {
+ // 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_C19, ABISELECT(32,24), //bcp->offset
+ 9, //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_D0, 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_E19x5, 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 _ZTI7G19x5y5[];
+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_G19x5y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x5y5[0]),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G19x5y5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G19x5y5[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G19x5y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern VTBL_ENTRY _ZTV7G19x5y5[];
+static VTBL_ENTRY _tg__ZTV5E19x5__7G19x5y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x5[0]),
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__5E19x5__7G19x5y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E19x5[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__5E19x5__7G19x5y5[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E19x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__7G19x5y5[] = {
+ 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__7G19x5y5[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x5y5[] = {
+ {&(_ZTV7G19x5y5[5]), 5,18},
+ {&(_ZTV7G19x5y5[9]), 9,18},
+ {&(_ZTV7G19x5y5[13]), 13,18},
+ {&(_ZTV7G19x5y5[17]), 17,18},
+ {&(_tg__ZTV5E19x5__7G19x5y5[4]), 4,4},
+ {&(_tg__ZTV3C19__5E19x5__7G19x5y5[4]), 4,5},
+ {&(_tg__ZTV2A1__5E19x5__7G19x5y5[3]), 3,4},
+ {&(_tg__ZTV3C19__7G19x5y5[3]), 3,4},
+ {&(_tg__ZTV2A1__3C19__7G19x5y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G19x5y5[];
+extern VTBL_ENTRY _ZTV7G19x5y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x5y5[];
+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_G19x5y5 = { "G19x5y5", // class name
+ bases_G19x5y5, 6,
+ &(vtc_G19x5y5[0]), // expected_vtbl_contents
+ &(vtt_G19x5y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G19x5y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x5y5),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x5y5),9, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names77,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x5y6 : E19x5 , virtual F0 {
+ int ff;
+ ~G19x5y6(); // tgen
+ G19x5y6(); // tgen
+};
+//SIG(1 G19x5y6) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G19x5y6 ::~G19x5y6(){ note_dtor("G19x5y6", this);} // tgen
+G19x5y6 ::G19x5y6(){ note_ctor("G19x5y6", this);} // tgen
+
+static void Test_G19x5y6()
+{
+ extern Class_Descriptor cd_G19x5y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G19x5y6, buf);
+ G19x5y6 *dp, &lv = *(dp=new (buf) G19x5y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G19x5y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x5y6)");
+ check_base_class_offset(lv, (A1*)(C19*), ABISELECT(40,28), "G19x5y6");
+ check_base_class_offset(lv, (B0*)(C19*), ABISELECT(32,20), "G19x5y6");
+ check_base_class_offset(lv, (C19*)(E19x5*), ABISELECT(24,16), "G19x5y6");
+ check_base_class_offset(lv, (D0*)(E19x5*), ABISELECT(8,4), "G19x5y6");
+ check_base_class_offset(lv, (E19x5*), 0, "G19x5y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G19x5y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G19x5y6.ff");
+ test_class_info(&lv, &cd_G19x5y6);
+ dp->~G19x5y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x5y6(Test_G19x5y6, "G19x5y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G19x5y6C1Ev();
+extern void _ZN7G19x5y6D1Ev();
+Name_Map name_map_G19x5y6[] = {
+ NSPAIR(_ZN7G19x5y6C1Ev),
+ NSPAIR(_ZN7G19x5y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E19x5;
+extern VTBL_ENTRY _ZTI5E19x5[];
+extern VTBL_ENTRY _ZTV5E19x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G19x5y6[] = {
+ // 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(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)
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E19x5, 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 _ZTI7G19x5y6[];
+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_G19x5y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x5y6[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G19x5y6[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G19x5y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern VTBL_ENTRY _ZTV7G19x5y6[];
+static VTBL_ENTRY _tg__ZTV5E19x5__7G19x5y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x5[0]),
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__5E19x5__7G19x5y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E19x5[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__5E19x5__7G19x5y6[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E19x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__7G19x5y6[] = {
+ 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__7G19x5y6[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x5y6[] = {
+ {&(_ZTV7G19x5y6[5]), 5,14},
+ {&(_tg__ZTV5E19x5__7G19x5y6[4]), 4,4},
+ {&(_tg__ZTV3C19__5E19x5__7G19x5y6[4]), 4,5},
+ {&(_tg__ZTV2A1__5E19x5__7G19x5y6[3]), 3,4},
+ {&(_ZTV7G19x5y6[9]), 9,14},
+ {&(_ZTV7G19x5y6[13]), 13,14},
+ {&(_tg__ZTV3C19__7G19x5y6[3]), 3,4},
+ {&(_tg__ZTV2A1__3C19__7G19x5y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G19x5y6[];
+extern VTBL_ENTRY _ZTV7G19x5y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x5y6[];
+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_G19x5y6 = { "G19x5y6", // class name
+ bases_G19x5y6, 6,
+ &(vtc_G19x5y6[0]), // expected_vtbl_contents
+ &(vtt_G19x5y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G19x5y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x5y6),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x5y6),8, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names78,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x5y7 : virtual E19x5 , virtual F0 {
+ int ff;
+ ~G19x5y7(); // tgen
+ G19x5y7(); // tgen
+};
+//SIG(1 G19x5y7) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G19x5y7 ::~G19x5y7(){ note_dtor("G19x5y7", this);} // tgen
+G19x5y7 ::G19x5y7(){ note_ctor("G19x5y7", this);} // tgen
+
+static void Test_G19x5y7()
+{
+ extern Class_Descriptor cd_G19x5y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G19x5y7, buf);
+ G19x5y7 *dp, &lv = *(dp=new (buf) G19x5y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G19x5y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x5y7)");
+ check_base_class_offset(lv, (A1*)(C19*), ABISELECT(48,32), "G19x5y7");
+ check_base_class_offset(lv, (B0*)(C19*), ABISELECT(40,24), "G19x5y7");
+ check_base_class_offset(lv, (C19*)(E19x5*), ABISELECT(32,20), "G19x5y7");
+ check_base_class_offset(lv, (D0*)(E19x5*), ABISELECT(24,12), "G19x5y7");
+ check_base_class_offset(lv, (E19x5*), ABISELECT(16,8), "G19x5y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(60,40), "G19x5y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G19x5y7.ff");
+ test_class_info(&lv, &cd_G19x5y7);
+ dp->~G19x5y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x5y7(Test_G19x5y7, "G19x5y7", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G19x5y7C1Ev();
+extern void _ZN7G19x5y7D1Ev();
+Name_Map name_map_G19x5y7[] = {
+ NSPAIR(_ZN7G19x5y7C1Ev),
+ NSPAIR(_ZN7G19x5y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E19x5;
+extern VTBL_ENTRY _ZTI5E19x5[];
+extern VTBL_ENTRY _ZTV5E19x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G19x5y7[] = {
+ // 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_C19, ABISELECT(32,20), //bcp->offset
+ 10, //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_D0, 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_E19x5, 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(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 _ZTI7G19x5y7[];
+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_G19x5y7[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x5y7[0]),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G19x5y7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G19x5y7[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G19x5y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern VTBL_ENTRY _ZTV7G19x5y7[];
+static VTBL_ENTRY _tg__ZTV5E19x5__7G19x5y7[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x5[0]),
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__5E19x5__7G19x5y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E19x5[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__5E19x5__7G19x5y7[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E19x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__7G19x5y7[] = {
+ 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__7G19x5y7[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x5y7[] = {
+ {&(_ZTV7G19x5y7[6]), 6,19},
+ {&(_ZTV7G19x5y7[10]), 10,19},
+ {&(_ZTV7G19x5y7[14]), 14,19},
+ {&(_ZTV7G19x5y7[18]), 18,19},
+ {&(_tg__ZTV5E19x5__7G19x5y7[4]), 4,4},
+ {&(_tg__ZTV3C19__5E19x5__7G19x5y7[4]), 4,5},
+ {&(_tg__ZTV2A1__5E19x5__7G19x5y7[3]), 3,4},
+ {&(_tg__ZTV3C19__7G19x5y7[3]), 3,4},
+ {&(_tg__ZTV2A1__3C19__7G19x5y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G19x5y7[];
+extern VTBL_ENTRY _ZTV7G19x5y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x5y7[];
+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_G19x5y7 = { "G19x5y7", // class name
+ bases_G19x5y7, 6,
+ &(vtc_G19x5y7[0]), // expected_vtbl_contents
+ &(vtt_G19x5y7[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G19x5y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x5y7),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x5y7),9, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names79,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E20x5 : virtual C20 , D0 {
+ int fd;
+ ~E20x5(); // tgen
+ E20x5(); // tgen
+};
+//SIG(-1 E20x5) C1{ VBC2{ BC3{ Fi} BC4{ v1 Fi} v1 Fi} BC5{ Fi} Fi}
+
+
+E20x5 ::~E20x5(){ note_dtor("E20x5", this);} // tgen
+E20x5 ::E20x5(){ note_ctor("E20x5", this);} // tgen
+
+static void Test_E20x5()
+{
+ extern Class_Descriptor cd_E20x5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E20x5, buf);
+ E20x5 *dp, &lv = *(dp=new (buf) E20x5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E20x5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E20x5)");
+ check_base_class_offset(lv, (A0*)(C20*), ABISELECT(28,20), "E20x5");
+ check_base_class_offset(lv, (B1*)(C20*), ABISELECT(16,12), "E20x5");
+ check_base_class_offset(lv, (C20*), ABISELECT(16,12), "E20x5");
+ check_base_class_offset(lv, (D0*), ABISELECT(8,4), "E20x5");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E20x5.fd");
+ test_class_info(&lv, &cd_E20x5);
+ dp->~E20x5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE20x5(Test_E20x5, "E20x5", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E20x5C1Ev();
+extern void _ZN5E20x5D1Ev();
+Name_Map name_map_E20x5[] = {
+ NSPAIR(_ZN5E20x5C1Ev),
+ NSPAIR(_ZN5E20x5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E20x5[] = {
+ // 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)
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E20x5[];
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY vtc_E20x5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x5[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E20x5[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+extern VTBL_ENTRY _ZTV5E20x5[];
+static VTT_ENTRY vtt_E20x5[] = {
+ {&(_ZTV5E20x5[3]), 3,7},
+ {&(_ZTV5E20x5[6]), 6,7},
+};
+extern VTBL_ENTRY _ZTI5E20x5[];
+extern VTBL_ENTRY _ZTV5E20x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x5[];
+Class_Descriptor cd_E20x5 = { "E20x5", // class name
+ bases_E20x5, 4,
+ &(vtc_E20x5[0]), // expected_vtbl_contents
+ &(vtt_E20x5[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E20x5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E20x5),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E20x5),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 G20x5y0 : E20x5 , F1 {
+ int ff;
+ ~G20x5y0(); // tgen
+ G20x5y0(); // tgen
+};
+//SIG(1 G20x5y0) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G20x5y0 ::~G20x5y0(){ note_dtor("G20x5y0", this);} // tgen
+G20x5y0 ::G20x5y0(){ note_ctor("G20x5y0", this);} // tgen
+
+static void Test_G20x5y0()
+{
+ extern Class_Descriptor cd_G20x5y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G20x5y0, buf);
+ G20x5y0 *dp, &lv = *(dp=new (buf) G20x5y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G20x5y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x5y0)");
+ check_base_class_offset(lv, (A0*)(C20*), ABISELECT(44,32), "G20x5y0");
+ check_base_class_offset(lv, (B1*)(C20*), ABISELECT(32,24), "G20x5y0");
+ check_base_class_offset(lv, (C20*)(E20x5*), ABISELECT(32,24), "G20x5y0");
+ check_base_class_offset(lv, (D0*)(E20x5*), ABISELECT(8,4), "G20x5y0");
+ check_base_class_offset(lv, (E20x5*), 0, "G20x5y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G20x5y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G20x5y0.ff");
+ test_class_info(&lv, &cd_G20x5y0);
+ dp->~G20x5y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x5y0(Test_G20x5y0, "G20x5y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G20x5y0C1Ev();
+extern void _ZN7G20x5y0D1Ev();
+Name_Map name_map_G20x5y0[] = {
+ NSPAIR(_ZN7G20x5y0C1Ev),
+ NSPAIR(_ZN7G20x5y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E20x5;
+extern VTBL_ENTRY _ZTI5E20x5[];
+extern VTBL_ENTRY _ZTV5E20x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G20x5y0[] = {
+ // 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
+ 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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E20x5, 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
+ 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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G20x5y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY vtc_G20x5y0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x5y0[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G20x5y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G20x5y0[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x5y0[];
+static VTBL_ENTRY _tg__ZTV5E20x5__7G20x5y0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x5[0]),
+};
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY _tg__ZTV3C20__5E20x5__7G20x5y0[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E20x5[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+static VTT_ENTRY vtt_G20x5y0[] = {
+ {&(_ZTV7G20x5y0[3]), 3,10},
+ {&(_tg__ZTV5E20x5__7G20x5y0[3]), 3,3},
+ {&(_tg__ZTV3C20__5E20x5__7G20x5y0[3]), 3,4},
+ {&(_ZTV7G20x5y0[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI7G20x5y0[];
+extern VTBL_ENTRY _ZTV7G20x5y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x5y0[];
+Class_Descriptor cd_G20x5y0 = { "G20x5y0", // class name
+ bases_G20x5y0, 6,
+ &(vtc_G20x5y0[0]), // expected_vtbl_contents
+ &(vtt_G20x5y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G20x5y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x5y0),10, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x5y0),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 G20x5y1 : virtual E20x5 , F1 {
+ int ff;
+ ~G20x5y1(); // tgen
+ G20x5y1(); // tgen
+};
+//SIG(1 G20x5y1) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G20x5y1 ::~G20x5y1(){ note_dtor("G20x5y1", this);} // tgen
+G20x5y1 ::G20x5y1(){ note_ctor("G20x5y1", this);} // tgen
+
+static void Test_G20x5y1()
+{
+ extern Class_Descriptor cd_G20x5y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G20x5y1, buf);
+ G20x5y1 *dp, &lv = *(dp=new (buf) G20x5y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G20x5y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x5y1)");
+ check_base_class_offset(lv, (A0*)(C20*), ABISELECT(44,32), "G20x5y1");
+ check_base_class_offset(lv, (B1*)(C20*), ABISELECT(32,24), "G20x5y1");
+ check_base_class_offset(lv, (C20*)(E20x5*), ABISELECT(32,24), "G20x5y1");
+ check_base_class_offset(lv, (D0*)(E20x5*), ABISELECT(24,16), "G20x5y1");
+ check_base_class_offset(lv, (E20x5*), ABISELECT(16,12), "G20x5y1");
+ check_base_class_offset(lv, (F1*), 0, "G20x5y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G20x5y1.ff");
+ test_class_info(&lv, &cd_G20x5y1);
+ dp->~G20x5y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x5y1(Test_G20x5y1, "G20x5y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G20x5y1C1Ev();
+extern void _ZN7G20x5y1D1Ev();
+Name_Map name_map_G20x5y1[] = {
+ NSPAIR(_ZN7G20x5y1C1Ev),
+ NSPAIR(_ZN7G20x5y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E20x5;
+extern VTBL_ENTRY _ZTI5E20x5[];
+extern VTBL_ENTRY _ZTV5E20x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G20x5y1[] = {
+ // 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
+ 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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_E20x5, 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
+ 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 _ZTI7G20x5y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY vtc_G20x5y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x5y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G20x5y1[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G20x5y1[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x5y1[];
+static VTBL_ENTRY _tg__ZTV5E20x5__7G20x5y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x5[0]),
+};
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY _tg__ZTV3C20__5E20x5__7G20x5y1[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E20x5[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+static VTT_ENTRY vtt_G20x5y1[] = {
+ {&(_ZTV7G20x5y1[4]), 4,12},
+ {&(_ZTV7G20x5y1[8]), 8,12},
+ {&(_ZTV7G20x5y1[11]), 11,12},
+ {&(_tg__ZTV5E20x5__7G20x5y1[3]), 3,3},
+ {&(_tg__ZTV3C20__5E20x5__7G20x5y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G20x5y1[];
+extern VTBL_ENTRY _ZTV7G20x5y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x5y1[];
+Class_Descriptor cd_G20x5y1 = { "G20x5y1", // class name
+ bases_G20x5y1, 6,
+ &(vtc_G20x5y1[0]), // expected_vtbl_contents
+ &(vtt_G20x5y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G20x5y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x5y1),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x5y1),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 G20x5y2 : E20x5 , virtual F1 {
+ int ff;
+ ~G20x5y2(); // tgen
+ G20x5y2(); // tgen
+};
+//SIG(1 G20x5y2) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G20x5y2 ::~G20x5y2(){ note_dtor("G20x5y2", this);} // tgen
+G20x5y2 ::G20x5y2(){ note_ctor("G20x5y2", this);} // tgen
+
+static void Test_G20x5y2()
+{
+ extern Class_Descriptor cd_G20x5y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G20x5y2, buf);
+ G20x5y2 *dp, &lv = *(dp=new (buf) G20x5y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G20x5y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x5y2)");
+ check_base_class_offset(lv, (A0*)(C20*), ABISELECT(36,24), "G20x5y2");
+ check_base_class_offset(lv, (B1*)(C20*), ABISELECT(24,16), "G20x5y2");
+ check_base_class_offset(lv, (C20*)(E20x5*), ABISELECT(24,16), "G20x5y2");
+ check_base_class_offset(lv, (D0*)(E20x5*), ABISELECT(8,4), "G20x5y2");
+ check_base_class_offset(lv, (E20x5*), 0, "G20x5y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G20x5y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G20x5y2.ff");
+ test_class_info(&lv, &cd_G20x5y2);
+ dp->~G20x5y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x5y2(Test_G20x5y2, "G20x5y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G20x5y2C1Ev();
+extern void _ZN7G20x5y2D1Ev();
+Name_Map name_map_G20x5y2[] = {
+ NSPAIR(_ZN7G20x5y2C1Ev),
+ NSPAIR(_ZN7G20x5y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E20x5;
+extern VTBL_ENTRY _ZTI5E20x5[];
+extern VTBL_ENTRY _ZTV5E20x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G20x5y2[] = {
+ // 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)
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E20x5, 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
+ 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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G20x5y2[];
+extern void _ZN3C203fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G20x5y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x5y2[0]),
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G20x5y2[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G20x5y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x5y2[];
+static VTBL_ENTRY _tg__ZTV5E20x5__7G20x5y2[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x5[0]),
+};
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY _tg__ZTV3C20__5E20x5__7G20x5y2[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E20x5[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+static VTT_ENTRY vtt_G20x5y2[] = {
+ {&(_ZTV7G20x5y2[4]), 4,12},
+ {&(_tg__ZTV5E20x5__7G20x5y2[3]), 3,3},
+ {&(_tg__ZTV3C20__5E20x5__7G20x5y2[3]), 3,4},
+ {&(_ZTV7G20x5y2[7]), 7,12},
+ {&(_ZTV7G20x5y2[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI7G20x5y2[];
+extern VTBL_ENTRY _ZTV7G20x5y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x5y2[];
+Class_Descriptor cd_G20x5y2 = { "G20x5y2", // class name
+ bases_G20x5y2, 6,
+ &(vtc_G20x5y2[0]), // expected_vtbl_contents
+ &(vtt_G20x5y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G20x5y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x5y2),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x5y2),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 G20x5y3 : virtual E20x5 , virtual F1 {
+ int ff;
+ ~G20x5y3(); // tgen
+ G20x5y3(); // tgen
+};
+//SIG(1 G20x5y3) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G20x5y3 ::~G20x5y3(){ note_dtor("G20x5y3", this);} // tgen
+G20x5y3 ::G20x5y3(){ note_ctor("G20x5y3", this);} // tgen
+
+static void Test_G20x5y3()
+{
+ extern Class_Descriptor cd_G20x5y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G20x5y3, buf);
+ G20x5y3 *dp, &lv = *(dp=new (buf) G20x5y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G20x5y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x5y3)");
+ check_base_class_offset(lv, (A0*)(C20*), ABISELECT(44,28), "G20x5y3");
+ check_base_class_offset(lv, (B1*)(C20*), ABISELECT(32,20), "G20x5y3");
+ check_base_class_offset(lv, (C20*)(E20x5*), ABISELECT(32,20), "G20x5y3");
+ check_base_class_offset(lv, (D0*)(E20x5*), ABISELECT(24,12), "G20x5y3");
+ check_base_class_offset(lv, (E20x5*), ABISELECT(16,8), "G20x5y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G20x5y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G20x5y3.ff");
+ test_class_info(&lv, &cd_G20x5y3);
+ dp->~G20x5y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x5y3(Test_G20x5y3, "G20x5y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G20x5y3C1Ev();
+extern void _ZN7G20x5y3D1Ev();
+Name_Map name_map_G20x5y3[] = {
+ NSPAIR(_ZN7G20x5y3C1Ev),
+ NSPAIR(_ZN7G20x5y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E20x5;
+extern VTBL_ENTRY _ZTI5E20x5[];
+extern VTBL_ENTRY _ZTV5E20x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G20x5y3[] = {
+ // 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
+ 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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_E20x5, 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
+ 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 _ZTI7G20x5y3[];
+extern void _ZN3C203fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G20x5y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x5y3[0]),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G20x5y3[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G20x5y3[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G20x5y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x5y3[];
+static VTBL_ENTRY _tg__ZTV5E20x5__7G20x5y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x5[0]),
+};
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY _tg__ZTV3C20__5E20x5__7G20x5y3[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E20x5[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+static VTT_ENTRY vtt_G20x5y3[] = {
+ {&(_ZTV7G20x5y3[5]), 5,16},
+ {&(_ZTV7G20x5y3[8]), 8,16},
+ {&(_ZTV7G20x5y3[11]), 11,16},
+ {&(_ZTV7G20x5y3[15]), 15,16},
+ {&(_tg__ZTV5E20x5__7G20x5y3[3]), 3,3},
+ {&(_tg__ZTV3C20__5E20x5__7G20x5y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G20x5y3[];
+extern VTBL_ENTRY _ZTV7G20x5y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x5y3[];
+Class_Descriptor cd_G20x5y3 = { "G20x5y3", // class name
+ bases_G20x5y3, 6,
+ &(vtc_G20x5y3[0]), // expected_vtbl_contents
+ &(vtt_G20x5y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G20x5y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x5y3),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x5y3),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 G20x5y4 : E20x5 , F0 {
+ int ff;
+ ~G20x5y4(); // tgen
+ G20x5y4(); // tgen
+};
+//SIG(1 G20x5y4) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G20x5y4 ::~G20x5y4(){ note_dtor("G20x5y4", this);} // tgen
+G20x5y4 ::G20x5y4(){ note_ctor("G20x5y4", this);} // tgen
+
+static void Test_G20x5y4()
+{
+ extern Class_Descriptor cd_G20x5y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G20x5y4, buf);
+ G20x5y4 *dp, &lv = *(dp=new (buf) G20x5y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G20x5y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x5y4)");
+ check_base_class_offset(lv, (A0*)(C20*), ABISELECT(36,28), "G20x5y4");
+ check_base_class_offset(lv, (B1*)(C20*), ABISELECT(24,20), "G20x5y4");
+ check_base_class_offset(lv, (C20*)(E20x5*), ABISELECT(24,20), "G20x5y4");
+ check_base_class_offset(lv, (D0*)(E20x5*), ABISELECT(8,4), "G20x5y4");
+ check_base_class_offset(lv, (E20x5*), 0, "G20x5y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G20x5y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G20x5y4.ff");
+ test_class_info(&lv, &cd_G20x5y4);
+ dp->~G20x5y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x5y4(Test_G20x5y4, "G20x5y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G20x5y4C1Ev();
+extern void _ZN7G20x5y4D1Ev();
+Name_Map name_map_G20x5y4[] = {
+ NSPAIR(_ZN7G20x5y4C1Ev),
+ NSPAIR(_ZN7G20x5y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E20x5;
+extern VTBL_ENTRY _ZTI5E20x5[];
+extern VTBL_ENTRY _ZTV5E20x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G20x5y4[] = {
+ // 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
+ 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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E20x5, 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 _ZTI7G20x5y4[];
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY vtc_G20x5y4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x5y4[0]),
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G20x5y4[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x5y4[];
+static VTBL_ENTRY _tg__ZTV5E20x5__7G20x5y4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x5[0]),
+};
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY _tg__ZTV3C20__5E20x5__7G20x5y4[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E20x5[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+static VTT_ENTRY vtt_G20x5y4[] = {
+ {&(_ZTV7G20x5y4[3]), 3,7},
+ {&(_tg__ZTV5E20x5__7G20x5y4[3]), 3,3},
+ {&(_tg__ZTV3C20__5E20x5__7G20x5y4[3]), 3,4},
+ {&(_ZTV7G20x5y4[6]), 6,7},
+};
+extern VTBL_ENTRY _ZTI7G20x5y4[];
+extern VTBL_ENTRY _ZTV7G20x5y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x5y4[];
+Class_Descriptor cd_G20x5y4 = { "G20x5y4", // class name
+ bases_G20x5y4, 6,
+ &(vtc_G20x5y4[0]), // expected_vtbl_contents
+ &(vtt_G20x5y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G20x5y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x5y4),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x5y4),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 G20x5y5 : virtual E20x5 , F0 {
+ int ff;
+ ~G20x5y5(); // tgen
+ G20x5y5(); // tgen
+};
+//SIG(1 G20x5y5) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G20x5y5 ::~G20x5y5(){ note_dtor("G20x5y5", this);} // tgen
+G20x5y5 ::G20x5y5(){ note_ctor("G20x5y5", this);} // tgen
+
+static void Test_G20x5y5()
+{
+ extern Class_Descriptor cd_G20x5y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G20x5y5, buf);
+ G20x5y5 *dp, &lv = *(dp=new (buf) G20x5y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G20x5y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x5y5)");
+ check_base_class_offset(lv, (A0*)(C20*), ABISELECT(44,32), "G20x5y5");
+ check_base_class_offset(lv, (B1*)(C20*), ABISELECT(32,24), "G20x5y5");
+ check_base_class_offset(lv, (C20*)(E20x5*), ABISELECT(32,24), "G20x5y5");
+ check_base_class_offset(lv, (D0*)(E20x5*), ABISELECT(24,16), "G20x5y5");
+ check_base_class_offset(lv, (E20x5*), ABISELECT(16,12), "G20x5y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G20x5y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G20x5y5.ff");
+ test_class_info(&lv, &cd_G20x5y5);
+ dp->~G20x5y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x5y5(Test_G20x5y5, "G20x5y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G20x5y5C1Ev();
+extern void _ZN7G20x5y5D1Ev();
+Name_Map name_map_G20x5y5[] = {
+ NSPAIR(_ZN7G20x5y5C1Ev),
+ NSPAIR(_ZN7G20x5y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E20x5;
+extern VTBL_ENTRY _ZTI5E20x5[];
+extern VTBL_ENTRY _ZTV5E20x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G20x5y5[] = {
+ // 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)
+ 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_D0, 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_E20x5, 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
+ 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 _ZTI7G20x5y5[];
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY vtc_G20x5y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x5y5[0]),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G20x5y5[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G20x5y5[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x5y5[];
+static VTBL_ENTRY _tg__ZTV5E20x5__7G20x5y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x5[0]),
+};
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY _tg__ZTV3C20__5E20x5__7G20x5y5[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E20x5[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+static VTT_ENTRY vtt_G20x5y5[] = {
+ {&(_ZTV7G20x5y5[4]), 4,11},
+ {&(_ZTV7G20x5y5[7]), 7,11},
+ {&(_ZTV7G20x5y5[10]), 10,11},
+ {&(_tg__ZTV5E20x5__7G20x5y5[3]), 3,3},
+ {&(_tg__ZTV3C20__5E20x5__7G20x5y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G20x5y5[];
+extern VTBL_ENTRY _ZTV7G20x5y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x5y5[];
+Class_Descriptor cd_G20x5y5 = { "G20x5y5", // class name
+ bases_G20x5y5, 6,
+ &(vtc_G20x5y5[0]), // expected_vtbl_contents
+ &(vtt_G20x5y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G20x5y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x5y5),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x5y5),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 G20x5y6 : E20x5 , virtual F0 {
+ int ff;
+ ~G20x5y6(); // tgen
+ G20x5y6(); // tgen
+};
+//SIG(1 G20x5y6) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G20x5y6 ::~G20x5y6(){ note_dtor("G20x5y6", this);} // tgen
+G20x5y6 ::G20x5y6(){ note_ctor("G20x5y6", this);} // tgen
+
+static void Test_G20x5y6()
+{
+ extern Class_Descriptor cd_G20x5y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G20x5y6, buf);
+ G20x5y6 *dp, &lv = *(dp=new (buf) G20x5y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G20x5y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x5y6)");
+ check_base_class_offset(lv, (A0*)(C20*), ABISELECT(36,24), "G20x5y6");
+ check_base_class_offset(lv, (B1*)(C20*), ABISELECT(24,16), "G20x5y6");
+ check_base_class_offset(lv, (C20*)(E20x5*), ABISELECT(24,16), "G20x5y6");
+ check_base_class_offset(lv, (D0*)(E20x5*), ABISELECT(8,4), "G20x5y6");
+ check_base_class_offset(lv, (E20x5*), 0, "G20x5y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G20x5y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G20x5y6.ff");
+ test_class_info(&lv, &cd_G20x5y6);
+ dp->~G20x5y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x5y6(Test_G20x5y6, "G20x5y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G20x5y6C1Ev();
+extern void _ZN7G20x5y6D1Ev();
+Name_Map name_map_G20x5y6[] = {
+ NSPAIR(_ZN7G20x5y6C1Ev),
+ NSPAIR(_ZN7G20x5y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E20x5;
+extern VTBL_ENTRY _ZTI5E20x5[];
+extern VTBL_ENTRY _ZTV5E20x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G20x5y6[] = {
+ // 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)
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E20x5, 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 _ZTI7G20x5y6[];
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY vtc_G20x5y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x5y6[0]),
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G20x5y6[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x5y6[];
+static VTBL_ENTRY _tg__ZTV5E20x5__7G20x5y6[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x5[0]),
+};
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY _tg__ZTV3C20__5E20x5__7G20x5y6[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E20x5[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+static VTT_ENTRY vtt_G20x5y6[] = {
+ {&(_ZTV7G20x5y6[4]), 4,8},
+ {&(_tg__ZTV5E20x5__7G20x5y6[3]), 3,3},
+ {&(_tg__ZTV3C20__5E20x5__7G20x5y6[3]), 3,4},
+ {&(_ZTV7G20x5y6[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI7G20x5y6[];
+extern VTBL_ENTRY _ZTV7G20x5y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x5y6[];
+Class_Descriptor cd_G20x5y6 = { "G20x5y6", // class name
+ bases_G20x5y6, 6,
+ &(vtc_G20x5y6[0]), // expected_vtbl_contents
+ &(vtt_G20x5y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G20x5y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x5y6),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x5y6),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 G20x5y7 : virtual E20x5 , virtual F0 {
+ int ff;
+ ~G20x5y7(); // tgen
+ G20x5y7(); // tgen
+};
+//SIG(1 G20x5y7) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G20x5y7 ::~G20x5y7(){ note_dtor("G20x5y7", this);} // tgen
+G20x5y7 ::G20x5y7(){ note_ctor("G20x5y7", this);} // tgen
+
+static void Test_G20x5y7()
+{
+ extern Class_Descriptor cd_G20x5y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G20x5y7, buf);
+ G20x5y7 *dp, &lv = *(dp=new (buf) G20x5y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G20x5y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x5y7)");
+ check_base_class_offset(lv, (A0*)(C20*), ABISELECT(44,28), "G20x5y7");
+ check_base_class_offset(lv, (B1*)(C20*), ABISELECT(32,20), "G20x5y7");
+ check_base_class_offset(lv, (C20*)(E20x5*), ABISELECT(32,20), "G20x5y7");
+ check_base_class_offset(lv, (D0*)(E20x5*), ABISELECT(24,12), "G20x5y7");
+ check_base_class_offset(lv, (E20x5*), ABISELECT(16,8), "G20x5y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G20x5y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G20x5y7.ff");
+ test_class_info(&lv, &cd_G20x5y7);
+ dp->~G20x5y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x5y7(Test_G20x5y7, "G20x5y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G20x5y7C1Ev();
+extern void _ZN7G20x5y7D1Ev();
+Name_Map name_map_G20x5y7[] = {
+ NSPAIR(_ZN7G20x5y7C1Ev),
+ NSPAIR(_ZN7G20x5y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E20x5;
+extern VTBL_ENTRY _ZTI5E20x5[];
+extern VTBL_ENTRY _ZTV5E20x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G20x5y7[] = {
+ // 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
+ 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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_E20x5, 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
+ 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 _ZTI7G20x5y7[];
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY vtc_G20x5y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x5y7[0]),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G20x5y7[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G20x5y7[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x5y7[];
+static VTBL_ENTRY _tg__ZTV5E20x5__7G20x5y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x5[0]),
+};
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY _tg__ZTV3C20__5E20x5__7G20x5y7[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E20x5[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+static VTT_ENTRY vtt_G20x5y7[] = {
+ {&(_ZTV7G20x5y7[5]), 5,12},
+ {&(_ZTV7G20x5y7[8]), 8,12},
+ {&(_ZTV7G20x5y7[11]), 11,12},
+ {&(_tg__ZTV5E20x5__7G20x5y7[3]), 3,3},
+ {&(_tg__ZTV3C20__5E20x5__7G20x5y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G20x5y7[];
+extern VTBL_ENTRY _ZTV7G20x5y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x5y7[];
+Class_Descriptor cd_G20x5y7 = { "G20x5y7", // class name
+ bases_G20x5y7, 6,
+ &(vtc_G20x5y7[0]), // expected_vtbl_contents
+ &(vtt_G20x5y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G20x5y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x5y7),12, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x5y7),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 E21x5 : virtual C21 , D0 {
+ int fd;
+ ~E21x5(); // tgen
+ E21x5(); // tgen
+};
+//SIG(-1 E21x5) C1{ VBC2{ BC3{ v1 Fi} BC4{ v1 Fi} v1 Fi} BC5{ Fi} Fi}
+
+
+E21x5 ::~E21x5(){ note_dtor("E21x5", this);} // tgen
+E21x5 ::E21x5(){ note_ctor("E21x5", this);} // tgen
+
+static void Test_E21x5()
+{
+ extern Class_Descriptor cd_E21x5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E21x5, buf);
+ E21x5 *dp, &lv = *(dp=new (buf) E21x5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E21x5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E21x5)");
+ check_base_class_offset(lv, (A1*)(C21*), ABISELECT(16,12), "E21x5");
+ check_base_class_offset(lv, (B1*)(C21*), ABISELECT(32,20), "E21x5");
+ check_base_class_offset(lv, (C21*), ABISELECT(16,12), "E21x5");
+ check_base_class_offset(lv, (D0*), ABISELECT(8,4), "E21x5");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E21x5.fd");
+ test_class_info(&lv, &cd_E21x5);
+ dp->~E21x5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE21x5(Test_E21x5, "E21x5", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN5E21x5C1Ev();
+extern void _ZN5E21x5D1Ev();
+Name_Map name_map_E21x5[] = {
+ NSPAIR(_ZN5E21x5C1Ev),
+ NSPAIR(_ZN5E21x5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E21x5[] = {
+ // 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)
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E21x5[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY vtc_E21x5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x5[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E21x5[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E21x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+extern VTBL_ENTRY _ZTV5E21x5[];
+static VTT_ENTRY vtt_E21x5[] = {
+ {&(_ZTV5E21x5[3]), 3,10},
+ {&(_ZTV5E21x5[6]), 6,10},
+ {&(_ZTV5E21x5[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI5E21x5[];
+extern VTBL_ENTRY _ZTV5E21x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x5[];
+Class_Descriptor cd_E21x5 = { "E21x5", // class name
+ bases_E21x5, 4,
+ &(vtc_E21x5[0]), // expected_vtbl_contents
+ &(vtt_E21x5[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI5E21x5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E21x5),10, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E21x5),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 G21x5y0 : E21x5 , F1 {
+ int ff;
+ ~G21x5y0(); // tgen
+ G21x5y0(); // tgen
+};
+//SIG(1 G21x5y0) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G21x5y0 ::~G21x5y0(){ note_dtor("G21x5y0", this);} // tgen
+G21x5y0 ::G21x5y0(){ note_ctor("G21x5y0", this);} // tgen
+
+static void Test_G21x5y0()
+{
+ extern Class_Descriptor cd_G21x5y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G21x5y0, buf);
+ G21x5y0 *dp, &lv = *(dp=new (buf) G21x5y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G21x5y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x5y0)");
+ check_base_class_offset(lv, (A1*)(C21*), ABISELECT(32,24), "G21x5y0");
+ check_base_class_offset(lv, (B1*)(C21*), ABISELECT(48,32), "G21x5y0");
+ check_base_class_offset(lv, (C21*)(E21x5*), ABISELECT(32,24), "G21x5y0");
+ check_base_class_offset(lv, (D0*)(E21x5*), ABISELECT(8,4), "G21x5y0");
+ check_base_class_offset(lv, (E21x5*), 0, "G21x5y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G21x5y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G21x5y0.ff");
+ test_class_info(&lv, &cd_G21x5y0);
+ dp->~G21x5y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x5y0(Test_G21x5y0, "G21x5y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G21x5y0C1Ev();
+extern void _ZN7G21x5y0D1Ev();
+Name_Map name_map_G21x5y0[] = {
+ NSPAIR(_ZN7G21x5y0C1Ev),
+ NSPAIR(_ZN7G21x5y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E21x5;
+extern VTBL_ENTRY _ZTI5E21x5[];
+extern VTBL_ENTRY _ZTV5E21x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G21x5y0[] = {
+ // 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
+ 10, //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
+ 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E21x5, 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
+ 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
+ 5, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G21x5y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY vtc_G21x5y0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x5y0[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G21x5y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G21x5y0[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G21x5y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+extern VTBL_ENTRY _ZTV7G21x5y0[];
+static VTBL_ENTRY _tg__ZTV5E21x5__7G21x5y0[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x5[0]),
+};
+extern void _ZN3C213fooEv();
+static VTBL_ENTRY _tg__ZTV3C21__5E21x5__7G21x5y0[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E21x5[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+};
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY _tg__ZTV2B13C21__5E21x5__7G21x5y0[] = {
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E21x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+static VTT_ENTRY vtt_G21x5y0[] = {
+ {&(_ZTV7G21x5y0[3]), 3,13},
+ {&(_tg__ZTV5E21x5__7G21x5y0[3]), 3,3},
+ {&(_tg__ZTV3C21__5E21x5__7G21x5y0[3]), 3,4},
+ {&(_tg__ZTV2B13C21__5E21x5__7G21x5y0[2]), 2,3},
+ {&(_ZTV7G21x5y0[9]), 9,13},
+ {&(_ZTV7G21x5y0[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI7G21x5y0[];
+extern VTBL_ENTRY _ZTV7G21x5y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x5y0[];
+Class_Descriptor cd_G21x5y0 = { "G21x5y0", // class name
+ bases_G21x5y0, 6,
+ &(vtc_G21x5y0[0]), // expected_vtbl_contents
+ &(vtt_G21x5y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G21x5y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x5y0),13, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x5y0),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 G21x5y1 : virtual E21x5 , F1 {
+ int ff;
+ ~G21x5y1(); // tgen
+ G21x5y1(); // tgen
+};
+//SIG(1 G21x5y1) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G21x5y1 ::~G21x5y1(){ note_dtor("G21x5y1", this);} // tgen
+G21x5y1 ::G21x5y1(){ note_ctor("G21x5y1", this);} // tgen
+
+static void Test_G21x5y1()
+{
+ extern Class_Descriptor cd_G21x5y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G21x5y1, buf);
+ G21x5y1 *dp, &lv = *(dp=new (buf) G21x5y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G21x5y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x5y1)");
+ check_base_class_offset(lv, (A1*)(C21*), ABISELECT(32,24), "G21x5y1");
+ check_base_class_offset(lv, (B1*)(C21*), ABISELECT(48,32), "G21x5y1");
+ check_base_class_offset(lv, (C21*)(E21x5*), ABISELECT(32,24), "G21x5y1");
+ check_base_class_offset(lv, (D0*)(E21x5*), ABISELECT(24,16), "G21x5y1");
+ check_base_class_offset(lv, (E21x5*), ABISELECT(16,12), "G21x5y1");
+ check_base_class_offset(lv, (F1*), 0, "G21x5y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G21x5y1.ff");
+ test_class_info(&lv, &cd_G21x5y1);
+ dp->~G21x5y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x5y1(Test_G21x5y1, "G21x5y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G21x5y1C1Ev();
+extern void _ZN7G21x5y1D1Ev();
+Name_Map name_map_G21x5y1[] = {
+ NSPAIR(_ZN7G21x5y1C1Ev),
+ NSPAIR(_ZN7G21x5y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E21x5;
+extern VTBL_ENTRY _ZTI5E21x5[];
+extern VTBL_ENTRY _ZTV5E21x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G21x5y1[] = {
+ // 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
+ 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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C21, 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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_E21x5, 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
+ 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 _ZTI7G21x5y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY vtc_G21x5y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x5y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G21x5y1[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G21x5y1[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G21x5y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+extern VTBL_ENTRY _ZTV7G21x5y1[];
+static VTBL_ENTRY _tg__ZTV5E21x5__7G21x5y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x5[0]),
+};
+extern void _ZN3C213fooEv();
+static VTBL_ENTRY _tg__ZTV3C21__5E21x5__7G21x5y1[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E21x5[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+};
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY _tg__ZTV2B13C21__5E21x5__7G21x5y1[] = {
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E21x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+static VTT_ENTRY vtt_G21x5y1[] = {
+ {&(_ZTV7G21x5y1[4]), 4,15},
+ {&(_ZTV7G21x5y1[8]), 8,15},
+ {&(_ZTV7G21x5y1[11]), 11,15},
+ {&(_ZTV7G21x5y1[14]), 14,15},
+ {&(_tg__ZTV5E21x5__7G21x5y1[3]), 3,3},
+ {&(_tg__ZTV3C21__5E21x5__7G21x5y1[3]), 3,4},
+ {&(_tg__ZTV2B13C21__5E21x5__7G21x5y1[2]), 2,3},
+};
+extern VTBL_ENTRY _ZTI7G21x5y1[];
+extern VTBL_ENTRY _ZTV7G21x5y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x5y1[];
+Class_Descriptor cd_G21x5y1 = { "G21x5y1", // class name
+ bases_G21x5y1, 6,
+ &(vtc_G21x5y1[0]), // expected_vtbl_contents
+ &(vtt_G21x5y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G21x5y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x5y1),15, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x5y1),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 G21x5y2 : E21x5 , virtual F1 {
+ int ff;
+ ~G21x5y2(); // tgen
+ G21x5y2(); // tgen
+};
+//SIG(1 G21x5y2) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G21x5y2 ::~G21x5y2(){ note_dtor("G21x5y2", this);} // tgen
+G21x5y2 ::G21x5y2(){ note_ctor("G21x5y2", this);} // tgen
+
+static void Test_G21x5y2()
+{
+ extern Class_Descriptor cd_G21x5y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G21x5y2, buf);
+ G21x5y2 *dp, &lv = *(dp=new (buf) G21x5y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G21x5y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x5y2)");
+ check_base_class_offset(lv, (A1*)(C21*), ABISELECT(24,16), "G21x5y2");
+ check_base_class_offset(lv, (B1*)(C21*), ABISELECT(40,24), "G21x5y2");
+ check_base_class_offset(lv, (C21*)(E21x5*), ABISELECT(24,16), "G21x5y2");
+ check_base_class_offset(lv, (D0*)(E21x5*), ABISELECT(8,4), "G21x5y2");
+ check_base_class_offset(lv, (E21x5*), 0, "G21x5y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G21x5y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G21x5y2.ff");
+ test_class_info(&lv, &cd_G21x5y2);
+ dp->~G21x5y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x5y2(Test_G21x5y2, "G21x5y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G21x5y2C1Ev();
+extern void _ZN7G21x5y2D1Ev();
+Name_Map name_map_G21x5y2[] = {
+ NSPAIR(_ZN7G21x5y2C1Ev),
+ NSPAIR(_ZN7G21x5y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E21x5;
+extern VTBL_ENTRY _ZTI5E21x5[];
+extern VTBL_ENTRY _ZTV5E21x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G21x5y2[] = {
+ // 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)
+ 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
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E21x5, 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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G21x5y2[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G21x5y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x5y2[0]),
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G21x5y2[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G21x5y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G21x5y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G21x5y2[];
+static VTBL_ENTRY _tg__ZTV5E21x5__7G21x5y2[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x5[0]),
+};
+extern void _ZN3C213fooEv();
+static VTBL_ENTRY _tg__ZTV3C21__5E21x5__7G21x5y2[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E21x5[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+};
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY _tg__ZTV2B13C21__5E21x5__7G21x5y2[] = {
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E21x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+static VTT_ENTRY vtt_G21x5y2[] = {
+ {&(_ZTV7G21x5y2[4]), 4,15},
+ {&(_tg__ZTV5E21x5__7G21x5y2[3]), 3,3},
+ {&(_tg__ZTV3C21__5E21x5__7G21x5y2[3]), 3,4},
+ {&(_tg__ZTV2B13C21__5E21x5__7G21x5y2[2]), 2,3},
+ {&(_ZTV7G21x5y2[7]), 7,15},
+ {&(_ZTV7G21x5y2[10]), 10,15},
+ {&(_ZTV7G21x5y2[14]), 14,15},
+};
+extern VTBL_ENTRY _ZTI7G21x5y2[];
+extern VTBL_ENTRY _ZTV7G21x5y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x5y2[];
+Class_Descriptor cd_G21x5y2 = { "G21x5y2", // class name
+ bases_G21x5y2, 6,
+ &(vtc_G21x5y2[0]), // expected_vtbl_contents
+ &(vtt_G21x5y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G21x5y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x5y2),15, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x5y2),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 G21x5y3 : virtual E21x5 , virtual F1 {
+ int ff;
+ ~G21x5y3(); // tgen
+ G21x5y3(); // tgen
+};
+//SIG(1 G21x5y3) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G21x5y3 ::~G21x5y3(){ note_dtor("G21x5y3", this);} // tgen
+G21x5y3 ::G21x5y3(){ note_ctor("G21x5y3", this);} // tgen
+
+static void Test_G21x5y3()
+{
+ extern Class_Descriptor cd_G21x5y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G21x5y3, buf);
+ G21x5y3 *dp, &lv = *(dp=new (buf) G21x5y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G21x5y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x5y3)");
+ check_base_class_offset(lv, (A1*)(C21*), ABISELECT(32,20), "G21x5y3");
+ check_base_class_offset(lv, (B1*)(C21*), ABISELECT(48,28), "G21x5y3");
+ check_base_class_offset(lv, (C21*)(E21x5*), ABISELECT(32,20), "G21x5y3");
+ check_base_class_offset(lv, (D0*)(E21x5*), ABISELECT(24,12), "G21x5y3");
+ check_base_class_offset(lv, (E21x5*), ABISELECT(16,8), "G21x5y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G21x5y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G21x5y3.ff");
+ test_class_info(&lv, &cd_G21x5y3);
+ dp->~G21x5y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x5y3(Test_G21x5y3, "G21x5y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G21x5y3C1Ev();
+extern void _ZN7G21x5y3D1Ev();
+Name_Map name_map_G21x5y3[] = {
+ NSPAIR(_ZN7G21x5y3C1Ev),
+ NSPAIR(_ZN7G21x5y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E21x5;
+extern VTBL_ENTRY _ZTI5E21x5[];
+extern VTBL_ENTRY _ZTV5E21x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G21x5y3[] = {
+ // 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
+ 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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C21, 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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_E21x5, 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
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, ABISELECT(64,40), //bcp->offset
+ 15, //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 _ZTI7G21x5y3[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G21x5y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x5y3[0]),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G21x5y3[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G21x5y3[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G21x5y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G21x5y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G21x5y3[];
+static VTBL_ENTRY _tg__ZTV5E21x5__7G21x5y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x5[0]),
+};
+extern void _ZN3C213fooEv();
+static VTBL_ENTRY _tg__ZTV3C21__5E21x5__7G21x5y3[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E21x5[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+};
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY _tg__ZTV2B13C21__5E21x5__7G21x5y3[] = {
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E21x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+static VTT_ENTRY vtt_G21x5y3[] = {
+ {&(_ZTV7G21x5y3[5]), 5,19},
+ {&(_ZTV7G21x5y3[8]), 8,19},
+ {&(_ZTV7G21x5y3[11]), 11,19},
+ {&(_ZTV7G21x5y3[14]), 14,19},
+ {&(_ZTV7G21x5y3[18]), 18,19},
+ {&(_tg__ZTV5E21x5__7G21x5y3[3]), 3,3},
+ {&(_tg__ZTV3C21__5E21x5__7G21x5y3[3]), 3,4},
+ {&(_tg__ZTV2B13C21__5E21x5__7G21x5y3[2]), 2,3},
+};
+extern VTBL_ENTRY _ZTI7G21x5y3[];
+extern VTBL_ENTRY _ZTV7G21x5y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x5y3[];
+Class_Descriptor cd_G21x5y3 = { "G21x5y3", // class name
+ bases_G21x5y3, 6,
+ &(vtc_G21x5y3[0]), // expected_vtbl_contents
+ &(vtt_G21x5y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G21x5y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x5y3),19, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x5y3),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 G21x5y4 : E21x5 , F0 {
+ int ff;
+ ~G21x5y4(); // tgen
+ G21x5y4(); // tgen
+};
+//SIG(1 G21x5y4) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G21x5y4 ::~G21x5y4(){ note_dtor("G21x5y4", this);} // tgen
+G21x5y4 ::G21x5y4(){ note_ctor("G21x5y4", this);} // tgen
+
+static void Test_G21x5y4()
+{
+ extern Class_Descriptor cd_G21x5y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G21x5y4, buf);
+ G21x5y4 *dp, &lv = *(dp=new (buf) G21x5y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G21x5y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x5y4)");
+ check_base_class_offset(lv, (A1*)(C21*), ABISELECT(24,20), "G21x5y4");
+ check_base_class_offset(lv, (B1*)(C21*), ABISELECT(40,28), "G21x5y4");
+ check_base_class_offset(lv, (C21*)(E21x5*), ABISELECT(24,20), "G21x5y4");
+ check_base_class_offset(lv, (D0*)(E21x5*), ABISELECT(8,4), "G21x5y4");
+ check_base_class_offset(lv, (E21x5*), 0, "G21x5y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G21x5y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G21x5y4.ff");
+ test_class_info(&lv, &cd_G21x5y4);
+ dp->~G21x5y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x5y4(Test_G21x5y4, "G21x5y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G21x5y4C1Ev();
+extern void _ZN7G21x5y4D1Ev();
+Name_Map name_map_G21x5y4[] = {
+ NSPAIR(_ZN7G21x5y4C1Ev),
+ NSPAIR(_ZN7G21x5y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E21x5;
+extern VTBL_ENTRY _ZTI5E21x5[];
+extern VTBL_ENTRY _ZTV5E21x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G21x5y4[] = {
+ // 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
+ 7, //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
+ 3, //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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E21x5, 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 _ZTI7G21x5y4[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY vtc_G21x5y4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x5y4[0]),
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G21x5y4[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G21x5y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+extern VTBL_ENTRY _ZTV7G21x5y4[];
+static VTBL_ENTRY _tg__ZTV5E21x5__7G21x5y4[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x5[0]),
+};
+extern void _ZN3C213fooEv();
+static VTBL_ENTRY _tg__ZTV3C21__5E21x5__7G21x5y4[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E21x5[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+};
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY _tg__ZTV2B13C21__5E21x5__7G21x5y4[] = {
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E21x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+static VTT_ENTRY vtt_G21x5y4[] = {
+ {&(_ZTV7G21x5y4[3]), 3,10},
+ {&(_tg__ZTV5E21x5__7G21x5y4[3]), 3,3},
+ {&(_tg__ZTV3C21__5E21x5__7G21x5y4[3]), 3,4},
+ {&(_tg__ZTV2B13C21__5E21x5__7G21x5y4[2]), 2,3},
+ {&(_ZTV7G21x5y4[6]), 6,10},
+ {&(_ZTV7G21x5y4[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI7G21x5y4[];
+extern VTBL_ENTRY _ZTV7G21x5y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x5y4[];
+Class_Descriptor cd_G21x5y4 = { "G21x5y4", // class name
+ bases_G21x5y4, 6,
+ &(vtc_G21x5y4[0]), // expected_vtbl_contents
+ &(vtt_G21x5y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G21x5y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x5y4),10, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x5y4),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 G21x5y5 : virtual E21x5 , F0 {
+ int ff;
+ ~G21x5y5(); // tgen
+ G21x5y5(); // tgen
+};
+//SIG(1 G21x5y5) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G21x5y5 ::~G21x5y5(){ note_dtor("G21x5y5", this);} // tgen
+G21x5y5 ::G21x5y5(){ note_ctor("G21x5y5", this);} // tgen
+
+static void Test_G21x5y5()
+{
+ extern Class_Descriptor cd_G21x5y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G21x5y5, buf);
+ G21x5y5 *dp, &lv = *(dp=new (buf) G21x5y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G21x5y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x5y5)");
+ check_base_class_offset(lv, (A1*)(C21*), ABISELECT(32,24), "G21x5y5");
+ check_base_class_offset(lv, (B1*)(C21*), ABISELECT(48,32), "G21x5y5");
+ check_base_class_offset(lv, (C21*)(E21x5*), ABISELECT(32,24), "G21x5y5");
+ check_base_class_offset(lv, (D0*)(E21x5*), ABISELECT(24,16), "G21x5y5");
+ check_base_class_offset(lv, (E21x5*), ABISELECT(16,12), "G21x5y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G21x5y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G21x5y5.ff");
+ test_class_info(&lv, &cd_G21x5y5);
+ dp->~G21x5y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x5y5(Test_G21x5y5, "G21x5y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G21x5y5C1Ev();
+extern void _ZN7G21x5y5D1Ev();
+Name_Map name_map_G21x5y5[] = {
+ NSPAIR(_ZN7G21x5y5C1Ev),
+ NSPAIR(_ZN7G21x5y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E21x5;
+extern VTBL_ENTRY _ZTI5E21x5[];
+extern VTBL_ENTRY _ZTV5E21x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G21x5y5[] = {
+ // 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)
+ 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
+ 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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_E21x5, 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
+ 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 _ZTI7G21x5y5[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY vtc_G21x5y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x5y5[0]),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G21x5y5[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G21x5y5[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G21x5y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+extern VTBL_ENTRY _ZTV7G21x5y5[];
+static VTBL_ENTRY _tg__ZTV5E21x5__7G21x5y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x5[0]),
+};
+extern void _ZN3C213fooEv();
+static VTBL_ENTRY _tg__ZTV3C21__5E21x5__7G21x5y5[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E21x5[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+};
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY _tg__ZTV2B13C21__5E21x5__7G21x5y5[] = {
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E21x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+static VTT_ENTRY vtt_G21x5y5[] = {
+ {&(_ZTV7G21x5y5[4]), 4,14},
+ {&(_ZTV7G21x5y5[7]), 7,14},
+ {&(_ZTV7G21x5y5[10]), 10,14},
+ {&(_ZTV7G21x5y5[13]), 13,14},
+ {&(_tg__ZTV5E21x5__7G21x5y5[3]), 3,3},
+ {&(_tg__ZTV3C21__5E21x5__7G21x5y5[3]), 3,4},
+ {&(_tg__ZTV2B13C21__5E21x5__7G21x5y5[2]), 2,3},
+};
+extern VTBL_ENTRY _ZTI7G21x5y5[];
+extern VTBL_ENTRY _ZTV7G21x5y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x5y5[];
+Class_Descriptor cd_G21x5y5 = { "G21x5y5", // class name
+ bases_G21x5y5, 6,
+ &(vtc_G21x5y5[0]), // expected_vtbl_contents
+ &(vtt_G21x5y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G21x5y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x5y5),14, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x5y5),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 G21x5y6 : E21x5 , virtual F0 {
+ int ff;
+ ~G21x5y6(); // tgen
+ G21x5y6(); // tgen
+};
+//SIG(1 G21x5y6) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G21x5y6 ::~G21x5y6(){ note_dtor("G21x5y6", this);} // tgen
+G21x5y6 ::G21x5y6(){ note_ctor("G21x5y6", this);} // tgen
+
+static void Test_G21x5y6()
+{
+ extern Class_Descriptor cd_G21x5y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G21x5y6, buf);
+ G21x5y6 *dp, &lv = *(dp=new (buf) G21x5y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G21x5y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x5y6)");
+ check_base_class_offset(lv, (A1*)(C21*), ABISELECT(24,16), "G21x5y6");
+ check_base_class_offset(lv, (B1*)(C21*), ABISELECT(40,24), "G21x5y6");
+ check_base_class_offset(lv, (C21*)(E21x5*), ABISELECT(24,16), "G21x5y6");
+ check_base_class_offset(lv, (D0*)(E21x5*), ABISELECT(8,4), "G21x5y6");
+ check_base_class_offset(lv, (E21x5*), 0, "G21x5y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G21x5y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G21x5y6.ff");
+ test_class_info(&lv, &cd_G21x5y6);
+ dp->~G21x5y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x5y6(Test_G21x5y6, "G21x5y6", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G21x5y6C1Ev();
+extern void _ZN7G21x5y6D1Ev();
+Name_Map name_map_G21x5y6[] = {
+ NSPAIR(_ZN7G21x5y6C1Ev),
+ NSPAIR(_ZN7G21x5y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E21x5;
+extern VTBL_ENTRY _ZTI5E21x5[];
+extern VTBL_ENTRY _ZTV5E21x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G21x5y6[] = {
+ // 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)
+ 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
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E21x5, 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(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 _ZTI7G21x5y6[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY vtc_G21x5y6[] = {
+ ABISELECT(56,36),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x5y6[0]),
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G21x5y6[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G21x5y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+extern VTBL_ENTRY _ZTV7G21x5y6[];
+static VTBL_ENTRY _tg__ZTV5E21x5__7G21x5y6[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x5[0]),
+};
+extern void _ZN3C213fooEv();
+static VTBL_ENTRY _tg__ZTV3C21__5E21x5__7G21x5y6[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E21x5[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+};
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY _tg__ZTV2B13C21__5E21x5__7G21x5y6[] = {
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E21x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+static VTT_ENTRY vtt_G21x5y6[] = {
+ {&(_ZTV7G21x5y6[4]), 4,11},
+ {&(_tg__ZTV5E21x5__7G21x5y6[3]), 3,3},
+ {&(_tg__ZTV3C21__5E21x5__7G21x5y6[3]), 3,4},
+ {&(_tg__ZTV2B13C21__5E21x5__7G21x5y6[2]), 2,3},
+ {&(_ZTV7G21x5y6[7]), 7,11},
+ {&(_ZTV7G21x5y6[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI7G21x5y6[];
+extern VTBL_ENTRY _ZTV7G21x5y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x5y6[];
+Class_Descriptor cd_G21x5y6 = { "G21x5y6", // class name
+ bases_G21x5y6, 6,
+ &(vtc_G21x5y6[0]), // expected_vtbl_contents
+ &(vtt_G21x5y6[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G21x5y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x5y6),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x5y6),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 G21x5y7 : virtual E21x5 , virtual F0 {
+ int ff;
+ ~G21x5y7(); // tgen
+ G21x5y7(); // tgen
+};
+//SIG(1 G21x5y7) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G21x5y7 ::~G21x5y7(){ note_dtor("G21x5y7", this);} // tgen
+G21x5y7 ::G21x5y7(){ note_ctor("G21x5y7", this);} // tgen
+
+static void Test_G21x5y7()
+{
+ extern Class_Descriptor cd_G21x5y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G21x5y7, buf);
+ G21x5y7 *dp, &lv = *(dp=new (buf) G21x5y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G21x5y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x5y7)");
+ check_base_class_offset(lv, (A1*)(C21*), ABISELECT(32,20), "G21x5y7");
+ check_base_class_offset(lv, (B1*)(C21*), ABISELECT(48,28), "G21x5y7");
+ check_base_class_offset(lv, (C21*)(E21x5*), ABISELECT(32,20), "G21x5y7");
+ check_base_class_offset(lv, (D0*)(E21x5*), ABISELECT(24,12), "G21x5y7");
+ check_base_class_offset(lv, (E21x5*), ABISELECT(16,8), "G21x5y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(64,40), "G21x5y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G21x5y7.ff");
+ test_class_info(&lv, &cd_G21x5y7);
+ dp->~G21x5y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x5y7(Test_G21x5y7, "G21x5y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G21x5y7C1Ev();
+extern void _ZN7G21x5y7D1Ev();
+Name_Map name_map_G21x5y7[] = {
+ NSPAIR(_ZN7G21x5y7C1Ev),
+ NSPAIR(_ZN7G21x5y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E21x5;
+extern VTBL_ENTRY _ZTI5E21x5[];
+extern VTBL_ENTRY _ZTV5E21x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G21x5y7[] = {
+ // 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
+ 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
+ 2, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C21, 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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_E21x5, 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
+ 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 _ZTI7G21x5y7[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY vtc_G21x5y7[] = {
+ ABISELECT(64,40),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x5y7[0]),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G21x5y7[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G21x5y7[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G21x5y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+extern VTBL_ENTRY _ZTV7G21x5y7[];
+static VTBL_ENTRY _tg__ZTV5E21x5__7G21x5y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x5[0]),
+};
+extern void _ZN3C213fooEv();
+static VTBL_ENTRY _tg__ZTV3C21__5E21x5__7G21x5y7[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E21x5[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+};
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY _tg__ZTV2B13C21__5E21x5__7G21x5y7[] = {
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E21x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+static VTT_ENTRY vtt_G21x5y7[] = {
+ {&(_ZTV7G21x5y7[5]), 5,15},
+ {&(_ZTV7G21x5y7[8]), 8,15},
+ {&(_ZTV7G21x5y7[11]), 11,15},
+ {&(_ZTV7G21x5y7[14]), 14,15},
+ {&(_tg__ZTV5E21x5__7G21x5y7[3]), 3,3},
+ {&(_tg__ZTV3C21__5E21x5__7G21x5y7[3]), 3,4},
+ {&(_tg__ZTV2B13C21__5E21x5__7G21x5y7[2]), 2,3},
+};
+extern VTBL_ENTRY _ZTI7G21x5y7[];
+extern VTBL_ENTRY _ZTV7G21x5y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x5y7[];
+Class_Descriptor cd_G21x5y7 = { "G21x5y7", // class name
+ bases_G21x5y7, 6,
+ &(vtc_G21x5y7[0]), // expected_vtbl_contents
+ &(vtt_G21x5y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G21x5y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x5y7),15, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x5y7),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 E22x5 : virtual C22 , D0 {
+ int fd;
+ ~E22x5(); // tgen
+ E22x5(); // tgen
+};
+//SIG(-1 E22x5) C1{ VBC2{ VBC3{ Fi} BC4{ v1 Fi} v1 Fi} BC5{ Fi} Fi}
+
+
+E22x5 ::~E22x5(){ note_dtor("E22x5", this);} // tgen
+E22x5 ::E22x5(){ note_ctor("E22x5", this);} // tgen
+
+static void Test_E22x5()
+{
+ extern Class_Descriptor cd_E22x5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E22x5, buf);
+ E22x5 *dp, &lv = *(dp=new (buf) E22x5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E22x5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E22x5)");
+ check_base_class_offset(lv, (A0*)(C22*), ABISELECT(32,24), "E22x5");
+ check_base_class_offset(lv, (B1*)(C22*), ABISELECT(16,12), "E22x5");
+ check_base_class_offset(lv, (C22*), ABISELECT(16,12), "E22x5");
+ check_base_class_offset(lv, (D0*), ABISELECT(8,4), "E22x5");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E22x5.fd");
+ test_class_info(&lv, &cd_E22x5);
+ dp->~E22x5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE22x5(Test_E22x5, "E22x5", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E22x5C1Ev();
+extern void _ZN5E22x5D1Ev();
+Name_Map name_map_E22x5[] = {
+ NSPAIR(_ZN5E22x5C1Ev),
+ NSPAIR(_ZN5E22x5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E22x5[] = {
+ // 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
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E22x5[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY vtc_E22x5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E22x5[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern VTBL_ENTRY _ZTV5E22x5[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__5E22x5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_E22x5[] = {
+ {&(_ZTV5E22x5[4]), 4,9},
+ {&(_ZTV5E22x5[8]), 8,9},
+ {&(_tg__ZTV3C22__5E22x5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E22x5[];
+extern VTBL_ENTRY _ZTV5E22x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x5[];
+Class_Descriptor cd_E22x5 = { "E22x5", // class name
+ bases_E22x5, 4,
+ &(vtc_E22x5[0]), // expected_vtbl_contents
+ &(vtt_E22x5[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E22x5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E22x5),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E22x5),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 G22x5y0 : E22x5 , F1 {
+ int ff;
+ ~G22x5y0(); // tgen
+ G22x5y0(); // tgen
+};
+//SIG(1 G22x5y0) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G22x5y0 ::~G22x5y0(){ note_dtor("G22x5y0", this);} // tgen
+G22x5y0 ::G22x5y0(){ note_ctor("G22x5y0", this);} // tgen
+
+static void Test_G22x5y0()
+{
+ extern Class_Descriptor cd_G22x5y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G22x5y0, buf);
+ G22x5y0 *dp, &lv = *(dp=new (buf) G22x5y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G22x5y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x5y0)");
+ check_base_class_offset(lv, (A0*)(C22*), ABISELECT(48,36), "G22x5y0");
+ check_base_class_offset(lv, (B1*)(C22*), ABISELECT(32,24), "G22x5y0");
+ check_base_class_offset(lv, (C22*)(E22x5*), ABISELECT(32,24), "G22x5y0");
+ check_base_class_offset(lv, (D0*)(E22x5*), ABISELECT(8,4), "G22x5y0");
+ check_base_class_offset(lv, (E22x5*), 0, "G22x5y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G22x5y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G22x5y0.ff");
+ test_class_info(&lv, &cd_G22x5y0);
+ dp->~G22x5y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x5y0(Test_G22x5y0, "G22x5y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G22x5y0C1Ev();
+extern void _ZN7G22x5y0D1Ev();
+Name_Map name_map_G22x5y0[] = {
+ NSPAIR(_ZN7G22x5y0C1Ev),
+ NSPAIR(_ZN7G22x5y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E22x5;
+extern VTBL_ENTRY _ZTI5E22x5[];
+extern VTBL_ENTRY _ZTV5E22x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G22x5y0[] = {
+ // 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
+ 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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E22x5, 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
+ 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 _ZTI7G22x5y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY vtc_G22x5y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x5y0[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G22x5y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G22x5y0[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x5y0[];
+static VTBL_ENTRY _tg__ZTV5E22x5__7G22x5y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x5[0]),
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__5E22x5__7G22x5y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E22x5[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__7G22x5y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x5y0[] = {
+ {&(_ZTV7G22x5y0[4]), 4,12},
+ {&(_tg__ZTV5E22x5__7G22x5y0[4]), 4,4},
+ {&(_tg__ZTV3C22__5E22x5__7G22x5y0[4]), 4,5},
+ {&(_ZTV7G22x5y0[11]), 11,12},
+ {&(_tg__ZTV3C22__7G22x5y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x5y0[];
+extern VTBL_ENTRY _ZTV7G22x5y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x5y0[];
+Class_Descriptor cd_G22x5y0 = { "G22x5y0", // class name
+ bases_G22x5y0, 6,
+ &(vtc_G22x5y0[0]), // expected_vtbl_contents
+ &(vtt_G22x5y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G22x5y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x5y0),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x5y0),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 G22x5y1 : virtual E22x5 , F1 {
+ int ff;
+ ~G22x5y1(); // tgen
+ G22x5y1(); // tgen
+};
+//SIG(1 G22x5y1) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G22x5y1 ::~G22x5y1(){ note_dtor("G22x5y1", this);} // tgen
+G22x5y1 ::G22x5y1(){ note_ctor("G22x5y1", this);} // tgen
+
+static void Test_G22x5y1()
+{
+ extern Class_Descriptor cd_G22x5y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G22x5y1, buf);
+ G22x5y1 *dp, &lv = *(dp=new (buf) G22x5y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G22x5y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x5y1)");
+ check_base_class_offset(lv, (A0*)(C22*), ABISELECT(48,36), "G22x5y1");
+ check_base_class_offset(lv, (B1*)(C22*), ABISELECT(32,24), "G22x5y1");
+ check_base_class_offset(lv, (C22*)(E22x5*), ABISELECT(32,24), "G22x5y1");
+ check_base_class_offset(lv, (D0*)(E22x5*), ABISELECT(24,16), "G22x5y1");
+ check_base_class_offset(lv, (E22x5*), ABISELECT(16,12), "G22x5y1");
+ check_base_class_offset(lv, (F1*), 0, "G22x5y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G22x5y1.ff");
+ test_class_info(&lv, &cd_G22x5y1);
+ dp->~G22x5y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x5y1(Test_G22x5y1, "G22x5y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G22x5y1C1Ev();
+extern void _ZN7G22x5y1D1Ev();
+Name_Map name_map_G22x5y1[] = {
+ NSPAIR(_ZN7G22x5y1C1Ev),
+ NSPAIR(_ZN7G22x5y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E22x5;
+extern VTBL_ENTRY _ZTI5E22x5[];
+extern VTBL_ENTRY _ZTV5E22x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G22x5y1[] = {
+ // 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
+ 10, //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_D0, 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_E22x5, 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 _ZTI7G22x5y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY vtc_G22x5y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x5y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G22x5y1[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G22x5y1[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x5y1[];
+static VTBL_ENTRY _tg__ZTV5E22x5__7G22x5y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x5[0]),
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__5E22x5__7G22x5y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E22x5[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__7G22x5y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x5y1[] = {
+ {&(_ZTV7G22x5y1[5]), 5,15},
+ {&(_ZTV7G22x5y1[10]), 10,15},
+ {&(_ZTV7G22x5y1[14]), 14,15},
+ {&(_tg__ZTV5E22x5__7G22x5y1[4]), 4,4},
+ {&(_tg__ZTV3C22__5E22x5__7G22x5y1[4]), 4,5},
+ {&(_tg__ZTV3C22__7G22x5y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x5y1[];
+extern VTBL_ENTRY _ZTV7G22x5y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x5y1[];
+Class_Descriptor cd_G22x5y1 = { "G22x5y1", // class name
+ bases_G22x5y1, 6,
+ &(vtc_G22x5y1[0]), // expected_vtbl_contents
+ &(vtt_G22x5y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G22x5y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x5y1),15, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x5y1),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 G22x5y2 : E22x5 , virtual F1 {
+ int ff;
+ ~G22x5y2(); // tgen
+ G22x5y2(); // tgen
+};
+//SIG(1 G22x5y2) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G22x5y2 ::~G22x5y2(){ note_dtor("G22x5y2", this);} // tgen
+G22x5y2 ::G22x5y2(){ note_ctor("G22x5y2", this);} // tgen
+
+static void Test_G22x5y2()
+{
+ extern Class_Descriptor cd_G22x5y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G22x5y2, buf);
+ G22x5y2 *dp, &lv = *(dp=new (buf) G22x5y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G22x5y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x5y2)");
+ check_base_class_offset(lv, (A0*)(C22*), ABISELECT(40,28), "G22x5y2");
+ check_base_class_offset(lv, (B1*)(C22*), ABISELECT(24,16), "G22x5y2");
+ check_base_class_offset(lv, (C22*)(E22x5*), ABISELECT(24,16), "G22x5y2");
+ check_base_class_offset(lv, (D0*)(E22x5*), ABISELECT(8,4), "G22x5y2");
+ check_base_class_offset(lv, (E22x5*), 0, "G22x5y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G22x5y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G22x5y2.ff");
+ test_class_info(&lv, &cd_G22x5y2);
+ dp->~G22x5y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x5y2(Test_G22x5y2, "G22x5y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G22x5y2C1Ev();
+extern void _ZN7G22x5y2D1Ev();
+Name_Map name_map_G22x5y2[] = {
+ NSPAIR(_ZN7G22x5y2C1Ev),
+ NSPAIR(_ZN7G22x5y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E22x5;
+extern VTBL_ENTRY _ZTI5E22x5[];
+extern VTBL_ENTRY _ZTV5E22x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G22x5y2[] = {
+ // 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)
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E22x5, 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)
+ 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 _ZTI7G22x5y2[];
+extern void _ZN3C223fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G22x5y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x5y2[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G22x5y2[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G22x5y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x5y2[];
+static VTBL_ENTRY _tg__ZTV5E22x5__7G22x5y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x5[0]),
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__5E22x5__7G22x5y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E22x5[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__7G22x5y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x5y2[] = {
+ {&(_ZTV7G22x5y2[5]), 5,14},
+ {&(_tg__ZTV5E22x5__7G22x5y2[4]), 4,4},
+ {&(_tg__ZTV3C22__5E22x5__7G22x5y2[4]), 4,5},
+ {&(_ZTV7G22x5y2[9]), 9,14},
+ {&(_ZTV7G22x5y2[13]), 13,14},
+ {&(_tg__ZTV3C22__7G22x5y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x5y2[];
+extern VTBL_ENTRY _ZTV7G22x5y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x5y2[];
+Class_Descriptor cd_G22x5y2 = { "G22x5y2", // class name
+ bases_G22x5y2, 6,
+ &(vtc_G22x5y2[0]), // expected_vtbl_contents
+ &(vtt_G22x5y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G22x5y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x5y2),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x5y2),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 G22x5y3 : virtual E22x5 , virtual F1 {
+ int ff;
+ ~G22x5y3(); // tgen
+ G22x5y3(); // tgen
+};
+//SIG(1 G22x5y3) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G22x5y3 ::~G22x5y3(){ note_dtor("G22x5y3", this);} // tgen
+G22x5y3 ::G22x5y3(){ note_ctor("G22x5y3", this);} // tgen
+
+static void Test_G22x5y3()
+{
+ extern Class_Descriptor cd_G22x5y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G22x5y3, buf);
+ G22x5y3 *dp, &lv = *(dp=new (buf) G22x5y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G22x5y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x5y3)");
+ check_base_class_offset(lv, (A0*)(C22*), ABISELECT(48,32), "G22x5y3");
+ check_base_class_offset(lv, (B1*)(C22*), ABISELECT(32,20), "G22x5y3");
+ check_base_class_offset(lv, (C22*)(E22x5*), ABISELECT(32,20), "G22x5y3");
+ check_base_class_offset(lv, (D0*)(E22x5*), ABISELECT(24,12), "G22x5y3");
+ check_base_class_offset(lv, (E22x5*), ABISELECT(16,8), "G22x5y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G22x5y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G22x5y3.ff");
+ test_class_info(&lv, &cd_G22x5y3);
+ dp->~G22x5y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x5y3(Test_G22x5y3, "G22x5y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G22x5y3C1Ev();
+extern void _ZN7G22x5y3D1Ev();
+Name_Map name_map_G22x5y3[] = {
+ NSPAIR(_ZN7G22x5y3C1Ev),
+ NSPAIR(_ZN7G22x5y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E22x5;
+extern VTBL_ENTRY _ZTI5E22x5[];
+extern VTBL_ENTRY _ZTV5E22x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G22x5y3[] = {
+ // 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
+ 10, //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_D0, 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_E22x5, 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
+ 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 _ZTI7G22x5y3[];
+extern void _ZN3C223fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G22x5y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x5y3[0]),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G22x5y3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G22x5y3[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G22x5y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x5y3[];
+static VTBL_ENTRY _tg__ZTV5E22x5__7G22x5y3[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x5[0]),
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__5E22x5__7G22x5y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E22x5[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__7G22x5y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x5y3[] = {
+ {&(_ZTV7G22x5y3[6]), 6,19},
+ {&(_ZTV7G22x5y3[10]), 10,19},
+ {&(_ZTV7G22x5y3[14]), 14,19},
+ {&(_ZTV7G22x5y3[18]), 18,19},
+ {&(_tg__ZTV5E22x5__7G22x5y3[4]), 4,4},
+ {&(_tg__ZTV3C22__5E22x5__7G22x5y3[4]), 4,5},
+ {&(_tg__ZTV3C22__7G22x5y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x5y3[];
+extern VTBL_ENTRY _ZTV7G22x5y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x5y3[];
+Class_Descriptor cd_G22x5y3 = { "G22x5y3", // class name
+ bases_G22x5y3, 6,
+ &(vtc_G22x5y3[0]), // expected_vtbl_contents
+ &(vtt_G22x5y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G22x5y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x5y3),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x5y3),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 G22x5y4 : E22x5 , F0 {
+ int ff;
+ ~G22x5y4(); // tgen
+ G22x5y4(); // tgen
+};
+//SIG(1 G22x5y4) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G22x5y4 ::~G22x5y4(){ note_dtor("G22x5y4", this);} // tgen
+G22x5y4 ::G22x5y4(){ note_ctor("G22x5y4", this);} // tgen
+
+static void Test_G22x5y4()
+{
+ extern Class_Descriptor cd_G22x5y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G22x5y4, buf);
+ G22x5y4 *dp, &lv = *(dp=new (buf) G22x5y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G22x5y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x5y4)");
+ check_base_class_offset(lv, (A0*)(C22*), ABISELECT(40,32), "G22x5y4");
+ check_base_class_offset(lv, (B1*)(C22*), ABISELECT(24,20), "G22x5y4");
+ check_base_class_offset(lv, (C22*)(E22x5*), ABISELECT(24,20), "G22x5y4");
+ check_base_class_offset(lv, (D0*)(E22x5*), ABISELECT(8,4), "G22x5y4");
+ check_base_class_offset(lv, (E22x5*), 0, "G22x5y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G22x5y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G22x5y4.ff");
+ test_class_info(&lv, &cd_G22x5y4);
+ dp->~G22x5y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x5y4(Test_G22x5y4, "G22x5y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G22x5y4C1Ev();
+extern void _ZN7G22x5y4D1Ev();
+Name_Map name_map_G22x5y4[] = {
+ NSPAIR(_ZN7G22x5y4C1Ev),
+ NSPAIR(_ZN7G22x5y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E22x5;
+extern VTBL_ENTRY _ZTI5E22x5[];
+extern VTBL_ENTRY _ZTV5E22x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G22x5y4[] = {
+ // 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
+ 4, //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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E22x5, 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 _ZTI7G22x5y4[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY vtc_G22x5y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x5y4[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G22x5y4[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x5y4[];
+static VTBL_ENTRY _tg__ZTV5E22x5__7G22x5y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x5[0]),
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__5E22x5__7G22x5y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E22x5[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__7G22x5y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x5y4[] = {
+ {&(_ZTV7G22x5y4[4]), 4,9},
+ {&(_tg__ZTV5E22x5__7G22x5y4[4]), 4,4},
+ {&(_tg__ZTV3C22__5E22x5__7G22x5y4[4]), 4,5},
+ {&(_ZTV7G22x5y4[8]), 8,9},
+ {&(_tg__ZTV3C22__7G22x5y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x5y4[];
+extern VTBL_ENTRY _ZTV7G22x5y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x5y4[];
+Class_Descriptor cd_G22x5y4 = { "G22x5y4", // class name
+ bases_G22x5y4, 6,
+ &(vtc_G22x5y4[0]), // expected_vtbl_contents
+ &(vtt_G22x5y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G22x5y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x5y4),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x5y4),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 G22x5y5 : virtual E22x5 , F0 {
+ int ff;
+ ~G22x5y5(); // tgen
+ G22x5y5(); // tgen
+};
+//SIG(1 G22x5y5) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G22x5y5 ::~G22x5y5(){ note_dtor("G22x5y5", this);} // tgen
+G22x5y5 ::G22x5y5(){ note_ctor("G22x5y5", this);} // tgen
+
+static void Test_G22x5y5()
+{
+ extern Class_Descriptor cd_G22x5y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G22x5y5, buf);
+ G22x5y5 *dp, &lv = *(dp=new (buf) G22x5y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G22x5y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x5y5)");
+ check_base_class_offset(lv, (A0*)(C22*), ABISELECT(48,36), "G22x5y5");
+ check_base_class_offset(lv, (B1*)(C22*), ABISELECT(32,24), "G22x5y5");
+ check_base_class_offset(lv, (C22*)(E22x5*), ABISELECT(32,24), "G22x5y5");
+ check_base_class_offset(lv, (D0*)(E22x5*), ABISELECT(24,16), "G22x5y5");
+ check_base_class_offset(lv, (E22x5*), ABISELECT(16,12), "G22x5y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G22x5y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G22x5y5.ff");
+ test_class_info(&lv, &cd_G22x5y5);
+ dp->~G22x5y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x5y5(Test_G22x5y5, "G22x5y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G22x5y5C1Ev();
+extern void _ZN7G22x5y5D1Ev();
+Name_Map name_map_G22x5y5[] = {
+ NSPAIR(_ZN7G22x5y5C1Ev),
+ NSPAIR(_ZN7G22x5y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E22x5;
+extern VTBL_ENTRY _ZTI5E22x5[];
+extern VTBL_ENTRY _ZTV5E22x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G22x5y5[] = {
+ // 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
+ 9, //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_D0, 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_E22x5, 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 _ZTI7G22x5y5[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY vtc_G22x5y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x5y5[0]),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G22x5y5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G22x5y5[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x5y5[];
+static VTBL_ENTRY _tg__ZTV5E22x5__7G22x5y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x5[0]),
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__5E22x5__7G22x5y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E22x5[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__7G22x5y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x5y5[] = {
+ {&(_ZTV7G22x5y5[5]), 5,14},
+ {&(_ZTV7G22x5y5[9]), 9,14},
+ {&(_ZTV7G22x5y5[13]), 13,14},
+ {&(_tg__ZTV5E22x5__7G22x5y5[4]), 4,4},
+ {&(_tg__ZTV3C22__5E22x5__7G22x5y5[4]), 4,5},
+ {&(_tg__ZTV3C22__7G22x5y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x5y5[];
+extern VTBL_ENTRY _ZTV7G22x5y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x5y5[];
+Class_Descriptor cd_G22x5y5 = { "G22x5y5", // class name
+ bases_G22x5y5, 6,
+ &(vtc_G22x5y5[0]), // expected_vtbl_contents
+ &(vtt_G22x5y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G22x5y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x5y5),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x5y5),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 G22x5y6 : E22x5 , virtual F0 {
+ int ff;
+ ~G22x5y6(); // tgen
+ G22x5y6(); // tgen
+};
+//SIG(1 G22x5y6) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G22x5y6 ::~G22x5y6(){ note_dtor("G22x5y6", this);} // tgen
+G22x5y6 ::G22x5y6(){ note_ctor("G22x5y6", this);} // tgen
+
+static void Test_G22x5y6()
+{
+ extern Class_Descriptor cd_G22x5y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G22x5y6, buf);
+ G22x5y6 *dp, &lv = *(dp=new (buf) G22x5y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G22x5y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x5y6)");
+ check_base_class_offset(lv, (A0*)(C22*), ABISELECT(40,28), "G22x5y6");
+ check_base_class_offset(lv, (B1*)(C22*), ABISELECT(24,16), "G22x5y6");
+ check_base_class_offset(lv, (C22*)(E22x5*), ABISELECT(24,16), "G22x5y6");
+ check_base_class_offset(lv, (D0*)(E22x5*), ABISELECT(8,4), "G22x5y6");
+ check_base_class_offset(lv, (E22x5*), 0, "G22x5y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G22x5y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G22x5y6.ff");
+ test_class_info(&lv, &cd_G22x5y6);
+ dp->~G22x5y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x5y6(Test_G22x5y6, "G22x5y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G22x5y6C1Ev();
+extern void _ZN7G22x5y6D1Ev();
+Name_Map name_map_G22x5y6[] = {
+ NSPAIR(_ZN7G22x5y6C1Ev),
+ NSPAIR(_ZN7G22x5y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E22x5;
+extern VTBL_ENTRY _ZTI5E22x5[];
+extern VTBL_ENTRY _ZTV5E22x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G22x5y6[] = {
+ // 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)
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E22x5, 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 _ZTI7G22x5y6[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY vtc_G22x5y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x5y6[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G22x5y6[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x5y6[];
+static VTBL_ENTRY _tg__ZTV5E22x5__7G22x5y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x5[0]),
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__5E22x5__7G22x5y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E22x5[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__7G22x5y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x5y6[] = {
+ {&(_ZTV7G22x5y6[5]), 5,10},
+ {&(_tg__ZTV5E22x5__7G22x5y6[4]), 4,4},
+ {&(_tg__ZTV3C22__5E22x5__7G22x5y6[4]), 4,5},
+ {&(_ZTV7G22x5y6[9]), 9,10},
+ {&(_tg__ZTV3C22__7G22x5y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x5y6[];
+extern VTBL_ENTRY _ZTV7G22x5y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x5y6[];
+Class_Descriptor cd_G22x5y6 = { "G22x5y6", // class name
+ bases_G22x5y6, 6,
+ &(vtc_G22x5y6[0]), // expected_vtbl_contents
+ &(vtt_G22x5y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G22x5y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x5y6),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x5y6),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 G22x5y7 : virtual E22x5 , virtual F0 {
+ int ff;
+ ~G22x5y7(); // tgen
+ G22x5y7(); // tgen
+};
+//SIG(1 G22x5y7) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G22x5y7 ::~G22x5y7(){ note_dtor("G22x5y7", this);} // tgen
+G22x5y7 ::G22x5y7(){ note_ctor("G22x5y7", this);} // tgen
+
+static void Test_G22x5y7()
+{
+ extern Class_Descriptor cd_G22x5y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G22x5y7, buf);
+ G22x5y7 *dp, &lv = *(dp=new (buf) G22x5y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G22x5y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x5y7)");
+ check_base_class_offset(lv, (A0*)(C22*), ABISELECT(48,32), "G22x5y7");
+ check_base_class_offset(lv, (B1*)(C22*), ABISELECT(32,20), "G22x5y7");
+ check_base_class_offset(lv, (C22*)(E22x5*), ABISELECT(32,20), "G22x5y7");
+ check_base_class_offset(lv, (D0*)(E22x5*), ABISELECT(24,12), "G22x5y7");
+ check_base_class_offset(lv, (E22x5*), ABISELECT(16,8), "G22x5y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G22x5y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G22x5y7.ff");
+ test_class_info(&lv, &cd_G22x5y7);
+ dp->~G22x5y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x5y7(Test_G22x5y7, "G22x5y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G22x5y7C1Ev();
+extern void _ZN7G22x5y7D1Ev();
+Name_Map name_map_G22x5y7[] = {
+ NSPAIR(_ZN7G22x5y7C1Ev),
+ NSPAIR(_ZN7G22x5y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E22x5;
+extern VTBL_ENTRY _ZTI5E22x5[];
+extern VTBL_ENTRY _ZTV5E22x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G22x5y7[] = {
+ // 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
+ 10, //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_D0, 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_E22x5, 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 _ZTI7G22x5y7[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY vtc_G22x5y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x5y7[0]),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G22x5y7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G22x5y7[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x5y7[];
+static VTBL_ENTRY _tg__ZTV5E22x5__7G22x5y7[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x5[0]),
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__5E22x5__7G22x5y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E22x5[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__7G22x5y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x5y7[] = {
+ {&(_ZTV7G22x5y7[6]), 6,15},
+ {&(_ZTV7G22x5y7[10]), 10,15},
+ {&(_ZTV7G22x5y7[14]), 14,15},
+ {&(_tg__ZTV5E22x5__7G22x5y7[4]), 4,4},
+ {&(_tg__ZTV3C22__5E22x5__7G22x5y7[4]), 4,5},
+ {&(_tg__ZTV3C22__7G22x5y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x5y7[];
+extern VTBL_ENTRY _ZTV7G22x5y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x5y7[];
+Class_Descriptor cd_G22x5y7 = { "G22x5y7", // class name
+ bases_G22x5y7, 6,
+ &(vtc_G22x5y7[0]), // expected_vtbl_contents
+ &(vtt_G22x5y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G22x5y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x5y7),15, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x5y7),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 E23x5 : virtual C23 , D0 {
+ int fd;
+ ~E23x5(); // tgen
+ E23x5(); // tgen
+};
+//SIG(-1 E23x5) C1{ VBC2{ VBC3{ v1 Fi} BC4{ v1 Fi} v1 Fi} BC5{ Fi} Fi}
+
+
+E23x5 ::~E23x5(){ note_dtor("E23x5", this);} // tgen
+E23x5 ::E23x5(){ note_ctor("E23x5", this);} // tgen
+
+static void Test_E23x5()
+{
+ extern Class_Descriptor cd_E23x5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E23x5, buf);
+ E23x5 *dp, &lv = *(dp=new (buf) E23x5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E23x5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E23x5)");
+ check_base_class_offset(lv, (A1*)(C23*), ABISELECT(32,24), "E23x5");
+ check_base_class_offset(lv, (B1*)(C23*), ABISELECT(16,12), "E23x5");
+ check_base_class_offset(lv, (C23*), ABISELECT(16,12), "E23x5");
+ check_base_class_offset(lv, (D0*), ABISELECT(8,4), "E23x5");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E23x5.fd");
+ test_class_info(&lv, &cd_E23x5);
+ dp->~E23x5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE23x5(Test_E23x5, "E23x5", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN5E23x5C1Ev();
+extern void _ZN5E23x5D1Ev();
+Name_Map name_map_E23x5[] = {
+ NSPAIR(_ZN5E23x5C1Ev),
+ NSPAIR(_ZN5E23x5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E23x5[] = {
+ // 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)
+ 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
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E23x5[];
+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_E23x5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E23x5[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E23x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern VTBL_ENTRY _ZTV5E23x5[];
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__5E23x5[] = {
+ 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__5E23x5[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_E23x5[] = {
+ {&(_ZTV5E23x5[4]), 4,13},
+ {&(_ZTV5E23x5[8]), 8,13},
+ {&(_ZTV5E23x5[12]), 12,13},
+ {&(_tg__ZTV3C23__5E23x5[3]), 3,4},
+ {&(_tg__ZTV2A1__3C23__5E23x5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E23x5[];
+extern VTBL_ENTRY _ZTV5E23x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x5[];
+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_E23x5 = { "E23x5", // class name
+ bases_E23x5, 4,
+ &(vtc_E23x5[0]), // expected_vtbl_contents
+ &(vtt_E23x5[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI5E23x5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E23x5),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E23x5),5, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names80,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x5y0 : E23x5 , F1 {
+ int ff;
+ ~G23x5y0(); // tgen
+ G23x5y0(); // tgen
+};
+//SIG(1 G23x5y0) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G23x5y0 ::~G23x5y0(){ note_dtor("G23x5y0", this);} // tgen
+G23x5y0 ::G23x5y0(){ note_ctor("G23x5y0", this);} // tgen
+
+static void Test_G23x5y0()
+{
+ extern Class_Descriptor cd_G23x5y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G23x5y0, buf);
+ G23x5y0 *dp, &lv = *(dp=new (buf) G23x5y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G23x5y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x5y0)");
+ check_base_class_offset(lv, (A1*)(C23*), ABISELECT(48,36), "G23x5y0");
+ check_base_class_offset(lv, (B1*)(C23*), ABISELECT(32,24), "G23x5y0");
+ check_base_class_offset(lv, (C23*)(E23x5*), ABISELECT(32,24), "G23x5y0");
+ check_base_class_offset(lv, (D0*)(E23x5*), ABISELECT(8,4), "G23x5y0");
+ check_base_class_offset(lv, (E23x5*), 0, "G23x5y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G23x5y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G23x5y0.ff");
+ test_class_info(&lv, &cd_G23x5y0);
+ dp->~G23x5y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x5y0(Test_G23x5y0, "G23x5y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G23x5y0C1Ev();
+extern void _ZN7G23x5y0D1Ev();
+Name_Map name_map_G23x5y0[] = {
+ NSPAIR(_ZN7G23x5y0C1Ev),
+ NSPAIR(_ZN7G23x5y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E23x5;
+extern VTBL_ENTRY _ZTI5E23x5[];
+extern VTBL_ENTRY _ZTV5E23x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G23x5y0[] = {
+ // 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)
+ 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
+ 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E23x5, 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
+ 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 _ZTI7G23x5y0[];
+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_G23x5y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x5y0[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G23x5y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G23x5y0[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G23x5y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern VTBL_ENTRY _ZTV7G23x5y0[];
+static VTBL_ENTRY _tg__ZTV5E23x5__7G23x5y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x5[0]),
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__5E23x5__7G23x5y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E23x5[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__5E23x5__7G23x5y0[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI5E23x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__7G23x5y0[] = {
+ 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__7G23x5y0[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x5y0[] = {
+ {&(_ZTV7G23x5y0[4]), 4,16},
+ {&(_tg__ZTV5E23x5__7G23x5y0[4]), 4,4},
+ {&(_tg__ZTV3C23__5E23x5__7G23x5y0[4]), 4,5},
+ {&(_tg__ZTV2A1__5E23x5__7G23x5y0[3]), 3,4},
+ {&(_ZTV7G23x5y0[11]), 11,16},
+ {&(_ZTV7G23x5y0[15]), 15,16},
+ {&(_tg__ZTV3C23__7G23x5y0[3]), 3,4},
+ {&(_tg__ZTV2A1__3C23__7G23x5y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G23x5y0[];
+extern VTBL_ENTRY _ZTV7G23x5y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x5y0[];
+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_G23x5y0 = { "G23x5y0", // class name
+ bases_G23x5y0, 6,
+ &(vtc_G23x5y0[0]), // expected_vtbl_contents
+ &(vtt_G23x5y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G23x5y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x5y0),16, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x5y0),8, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names81,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x5y1 : virtual E23x5 , F1 {
+ int ff;
+ ~G23x5y1(); // tgen
+ G23x5y1(); // tgen
+};
+//SIG(1 G23x5y1) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G23x5y1 ::~G23x5y1(){ note_dtor("G23x5y1", this);} // tgen
+G23x5y1 ::G23x5y1(){ note_ctor("G23x5y1", this);} // tgen
+
+static void Test_G23x5y1()
+{
+ extern Class_Descriptor cd_G23x5y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G23x5y1, buf);
+ G23x5y1 *dp, &lv = *(dp=new (buf) G23x5y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G23x5y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x5y1)");
+ check_base_class_offset(lv, (A1*)(C23*), ABISELECT(48,36), "G23x5y1");
+ check_base_class_offset(lv, (B1*)(C23*), ABISELECT(32,24), "G23x5y1");
+ check_base_class_offset(lv, (C23*)(E23x5*), ABISELECT(32,24), "G23x5y1");
+ check_base_class_offset(lv, (D0*)(E23x5*), ABISELECT(24,16), "G23x5y1");
+ check_base_class_offset(lv, (E23x5*), ABISELECT(16,12), "G23x5y1");
+ check_base_class_offset(lv, (F1*), 0, "G23x5y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G23x5y1.ff");
+ test_class_info(&lv, &cd_G23x5y1);
+ dp->~G23x5y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x5y1(Test_G23x5y1, "G23x5y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G23x5y1C1Ev();
+extern void _ZN7G23x5y1D1Ev();
+Name_Map name_map_G23x5y1[] = {
+ NSPAIR(_ZN7G23x5y1C1Ev),
+ NSPAIR(_ZN7G23x5y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E23x5;
+extern VTBL_ENTRY _ZTI5E23x5[];
+extern VTBL_ENTRY _ZTV5E23x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G23x5y1[] = {
+ // 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_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
+ 10, //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_D0, 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_E23x5, 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 _ZTI7G23x5y1[];
+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_G23x5y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x5y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G23x5y1[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G23x5y1[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G23x5y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern VTBL_ENTRY _ZTV7G23x5y1[];
+static VTBL_ENTRY _tg__ZTV5E23x5__7G23x5y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x5[0]),
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__5E23x5__7G23x5y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E23x5[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__5E23x5__7G23x5y1[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E23x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__7G23x5y1[] = {
+ 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__7G23x5y1[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x5y1[] = {
+ {&(_ZTV7G23x5y1[5]), 5,19},
+ {&(_ZTV7G23x5y1[10]), 10,19},
+ {&(_ZTV7G23x5y1[14]), 14,19},
+ {&(_ZTV7G23x5y1[18]), 18,19},
+ {&(_tg__ZTV5E23x5__7G23x5y1[4]), 4,4},
+ {&(_tg__ZTV3C23__5E23x5__7G23x5y1[4]), 4,5},
+ {&(_tg__ZTV2A1__5E23x5__7G23x5y1[3]), 3,4},
+ {&(_tg__ZTV3C23__7G23x5y1[3]), 3,4},
+ {&(_tg__ZTV2A1__3C23__7G23x5y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G23x5y1[];
+extern VTBL_ENTRY _ZTV7G23x5y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x5y1[];
+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_G23x5y1 = { "G23x5y1", // class name
+ bases_G23x5y1, 6,
+ &(vtc_G23x5y1[0]), // expected_vtbl_contents
+ &(vtt_G23x5y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G23x5y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x5y1),19, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x5y1),9, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names82,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x5y2 : E23x5 , virtual F1 {
+ int ff;
+ ~G23x5y2(); // tgen
+ G23x5y2(); // tgen
+};
+//SIG(1 G23x5y2) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G23x5y2 ::~G23x5y2(){ note_dtor("G23x5y2", this);} // tgen
+G23x5y2 ::G23x5y2(){ note_ctor("G23x5y2", this);} // tgen
+
+static void Test_G23x5y2()
+{
+ extern Class_Descriptor cd_G23x5y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G23x5y2, buf);
+ G23x5y2 *dp, &lv = *(dp=new (buf) G23x5y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G23x5y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x5y2)");
+ check_base_class_offset(lv, (A1*)(C23*), ABISELECT(40,28), "G23x5y2");
+ check_base_class_offset(lv, (B1*)(C23*), ABISELECT(24,16), "G23x5y2");
+ check_base_class_offset(lv, (C23*)(E23x5*), ABISELECT(24,16), "G23x5y2");
+ check_base_class_offset(lv, (D0*)(E23x5*), ABISELECT(8,4), "G23x5y2");
+ check_base_class_offset(lv, (E23x5*), 0, "G23x5y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G23x5y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G23x5y2.ff");
+ test_class_info(&lv, &cd_G23x5y2);
+ dp->~G23x5y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x5y2(Test_G23x5y2, "G23x5y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G23x5y2C1Ev();
+extern void _ZN7G23x5y2D1Ev();
+Name_Map name_map_G23x5y2[] = {
+ NSPAIR(_ZN7G23x5y2C1Ev),
+ NSPAIR(_ZN7G23x5y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E23x5;
+extern VTBL_ENTRY _ZTI5E23x5[];
+extern VTBL_ENTRY _ZTV5E23x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G23x5y2[] = {
+ // 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_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)
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E23x5, 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)
+ 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 _ZTI7G23x5y2[];
+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_G23x5y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x5y2[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G23x5y2[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G23x5y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G23x5y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G23x5y2[];
+static VTBL_ENTRY _tg__ZTV5E23x5__7G23x5y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x5[0]),
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__5E23x5__7G23x5y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E23x5[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__5E23x5__7G23x5y2[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E23x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__7G23x5y2[] = {
+ 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__7G23x5y2[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x5y2[] = {
+ {&(_ZTV7G23x5y2[5]), 5,18},
+ {&(_tg__ZTV5E23x5__7G23x5y2[4]), 4,4},
+ {&(_tg__ZTV3C23__5E23x5__7G23x5y2[4]), 4,5},
+ {&(_tg__ZTV2A1__5E23x5__7G23x5y2[3]), 3,4},
+ {&(_ZTV7G23x5y2[9]), 9,18},
+ {&(_ZTV7G23x5y2[13]), 13,18},
+ {&(_ZTV7G23x5y2[17]), 17,18},
+ {&(_tg__ZTV3C23__7G23x5y2[3]), 3,4},
+ {&(_tg__ZTV2A1__3C23__7G23x5y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G23x5y2[];
+extern VTBL_ENTRY _ZTV7G23x5y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x5y2[];
+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_G23x5y2 = { "G23x5y2", // class name
+ bases_G23x5y2, 6,
+ &(vtc_G23x5y2[0]), // expected_vtbl_contents
+ &(vtt_G23x5y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G23x5y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x5y2),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x5y2),9, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names83,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x5y3 : virtual E23x5 , virtual F1 {
+ int ff;
+ ~G23x5y3(); // tgen
+ G23x5y3(); // tgen
+};
+//SIG(1 G23x5y3) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G23x5y3 ::~G23x5y3(){ note_dtor("G23x5y3", this);} // tgen
+G23x5y3 ::G23x5y3(){ note_ctor("G23x5y3", this);} // tgen
+
+static void Test_G23x5y3()
+{
+ extern Class_Descriptor cd_G23x5y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G23x5y3, buf);
+ G23x5y3 *dp, &lv = *(dp=new (buf) G23x5y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G23x5y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x5y3)");
+ check_base_class_offset(lv, (A1*)(C23*), ABISELECT(48,32), "G23x5y3");
+ check_base_class_offset(lv, (B1*)(C23*), ABISELECT(32,20), "G23x5y3");
+ check_base_class_offset(lv, (C23*)(E23x5*), ABISELECT(32,20), "G23x5y3");
+ check_base_class_offset(lv, (D0*)(E23x5*), ABISELECT(24,12), "G23x5y3");
+ check_base_class_offset(lv, (E23x5*), ABISELECT(16,8), "G23x5y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G23x5y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G23x5y3.ff");
+ test_class_info(&lv, &cd_G23x5y3);
+ dp->~G23x5y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x5y3(Test_G23x5y3, "G23x5y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G23x5y3C1Ev();
+extern void _ZN7G23x5y3D1Ev();
+Name_Map name_map_G23x5y3[] = {
+ NSPAIR(_ZN7G23x5y3C1Ev),
+ NSPAIR(_ZN7G23x5y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E23x5;
+extern VTBL_ENTRY _ZTI5E23x5[];
+extern VTBL_ENTRY _ZTV5E23x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G23x5y3[] = {
+ // 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_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
+ 10, //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_D0, 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_E23x5, 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(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 _ZTI7G23x5y3[];
+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_G23x5y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x5y3[0]),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G23x5y3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G23x5y3[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G23x5y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G23x5y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G23x5y3[];
+static VTBL_ENTRY _tg__ZTV5E23x5__7G23x5y3[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x5[0]),
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__5E23x5__7G23x5y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E23x5[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__5E23x5__7G23x5y3[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E23x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__7G23x5y3[] = {
+ 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__7G23x5y3[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x5y3[] = {
+ {&(_ZTV7G23x5y3[6]), 6,23},
+ {&(_ZTV7G23x5y3[10]), 10,23},
+ {&(_ZTV7G23x5y3[14]), 14,23},
+ {&(_ZTV7G23x5y3[18]), 18,23},
+ {&(_ZTV7G23x5y3[22]), 22,23},
+ {&(_tg__ZTV5E23x5__7G23x5y3[4]), 4,4},
+ {&(_tg__ZTV3C23__5E23x5__7G23x5y3[4]), 4,5},
+ {&(_tg__ZTV2A1__5E23x5__7G23x5y3[3]), 3,4},
+ {&(_tg__ZTV3C23__7G23x5y3[3]), 3,4},
+ {&(_tg__ZTV2A1__3C23__7G23x5y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G23x5y3[];
+extern VTBL_ENTRY _ZTV7G23x5y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x5y3[];
+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_G23x5y3 = { "G23x5y3", // class name
+ bases_G23x5y3, 6,
+ &(vtc_G23x5y3[0]), // expected_vtbl_contents
+ &(vtt_G23x5y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G23x5y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x5y3),23, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x5y3),10, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names84,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x5y4 : E23x5 , F0 {
+ int ff;
+ ~G23x5y4(); // tgen
+ G23x5y4(); // tgen
+};
+//SIG(1 G23x5y4) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G23x5y4 ::~G23x5y4(){ note_dtor("G23x5y4", this);} // tgen
+G23x5y4 ::G23x5y4(){ note_ctor("G23x5y4", this);} // tgen
+
+static void Test_G23x5y4()
+{
+ extern Class_Descriptor cd_G23x5y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G23x5y4, buf);
+ G23x5y4 *dp, &lv = *(dp=new (buf) G23x5y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G23x5y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x5y4)");
+ check_base_class_offset(lv, (A1*)(C23*), ABISELECT(40,32), "G23x5y4");
+ check_base_class_offset(lv, (B1*)(C23*), ABISELECT(24,20), "G23x5y4");
+ check_base_class_offset(lv, (C23*)(E23x5*), ABISELECT(24,20), "G23x5y4");
+ check_base_class_offset(lv, (D0*)(E23x5*), ABISELECT(8,4), "G23x5y4");
+ check_base_class_offset(lv, (E23x5*), 0, "G23x5y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G23x5y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G23x5y4.ff");
+ test_class_info(&lv, &cd_G23x5y4);
+ dp->~G23x5y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x5y4(Test_G23x5y4, "G23x5y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G23x5y4C1Ev();
+extern void _ZN7G23x5y4D1Ev();
+Name_Map name_map_G23x5y4[] = {
+ NSPAIR(_ZN7G23x5y4C1Ev),
+ NSPAIR(_ZN7G23x5y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E23x5;
+extern VTBL_ENTRY _ZTI5E23x5[];
+extern VTBL_ENTRY _ZTV5E23x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G23x5y4[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(40,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
+ 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
+ 4, //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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E23x5, 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 _ZTI7G23x5y4[];
+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_G23x5y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x5y4[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G23x5y4[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G23x5y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern VTBL_ENTRY _ZTV7G23x5y4[];
+static VTBL_ENTRY _tg__ZTV5E23x5__7G23x5y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x5[0]),
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__5E23x5__7G23x5y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E23x5[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__5E23x5__7G23x5y4[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI5E23x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__7G23x5y4[] = {
+ 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__7G23x5y4[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x5y4[] = {
+ {&(_ZTV7G23x5y4[4]), 4,13},
+ {&(_tg__ZTV5E23x5__7G23x5y4[4]), 4,4},
+ {&(_tg__ZTV3C23__5E23x5__7G23x5y4[4]), 4,5},
+ {&(_tg__ZTV2A1__5E23x5__7G23x5y4[3]), 3,4},
+ {&(_ZTV7G23x5y4[8]), 8,13},
+ {&(_ZTV7G23x5y4[12]), 12,13},
+ {&(_tg__ZTV3C23__7G23x5y4[3]), 3,4},
+ {&(_tg__ZTV2A1__3C23__7G23x5y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G23x5y4[];
+extern VTBL_ENTRY _ZTV7G23x5y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x5y4[];
+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_G23x5y4 = { "G23x5y4", // class name
+ bases_G23x5y4, 6,
+ &(vtc_G23x5y4[0]), // expected_vtbl_contents
+ &(vtt_G23x5y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G23x5y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x5y4),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x5y4),8, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names85,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x5y5 : virtual E23x5 , F0 {
+ int ff;
+ ~G23x5y5(); // tgen
+ G23x5y5(); // tgen
+};
+//SIG(1 G23x5y5) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G23x5y5 ::~G23x5y5(){ note_dtor("G23x5y5", this);} // tgen
+G23x5y5 ::G23x5y5(){ note_ctor("G23x5y5", this);} // tgen
+
+static void Test_G23x5y5()
+{
+ extern Class_Descriptor cd_G23x5y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G23x5y5, buf);
+ G23x5y5 *dp, &lv = *(dp=new (buf) G23x5y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G23x5y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x5y5)");
+ check_base_class_offset(lv, (A1*)(C23*), ABISELECT(48,36), "G23x5y5");
+ check_base_class_offset(lv, (B1*)(C23*), ABISELECT(32,24), "G23x5y5");
+ check_base_class_offset(lv, (C23*)(E23x5*), ABISELECT(32,24), "G23x5y5");
+ check_base_class_offset(lv, (D0*)(E23x5*), ABISELECT(24,16), "G23x5y5");
+ check_base_class_offset(lv, (E23x5*), ABISELECT(16,12), "G23x5y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G23x5y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G23x5y5.ff");
+ test_class_info(&lv, &cd_G23x5y5);
+ dp->~G23x5y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x5y5(Test_G23x5y5, "G23x5y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G23x5y5C1Ev();
+extern void _ZN7G23x5y5D1Ev();
+Name_Map name_map_G23x5y5[] = {
+ NSPAIR(_ZN7G23x5y5C1Ev),
+ NSPAIR(_ZN7G23x5y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E23x5;
+extern VTBL_ENTRY _ZTI5E23x5[];
+extern VTBL_ENTRY _ZTV5E23x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G23x5y5[] = {
+ // 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_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
+ 9, //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_D0, 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_E23x5, 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 _ZTI7G23x5y5[];
+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_G23x5y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x5y5[0]),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G23x5y5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G23x5y5[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G23x5y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern VTBL_ENTRY _ZTV7G23x5y5[];
+static VTBL_ENTRY _tg__ZTV5E23x5__7G23x5y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x5[0]),
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__5E23x5__7G23x5y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E23x5[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__5E23x5__7G23x5y5[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E23x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__7G23x5y5[] = {
+ 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__7G23x5y5[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x5y5[] = {
+ {&(_ZTV7G23x5y5[5]), 5,18},
+ {&(_ZTV7G23x5y5[9]), 9,18},
+ {&(_ZTV7G23x5y5[13]), 13,18},
+ {&(_ZTV7G23x5y5[17]), 17,18},
+ {&(_tg__ZTV5E23x5__7G23x5y5[4]), 4,4},
+ {&(_tg__ZTV3C23__5E23x5__7G23x5y5[4]), 4,5},
+ {&(_tg__ZTV2A1__5E23x5__7G23x5y5[3]), 3,4},
+ {&(_tg__ZTV3C23__7G23x5y5[3]), 3,4},
+ {&(_tg__ZTV2A1__3C23__7G23x5y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G23x5y5[];
+extern VTBL_ENTRY _ZTV7G23x5y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x5y5[];
+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_G23x5y5 = { "G23x5y5", // class name
+ bases_G23x5y5, 6,
+ &(vtc_G23x5y5[0]), // expected_vtbl_contents
+ &(vtt_G23x5y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G23x5y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x5y5),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x5y5),9, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names86,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x5y6 : E23x5 , virtual F0 {
+ int ff;
+ ~G23x5y6(); // tgen
+ G23x5y6(); // tgen
+};
+//SIG(1 G23x5y6) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G23x5y6 ::~G23x5y6(){ note_dtor("G23x5y6", this);} // tgen
+G23x5y6 ::G23x5y6(){ note_ctor("G23x5y6", this);} // tgen
+
+static void Test_G23x5y6()
+{
+ extern Class_Descriptor cd_G23x5y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G23x5y6, buf);
+ G23x5y6 *dp, &lv = *(dp=new (buf) G23x5y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G23x5y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x5y6)");
+ check_base_class_offset(lv, (A1*)(C23*), ABISELECT(40,28), "G23x5y6");
+ check_base_class_offset(lv, (B1*)(C23*), ABISELECT(24,16), "G23x5y6");
+ check_base_class_offset(lv, (C23*)(E23x5*), ABISELECT(24,16), "G23x5y6");
+ check_base_class_offset(lv, (D0*)(E23x5*), ABISELECT(8,4), "G23x5y6");
+ check_base_class_offset(lv, (E23x5*), 0, "G23x5y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G23x5y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G23x5y6.ff");
+ test_class_info(&lv, &cd_G23x5y6);
+ dp->~G23x5y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x5y6(Test_G23x5y6, "G23x5y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G23x5y6C1Ev();
+extern void _ZN7G23x5y6D1Ev();
+Name_Map name_map_G23x5y6[] = {
+ NSPAIR(_ZN7G23x5y6C1Ev),
+ NSPAIR(_ZN7G23x5y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E23x5;
+extern VTBL_ENTRY _ZTI5E23x5[];
+extern VTBL_ENTRY _ZTV5E23x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G23x5y6[] = {
+ // 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_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)
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E23x5, 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 _ZTI7G23x5y6[];
+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_G23x5y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x5y6[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G23x5y6[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G23x5y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern VTBL_ENTRY _ZTV7G23x5y6[];
+static VTBL_ENTRY _tg__ZTV5E23x5__7G23x5y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x5[0]),
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__5E23x5__7G23x5y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E23x5[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__5E23x5__7G23x5y6[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E23x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__7G23x5y6[] = {
+ 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__7G23x5y6[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x5y6[] = {
+ {&(_ZTV7G23x5y6[5]), 5,14},
+ {&(_tg__ZTV5E23x5__7G23x5y6[4]), 4,4},
+ {&(_tg__ZTV3C23__5E23x5__7G23x5y6[4]), 4,5},
+ {&(_tg__ZTV2A1__5E23x5__7G23x5y6[3]), 3,4},
+ {&(_ZTV7G23x5y6[9]), 9,14},
+ {&(_ZTV7G23x5y6[13]), 13,14},
+ {&(_tg__ZTV3C23__7G23x5y6[3]), 3,4},
+ {&(_tg__ZTV2A1__3C23__7G23x5y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G23x5y6[];
+extern VTBL_ENTRY _ZTV7G23x5y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x5y6[];
+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_G23x5y6 = { "G23x5y6", // class name
+ bases_G23x5y6, 6,
+ &(vtc_G23x5y6[0]), // expected_vtbl_contents
+ &(vtt_G23x5y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G23x5y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x5y6),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x5y6),8, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names87,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x5y7 : virtual E23x5 , virtual F0 {
+ int ff;
+ ~G23x5y7(); // tgen
+ G23x5y7(); // tgen
+};
+//SIG(1 G23x5y7) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G23x5y7 ::~G23x5y7(){ note_dtor("G23x5y7", this);} // tgen
+G23x5y7 ::G23x5y7(){ note_ctor("G23x5y7", this);} // tgen
+
+static void Test_G23x5y7()
+{
+ extern Class_Descriptor cd_G23x5y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G23x5y7, buf);
+ G23x5y7 *dp, &lv = *(dp=new (buf) G23x5y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G23x5y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x5y7)");
+ check_base_class_offset(lv, (A1*)(C23*), ABISELECT(48,32), "G23x5y7");
+ check_base_class_offset(lv, (B1*)(C23*), ABISELECT(32,20), "G23x5y7");
+ check_base_class_offset(lv, (C23*)(E23x5*), ABISELECT(32,20), "G23x5y7");
+ check_base_class_offset(lv, (D0*)(E23x5*), ABISELECT(24,12), "G23x5y7");
+ check_base_class_offset(lv, (E23x5*), ABISELECT(16,8), "G23x5y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(60,40), "G23x5y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G23x5y7.ff");
+ test_class_info(&lv, &cd_G23x5y7);
+ dp->~G23x5y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x5y7(Test_G23x5y7, "G23x5y7", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G23x5y7C1Ev();
+extern void _ZN7G23x5y7D1Ev();
+Name_Map name_map_G23x5y7[] = {
+ NSPAIR(_ZN7G23x5y7C1Ev),
+ NSPAIR(_ZN7G23x5y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E23x5;
+extern VTBL_ENTRY _ZTI5E23x5[];
+extern VTBL_ENTRY _ZTV5E23x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G23x5y7[] = {
+ // 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_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
+ 10, //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_D0, 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_E23x5, 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(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 _ZTI7G23x5y7[];
+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_G23x5y7[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x5y7[0]),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G23x5y7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G23x5y7[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G23x5y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern VTBL_ENTRY _ZTV7G23x5y7[];
+static VTBL_ENTRY _tg__ZTV5E23x5__7G23x5y7[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x5[0]),
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__5E23x5__7G23x5y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E23x5[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__5E23x5__7G23x5y7[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E23x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__7G23x5y7[] = {
+ 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__7G23x5y7[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x5y7[] = {
+ {&(_ZTV7G23x5y7[6]), 6,19},
+ {&(_ZTV7G23x5y7[10]), 10,19},
+ {&(_ZTV7G23x5y7[14]), 14,19},
+ {&(_ZTV7G23x5y7[18]), 18,19},
+ {&(_tg__ZTV5E23x5__7G23x5y7[4]), 4,4},
+ {&(_tg__ZTV3C23__5E23x5__7G23x5y7[4]), 4,5},
+ {&(_tg__ZTV2A1__5E23x5__7G23x5y7[3]), 3,4},
+ {&(_tg__ZTV3C23__7G23x5y7[3]), 3,4},
+ {&(_tg__ZTV2A1__3C23__7G23x5y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G23x5y7[];
+extern VTBL_ENTRY _ZTV7G23x5y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x5y7[];
+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_G23x5y7 = { "G23x5y7", // class name
+ bases_G23x5y7, 6,
+ &(vtc_G23x5y7[0]), // expected_vtbl_contents
+ &(vtt_G23x5y7[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G23x5y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x5y7),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x5y7),9, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names88,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E24x5 : virtual C24 , D0 {
+ int fd;
+ ~E24x5(); // tgen
+ E24x5(); // tgen
+};
+//SIG(-1 E24x5) C1{ VBC2{ BC3{ Fi} VBC4{ Fi} v1 Fi} BC5{ Fi} Fi}
+
+
+E24x5 ::~E24x5(){ note_dtor("E24x5", this);} // tgen
+E24x5 ::E24x5(){ note_ctor("E24x5", this);} // tgen
+
+static void Test_E24x5()
+{
+ extern Class_Descriptor cd_E24x5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E24x5, buf);
+ E24x5 *dp, &lv = *(dp=new (buf) E24x5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E24x5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E24x5)");
+ check_base_class_offset(lv, (A0*)(C24*), ABISELECT(24,16), "E24x5");
+ check_base_class_offset(lv, (B0*)(C24*), ABISELECT(32,24), "E24x5");
+ check_base_class_offset(lv, (C24*), ABISELECT(16,12), "E24x5");
+ check_base_class_offset(lv, (D0*), ABISELECT(8,4), "E24x5");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E24x5.fd");
+ test_class_info(&lv, &cd_E24x5);
+ dp->~E24x5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE24x5(Test_E24x5, "E24x5", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E24x5C1Ev();
+extern void _ZN5E24x5D1Ev();
+Name_Map name_map_E24x5[] = {
+ NSPAIR(_ZN5E24x5C1Ev),
+ NSPAIR(_ZN5E24x5D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E24x5[] = {
+ // 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
+ 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
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E24x5[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY vtc_E24x5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E24x5[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern VTBL_ENTRY _ZTV5E24x5[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__5E24x5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_E24x5[] = {
+ {&(_ZTV5E24x5[4]), 4,9},
+ {&(_ZTV5E24x5[8]), 8,9},
+ {&(_tg__ZTV3C24__5E24x5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E24x5[];
+extern VTBL_ENTRY _ZTV5E24x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x5[];
+Class_Descriptor cd_E24x5 = { "E24x5", // class name
+ bases_E24x5, 4,
+ &(vtc_E24x5[0]), // expected_vtbl_contents
+ &(vtt_E24x5[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E24x5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E24x5),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E24x5),3, //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 G24x5y0 : E24x5 , F1 {
+ int ff;
+ ~G24x5y0(); // tgen
+ G24x5y0(); // tgen
+};
+//SIG(1 G24x5y0) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G24x5y0 ::~G24x5y0(){ note_dtor("G24x5y0", this);} // tgen
+G24x5y0 ::G24x5y0(){ note_ctor("G24x5y0", this);} // tgen
+
+static void Test_G24x5y0()
+{
+ extern Class_Descriptor cd_G24x5y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G24x5y0, buf);
+ G24x5y0 *dp, &lv = *(dp=new (buf) G24x5y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G24x5y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x5y0)");
+ check_base_class_offset(lv, (A0*)(C24*), ABISELECT(40,28), "G24x5y0");
+ check_base_class_offset(lv, (B0*)(C24*), ABISELECT(48,36), "G24x5y0");
+ check_base_class_offset(lv, (C24*)(E24x5*), ABISELECT(32,24), "G24x5y0");
+ check_base_class_offset(lv, (D0*)(E24x5*), ABISELECT(8,4), "G24x5y0");
+ check_base_class_offset(lv, (E24x5*), 0, "G24x5y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G24x5y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G24x5y0.ff");
+ test_class_info(&lv, &cd_G24x5y0);
+ dp->~G24x5y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x5y0(Test_G24x5y0, "G24x5y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G24x5y0C1Ev();
+extern void _ZN7G24x5y0D1Ev();
+Name_Map name_map_G24x5y0[] = {
+ NSPAIR(_ZN7G24x5y0C1Ev),
+ NSPAIR(_ZN7G24x5y0D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E24x5;
+extern VTBL_ENTRY _ZTI5E24x5[];
+extern VTBL_ENTRY _ZTV5E24x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G24x5y0[] = {
+ // 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
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E24x5, 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,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 _ZTI7G24x5y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY vtc_G24x5y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x5y0[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G24x5y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G24x5y0[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x5y0[];
+static VTBL_ENTRY _tg__ZTV5E24x5__7G24x5y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x5[0]),
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__5E24x5__7G24x5y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E24x5[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__7G24x5y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x5y0[] = {
+ {&(_ZTV7G24x5y0[4]), 4,12},
+ {&(_tg__ZTV5E24x5__7G24x5y0[4]), 4,4},
+ {&(_tg__ZTV3C24__5E24x5__7G24x5y0[4]), 4,5},
+ {&(_ZTV7G24x5y0[11]), 11,12},
+ {&(_tg__ZTV3C24__7G24x5y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x5y0[];
+extern VTBL_ENTRY _ZTV7G24x5y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x5y0[];
+Class_Descriptor cd_G24x5y0 = { "G24x5y0", // class name
+ bases_G24x5y0, 6,
+ &(vtc_G24x5y0[0]), // expected_vtbl_contents
+ &(vtt_G24x5y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G24x5y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x5y0),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x5y0),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 G24x5y1 : virtual E24x5 , F1 {
+ int ff;
+ ~G24x5y1(); // tgen
+ G24x5y1(); // tgen
+};
+//SIG(1 G24x5y1) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G24x5y1 ::~G24x5y1(){ note_dtor("G24x5y1", this);} // tgen
+G24x5y1 ::G24x5y1(){ note_ctor("G24x5y1", this);} // tgen
+
+static void Test_G24x5y1()
+{
+ extern Class_Descriptor cd_G24x5y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G24x5y1, buf);
+ G24x5y1 *dp, &lv = *(dp=new (buf) G24x5y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G24x5y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x5y1)");
+ check_base_class_offset(lv, (A0*)(C24*), ABISELECT(40,28), "G24x5y1");
+ check_base_class_offset(lv, (B0*)(C24*), ABISELECT(48,36), "G24x5y1");
+ check_base_class_offset(lv, (C24*)(E24x5*), ABISELECT(32,24), "G24x5y1");
+ check_base_class_offset(lv, (D0*)(E24x5*), ABISELECT(24,16), "G24x5y1");
+ check_base_class_offset(lv, (E24x5*), ABISELECT(16,12), "G24x5y1");
+ check_base_class_offset(lv, (F1*), 0, "G24x5y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G24x5y1.ff");
+ test_class_info(&lv, &cd_G24x5y1);
+ dp->~G24x5y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x5y1(Test_G24x5y1, "G24x5y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G24x5y1C1Ev();
+extern void _ZN7G24x5y1D1Ev();
+Name_Map name_map_G24x5y1[] = {
+ NSPAIR(_ZN7G24x5y1C1Ev),
+ NSPAIR(_ZN7G24x5y1D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E24x5;
+extern VTBL_ENTRY _ZTI5E24x5[];
+extern VTBL_ENTRY _ZTV5E24x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G24x5y1[] = {
+ // 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
+ 10, //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_D0, 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_E24x5, 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 _ZTI7G24x5y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY vtc_G24x5y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x5y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G24x5y1[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G24x5y1[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x5y1[];
+static VTBL_ENTRY _tg__ZTV5E24x5__7G24x5y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x5[0]),
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__5E24x5__7G24x5y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E24x5[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__7G24x5y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x5y1[] = {
+ {&(_ZTV7G24x5y1[5]), 5,15},
+ {&(_ZTV7G24x5y1[10]), 10,15},
+ {&(_ZTV7G24x5y1[14]), 14,15},
+ {&(_tg__ZTV5E24x5__7G24x5y1[4]), 4,4},
+ {&(_tg__ZTV3C24__5E24x5__7G24x5y1[4]), 4,5},
+ {&(_tg__ZTV3C24__7G24x5y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x5y1[];
+extern VTBL_ENTRY _ZTV7G24x5y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x5y1[];
+Class_Descriptor cd_G24x5y1 = { "G24x5y1", // class name
+ bases_G24x5y1, 6,
+ &(vtc_G24x5y1[0]), // expected_vtbl_contents
+ &(vtt_G24x5y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G24x5y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x5y1),15, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x5y1),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 G24x5y2 : E24x5 , virtual F1 {
+ int ff;
+ ~G24x5y2(); // tgen
+ G24x5y2(); // tgen
+};
+//SIG(1 G24x5y2) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G24x5y2 ::~G24x5y2(){ note_dtor("G24x5y2", this);} // tgen
+G24x5y2 ::G24x5y2(){ note_ctor("G24x5y2", this);} // tgen
+
+static void Test_G24x5y2()
+{
+ extern Class_Descriptor cd_G24x5y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G24x5y2, buf);
+ G24x5y2 *dp, &lv = *(dp=new (buf) G24x5y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G24x5y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x5y2)");
+ check_base_class_offset(lv, (A0*)(C24*), ABISELECT(32,20), "G24x5y2");
+ check_base_class_offset(lv, (B0*)(C24*), ABISELECT(40,28), "G24x5y2");
+ check_base_class_offset(lv, (C24*)(E24x5*), ABISELECT(24,16), "G24x5y2");
+ check_base_class_offset(lv, (D0*)(E24x5*), ABISELECT(8,4), "G24x5y2");
+ check_base_class_offset(lv, (E24x5*), 0, "G24x5y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G24x5y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G24x5y2.ff");
+ test_class_info(&lv, &cd_G24x5y2);
+ dp->~G24x5y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x5y2(Test_G24x5y2, "G24x5y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G24x5y2C1Ev();
+extern void _ZN7G24x5y2D1Ev();
+Name_Map name_map_G24x5y2[] = {
+ NSPAIR(_ZN7G24x5y2C1Ev),
+ NSPAIR(_ZN7G24x5y2D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E24x5;
+extern VTBL_ENTRY _ZTI5E24x5[];
+extern VTBL_ENTRY _ZTV5E24x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G24x5y2[] = {
+ // 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)
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E24x5, 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
+ 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 _ZTI7G24x5y2[];
+extern void _ZN3C243fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G24x5y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x5y2[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G24x5y2[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G24x5y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x5y2[];
+static VTBL_ENTRY _tg__ZTV5E24x5__7G24x5y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x5[0]),
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__5E24x5__7G24x5y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E24x5[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__7G24x5y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x5y2[] = {
+ {&(_ZTV7G24x5y2[5]), 5,14},
+ {&(_tg__ZTV5E24x5__7G24x5y2[4]), 4,4},
+ {&(_tg__ZTV3C24__5E24x5__7G24x5y2[4]), 4,5},
+ {&(_ZTV7G24x5y2[9]), 9,14},
+ {&(_ZTV7G24x5y2[13]), 13,14},
+ {&(_tg__ZTV3C24__7G24x5y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x5y2[];
+extern VTBL_ENTRY _ZTV7G24x5y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x5y2[];
+Class_Descriptor cd_G24x5y2 = { "G24x5y2", // class name
+ bases_G24x5y2, 6,
+ &(vtc_G24x5y2[0]), // expected_vtbl_contents
+ &(vtt_G24x5y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G24x5y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x5y2),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x5y2),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 G24x5y3 : virtual E24x5 , virtual F1 {
+ int ff;
+ ~G24x5y3(); // tgen
+ G24x5y3(); // tgen
+};
+//SIG(1 G24x5y3) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G24x5y3 ::~G24x5y3(){ note_dtor("G24x5y3", this);} // tgen
+G24x5y3 ::G24x5y3(){ note_ctor("G24x5y3", this);} // tgen
+
+static void Test_G24x5y3()
+{
+ extern Class_Descriptor cd_G24x5y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G24x5y3, buf);
+ G24x5y3 *dp, &lv = *(dp=new (buf) G24x5y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G24x5y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x5y3)");
+ check_base_class_offset(lv, (A0*)(C24*), ABISELECT(40,24), "G24x5y3");
+ check_base_class_offset(lv, (B0*)(C24*), ABISELECT(48,32), "G24x5y3");
+ check_base_class_offset(lv, (C24*)(E24x5*), ABISELECT(32,20), "G24x5y3");
+ check_base_class_offset(lv, (D0*)(E24x5*), ABISELECT(24,12), "G24x5y3");
+ check_base_class_offset(lv, (E24x5*), ABISELECT(16,8), "G24x5y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G24x5y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G24x5y3.ff");
+ test_class_info(&lv, &cd_G24x5y3);
+ dp->~G24x5y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x5y3(Test_G24x5y3, "G24x5y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G24x5y3C1Ev();
+extern void _ZN7G24x5y3D1Ev();
+Name_Map name_map_G24x5y3[] = {
+ NSPAIR(_ZN7G24x5y3C1Ev),
+ NSPAIR(_ZN7G24x5y3D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E24x5;
+extern VTBL_ENTRY _ZTI5E24x5[];
+extern VTBL_ENTRY _ZTV5E24x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G24x5y3[] = {
+ // 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
+ 10, //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_D0, 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_E24x5, 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
+ 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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G24x5y3[];
+extern void _ZN3C243fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G24x5y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x5y3[0]),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G24x5y3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G24x5y3[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G24x5y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x5y3[];
+static VTBL_ENTRY _tg__ZTV5E24x5__7G24x5y3[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x5[0]),
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__5E24x5__7G24x5y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E24x5[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__7G24x5y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x5y3[] = {
+ {&(_ZTV7G24x5y3[6]), 6,19},
+ {&(_ZTV7G24x5y3[10]), 10,19},
+ {&(_ZTV7G24x5y3[14]), 14,19},
+ {&(_ZTV7G24x5y3[18]), 18,19},
+ {&(_tg__ZTV5E24x5__7G24x5y3[4]), 4,4},
+ {&(_tg__ZTV3C24__5E24x5__7G24x5y3[4]), 4,5},
+ {&(_tg__ZTV3C24__7G24x5y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x5y3[];
+extern VTBL_ENTRY _ZTV7G24x5y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x5y3[];
+Class_Descriptor cd_G24x5y3 = { "G24x5y3", // class name
+ bases_G24x5y3, 6,
+ &(vtc_G24x5y3[0]), // expected_vtbl_contents
+ &(vtt_G24x5y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G24x5y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x5y3),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x5y3),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 G24x5y4 : E24x5 , F0 {
+ int ff;
+ ~G24x5y4(); // tgen
+ G24x5y4(); // tgen
+};
+//SIG(1 G24x5y4) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G24x5y4 ::~G24x5y4(){ note_dtor("G24x5y4", this);} // tgen
+G24x5y4 ::G24x5y4(){ note_ctor("G24x5y4", this);} // tgen
+
+static void Test_G24x5y4()
+{
+ extern Class_Descriptor cd_G24x5y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G24x5y4, buf);
+ G24x5y4 *dp, &lv = *(dp=new (buf) G24x5y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G24x5y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x5y4)");
+ check_base_class_offset(lv, (A0*)(C24*), ABISELECT(32,24), "G24x5y4");
+ check_base_class_offset(lv, (B0*)(C24*), ABISELECT(40,32), "G24x5y4");
+ check_base_class_offset(lv, (C24*)(E24x5*), ABISELECT(24,20), "G24x5y4");
+ check_base_class_offset(lv, (D0*)(E24x5*), ABISELECT(8,4), "G24x5y4");
+ check_base_class_offset(lv, (E24x5*), 0, "G24x5y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G24x5y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G24x5y4.ff");
+ test_class_info(&lv, &cd_G24x5y4);
+ dp->~G24x5y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x5y4(Test_G24x5y4, "G24x5y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G24x5y4C1Ev();
+extern void _ZN7G24x5y4D1Ev();
+Name_Map name_map_G24x5y4[] = {
+ NSPAIR(_ZN7G24x5y4C1Ev),
+ NSPAIR(_ZN7G24x5y4D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E24x5;
+extern VTBL_ENTRY _ZTI5E24x5[];
+extern VTBL_ENTRY _ZTV5E24x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G24x5y4[] = {
+ // 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
+ 4, //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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E24x5, 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(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G24x5y4[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY vtc_G24x5y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x5y4[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G24x5y4[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x5y4[];
+static VTBL_ENTRY _tg__ZTV5E24x5__7G24x5y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x5[0]),
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__5E24x5__7G24x5y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E24x5[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__7G24x5y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x5y4[] = {
+ {&(_ZTV7G24x5y4[4]), 4,9},
+ {&(_tg__ZTV5E24x5__7G24x5y4[4]), 4,4},
+ {&(_tg__ZTV3C24__5E24x5__7G24x5y4[4]), 4,5},
+ {&(_ZTV7G24x5y4[8]), 8,9},
+ {&(_tg__ZTV3C24__7G24x5y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x5y4[];
+extern VTBL_ENTRY _ZTV7G24x5y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x5y4[];
+Class_Descriptor cd_G24x5y4 = { "G24x5y4", // class name
+ bases_G24x5y4, 6,
+ &(vtc_G24x5y4[0]), // expected_vtbl_contents
+ &(vtt_G24x5y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G24x5y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x5y4),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x5y4),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 G24x5y5 : virtual E24x5 , F0 {
+ int ff;
+ ~G24x5y5(); // tgen
+ G24x5y5(); // tgen
+};
+//SIG(1 G24x5y5) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G24x5y5 ::~G24x5y5(){ note_dtor("G24x5y5", this);} // tgen
+G24x5y5 ::G24x5y5(){ note_ctor("G24x5y5", this);} // tgen
+
+static void Test_G24x5y5()
+{
+ extern Class_Descriptor cd_G24x5y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G24x5y5, buf);
+ G24x5y5 *dp, &lv = *(dp=new (buf) G24x5y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G24x5y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x5y5)");
+ check_base_class_offset(lv, (A0*)(C24*), ABISELECT(40,28), "G24x5y5");
+ check_base_class_offset(lv, (B0*)(C24*), ABISELECT(48,36), "G24x5y5");
+ check_base_class_offset(lv, (C24*)(E24x5*), ABISELECT(32,24), "G24x5y5");
+ check_base_class_offset(lv, (D0*)(E24x5*), ABISELECT(24,16), "G24x5y5");
+ check_base_class_offset(lv, (E24x5*), ABISELECT(16,12), "G24x5y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G24x5y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G24x5y5.ff");
+ test_class_info(&lv, &cd_G24x5y5);
+ dp->~G24x5y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x5y5(Test_G24x5y5, "G24x5y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G24x5y5C1Ev();
+extern void _ZN7G24x5y5D1Ev();
+Name_Map name_map_G24x5y5[] = {
+ NSPAIR(_ZN7G24x5y5C1Ev),
+ NSPAIR(_ZN7G24x5y5D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E24x5;
+extern VTBL_ENTRY _ZTI5E24x5[];
+extern VTBL_ENTRY _ZTV5E24x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G24x5y5[] = {
+ // 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
+ 9, //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_D0, 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_E24x5, 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 _ZTI7G24x5y5[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY vtc_G24x5y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x5y5[0]),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G24x5y5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G24x5y5[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x5y5[];
+static VTBL_ENTRY _tg__ZTV5E24x5__7G24x5y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x5[0]),
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__5E24x5__7G24x5y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E24x5[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__7G24x5y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x5y5[] = {
+ {&(_ZTV7G24x5y5[5]), 5,14},
+ {&(_ZTV7G24x5y5[9]), 9,14},
+ {&(_ZTV7G24x5y5[13]), 13,14},
+ {&(_tg__ZTV5E24x5__7G24x5y5[4]), 4,4},
+ {&(_tg__ZTV3C24__5E24x5__7G24x5y5[4]), 4,5},
+ {&(_tg__ZTV3C24__7G24x5y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x5y5[];
+extern VTBL_ENTRY _ZTV7G24x5y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x5y5[];
+Class_Descriptor cd_G24x5y5 = { "G24x5y5", // class name
+ bases_G24x5y5, 6,
+ &(vtc_G24x5y5[0]), // expected_vtbl_contents
+ &(vtt_G24x5y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G24x5y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x5y5),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x5y5),6, //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 G24x5y6 : E24x5 , virtual F0 {
+ int ff;
+ ~G24x5y6(); // tgen
+ G24x5y6(); // tgen
+};
+//SIG(1 G24x5y6) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G24x5y6 ::~G24x5y6(){ note_dtor("G24x5y6", this);} // tgen
+G24x5y6 ::G24x5y6(){ note_ctor("G24x5y6", this);} // tgen
+
+static void Test_G24x5y6()
+{
+ extern Class_Descriptor cd_G24x5y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G24x5y6, buf);
+ G24x5y6 *dp, &lv = *(dp=new (buf) G24x5y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G24x5y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x5y6)");
+ check_base_class_offset(lv, (A0*)(C24*), ABISELECT(32,20), "G24x5y6");
+ check_base_class_offset(lv, (B0*)(C24*), ABISELECT(40,28), "G24x5y6");
+ check_base_class_offset(lv, (C24*)(E24x5*), ABISELECT(24,16), "G24x5y6");
+ check_base_class_offset(lv, (D0*)(E24x5*), ABISELECT(8,4), "G24x5y6");
+ check_base_class_offset(lv, (E24x5*), 0, "G24x5y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G24x5y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G24x5y6.ff");
+ test_class_info(&lv, &cd_G24x5y6);
+ dp->~G24x5y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x5y6(Test_G24x5y6, "G24x5y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G24x5y6C1Ev();
+extern void _ZN7G24x5y6D1Ev();
+Name_Map name_map_G24x5y6[] = {
+ NSPAIR(_ZN7G24x5y6C1Ev),
+ NSPAIR(_ZN7G24x5y6D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E24x5;
+extern VTBL_ENTRY _ZTI5E24x5[];
+extern VTBL_ENTRY _ZTV5E24x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G24x5y6[] = {
+ // 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)
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E24x5, 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 _ZTI7G24x5y6[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY vtc_G24x5y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x5y6[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G24x5y6[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x5y6[];
+static VTBL_ENTRY _tg__ZTV5E24x5__7G24x5y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x5[0]),
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__5E24x5__7G24x5y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E24x5[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__7G24x5y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x5y6[] = {
+ {&(_ZTV7G24x5y6[5]), 5,10},
+ {&(_tg__ZTV5E24x5__7G24x5y6[4]), 4,4},
+ {&(_tg__ZTV3C24__5E24x5__7G24x5y6[4]), 4,5},
+ {&(_ZTV7G24x5y6[9]), 9,10},
+ {&(_tg__ZTV3C24__7G24x5y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x5y6[];
+extern VTBL_ENTRY _ZTV7G24x5y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x5y6[];
+Class_Descriptor cd_G24x5y6 = { "G24x5y6", // class name
+ bases_G24x5y6, 6,
+ &(vtc_G24x5y6[0]), // expected_vtbl_contents
+ &(vtt_G24x5y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G24x5y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x5y6),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x5y6),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 G24x5y7 : virtual E24x5 , virtual F0 {
+ int ff;
+ ~G24x5y7(); // tgen
+ G24x5y7(); // tgen
+};
+//SIG(1 G24x5y7) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G24x5y7 ::~G24x5y7(){ note_dtor("G24x5y7", this);} // tgen
+G24x5y7 ::G24x5y7(){ note_ctor("G24x5y7", this);} // tgen
+
+static void Test_G24x5y7()
+{
+ extern Class_Descriptor cd_G24x5y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G24x5y7, buf);
+ G24x5y7 *dp, &lv = *(dp=new (buf) G24x5y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G24x5y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x5y7)");
+ check_base_class_offset(lv, (A0*)(C24*), ABISELECT(40,24), "G24x5y7");
+ check_base_class_offset(lv, (B0*)(C24*), ABISELECT(48,32), "G24x5y7");
+ check_base_class_offset(lv, (C24*)(E24x5*), ABISELECT(32,20), "G24x5y7");
+ check_base_class_offset(lv, (D0*)(E24x5*), ABISELECT(24,12), "G24x5y7");
+ check_base_class_offset(lv, (E24x5*), ABISELECT(16,8), "G24x5y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G24x5y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G24x5y7.ff");
+ test_class_info(&lv, &cd_G24x5y7);
+ dp->~G24x5y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x5y7(Test_G24x5y7, "G24x5y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G24x5y7C1Ev();
+extern void _ZN7G24x5y7D1Ev();
+Name_Map name_map_G24x5y7[] = {
+ NSPAIR(_ZN7G24x5y7C1Ev),
+ NSPAIR(_ZN7G24x5y7D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E24x5;
+extern VTBL_ENTRY _ZTI5E24x5[];
+extern VTBL_ENTRY _ZTV5E24x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G24x5y7[] = {
+ // 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
+ 10, //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_D0, 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_E24x5, 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 _ZTI7G24x5y7[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY vtc_G24x5y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x5y7[0]),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G24x5y7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G24x5y7[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x5y7[];
+static VTBL_ENTRY _tg__ZTV5E24x5__7G24x5y7[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x5[0]),
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__5E24x5__7G24x5y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E24x5[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__7G24x5y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x5y7[] = {
+ {&(_ZTV7G24x5y7[6]), 6,15},
+ {&(_ZTV7G24x5y7[10]), 10,15},
+ {&(_ZTV7G24x5y7[14]), 14,15},
+ {&(_tg__ZTV5E24x5__7G24x5y7[4]), 4,4},
+ {&(_tg__ZTV3C24__5E24x5__7G24x5y7[4]), 4,5},
+ {&(_tg__ZTV3C24__7G24x5y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x5y7[];
+extern VTBL_ENTRY _ZTV7G24x5y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x5y7[];
+Class_Descriptor cd_G24x5y7 = { "G24x5y7", // class name
+ bases_G24x5y7, 6,
+ &(vtc_G24x5y7[0]), // expected_vtbl_contents
+ &(vtt_G24x5y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G24x5y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x5y7),15, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x5y7),6, //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 E25x5 : virtual C25 , D0 {
+ int fd;
+ ~E25x5(); // tgen
+ E25x5(); // tgen
+};
+//SIG(-1 E25x5) C1{ VBC2{ BC3{ v1 Fi} VBC4{ Fi} v1 Fi} BC5{ Fi} Fi}
+
+
+E25x5 ::~E25x5(){ note_dtor("E25x5", this);} // tgen
+E25x5 ::E25x5(){ note_ctor("E25x5", this);} // tgen
+
+static void Test_E25x5()
+{
+ extern Class_Descriptor cd_E25x5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E25x5, buf);
+ E25x5 *dp, &lv = *(dp=new (buf) E25x5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E25x5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E25x5)");
+ check_base_class_offset(lv, (A1*)(C25*), ABISELECT(16,12), "E25x5");
+ check_base_class_offset(lv, (B0*)(C25*), ABISELECT(32,24), "E25x5");
+ check_base_class_offset(lv, (C25*), ABISELECT(16,12), "E25x5");
+ check_base_class_offset(lv, (D0*), ABISELECT(8,4), "E25x5");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E25x5.fd");
+ test_class_info(&lv, &cd_E25x5);
+ dp->~E25x5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE25x5(Test_E25x5, "E25x5", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E25x5C1Ev();
+extern void _ZN5E25x5D1Ev();
+Name_Map name_map_E25x5[] = {
+ NSPAIR(_ZN5E25x5C1Ev),
+ NSPAIR(_ZN5E25x5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E25x5[] = {
+ // 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
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E25x5[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY vtc_E25x5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E25x5[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern VTBL_ENTRY _ZTV5E25x5[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__5E25x5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_E25x5[] = {
+ {&(_ZTV5E25x5[4]), 4,9},
+ {&(_ZTV5E25x5[8]), 8,9},
+ {&(_tg__ZTV3C25__5E25x5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E25x5[];
+extern VTBL_ENTRY _ZTV5E25x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x5[];
+Class_Descriptor cd_E25x5 = { "E25x5", // class name
+ bases_E25x5, 4,
+ &(vtc_E25x5[0]), // expected_vtbl_contents
+ &(vtt_E25x5[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E25x5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E25x5),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E25x5),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 G25x5y0 : E25x5 , F1 {
+ int ff;
+ ~G25x5y0(); // tgen
+ G25x5y0(); // tgen
+};
+//SIG(1 G25x5y0) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G25x5y0 ::~G25x5y0(){ note_dtor("G25x5y0", this);} // tgen
+G25x5y0 ::G25x5y0(){ note_ctor("G25x5y0", this);} // tgen
+
+static void Test_G25x5y0()
+{
+ extern Class_Descriptor cd_G25x5y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G25x5y0, buf);
+ G25x5y0 *dp, &lv = *(dp=new (buf) G25x5y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G25x5y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x5y0)");
+ check_base_class_offset(lv, (A1*)(C25*), ABISELECT(32,24), "G25x5y0");
+ check_base_class_offset(lv, (B0*)(C25*), ABISELECT(48,36), "G25x5y0");
+ check_base_class_offset(lv, (C25*)(E25x5*), ABISELECT(32,24), "G25x5y0");
+ check_base_class_offset(lv, (D0*)(E25x5*), ABISELECT(8,4), "G25x5y0");
+ check_base_class_offset(lv, (E25x5*), 0, "G25x5y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G25x5y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G25x5y0.ff");
+ test_class_info(&lv, &cd_G25x5y0);
+ dp->~G25x5y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x5y0(Test_G25x5y0, "G25x5y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G25x5y0C1Ev();
+extern void _ZN7G25x5y0D1Ev();
+Name_Map name_map_G25x5y0[] = {
+ NSPAIR(_ZN7G25x5y0C1Ev),
+ NSPAIR(_ZN7G25x5y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E25x5;
+extern VTBL_ENTRY _ZTI5E25x5[];
+extern VTBL_ENTRY _ZTV5E25x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G25x5y0[] = {
+ // 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
+ 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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E25x5, 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
+ 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 _ZTI7G25x5y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY vtc_G25x5y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x5y0[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G25x5y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G25x5y0[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x5y0[];
+static VTBL_ENTRY _tg__ZTV5E25x5__7G25x5y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x5[0]),
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__5E25x5__7G25x5y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E25x5[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__7G25x5y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x5y0[] = {
+ {&(_ZTV7G25x5y0[4]), 4,12},
+ {&(_tg__ZTV5E25x5__7G25x5y0[4]), 4,4},
+ {&(_tg__ZTV3C25__5E25x5__7G25x5y0[4]), 4,5},
+ {&(_ZTV7G25x5y0[11]), 11,12},
+ {&(_tg__ZTV3C25__7G25x5y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x5y0[];
+extern VTBL_ENTRY _ZTV7G25x5y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x5y0[];
+Class_Descriptor cd_G25x5y0 = { "G25x5y0", // class name
+ bases_G25x5y0, 6,
+ &(vtc_G25x5y0[0]), // expected_vtbl_contents
+ &(vtt_G25x5y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G25x5y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x5y0),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x5y0),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 G25x5y1 : virtual E25x5 , F1 {
+ int ff;
+ ~G25x5y1(); // tgen
+ G25x5y1(); // tgen
+};
+//SIG(1 G25x5y1) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G25x5y1 ::~G25x5y1(){ note_dtor("G25x5y1", this);} // tgen
+G25x5y1 ::G25x5y1(){ note_ctor("G25x5y1", this);} // tgen
+
+static void Test_G25x5y1()
+{
+ extern Class_Descriptor cd_G25x5y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G25x5y1, buf);
+ G25x5y1 *dp, &lv = *(dp=new (buf) G25x5y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G25x5y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x5y1)");
+ check_base_class_offset(lv, (A1*)(C25*), ABISELECT(32,24), "G25x5y1");
+ check_base_class_offset(lv, (B0*)(C25*), ABISELECT(48,36), "G25x5y1");
+ check_base_class_offset(lv, (C25*)(E25x5*), ABISELECT(32,24), "G25x5y1");
+ check_base_class_offset(lv, (D0*)(E25x5*), ABISELECT(24,16), "G25x5y1");
+ check_base_class_offset(lv, (E25x5*), ABISELECT(16,12), "G25x5y1");
+ check_base_class_offset(lv, (F1*), 0, "G25x5y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G25x5y1.ff");
+ test_class_info(&lv, &cd_G25x5y1);
+ dp->~G25x5y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x5y1(Test_G25x5y1, "G25x5y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G25x5y1C1Ev();
+extern void _ZN7G25x5y1D1Ev();
+Name_Map name_map_G25x5y1[] = {
+ NSPAIR(_ZN7G25x5y1C1Ev),
+ NSPAIR(_ZN7G25x5y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E25x5;
+extern VTBL_ENTRY _ZTI5E25x5[];
+extern VTBL_ENTRY _ZTV5E25x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G25x5y1[] = {
+ // 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
+ 10, //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_D0, 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_E25x5, 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 _ZTI7G25x5y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY vtc_G25x5y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x5y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G25x5y1[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G25x5y1[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x5y1[];
+static VTBL_ENTRY _tg__ZTV5E25x5__7G25x5y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x5[0]),
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__5E25x5__7G25x5y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E25x5[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__7G25x5y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x5y1[] = {
+ {&(_ZTV7G25x5y1[5]), 5,15},
+ {&(_ZTV7G25x5y1[10]), 10,15},
+ {&(_ZTV7G25x5y1[14]), 14,15},
+ {&(_tg__ZTV5E25x5__7G25x5y1[4]), 4,4},
+ {&(_tg__ZTV3C25__5E25x5__7G25x5y1[4]), 4,5},
+ {&(_tg__ZTV3C25__7G25x5y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x5y1[];
+extern VTBL_ENTRY _ZTV7G25x5y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x5y1[];
+Class_Descriptor cd_G25x5y1 = { "G25x5y1", // class name
+ bases_G25x5y1, 6,
+ &(vtc_G25x5y1[0]), // expected_vtbl_contents
+ &(vtt_G25x5y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G25x5y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x5y1),15, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x5y1),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 G25x5y2 : E25x5 , virtual F1 {
+ int ff;
+ ~G25x5y2(); // tgen
+ G25x5y2(); // tgen
+};
+//SIG(1 G25x5y2) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G25x5y2 ::~G25x5y2(){ note_dtor("G25x5y2", this);} // tgen
+G25x5y2 ::G25x5y2(){ note_ctor("G25x5y2", this);} // tgen
+
+static void Test_G25x5y2()
+{
+ extern Class_Descriptor cd_G25x5y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G25x5y2, buf);
+ G25x5y2 *dp, &lv = *(dp=new (buf) G25x5y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G25x5y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x5y2)");
+ check_base_class_offset(lv, (A1*)(C25*), ABISELECT(24,16), "G25x5y2");
+ check_base_class_offset(lv, (B0*)(C25*), ABISELECT(40,28), "G25x5y2");
+ check_base_class_offset(lv, (C25*)(E25x5*), ABISELECT(24,16), "G25x5y2");
+ check_base_class_offset(lv, (D0*)(E25x5*), ABISELECT(8,4), "G25x5y2");
+ check_base_class_offset(lv, (E25x5*), 0, "G25x5y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G25x5y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G25x5y2.ff");
+ test_class_info(&lv, &cd_G25x5y2);
+ dp->~G25x5y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x5y2(Test_G25x5y2, "G25x5y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G25x5y2C1Ev();
+extern void _ZN7G25x5y2D1Ev();
+Name_Map name_map_G25x5y2[] = {
+ NSPAIR(_ZN7G25x5y2C1Ev),
+ NSPAIR(_ZN7G25x5y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E25x5;
+extern VTBL_ENTRY _ZTI5E25x5[];
+extern VTBL_ENTRY _ZTV5E25x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G25x5y2[] = {
+ // 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)
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E25x5, 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)
+ 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 _ZTI7G25x5y2[];
+extern void _ZN3C253fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G25x5y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x5y2[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G25x5y2[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G25x5y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x5y2[];
+static VTBL_ENTRY _tg__ZTV5E25x5__7G25x5y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x5[0]),
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__5E25x5__7G25x5y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E25x5[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__7G25x5y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x5y2[] = {
+ {&(_ZTV7G25x5y2[5]), 5,14},
+ {&(_tg__ZTV5E25x5__7G25x5y2[4]), 4,4},
+ {&(_tg__ZTV3C25__5E25x5__7G25x5y2[4]), 4,5},
+ {&(_ZTV7G25x5y2[9]), 9,14},
+ {&(_ZTV7G25x5y2[13]), 13,14},
+ {&(_tg__ZTV3C25__7G25x5y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x5y2[];
+extern VTBL_ENTRY _ZTV7G25x5y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x5y2[];
+Class_Descriptor cd_G25x5y2 = { "G25x5y2", // class name
+ bases_G25x5y2, 6,
+ &(vtc_G25x5y2[0]), // expected_vtbl_contents
+ &(vtt_G25x5y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G25x5y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x5y2),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x5y2),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 G25x5y3 : virtual E25x5 , virtual F1 {
+ int ff;
+ ~G25x5y3(); // tgen
+ G25x5y3(); // tgen
+};
+//SIG(1 G25x5y3) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G25x5y3 ::~G25x5y3(){ note_dtor("G25x5y3", this);} // tgen
+G25x5y3 ::G25x5y3(){ note_ctor("G25x5y3", this);} // tgen
+
+static void Test_G25x5y3()
+{
+ extern Class_Descriptor cd_G25x5y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G25x5y3, buf);
+ G25x5y3 *dp, &lv = *(dp=new (buf) G25x5y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G25x5y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x5y3)");
+ check_base_class_offset(lv, (A1*)(C25*), ABISELECT(32,20), "G25x5y3");
+ check_base_class_offset(lv, (B0*)(C25*), ABISELECT(48,32), "G25x5y3");
+ check_base_class_offset(lv, (C25*)(E25x5*), ABISELECT(32,20), "G25x5y3");
+ check_base_class_offset(lv, (D0*)(E25x5*), ABISELECT(24,12), "G25x5y3");
+ check_base_class_offset(lv, (E25x5*), ABISELECT(16,8), "G25x5y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G25x5y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G25x5y3.ff");
+ test_class_info(&lv, &cd_G25x5y3);
+ dp->~G25x5y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x5y3(Test_G25x5y3, "G25x5y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G25x5y3C1Ev();
+extern void _ZN7G25x5y3D1Ev();
+Name_Map name_map_G25x5y3[] = {
+ NSPAIR(_ZN7G25x5y3C1Ev),
+ NSPAIR(_ZN7G25x5y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E25x5;
+extern VTBL_ENTRY _ZTI5E25x5[];
+extern VTBL_ENTRY _ZTV5E25x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G25x5y3[] = {
+ // 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
+ 10, //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_D0, 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_E25x5, 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
+ 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 _ZTI7G25x5y3[];
+extern void _ZN3C253fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G25x5y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x5y3[0]),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G25x5y3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G25x5y3[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G25x5y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x5y3[];
+static VTBL_ENTRY _tg__ZTV5E25x5__7G25x5y3[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x5[0]),
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__5E25x5__7G25x5y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E25x5[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__7G25x5y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x5y3[] = {
+ {&(_ZTV7G25x5y3[6]), 6,19},
+ {&(_ZTV7G25x5y3[10]), 10,19},
+ {&(_ZTV7G25x5y3[14]), 14,19},
+ {&(_ZTV7G25x5y3[18]), 18,19},
+ {&(_tg__ZTV5E25x5__7G25x5y3[4]), 4,4},
+ {&(_tg__ZTV3C25__5E25x5__7G25x5y3[4]), 4,5},
+ {&(_tg__ZTV3C25__7G25x5y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x5y3[];
+extern VTBL_ENTRY _ZTV7G25x5y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x5y3[];
+Class_Descriptor cd_G25x5y3 = { "G25x5y3", // class name
+ bases_G25x5y3, 6,
+ &(vtc_G25x5y3[0]), // expected_vtbl_contents
+ &(vtt_G25x5y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G25x5y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x5y3),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x5y3),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 G25x5y4 : E25x5 , F0 {
+ int ff;
+ ~G25x5y4(); // tgen
+ G25x5y4(); // tgen
+};
+//SIG(1 G25x5y4) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G25x5y4 ::~G25x5y4(){ note_dtor("G25x5y4", this);} // tgen
+G25x5y4 ::G25x5y4(){ note_ctor("G25x5y4", this);} // tgen
+
+static void Test_G25x5y4()
+{
+ extern Class_Descriptor cd_G25x5y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G25x5y4, buf);
+ G25x5y4 *dp, &lv = *(dp=new (buf) G25x5y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G25x5y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x5y4)");
+ check_base_class_offset(lv, (A1*)(C25*), ABISELECT(24,20), "G25x5y4");
+ check_base_class_offset(lv, (B0*)(C25*), ABISELECT(40,32), "G25x5y4");
+ check_base_class_offset(lv, (C25*)(E25x5*), ABISELECT(24,20), "G25x5y4");
+ check_base_class_offset(lv, (D0*)(E25x5*), ABISELECT(8,4), "G25x5y4");
+ check_base_class_offset(lv, (E25x5*), 0, "G25x5y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G25x5y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G25x5y4.ff");
+ test_class_info(&lv, &cd_G25x5y4);
+ dp->~G25x5y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x5y4(Test_G25x5y4, "G25x5y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G25x5y4C1Ev();
+extern void _ZN7G25x5y4D1Ev();
+Name_Map name_map_G25x5y4[] = {
+ NSPAIR(_ZN7G25x5y4C1Ev),
+ NSPAIR(_ZN7G25x5y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E25x5;
+extern VTBL_ENTRY _ZTI5E25x5[];
+extern VTBL_ENTRY _ZTV5E25x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G25x5y4[] = {
+ // 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
+ 4, //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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E25x5, 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 _ZTI7G25x5y4[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY vtc_G25x5y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x5y4[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G25x5y4[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x5y4[];
+static VTBL_ENTRY _tg__ZTV5E25x5__7G25x5y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x5[0]),
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__5E25x5__7G25x5y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E25x5[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__7G25x5y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x5y4[] = {
+ {&(_ZTV7G25x5y4[4]), 4,9},
+ {&(_tg__ZTV5E25x5__7G25x5y4[4]), 4,4},
+ {&(_tg__ZTV3C25__5E25x5__7G25x5y4[4]), 4,5},
+ {&(_ZTV7G25x5y4[8]), 8,9},
+ {&(_tg__ZTV3C25__7G25x5y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x5y4[];
+extern VTBL_ENTRY _ZTV7G25x5y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x5y4[];
+Class_Descriptor cd_G25x5y4 = { "G25x5y4", // class name
+ bases_G25x5y4, 6,
+ &(vtc_G25x5y4[0]), // expected_vtbl_contents
+ &(vtt_G25x5y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G25x5y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x5y4),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x5y4),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 G25x5y5 : virtual E25x5 , F0 {
+ int ff;
+ ~G25x5y5(); // tgen
+ G25x5y5(); // tgen
+};
+//SIG(1 G25x5y5) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G25x5y5 ::~G25x5y5(){ note_dtor("G25x5y5", this);} // tgen
+G25x5y5 ::G25x5y5(){ note_ctor("G25x5y5", this);} // tgen
+
+static void Test_G25x5y5()
+{
+ extern Class_Descriptor cd_G25x5y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G25x5y5, buf);
+ G25x5y5 *dp, &lv = *(dp=new (buf) G25x5y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G25x5y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x5y5)");
+ check_base_class_offset(lv, (A1*)(C25*), ABISELECT(32,24), "G25x5y5");
+ check_base_class_offset(lv, (B0*)(C25*), ABISELECT(48,36), "G25x5y5");
+ check_base_class_offset(lv, (C25*)(E25x5*), ABISELECT(32,24), "G25x5y5");
+ check_base_class_offset(lv, (D0*)(E25x5*), ABISELECT(24,16), "G25x5y5");
+ check_base_class_offset(lv, (E25x5*), ABISELECT(16,12), "G25x5y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G25x5y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G25x5y5.ff");
+ test_class_info(&lv, &cd_G25x5y5);
+ dp->~G25x5y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x5y5(Test_G25x5y5, "G25x5y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G25x5y5C1Ev();
+extern void _ZN7G25x5y5D1Ev();
+Name_Map name_map_G25x5y5[] = {
+ NSPAIR(_ZN7G25x5y5C1Ev),
+ NSPAIR(_ZN7G25x5y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E25x5;
+extern VTBL_ENTRY _ZTI5E25x5[];
+extern VTBL_ENTRY _ZTV5E25x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G25x5y5[] = {
+ // 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
+ 9, //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_D0, 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_E25x5, 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 _ZTI7G25x5y5[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY vtc_G25x5y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x5y5[0]),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G25x5y5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G25x5y5[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x5y5[];
+static VTBL_ENTRY _tg__ZTV5E25x5__7G25x5y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x5[0]),
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__5E25x5__7G25x5y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E25x5[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__7G25x5y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x5y5[] = {
+ {&(_ZTV7G25x5y5[5]), 5,14},
+ {&(_ZTV7G25x5y5[9]), 9,14},
+ {&(_ZTV7G25x5y5[13]), 13,14},
+ {&(_tg__ZTV5E25x5__7G25x5y5[4]), 4,4},
+ {&(_tg__ZTV3C25__5E25x5__7G25x5y5[4]), 4,5},
+ {&(_tg__ZTV3C25__7G25x5y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x5y5[];
+extern VTBL_ENTRY _ZTV7G25x5y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x5y5[];
+Class_Descriptor cd_G25x5y5 = { "G25x5y5", // class name
+ bases_G25x5y5, 6,
+ &(vtc_G25x5y5[0]), // expected_vtbl_contents
+ &(vtt_G25x5y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G25x5y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x5y5),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x5y5),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 G25x5y6 : E25x5 , virtual F0 {
+ int ff;
+ ~G25x5y6(); // tgen
+ G25x5y6(); // tgen
+};
+//SIG(1 G25x5y6) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G25x5y6 ::~G25x5y6(){ note_dtor("G25x5y6", this);} // tgen
+G25x5y6 ::G25x5y6(){ note_ctor("G25x5y6", this);} // tgen
+
+static void Test_G25x5y6()
+{
+ extern Class_Descriptor cd_G25x5y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G25x5y6, buf);
+ G25x5y6 *dp, &lv = *(dp=new (buf) G25x5y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G25x5y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x5y6)");
+ check_base_class_offset(lv, (A1*)(C25*), ABISELECT(24,16), "G25x5y6");
+ check_base_class_offset(lv, (B0*)(C25*), ABISELECT(40,28), "G25x5y6");
+ check_base_class_offset(lv, (C25*)(E25x5*), ABISELECT(24,16), "G25x5y6");
+ check_base_class_offset(lv, (D0*)(E25x5*), ABISELECT(8,4), "G25x5y6");
+ check_base_class_offset(lv, (E25x5*), 0, "G25x5y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G25x5y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G25x5y6.ff");
+ test_class_info(&lv, &cd_G25x5y6);
+ dp->~G25x5y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x5y6(Test_G25x5y6, "G25x5y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G25x5y6C1Ev();
+extern void _ZN7G25x5y6D1Ev();
+Name_Map name_map_G25x5y6[] = {
+ NSPAIR(_ZN7G25x5y6C1Ev),
+ NSPAIR(_ZN7G25x5y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E25x5;
+extern VTBL_ENTRY _ZTI5E25x5[];
+extern VTBL_ENTRY _ZTV5E25x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G25x5y6[] = {
+ // 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)
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E25x5, 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 _ZTI7G25x5y6[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY vtc_G25x5y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x5y6[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G25x5y6[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x5y6[];
+static VTBL_ENTRY _tg__ZTV5E25x5__7G25x5y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x5[0]),
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__5E25x5__7G25x5y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E25x5[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__7G25x5y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x5y6[] = {
+ {&(_ZTV7G25x5y6[5]), 5,10},
+ {&(_tg__ZTV5E25x5__7G25x5y6[4]), 4,4},
+ {&(_tg__ZTV3C25__5E25x5__7G25x5y6[4]), 4,5},
+ {&(_ZTV7G25x5y6[9]), 9,10},
+ {&(_tg__ZTV3C25__7G25x5y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x5y6[];
+extern VTBL_ENTRY _ZTV7G25x5y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x5y6[];
+Class_Descriptor cd_G25x5y6 = { "G25x5y6", // class name
+ bases_G25x5y6, 6,
+ &(vtc_G25x5y6[0]), // expected_vtbl_contents
+ &(vtt_G25x5y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G25x5y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x5y6),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x5y6),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 G25x5y7 : virtual E25x5 , virtual F0 {
+ int ff;
+ ~G25x5y7(); // tgen
+ G25x5y7(); // tgen
+};
+//SIG(1 G25x5y7) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G25x5y7 ::~G25x5y7(){ note_dtor("G25x5y7", this);} // tgen
+G25x5y7 ::G25x5y7(){ note_ctor("G25x5y7", this);} // tgen
+
+static void Test_G25x5y7()
+{
+ extern Class_Descriptor cd_G25x5y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G25x5y7, buf);
+ G25x5y7 *dp, &lv = *(dp=new (buf) G25x5y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G25x5y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x5y7)");
+ check_base_class_offset(lv, (A1*)(C25*), ABISELECT(32,20), "G25x5y7");
+ check_base_class_offset(lv, (B0*)(C25*), ABISELECT(48,32), "G25x5y7");
+ check_base_class_offset(lv, (C25*)(E25x5*), ABISELECT(32,20), "G25x5y7");
+ check_base_class_offset(lv, (D0*)(E25x5*), ABISELECT(24,12), "G25x5y7");
+ check_base_class_offset(lv, (E25x5*), ABISELECT(16,8), "G25x5y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G25x5y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G25x5y7.ff");
+ test_class_info(&lv, &cd_G25x5y7);
+ dp->~G25x5y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x5y7(Test_G25x5y7, "G25x5y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G25x5y7C1Ev();
+extern void _ZN7G25x5y7D1Ev();
+Name_Map name_map_G25x5y7[] = {
+ NSPAIR(_ZN7G25x5y7C1Ev),
+ NSPAIR(_ZN7G25x5y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E25x5;
+extern VTBL_ENTRY _ZTI5E25x5[];
+extern VTBL_ENTRY _ZTV5E25x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G25x5y7[] = {
+ // 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
+ 10, //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_D0, 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_E25x5, 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 _ZTI7G25x5y7[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY vtc_G25x5y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x5y7[0]),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G25x5y7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G25x5y7[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x5y7[];
+static VTBL_ENTRY _tg__ZTV5E25x5__7G25x5y7[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x5[0]),
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__5E25x5__7G25x5y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E25x5[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__7G25x5y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x5y7[] = {
+ {&(_ZTV7G25x5y7[6]), 6,15},
+ {&(_ZTV7G25x5y7[10]), 10,15},
+ {&(_ZTV7G25x5y7[14]), 14,15},
+ {&(_tg__ZTV5E25x5__7G25x5y7[4]), 4,4},
+ {&(_tg__ZTV3C25__5E25x5__7G25x5y7[4]), 4,5},
+ {&(_tg__ZTV3C25__7G25x5y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x5y7[];
+extern VTBL_ENTRY _ZTV7G25x5y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x5y7[];
+Class_Descriptor cd_G25x5y7 = { "G25x5y7", // class name
+ bases_G25x5y7, 6,
+ &(vtc_G25x5y7[0]), // expected_vtbl_contents
+ &(vtt_G25x5y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G25x5y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x5y7),15, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x5y7),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 E26x5 : virtual C26 , D0 {
+ int fd;
+ ~E26x5(); // tgen
+ E26x5(); // tgen
+};
+//SIG(-1 E26x5) C1{ VBC2{ VBC3{ Fi} VBC4{ Fi} v1 Fi} BC5{ Fi} Fi}
+
+
+E26x5 ::~E26x5(){ note_dtor("E26x5", this);} // tgen
+E26x5 ::E26x5(){ note_ctor("E26x5", this);} // tgen
+
+static void Test_E26x5()
+{
+ extern Class_Descriptor cd_E26x5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E26x5, buf);
+ E26x5 *dp, &lv = *(dp=new (buf) E26x5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E26x5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E26x5)");
+ check_base_class_offset(lv, (A0*)(C26*), ABISELECT(28,20), "E26x5");
+ check_base_class_offset(lv, (B0*)(C26*), ABISELECT(32,24), "E26x5");
+ check_base_class_offset(lv, (C26*), ABISELECT(16,12), "E26x5");
+ check_base_class_offset(lv, (D0*), ABISELECT(8,4), "E26x5");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E26x5.fd");
+ test_class_info(&lv, &cd_E26x5);
+ dp->~E26x5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE26x5(Test_E26x5, "E26x5", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E26x5C1Ev();
+extern void _ZN5E26x5D1Ev();
+Name_Map name_map_E26x5[] = {
+ NSPAIR(_ZN5E26x5C1Ev),
+ NSPAIR(_ZN5E26x5D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E26x5[] = {
+ // 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
+ 5, //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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E26x5[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY vtc_E26x5[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E26x5[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern VTBL_ENTRY _ZTV5E26x5[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__5E26x5[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_E26x5[] = {
+ {&(_ZTV5E26x5[5]), 5,11},
+ {&(_ZTV5E26x5[10]), 10,11},
+ {&(_tg__ZTV3C26__5E26x5[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI5E26x5[];
+extern VTBL_ENTRY _ZTV5E26x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x5[];
+Class_Descriptor cd_E26x5 = { "E26x5", // class name
+ bases_E26x5, 4,
+ &(vtc_E26x5[0]), // expected_vtbl_contents
+ &(vtt_E26x5[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E26x5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E26x5),11, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E26x5),3, //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 G26x5y0 : E26x5 , F1 {
+ int ff;
+ ~G26x5y0(); // tgen
+ G26x5y0(); // tgen
+};
+//SIG(1 G26x5y0) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G26x5y0 ::~G26x5y0(){ note_dtor("G26x5y0", this);} // tgen
+G26x5y0 ::G26x5y0(){ note_ctor("G26x5y0", this);} // tgen
+
+static void Test_G26x5y0()
+{
+ extern Class_Descriptor cd_G26x5y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G26x5y0, buf);
+ G26x5y0 *dp, &lv = *(dp=new (buf) G26x5y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G26x5y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x5y0)");
+ check_base_class_offset(lv, (A0*)(C26*), ABISELECT(44,32), "G26x5y0");
+ check_base_class_offset(lv, (B0*)(C26*), ABISELECT(48,36), "G26x5y0");
+ check_base_class_offset(lv, (C26*)(E26x5*), ABISELECT(32,24), "G26x5y0");
+ check_base_class_offset(lv, (D0*)(E26x5*), ABISELECT(8,4), "G26x5y0");
+ check_base_class_offset(lv, (E26x5*), 0, "G26x5y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G26x5y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G26x5y0.ff");
+ test_class_info(&lv, &cd_G26x5y0);
+ dp->~G26x5y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x5y0(Test_G26x5y0, "G26x5y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G26x5y0C1Ev();
+extern void _ZN7G26x5y0D1Ev();
+Name_Map name_map_G26x5y0[] = {
+ NSPAIR(_ZN7G26x5y0C1Ev),
+ NSPAIR(_ZN7G26x5y0D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E26x5;
+extern VTBL_ENTRY _ZTI5E26x5[];
+extern VTBL_ENTRY _ZTV5E26x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G26x5y0[] = {
+ // 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
+ 8, //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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E26x5, 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
+ 2, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G26x5y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY vtc_G26x5y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x5y0[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G26x5y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G26x5y0[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x5y0[];
+static VTBL_ENTRY _tg__ZTV5E26x5__7G26x5y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x5[0]),
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__5E26x5__7G26x5y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E26x5[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__7G26x5y0[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x5y0[] = {
+ {&(_ZTV7G26x5y0[5]), 5,14},
+ {&(_tg__ZTV5E26x5__7G26x5y0[5]), 5,5},
+ {&(_tg__ZTV3C26__5E26x5__7G26x5y0[5]), 5,6},
+ {&(_ZTV7G26x5y0[13]), 13,14},
+ {&(_tg__ZTV3C26__7G26x5y0[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x5y0[];
+extern VTBL_ENTRY _ZTV7G26x5y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x5y0[];
+Class_Descriptor cd_G26x5y0 = { "G26x5y0", // class name
+ bases_G26x5y0, 6,
+ &(vtc_G26x5y0[0]), // expected_vtbl_contents
+ &(vtt_G26x5y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G26x5y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x5y0),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x5y0),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 G26x5y1 : virtual E26x5 , F1 {
+ int ff;
+ ~G26x5y1(); // tgen
+ G26x5y1(); // tgen
+};
+//SIG(1 G26x5y1) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G26x5y1 ::~G26x5y1(){ note_dtor("G26x5y1", this);} // tgen
+G26x5y1 ::G26x5y1(){ note_ctor("G26x5y1", this);} // tgen
+
+static void Test_G26x5y1()
+{
+ extern Class_Descriptor cd_G26x5y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G26x5y1, buf);
+ G26x5y1 *dp, &lv = *(dp=new (buf) G26x5y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G26x5y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x5y1)");
+ check_base_class_offset(lv, (A0*)(C26*), ABISELECT(44,32), "G26x5y1");
+ check_base_class_offset(lv, (B0*)(C26*), ABISELECT(48,36), "G26x5y1");
+ check_base_class_offset(lv, (C26*)(E26x5*), ABISELECT(32,24), "G26x5y1");
+ check_base_class_offset(lv, (D0*)(E26x5*), ABISELECT(24,16), "G26x5y1");
+ check_base_class_offset(lv, (E26x5*), ABISELECT(16,12), "G26x5y1");
+ check_base_class_offset(lv, (F1*), 0, "G26x5y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G26x5y1.ff");
+ test_class_info(&lv, &cd_G26x5y1);
+ dp->~G26x5y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x5y1(Test_G26x5y1, "G26x5y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G26x5y1C1Ev();
+extern void _ZN7G26x5y1D1Ev();
+Name_Map name_map_G26x5y1[] = {
+ NSPAIR(_ZN7G26x5y1C1Ev),
+ NSPAIR(_ZN7G26x5y1D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E26x5;
+extern VTBL_ENTRY _ZTI5E26x5[];
+extern VTBL_ENTRY _ZTV5E26x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G26x5y1[] = {
+ // 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
+ 12, //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_D0, 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_E26x5, 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
+ 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 _ZTI7G26x5y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY vtc_G26x5y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x5y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G26x5y1[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G26x5y1[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x5y1[];
+static VTBL_ENTRY _tg__ZTV5E26x5__7G26x5y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x5[0]),
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__5E26x5__7G26x5y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E26x5[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__7G26x5y1[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x5y1[] = {
+ {&(_ZTV7G26x5y1[6]), 6,18},
+ {&(_ZTV7G26x5y1[12]), 12,18},
+ {&(_ZTV7G26x5y1[17]), 17,18},
+ {&(_tg__ZTV5E26x5__7G26x5y1[5]), 5,5},
+ {&(_tg__ZTV3C26__5E26x5__7G26x5y1[5]), 5,6},
+ {&(_tg__ZTV3C26__7G26x5y1[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x5y1[];
+extern VTBL_ENTRY _ZTV7G26x5y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x5y1[];
+Class_Descriptor cd_G26x5y1 = { "G26x5y1", // class name
+ bases_G26x5y1, 6,
+ &(vtc_G26x5y1[0]), // expected_vtbl_contents
+ &(vtt_G26x5y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G26x5y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x5y1),18, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x5y1),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 G26x5y2 : E26x5 , virtual F1 {
+ int ff;
+ ~G26x5y2(); // tgen
+ G26x5y2(); // tgen
+};
+//SIG(1 G26x5y2) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G26x5y2 ::~G26x5y2(){ note_dtor("G26x5y2", this);} // tgen
+G26x5y2 ::G26x5y2(){ note_ctor("G26x5y2", this);} // tgen
+
+static void Test_G26x5y2()
+{
+ extern Class_Descriptor cd_G26x5y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G26x5y2, buf);
+ G26x5y2 *dp, &lv = *(dp=new (buf) G26x5y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G26x5y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x5y2)");
+ check_base_class_offset(lv, (A0*)(C26*), ABISELECT(36,24), "G26x5y2");
+ check_base_class_offset(lv, (B0*)(C26*), ABISELECT(40,28), "G26x5y2");
+ check_base_class_offset(lv, (C26*)(E26x5*), ABISELECT(24,16), "G26x5y2");
+ check_base_class_offset(lv, (D0*)(E26x5*), ABISELECT(8,4), "G26x5y2");
+ check_base_class_offset(lv, (E26x5*), 0, "G26x5y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G26x5y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G26x5y2.ff");
+ test_class_info(&lv, &cd_G26x5y2);
+ dp->~G26x5y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x5y2(Test_G26x5y2, "G26x5y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G26x5y2C1Ev();
+extern void _ZN7G26x5y2D1Ev();
+Name_Map name_map_G26x5y2[] = {
+ NSPAIR(_ZN7G26x5y2C1Ev),
+ NSPAIR(_ZN7G26x5y2D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E26x5;
+extern VTBL_ENTRY _ZTI5E26x5[];
+extern VTBL_ENTRY _ZTV5E26x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G26x5y2[] = {
+ // 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)
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E26x5, 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(48,32), //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 _ZTI7G26x5y2[];
+extern void _ZN3C263fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G26x5y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x5y2[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G26x5y2[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G26x5y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x5y2[];
+static VTBL_ENTRY _tg__ZTV5E26x5__7G26x5y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x5[0]),
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__5E26x5__7G26x5y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E26x5[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__7G26x5y2[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x5y2[] = {
+ {&(_ZTV7G26x5y2[6]), 6,16},
+ {&(_tg__ZTV5E26x5__7G26x5y2[5]), 5,5},
+ {&(_tg__ZTV3C26__5E26x5__7G26x5y2[5]), 5,6},
+ {&(_ZTV7G26x5y2[11]), 11,16},
+ {&(_ZTV7G26x5y2[15]), 15,16},
+ {&(_tg__ZTV3C26__7G26x5y2[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x5y2[];
+extern VTBL_ENTRY _ZTV7G26x5y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x5y2[];
+Class_Descriptor cd_G26x5y2 = { "G26x5y2", // class name
+ bases_G26x5y2, 6,
+ &(vtc_G26x5y2[0]), // expected_vtbl_contents
+ &(vtt_G26x5y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G26x5y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x5y2),16, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x5y2),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 G26x5y3 : virtual E26x5 , virtual F1 {
+ int ff;
+ ~G26x5y3(); // tgen
+ G26x5y3(); // tgen
+};
+//SIG(1 G26x5y3) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G26x5y3 ::~G26x5y3(){ note_dtor("G26x5y3", this);} // tgen
+G26x5y3 ::G26x5y3(){ note_ctor("G26x5y3", this);} // tgen
+
+static void Test_G26x5y3()
+{
+ extern Class_Descriptor cd_G26x5y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G26x5y3, buf);
+ G26x5y3 *dp, &lv = *(dp=new (buf) G26x5y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G26x5y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x5y3)");
+ check_base_class_offset(lv, (A0*)(C26*), ABISELECT(44,28), "G26x5y3");
+ check_base_class_offset(lv, (B0*)(C26*), ABISELECT(48,32), "G26x5y3");
+ check_base_class_offset(lv, (C26*)(E26x5*), ABISELECT(32,20), "G26x5y3");
+ check_base_class_offset(lv, (D0*)(E26x5*), ABISELECT(24,12), "G26x5y3");
+ check_base_class_offset(lv, (E26x5*), ABISELECT(16,8), "G26x5y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G26x5y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G26x5y3.ff");
+ test_class_info(&lv, &cd_G26x5y3);
+ dp->~G26x5y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x5y3(Test_G26x5y3, "G26x5y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G26x5y3C1Ev();
+extern void _ZN7G26x5y3D1Ev();
+Name_Map name_map_G26x5y3[] = {
+ NSPAIR(_ZN7G26x5y3C1Ev),
+ NSPAIR(_ZN7G26x5y3D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E26x5;
+extern VTBL_ENTRY _ZTI5E26x5[];
+extern VTBL_ENTRY _ZTV5E26x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G26x5y3[] = {
+ // 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
+ 12, //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_D0, 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_E26x5, 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
+ 2, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G26x5y3[];
+extern void _ZN3C263fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G26x5y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x5y3[0]),
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G26x5y3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G26x5y3[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G26x5y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x5y3[];
+static VTBL_ENTRY _tg__ZTV5E26x5__7G26x5y3[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x5[0]),
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__5E26x5__7G26x5y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E26x5[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__7G26x5y3[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x5y3[] = {
+ {&(_ZTV7G26x5y3[7]), 7,22},
+ {&(_ZTV7G26x5y3[12]), 12,22},
+ {&(_ZTV7G26x5y3[17]), 17,22},
+ {&(_ZTV7G26x5y3[21]), 21,22},
+ {&(_tg__ZTV5E26x5__7G26x5y3[5]), 5,5},
+ {&(_tg__ZTV3C26__5E26x5__7G26x5y3[5]), 5,6},
+ {&(_tg__ZTV3C26__7G26x5y3[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x5y3[];
+extern VTBL_ENTRY _ZTV7G26x5y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x5y3[];
+Class_Descriptor cd_G26x5y3 = { "G26x5y3", // class name
+ bases_G26x5y3, 6,
+ &(vtc_G26x5y3[0]), // expected_vtbl_contents
+ &(vtt_G26x5y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G26x5y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x5y3),22, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x5y3),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 G26x5y4 : E26x5 , F0 {
+ int ff;
+ ~G26x5y4(); // tgen
+ G26x5y4(); // tgen
+};
+//SIG(1 G26x5y4) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G26x5y4 ::~G26x5y4(){ note_dtor("G26x5y4", this);} // tgen
+G26x5y4 ::G26x5y4(){ note_ctor("G26x5y4", this);} // tgen
+
+static void Test_G26x5y4()
+{
+ extern Class_Descriptor cd_G26x5y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G26x5y4, buf);
+ G26x5y4 *dp, &lv = *(dp=new (buf) G26x5y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G26x5y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x5y4)");
+ check_base_class_offset(lv, (A0*)(C26*), ABISELECT(36,28), "G26x5y4");
+ check_base_class_offset(lv, (B0*)(C26*), ABISELECT(40,32), "G26x5y4");
+ check_base_class_offset(lv, (C26*)(E26x5*), ABISELECT(24,20), "G26x5y4");
+ check_base_class_offset(lv, (D0*)(E26x5*), ABISELECT(8,4), "G26x5y4");
+ check_base_class_offset(lv, (E26x5*), 0, "G26x5y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G26x5y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G26x5y4.ff");
+ test_class_info(&lv, &cd_G26x5y4);
+ dp->~G26x5y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x5y4(Test_G26x5y4, "G26x5y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G26x5y4C1Ev();
+extern void _ZN7G26x5y4D1Ev();
+Name_Map name_map_G26x5y4[] = {
+ NSPAIR(_ZN7G26x5y4C1Ev),
+ NSPAIR(_ZN7G26x5y4D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E26x5;
+extern VTBL_ENTRY _ZTI5E26x5[];
+extern VTBL_ENTRY _ZTV5E26x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G26x5y4[] = {
+ // 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
+ 5, //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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E26x5, 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
+ 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 _ZTI7G26x5y4[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY vtc_G26x5y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x5y4[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G26x5y4[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x5y4[];
+static VTBL_ENTRY _tg__ZTV5E26x5__7G26x5y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x5[0]),
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__5E26x5__7G26x5y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E26x5[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__7G26x5y4[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x5y4[] = {
+ {&(_ZTV7G26x5y4[5]), 5,11},
+ {&(_tg__ZTV5E26x5__7G26x5y4[5]), 5,5},
+ {&(_tg__ZTV3C26__5E26x5__7G26x5y4[5]), 5,6},
+ {&(_ZTV7G26x5y4[10]), 10,11},
+ {&(_tg__ZTV3C26__7G26x5y4[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x5y4[];
+extern VTBL_ENTRY _ZTV7G26x5y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x5y4[];
+Class_Descriptor cd_G26x5y4 = { "G26x5y4", // class name
+ bases_G26x5y4, 6,
+ &(vtc_G26x5y4[0]), // expected_vtbl_contents
+ &(vtt_G26x5y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G26x5y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x5y4),11, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x5y4),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 G26x5y5 : virtual E26x5 , F0 {
+ int ff;
+ ~G26x5y5(); // tgen
+ G26x5y5(); // tgen
+};
+//SIG(1 G26x5y5) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G26x5y5 ::~G26x5y5(){ note_dtor("G26x5y5", this);} // tgen
+G26x5y5 ::G26x5y5(){ note_ctor("G26x5y5", this);} // tgen
+
+static void Test_G26x5y5()
+{
+ extern Class_Descriptor cd_G26x5y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G26x5y5, buf);
+ G26x5y5 *dp, &lv = *(dp=new (buf) G26x5y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G26x5y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x5y5)");
+ check_base_class_offset(lv, (A0*)(C26*), ABISELECT(44,32), "G26x5y5");
+ check_base_class_offset(lv, (B0*)(C26*), ABISELECT(48,36), "G26x5y5");
+ check_base_class_offset(lv, (C26*)(E26x5*), ABISELECT(32,24), "G26x5y5");
+ check_base_class_offset(lv, (D0*)(E26x5*), ABISELECT(24,16), "G26x5y5");
+ check_base_class_offset(lv, (E26x5*), ABISELECT(16,12), "G26x5y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G26x5y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G26x5y5.ff");
+ test_class_info(&lv, &cd_G26x5y5);
+ dp->~G26x5y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x5y5(Test_G26x5y5, "G26x5y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G26x5y5C1Ev();
+extern void _ZN7G26x5y5D1Ev();
+Name_Map name_map_G26x5y5[] = {
+ NSPAIR(_ZN7G26x5y5C1Ev),
+ NSPAIR(_ZN7G26x5y5D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E26x5;
+extern VTBL_ENTRY _ZTI5E26x5[];
+extern VTBL_ENTRY _ZTV5E26x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G26x5y5[] = {
+ // 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
+ 11, //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_D0, 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_E26x5, 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_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 _ZTI7G26x5y5[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY vtc_G26x5y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x5y5[0]),
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G26x5y5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G26x5y5[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x5y5[];
+static VTBL_ENTRY _tg__ZTV5E26x5__7G26x5y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x5[0]),
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__5E26x5__7G26x5y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E26x5[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__7G26x5y5[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x5y5[] = {
+ {&(_ZTV7G26x5y5[6]), 6,17},
+ {&(_ZTV7G26x5y5[11]), 11,17},
+ {&(_ZTV7G26x5y5[16]), 16,17},
+ {&(_tg__ZTV5E26x5__7G26x5y5[5]), 5,5},
+ {&(_tg__ZTV3C26__5E26x5__7G26x5y5[5]), 5,6},
+ {&(_tg__ZTV3C26__7G26x5y5[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x5y5[];
+extern VTBL_ENTRY _ZTV7G26x5y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x5y5[];
+Class_Descriptor cd_G26x5y5 = { "G26x5y5", // class name
+ bases_G26x5y5, 6,
+ &(vtc_G26x5y5[0]), // expected_vtbl_contents
+ &(vtt_G26x5y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G26x5y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x5y5),17, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x5y5),6, //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 G26x5y6 : E26x5 , virtual F0 {
+ int ff;
+ ~G26x5y6(); // tgen
+ G26x5y6(); // tgen
+};
+//SIG(1 G26x5y6) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G26x5y6 ::~G26x5y6(){ note_dtor("G26x5y6", this);} // tgen
+G26x5y6 ::G26x5y6(){ note_ctor("G26x5y6", this);} // tgen
+
+static void Test_G26x5y6()
+{
+ extern Class_Descriptor cd_G26x5y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G26x5y6, buf);
+ G26x5y6 *dp, &lv = *(dp=new (buf) G26x5y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G26x5y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x5y6)");
+ check_base_class_offset(lv, (A0*)(C26*), ABISELECT(36,24), "G26x5y6");
+ check_base_class_offset(lv, (B0*)(C26*), ABISELECT(40,28), "G26x5y6");
+ check_base_class_offset(lv, (C26*)(E26x5*), ABISELECT(24,16), "G26x5y6");
+ check_base_class_offset(lv, (D0*)(E26x5*), ABISELECT(8,4), "G26x5y6");
+ check_base_class_offset(lv, (E26x5*), 0, "G26x5y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G26x5y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G26x5y6.ff");
+ test_class_info(&lv, &cd_G26x5y6);
+ dp->~G26x5y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x5y6(Test_G26x5y6, "G26x5y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G26x5y6C1Ev();
+extern void _ZN7G26x5y6D1Ev();
+Name_Map name_map_G26x5y6[] = {
+ NSPAIR(_ZN7G26x5y6C1Ev),
+ NSPAIR(_ZN7G26x5y6D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E26x5;
+extern VTBL_ENTRY _ZTI5E26x5[];
+extern VTBL_ENTRY _ZTV5E26x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G26x5y6[] = {
+ // 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)
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E26x5, 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
+ 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 _ZTI7G26x5y6[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY vtc_G26x5y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x5y6[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G26x5y6[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x5y6[];
+static VTBL_ENTRY _tg__ZTV5E26x5__7G26x5y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x5[0]),
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__5E26x5__7G26x5y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E26x5[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__7G26x5y6[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x5y6[] = {
+ {&(_ZTV7G26x5y6[6]), 6,12},
+ {&(_tg__ZTV5E26x5__7G26x5y6[5]), 5,5},
+ {&(_tg__ZTV3C26__5E26x5__7G26x5y6[5]), 5,6},
+ {&(_ZTV7G26x5y6[11]), 11,12},
+ {&(_tg__ZTV3C26__7G26x5y6[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x5y6[];
+extern VTBL_ENTRY _ZTV7G26x5y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x5y6[];
+Class_Descriptor cd_G26x5y6 = { "G26x5y6", // class name
+ bases_G26x5y6, 6,
+ &(vtc_G26x5y6[0]), // expected_vtbl_contents
+ &(vtt_G26x5y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G26x5y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x5y6),12, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x5y6),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 G26x5y7 : virtual E26x5 , virtual F0 {
+ int ff;
+ ~G26x5y7(); // tgen
+ G26x5y7(); // tgen
+};
+//SIG(1 G26x5y7) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G26x5y7 ::~G26x5y7(){ note_dtor("G26x5y7", this);} // tgen
+G26x5y7 ::G26x5y7(){ note_ctor("G26x5y7", this);} // tgen
+
+static void Test_G26x5y7()
+{
+ extern Class_Descriptor cd_G26x5y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G26x5y7, buf);
+ G26x5y7 *dp, &lv = *(dp=new (buf) G26x5y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G26x5y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x5y7)");
+ check_base_class_offset(lv, (A0*)(C26*), ABISELECT(44,28), "G26x5y7");
+ check_base_class_offset(lv, (B0*)(C26*), ABISELECT(48,32), "G26x5y7");
+ check_base_class_offset(lv, (C26*)(E26x5*), ABISELECT(32,20), "G26x5y7");
+ check_base_class_offset(lv, (D0*)(E26x5*), ABISELECT(24,12), "G26x5y7");
+ check_base_class_offset(lv, (E26x5*), ABISELECT(16,8), "G26x5y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G26x5y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G26x5y7.ff");
+ test_class_info(&lv, &cd_G26x5y7);
+ dp->~G26x5y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x5y7(Test_G26x5y7, "G26x5y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G26x5y7C1Ev();
+extern void _ZN7G26x5y7D1Ev();
+Name_Map name_map_G26x5y7[] = {
+ NSPAIR(_ZN7G26x5y7C1Ev),
+ NSPAIR(_ZN7G26x5y7D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E26x5;
+extern VTBL_ENTRY _ZTI5E26x5[];
+extern VTBL_ENTRY _ZTV5E26x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G26x5y7[] = {
+ // 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
+ 12, //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_D0, 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_E26x5, 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
+ 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 _ZTI7G26x5y7[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY vtc_G26x5y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x5y7[0]),
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G26x5y7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G26x5y7[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x5y7[];
+static VTBL_ENTRY _tg__ZTV5E26x5__7G26x5y7[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x5[0]),
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__5E26x5__7G26x5y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E26x5[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__7G26x5y7[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x5y7[] = {
+ {&(_ZTV7G26x5y7[7]), 7,18},
+ {&(_ZTV7G26x5y7[12]), 12,18},
+ {&(_ZTV7G26x5y7[17]), 17,18},
+ {&(_tg__ZTV5E26x5__7G26x5y7[5]), 5,5},
+ {&(_tg__ZTV3C26__5E26x5__7G26x5y7[5]), 5,6},
+ {&(_tg__ZTV3C26__7G26x5y7[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x5y7[];
+extern VTBL_ENTRY _ZTV7G26x5y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x5y7[];
+Class_Descriptor cd_G26x5y7 = { "G26x5y7", // class name
+ bases_G26x5y7, 6,
+ &(vtc_G26x5y7[0]), // expected_vtbl_contents
+ &(vtt_G26x5y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G26x5y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x5y7),18, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x5y7),6, //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 E27x5 : virtual C27 , D0 {
+ int fd;
+ ~E27x5(); // tgen
+ E27x5(); // tgen
+};
+//SIG(-1 E27x5) C1{ VBC2{ VBC3{ v1 Fi} VBC4{ Fi} v1 Fi} BC5{ Fi} Fi}
+
+
+E27x5 ::~E27x5(){ note_dtor("E27x5", this);} // tgen
+E27x5 ::E27x5(){ note_ctor("E27x5", this);} // tgen
+
+static void Test_E27x5()
+{
+ extern Class_Descriptor cd_E27x5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E27x5, buf);
+ E27x5 *dp, &lv = *(dp=new (buf) E27x5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E27x5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E27x5)");
+ check_base_class_offset(lv, (A1*)(C27*), ABISELECT(32,20), "E27x5");
+ check_base_class_offset(lv, (B0*)(C27*), ABISELECT(44,28), "E27x5");
+ check_base_class_offset(lv, (C27*), ABISELECT(16,12), "E27x5");
+ check_base_class_offset(lv, (D0*), ABISELECT(8,4), "E27x5");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E27x5.fd");
+ test_class_info(&lv, &cd_E27x5);
+ dp->~E27x5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE27x5(Test_E27x5, "E27x5", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN5E27x5C1Ev();
+extern void _ZN5E27x5D1Ev();
+Name_Map name_map_E27x5[] = {
+ NSPAIR(_ZN5E27x5C1Ev),
+ NSPAIR(_ZN5E27x5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E27x5[] = {
+ // 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)
+ 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
+ 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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E27x5[];
+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_E27x5[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x5[0]),
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E27x5[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E27x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern VTBL_ENTRY _ZTV5E27x5[];
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__5E27x5[] = {
+ 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__5E27x5[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_E27x5[] = {
+ {&(_ZTV5E27x5[5]), 5,15},
+ {&(_ZTV5E27x5[10]), 10,15},
+ {&(_ZTV5E27x5[14]), 14,15},
+ {&(_tg__ZTV3C27__5E27x5[4]), 4,5},
+ {&(_tg__ZTV2A1__3C27__5E27x5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E27x5[];
+extern VTBL_ENTRY _ZTV5E27x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x5[];
+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_E27x5 = { "E27x5", // class name
+ bases_E27x5, 4,
+ &(vtc_E27x5[0]), // expected_vtbl_contents
+ &(vtt_E27x5[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI5E27x5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E27x5),15, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E27x5),5, //virtual table table var
+ 2, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names89,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x5y0 : E27x5 , F1 {
+ int ff;
+ ~G27x5y0(); // tgen
+ G27x5y0(); // tgen
+};
+//SIG(1 G27x5y0) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G27x5y0 ::~G27x5y0(){ note_dtor("G27x5y0", this);} // tgen
+G27x5y0 ::G27x5y0(){ note_ctor("G27x5y0", this);} // tgen
+
+static void Test_G27x5y0()
+{
+ extern Class_Descriptor cd_G27x5y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G27x5y0, buf);
+ G27x5y0 *dp, &lv = *(dp=new (buf) G27x5y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G27x5y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x5y0)");
+ check_base_class_offset(lv, (A1*)(C27*), ABISELECT(48,32), "G27x5y0");
+ check_base_class_offset(lv, (B0*)(C27*), ABISELECT(60,40), "G27x5y0");
+ check_base_class_offset(lv, (C27*)(E27x5*), ABISELECT(32,24), "G27x5y0");
+ check_base_class_offset(lv, (D0*)(E27x5*), ABISELECT(8,4), "G27x5y0");
+ check_base_class_offset(lv, (E27x5*), 0, "G27x5y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G27x5y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G27x5y0.ff");
+ test_class_info(&lv, &cd_G27x5y0);
+ dp->~G27x5y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x5y0(Test_G27x5y0, "G27x5y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G27x5y0C1Ev();
+extern void _ZN7G27x5y0D1Ev();
+Name_Map name_map_G27x5y0[] = {
+ NSPAIR(_ZN7G27x5y0C1Ev),
+ NSPAIR(_ZN7G27x5y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E27x5;
+extern VTBL_ENTRY _ZTI5E27x5[];
+extern VTBL_ENTRY _ZTV5E27x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G27x5y0[] = {
+ // 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)
+ 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
+ 8, //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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E27x5, 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 _ZTI7G27x5y0[];
+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_G27x5y0[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x5y0[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G27x5y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G27x5y0[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G27x5y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern VTBL_ENTRY _ZTV7G27x5y0[];
+static VTBL_ENTRY _tg__ZTV5E27x5__7G27x5y0[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x5[0]),
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__5E27x5__7G27x5y0[] = {
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E27x5[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__5E27x5__7G27x5y0[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E27x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__7G27x5y0[] = {
+ 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__7G27x5y0[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x5y0[] = {
+ {&(_ZTV7G27x5y0[5]), 5,18},
+ {&(_tg__ZTV5E27x5__7G27x5y0[5]), 5,5},
+ {&(_tg__ZTV3C27__5E27x5__7G27x5y0[5]), 5,6},
+ {&(_tg__ZTV2A1__5E27x5__7G27x5y0[3]), 3,4},
+ {&(_ZTV7G27x5y0[13]), 13,18},
+ {&(_ZTV7G27x5y0[17]), 17,18},
+ {&(_tg__ZTV3C27__7G27x5y0[4]), 4,5},
+ {&(_tg__ZTV2A1__3C27__7G27x5y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G27x5y0[];
+extern VTBL_ENTRY _ZTV7G27x5y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x5y0[];
+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_G27x5y0 = { "G27x5y0", // class name
+ bases_G27x5y0, 6,
+ &(vtc_G27x5y0[0]), // expected_vtbl_contents
+ &(vtt_G27x5y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G27x5y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x5y0),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x5y0),8, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names90,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x5y1 : virtual E27x5 , F1 {
+ int ff;
+ ~G27x5y1(); // tgen
+ G27x5y1(); // tgen
+};
+//SIG(1 G27x5y1) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G27x5y1 ::~G27x5y1(){ note_dtor("G27x5y1", this);} // tgen
+G27x5y1 ::G27x5y1(){ note_ctor("G27x5y1", this);} // tgen
+
+static void Test_G27x5y1()
+{
+ extern Class_Descriptor cd_G27x5y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G27x5y1, buf);
+ G27x5y1 *dp, &lv = *(dp=new (buf) G27x5y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G27x5y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x5y1)");
+ check_base_class_offset(lv, (A1*)(C27*), ABISELECT(48,32), "G27x5y1");
+ check_base_class_offset(lv, (B0*)(C27*), ABISELECT(60,40), "G27x5y1");
+ check_base_class_offset(lv, (C27*)(E27x5*), ABISELECT(32,24), "G27x5y1");
+ check_base_class_offset(lv, (D0*)(E27x5*), ABISELECT(24,16), "G27x5y1");
+ check_base_class_offset(lv, (E27x5*), ABISELECT(16,12), "G27x5y1");
+ check_base_class_offset(lv, (F1*), 0, "G27x5y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G27x5y1.ff");
+ test_class_info(&lv, &cd_G27x5y1);
+ dp->~G27x5y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x5y1(Test_G27x5y1, "G27x5y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G27x5y1C1Ev();
+extern void _ZN7G27x5y1D1Ev();
+Name_Map name_map_G27x5y1[] = {
+ NSPAIR(_ZN7G27x5y1C1Ev),
+ NSPAIR(_ZN7G27x5y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E27x5;
+extern VTBL_ENTRY _ZTI5E27x5[];
+extern VTBL_ENTRY _ZTV5E27x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G27x5y1[] = {
+ // 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_C27, ABISELECT(32,24), //bcp->offset
+ 12, //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_D0, 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_E27x5, 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 _ZTI7G27x5y1[];
+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_G27x5y1[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x5y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G27x5y1[0]),
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G27x5y1[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G27x5y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern VTBL_ENTRY _ZTV7G27x5y1[];
+static VTBL_ENTRY _tg__ZTV5E27x5__7G27x5y1[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x5[0]),
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__5E27x5__7G27x5y1[] = {
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E27x5[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__5E27x5__7G27x5y1[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E27x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__7G27x5y1[] = {
+ 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__7G27x5y1[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x5y1[] = {
+ {&(_ZTV7G27x5y1[6]), 6,22},
+ {&(_ZTV7G27x5y1[12]), 12,22},
+ {&(_ZTV7G27x5y1[17]), 17,22},
+ {&(_ZTV7G27x5y1[21]), 21,22},
+ {&(_tg__ZTV5E27x5__7G27x5y1[5]), 5,5},
+ {&(_tg__ZTV3C27__5E27x5__7G27x5y1[5]), 5,6},
+ {&(_tg__ZTV2A1__5E27x5__7G27x5y1[3]), 3,4},
+ {&(_tg__ZTV3C27__7G27x5y1[4]), 4,5},
+ {&(_tg__ZTV2A1__3C27__7G27x5y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G27x5y1[];
+extern VTBL_ENTRY _ZTV7G27x5y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x5y1[];
+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_G27x5y1 = { "G27x5y1", // class name
+ bases_G27x5y1, 6,
+ &(vtc_G27x5y1[0]), // expected_vtbl_contents
+ &(vtt_G27x5y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G27x5y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x5y1),22, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x5y1),9, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names91,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x5y2 : E27x5 , virtual F1 {
+ int ff;
+ ~G27x5y2(); // tgen
+ G27x5y2(); // tgen
+};
+//SIG(1 G27x5y2) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G27x5y2 ::~G27x5y2(){ note_dtor("G27x5y2", this);} // tgen
+G27x5y2 ::G27x5y2(){ note_ctor("G27x5y2", this);} // tgen
+
+static void Test_G27x5y2()
+{
+ extern Class_Descriptor cd_G27x5y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G27x5y2, buf);
+ G27x5y2 *dp, &lv = *(dp=new (buf) G27x5y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G27x5y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x5y2)");
+ check_base_class_offset(lv, (A1*)(C27*), ABISELECT(40,24), "G27x5y2");
+ check_base_class_offset(lv, (B0*)(C27*), ABISELECT(52,32), "G27x5y2");
+ check_base_class_offset(lv, (C27*)(E27x5*), ABISELECT(24,16), "G27x5y2");
+ check_base_class_offset(lv, (D0*)(E27x5*), ABISELECT(8,4), "G27x5y2");
+ check_base_class_offset(lv, (E27x5*), 0, "G27x5y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G27x5y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G27x5y2.ff");
+ test_class_info(&lv, &cd_G27x5y2);
+ dp->~G27x5y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x5y2(Test_G27x5y2, "G27x5y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G27x5y2C1Ev();
+extern void _ZN7G27x5y2D1Ev();
+Name_Map name_map_G27x5y2[] = {
+ NSPAIR(_ZN7G27x5y2C1Ev),
+ NSPAIR(_ZN7G27x5y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E27x5;
+extern VTBL_ENTRY _ZTI5E27x5[];
+extern VTBL_ENTRY _ZTV5E27x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G27x5y2[] = {
+ // 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)
+ 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
+ 6, //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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E27x5, 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
+ 16, //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 _ZTI7G27x5y2[];
+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_G27x5y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x5y2[0]),
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G27x5y2[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G27x5y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G27x5y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G27x5y2[];
+static VTBL_ENTRY _tg__ZTV5E27x5__7G27x5y2[] = {
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x5[0]),
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__5E27x5__7G27x5y2[] = {
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E27x5[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__5E27x5__7G27x5y2[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E27x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__7G27x5y2[] = {
+ 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__7G27x5y2[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x5y2[] = {
+ {&(_ZTV7G27x5y2[6]), 6,20},
+ {&(_tg__ZTV5E27x5__7G27x5y2[5]), 5,5},
+ {&(_tg__ZTV3C27__5E27x5__7G27x5y2[5]), 5,6},
+ {&(_tg__ZTV2A1__5E27x5__7G27x5y2[3]), 3,4},
+ {&(_ZTV7G27x5y2[11]), 11,20},
+ {&(_ZTV7G27x5y2[15]), 15,20},
+ {&(_ZTV7G27x5y2[19]), 19,20},
+ {&(_tg__ZTV3C27__7G27x5y2[4]), 4,5},
+ {&(_tg__ZTV2A1__3C27__7G27x5y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G27x5y2[];
+extern VTBL_ENTRY _ZTV7G27x5y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x5y2[];
+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_G27x5y2 = { "G27x5y2", // class name
+ bases_G27x5y2, 6,
+ &(vtc_G27x5y2[0]), // expected_vtbl_contents
+ &(vtt_G27x5y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G27x5y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x5y2),20, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x5y2),9, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names92,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x5y3 : virtual E27x5 , virtual F1 {
+ int ff;
+ ~G27x5y3(); // tgen
+ G27x5y3(); // tgen
+};
+//SIG(1 G27x5y3) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G27x5y3 ::~G27x5y3(){ note_dtor("G27x5y3", this);} // tgen
+G27x5y3 ::G27x5y3(){ note_ctor("G27x5y3", this);} // tgen
+
+static void Test_G27x5y3()
+{
+ extern Class_Descriptor cd_G27x5y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G27x5y3, buf);
+ G27x5y3 *dp, &lv = *(dp=new (buf) G27x5y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G27x5y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x5y3)");
+ check_base_class_offset(lv, (A1*)(C27*), ABISELECT(48,28), "G27x5y3");
+ check_base_class_offset(lv, (B0*)(C27*), ABISELECT(60,36), "G27x5y3");
+ check_base_class_offset(lv, (C27*)(E27x5*), ABISELECT(32,20), "G27x5y3");
+ check_base_class_offset(lv, (D0*)(E27x5*), ABISELECT(24,12), "G27x5y3");
+ check_base_class_offset(lv, (E27x5*), ABISELECT(16,8), "G27x5y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G27x5y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G27x5y3.ff");
+ test_class_info(&lv, &cd_G27x5y3);
+ dp->~G27x5y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x5y3(Test_G27x5y3, "G27x5y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G27x5y3C1Ev();
+extern void _ZN7G27x5y3D1Ev();
+Name_Map name_map_G27x5y3[] = {
+ NSPAIR(_ZN7G27x5y3C1Ev),
+ NSPAIR(_ZN7G27x5y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E27x5;
+extern VTBL_ENTRY _ZTI5E27x5[];
+extern VTBL_ENTRY _ZTV5E27x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G27x5y3[] = {
+ // 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_C27, ABISELECT(32,20), //bcp->offset
+ 12, //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_D0, 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_E27x5, 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(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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G27x5y3[];
+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_G27x5y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x5y3[0]),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G27x5y3[0]),
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G27x5y3[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G27x5y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G27x5y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G27x5y3[];
+static VTBL_ENTRY _tg__ZTV5E27x5__7G27x5y3[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x5[0]),
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__5E27x5__7G27x5y3[] = {
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E27x5[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__5E27x5__7G27x5y3[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E27x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__7G27x5y3[] = {
+ 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__7G27x5y3[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x5y3[] = {
+ {&(_ZTV7G27x5y3[7]), 7,26},
+ {&(_ZTV7G27x5y3[12]), 12,26},
+ {&(_ZTV7G27x5y3[17]), 17,26},
+ {&(_ZTV7G27x5y3[21]), 21,26},
+ {&(_ZTV7G27x5y3[25]), 25,26},
+ {&(_tg__ZTV5E27x5__7G27x5y3[5]), 5,5},
+ {&(_tg__ZTV3C27__5E27x5__7G27x5y3[5]), 5,6},
+ {&(_tg__ZTV2A1__5E27x5__7G27x5y3[3]), 3,4},
+ {&(_tg__ZTV3C27__7G27x5y3[4]), 4,5},
+ {&(_tg__ZTV2A1__3C27__7G27x5y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G27x5y3[];
+extern VTBL_ENTRY _ZTV7G27x5y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x5y3[];
+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_G27x5y3 = { "G27x5y3", // class name
+ bases_G27x5y3, 6,
+ &(vtc_G27x5y3[0]), // expected_vtbl_contents
+ &(vtt_G27x5y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G27x5y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x5y3),26, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x5y3),10, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names93,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x5y4 : E27x5 , F0 {
+ int ff;
+ ~G27x5y4(); // tgen
+ G27x5y4(); // tgen
+};
+//SIG(1 G27x5y4) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G27x5y4 ::~G27x5y4(){ note_dtor("G27x5y4", this);} // tgen
+G27x5y4 ::G27x5y4(){ note_ctor("G27x5y4", this);} // tgen
+
+static void Test_G27x5y4()
+{
+ extern Class_Descriptor cd_G27x5y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G27x5y4, buf);
+ G27x5y4 *dp, &lv = *(dp=new (buf) G27x5y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G27x5y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x5y4)");
+ check_base_class_offset(lv, (A1*)(C27*), ABISELECT(40,28), "G27x5y4");
+ check_base_class_offset(lv, (B0*)(C27*), ABISELECT(52,36), "G27x5y4");
+ check_base_class_offset(lv, (C27*)(E27x5*), ABISELECT(24,20), "G27x5y4");
+ check_base_class_offset(lv, (D0*)(E27x5*), ABISELECT(8,4), "G27x5y4");
+ check_base_class_offset(lv, (E27x5*), 0, "G27x5y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G27x5y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G27x5y4.ff");
+ test_class_info(&lv, &cd_G27x5y4);
+ dp->~G27x5y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x5y4(Test_G27x5y4, "G27x5y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G27x5y4C1Ev();
+extern void _ZN7G27x5y4D1Ev();
+Name_Map name_map_G27x5y4[] = {
+ NSPAIR(_ZN7G27x5y4C1Ev),
+ NSPAIR(_ZN7G27x5y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E27x5;
+extern VTBL_ENTRY _ZTI5E27x5[];
+extern VTBL_ENTRY _ZTV5E27x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G27x5y4[] = {
+ // 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(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
+ 5, //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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E27x5, 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 _ZTI7G27x5y4[];
+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_G27x5y4[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x5y4[0]),
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G27x5y4[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G27x5y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern VTBL_ENTRY _ZTV7G27x5y4[];
+static VTBL_ENTRY _tg__ZTV5E27x5__7G27x5y4[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x5[0]),
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__5E27x5__7G27x5y4[] = {
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E27x5[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__5E27x5__7G27x5y4[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E27x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__7G27x5y4[] = {
+ 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__7G27x5y4[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x5y4[] = {
+ {&(_ZTV7G27x5y4[5]), 5,15},
+ {&(_tg__ZTV5E27x5__7G27x5y4[5]), 5,5},
+ {&(_tg__ZTV3C27__5E27x5__7G27x5y4[5]), 5,6},
+ {&(_tg__ZTV2A1__5E27x5__7G27x5y4[3]), 3,4},
+ {&(_ZTV7G27x5y4[10]), 10,15},
+ {&(_ZTV7G27x5y4[14]), 14,15},
+ {&(_tg__ZTV3C27__7G27x5y4[4]), 4,5},
+ {&(_tg__ZTV2A1__3C27__7G27x5y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G27x5y4[];
+extern VTBL_ENTRY _ZTV7G27x5y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x5y4[];
+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_G27x5y4 = { "G27x5y4", // class name
+ bases_G27x5y4, 6,
+ &(vtc_G27x5y4[0]), // expected_vtbl_contents
+ &(vtt_G27x5y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G27x5y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x5y4),15, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x5y4),8, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names94,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x5y5 : virtual E27x5 , F0 {
+ int ff;
+ ~G27x5y5(); // tgen
+ G27x5y5(); // tgen
+};
+//SIG(1 G27x5y5) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G27x5y5 ::~G27x5y5(){ note_dtor("G27x5y5", this);} // tgen
+G27x5y5 ::G27x5y5(){ note_ctor("G27x5y5", this);} // tgen
+
+static void Test_G27x5y5()
+{
+ extern Class_Descriptor cd_G27x5y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G27x5y5, buf);
+ G27x5y5 *dp, &lv = *(dp=new (buf) G27x5y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G27x5y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x5y5)");
+ check_base_class_offset(lv, (A1*)(C27*), ABISELECT(48,32), "G27x5y5");
+ check_base_class_offset(lv, (B0*)(C27*), ABISELECT(60,40), "G27x5y5");
+ check_base_class_offset(lv, (C27*)(E27x5*), ABISELECT(32,24), "G27x5y5");
+ check_base_class_offset(lv, (D0*)(E27x5*), ABISELECT(24,16), "G27x5y5");
+ check_base_class_offset(lv, (E27x5*), ABISELECT(16,12), "G27x5y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G27x5y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G27x5y5.ff");
+ test_class_info(&lv, &cd_G27x5y5);
+ dp->~G27x5y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x5y5(Test_G27x5y5, "G27x5y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G27x5y5C1Ev();
+extern void _ZN7G27x5y5D1Ev();
+Name_Map name_map_G27x5y5[] = {
+ NSPAIR(_ZN7G27x5y5C1Ev),
+ NSPAIR(_ZN7G27x5y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E27x5;
+extern VTBL_ENTRY _ZTI5E27x5[];
+extern VTBL_ENTRY _ZTV5E27x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G27x5y5[] = {
+ // 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_C27, ABISELECT(32,24), //bcp->offset
+ 11, //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_D0, 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_E27x5, 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 _ZTI7G27x5y5[];
+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_G27x5y5[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x5y5[0]),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G27x5y5[0]),
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G27x5y5[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G27x5y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern VTBL_ENTRY _ZTV7G27x5y5[];
+static VTBL_ENTRY _tg__ZTV5E27x5__7G27x5y5[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x5[0]),
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__5E27x5__7G27x5y5[] = {
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E27x5[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__5E27x5__7G27x5y5[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E27x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__7G27x5y5[] = {
+ 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__7G27x5y5[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x5y5[] = {
+ {&(_ZTV7G27x5y5[6]), 6,21},
+ {&(_ZTV7G27x5y5[11]), 11,21},
+ {&(_ZTV7G27x5y5[16]), 16,21},
+ {&(_ZTV7G27x5y5[20]), 20,21},
+ {&(_tg__ZTV5E27x5__7G27x5y5[5]), 5,5},
+ {&(_tg__ZTV3C27__5E27x5__7G27x5y5[5]), 5,6},
+ {&(_tg__ZTV2A1__5E27x5__7G27x5y5[3]), 3,4},
+ {&(_tg__ZTV3C27__7G27x5y5[4]), 4,5},
+ {&(_tg__ZTV2A1__3C27__7G27x5y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G27x5y5[];
+extern VTBL_ENTRY _ZTV7G27x5y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x5y5[];
+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_G27x5y5 = { "G27x5y5", // class name
+ bases_G27x5y5, 6,
+ &(vtc_G27x5y5[0]), // expected_vtbl_contents
+ &(vtt_G27x5y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G27x5y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x5y5),21, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x5y5),9, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names95,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x5y6 : E27x5 , virtual F0 {
+ int ff;
+ ~G27x5y6(); // tgen
+ G27x5y6(); // tgen
+};
+//SIG(1 G27x5y6) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G27x5y6 ::~G27x5y6(){ note_dtor("G27x5y6", this);} // tgen
+G27x5y6 ::G27x5y6(){ note_ctor("G27x5y6", this);} // tgen
+
+static void Test_G27x5y6()
+{
+ extern Class_Descriptor cd_G27x5y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G27x5y6, buf);
+ G27x5y6 *dp, &lv = *(dp=new (buf) G27x5y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G27x5y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x5y6)");
+ check_base_class_offset(lv, (A1*)(C27*), ABISELECT(40,24), "G27x5y6");
+ check_base_class_offset(lv, (B0*)(C27*), ABISELECT(52,32), "G27x5y6");
+ check_base_class_offset(lv, (C27*)(E27x5*), ABISELECT(24,16), "G27x5y6");
+ check_base_class_offset(lv, (D0*)(E27x5*), ABISELECT(8,4), "G27x5y6");
+ check_base_class_offset(lv, (E27x5*), 0, "G27x5y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G27x5y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G27x5y6.ff");
+ test_class_info(&lv, &cd_G27x5y6);
+ dp->~G27x5y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x5y6(Test_G27x5y6, "G27x5y6", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G27x5y6C1Ev();
+extern void _ZN7G27x5y6D1Ev();
+Name_Map name_map_G27x5y6[] = {
+ NSPAIR(_ZN7G27x5y6C1Ev),
+ NSPAIR(_ZN7G27x5y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E27x5;
+extern VTBL_ENTRY _ZTI5E27x5[];
+extern VTBL_ENTRY _ZTV5E27x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G27x5y6[] = {
+ // 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)
+ 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
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E27x5, 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(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 _ZTI7G27x5y6[];
+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_G27x5y6[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x5y6[0]),
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G27x5y6[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G27x5y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern VTBL_ENTRY _ZTV7G27x5y6[];
+static VTBL_ENTRY _tg__ZTV5E27x5__7G27x5y6[] = {
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x5[0]),
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__5E27x5__7G27x5y6[] = {
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E27x5[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__5E27x5__7G27x5y6[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E27x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__7G27x5y6[] = {
+ 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__7G27x5y6[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x5y6[] = {
+ {&(_ZTV7G27x5y6[6]), 6,16},
+ {&(_tg__ZTV5E27x5__7G27x5y6[5]), 5,5},
+ {&(_tg__ZTV3C27__5E27x5__7G27x5y6[5]), 5,6},
+ {&(_tg__ZTV2A1__5E27x5__7G27x5y6[3]), 3,4},
+ {&(_ZTV7G27x5y6[11]), 11,16},
+ {&(_ZTV7G27x5y6[15]), 15,16},
+ {&(_tg__ZTV3C27__7G27x5y6[4]), 4,5},
+ {&(_tg__ZTV2A1__3C27__7G27x5y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G27x5y6[];
+extern VTBL_ENTRY _ZTV7G27x5y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x5y6[];
+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_G27x5y6 = { "G27x5y6", // class name
+ bases_G27x5y6, 6,
+ &(vtc_G27x5y6[0]), // expected_vtbl_contents
+ &(vtt_G27x5y6[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G27x5y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x5y6),16, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x5y6),8, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names96,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x5y7 : virtual E27x5 , virtual F0 {
+ int ff;
+ ~G27x5y7(); // tgen
+ G27x5y7(); // tgen
+};
+//SIG(1 G27x5y7) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G27x5y7 ::~G27x5y7(){ note_dtor("G27x5y7", this);} // tgen
+G27x5y7 ::G27x5y7(){ note_ctor("G27x5y7", this);} // tgen
+
+static void Test_G27x5y7()
+{
+ extern Class_Descriptor cd_G27x5y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G27x5y7, buf);
+ G27x5y7 *dp, &lv = *(dp=new (buf) G27x5y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G27x5y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x5y7)");
+ check_base_class_offset(lv, (A1*)(C27*), ABISELECT(48,28), "G27x5y7");
+ check_base_class_offset(lv, (B0*)(C27*), ABISELECT(60,36), "G27x5y7");
+ check_base_class_offset(lv, (C27*)(E27x5*), ABISELECT(32,20), "G27x5y7");
+ check_base_class_offset(lv, (D0*)(E27x5*), ABISELECT(24,12), "G27x5y7");
+ check_base_class_offset(lv, (E27x5*), ABISELECT(16,8), "G27x5y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(64,40), "G27x5y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G27x5y7.ff");
+ test_class_info(&lv, &cd_G27x5y7);
+ dp->~G27x5y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x5y7(Test_G27x5y7, "G27x5y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G27x5y7C1Ev();
+extern void _ZN7G27x5y7D1Ev();
+Name_Map name_map_G27x5y7[] = {
+ NSPAIR(_ZN7G27x5y7C1Ev),
+ NSPAIR(_ZN7G27x5y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E27x5;
+extern VTBL_ENTRY _ZTI5E27x5[];
+extern VTBL_ENTRY _ZTV5E27x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G27x5y7[] = {
+ // 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_C27, ABISELECT(32,20), //bcp->offset
+ 12, //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_D0, 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_E27x5, 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(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 _ZTI7G27x5y7[];
+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_G27x5y7[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x5y7[0]),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G27x5y7[0]),
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G27x5y7[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G27x5y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern VTBL_ENTRY _ZTV7G27x5y7[];
+static VTBL_ENTRY _tg__ZTV5E27x5__7G27x5y7[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x5[0]),
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__5E27x5__7G27x5y7[] = {
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E27x5[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__5E27x5__7G27x5y7[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E27x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__7G27x5y7[] = {
+ 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__7G27x5y7[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x5y7[] = {
+ {&(_ZTV7G27x5y7[7]), 7,22},
+ {&(_ZTV7G27x5y7[12]), 12,22},
+ {&(_ZTV7G27x5y7[17]), 17,22},
+ {&(_ZTV7G27x5y7[21]), 21,22},
+ {&(_tg__ZTV5E27x5__7G27x5y7[5]), 5,5},
+ {&(_tg__ZTV3C27__5E27x5__7G27x5y7[5]), 5,6},
+ {&(_tg__ZTV2A1__5E27x5__7G27x5y7[3]), 3,4},
+ {&(_tg__ZTV3C27__7G27x5y7[4]), 4,5},
+ {&(_tg__ZTV2A1__3C27__7G27x5y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G27x5y7[];
+extern VTBL_ENTRY _ZTV7G27x5y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x5y7[];
+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_G27x5y7 = { "G27x5y7", // class name
+ bases_G27x5y7, 6,
+ &(vtc_G27x5y7[0]), // expected_vtbl_contents
+ &(vtt_G27x5y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G27x5y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x5y7),22, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x5y7),9, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names97,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E28x5 : virtual C28 , D0 {
+ int fd;
+ ~E28x5(); // tgen
+ E28x5(); // tgen
+};
+//SIG(-1 E28x5) C1{ VBC2{ BC3{ Fi} VBC4{ v1 Fi} v1 Fi} BC5{ Fi} Fi}
+
+
+E28x5 ::~E28x5(){ note_dtor("E28x5", this);} // tgen
+E28x5 ::E28x5(){ note_ctor("E28x5", this);} // tgen
+
+static void Test_E28x5()
+{
+ extern Class_Descriptor cd_E28x5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E28x5, buf);
+ E28x5 *dp, &lv = *(dp=new (buf) E28x5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E28x5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E28x5)");
+ check_base_class_offset(lv, (A0*)(C28*), ABISELECT(24,16), "E28x5");
+ check_base_class_offset(lv, (B1*)(C28*), ABISELECT(32,24), "E28x5");
+ check_base_class_offset(lv, (C28*), ABISELECT(16,12), "E28x5");
+ check_base_class_offset(lv, (D0*), ABISELECT(8,4), "E28x5");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E28x5.fd");
+ test_class_info(&lv, &cd_E28x5);
+ dp->~E28x5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE28x5(Test_E28x5, "E28x5", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN5E28x5C1Ev();
+extern void _ZN5E28x5D1Ev();
+Name_Map name_map_E28x5[] = {
+ NSPAIR(_ZN5E28x5C1Ev),
+ NSPAIR(_ZN5E28x5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E28x5[] = {
+ // 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)
+ 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
+ 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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E28x5[];
+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_E28x5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E28x5[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E28x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern VTBL_ENTRY _ZTV5E28x5[];
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__5E28x5[] = {
+ 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__5E28x5[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_E28x5[] = {
+ {&(_ZTV5E28x5[4]), 4,13},
+ {&(_ZTV5E28x5[8]), 8,13},
+ {&(_ZTV5E28x5[12]), 12,13},
+ {&(_tg__ZTV3C28__5E28x5[3]), 3,4},
+ {&(_tg__ZTV2B1__3C28__5E28x5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E28x5[];
+extern VTBL_ENTRY _ZTV5E28x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x5[];
+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_E28x5 = { "E28x5", // class name
+ bases_E28x5, 4,
+ &(vtc_E28x5[0]), // expected_vtbl_contents
+ &(vtt_E28x5[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI5E28x5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E28x5),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E28x5),5, //virtual table table var
+ 2, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names98,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x5y0 : E28x5 , F1 {
+ int ff;
+ ~G28x5y0(); // tgen
+ G28x5y0(); // tgen
+};
+//SIG(1 G28x5y0) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G28x5y0 ::~G28x5y0(){ note_dtor("G28x5y0", this);} // tgen
+G28x5y0 ::G28x5y0(){ note_ctor("G28x5y0", this);} // tgen
+
+static void Test_G28x5y0()
+{
+ extern Class_Descriptor cd_G28x5y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G28x5y0, buf);
+ G28x5y0 *dp, &lv = *(dp=new (buf) G28x5y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G28x5y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x5y0)");
+ check_base_class_offset(lv, (A0*)(C28*), ABISELECT(40,28), "G28x5y0");
+ check_base_class_offset(lv, (B1*)(C28*), ABISELECT(48,36), "G28x5y0");
+ check_base_class_offset(lv, (C28*)(E28x5*), ABISELECT(32,24), "G28x5y0");
+ check_base_class_offset(lv, (D0*)(E28x5*), ABISELECT(8,4), "G28x5y0");
+ check_base_class_offset(lv, (E28x5*), 0, "G28x5y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G28x5y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G28x5y0.ff");
+ test_class_info(&lv, &cd_G28x5y0);
+ dp->~G28x5y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x5y0(Test_G28x5y0, "G28x5y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G28x5y0C1Ev();
+extern void _ZN7G28x5y0D1Ev();
+Name_Map name_map_G28x5y0[] = {
+ NSPAIR(_ZN7G28x5y0C1Ev),
+ NSPAIR(_ZN7G28x5y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E28x5;
+extern VTBL_ENTRY _ZTI5E28x5[];
+extern VTBL_ENTRY _ZTV5E28x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G28x5y0[] = {
+ // 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
+ 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_C28, ABISELECT(32,24), //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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E28x5, 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
+ 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 _ZTI7G28x5y0[];
+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_G28x5y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x5y0[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G28x5y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G28x5y0[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G28x5y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern VTBL_ENTRY _ZTV7G28x5y0[];
+static VTBL_ENTRY _tg__ZTV5E28x5__7G28x5y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x5[0]),
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__5E28x5__7G28x5y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E28x5[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__5E28x5__7G28x5y0[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI5E28x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__7G28x5y0[] = {
+ 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__7G28x5y0[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x5y0[] = {
+ {&(_ZTV7G28x5y0[4]), 4,16},
+ {&(_tg__ZTV5E28x5__7G28x5y0[4]), 4,4},
+ {&(_tg__ZTV3C28__5E28x5__7G28x5y0[4]), 4,5},
+ {&(_tg__ZTV2B1__5E28x5__7G28x5y0[3]), 3,4},
+ {&(_ZTV7G28x5y0[11]), 11,16},
+ {&(_ZTV7G28x5y0[15]), 15,16},
+ {&(_tg__ZTV3C28__7G28x5y0[3]), 3,4},
+ {&(_tg__ZTV2B1__3C28__7G28x5y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G28x5y0[];
+extern VTBL_ENTRY _ZTV7G28x5y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x5y0[];
+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_G28x5y0 = { "G28x5y0", // class name
+ bases_G28x5y0, 6,
+ &(vtc_G28x5y0[0]), // expected_vtbl_contents
+ &(vtt_G28x5y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G28x5y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x5y0),16, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x5y0),8, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names99,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x5y1 : virtual E28x5 , F1 {
+ int ff;
+ ~G28x5y1(); // tgen
+ G28x5y1(); // tgen
+};
+//SIG(1 G28x5y1) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G28x5y1 ::~G28x5y1(){ note_dtor("G28x5y1", this);} // tgen
+G28x5y1 ::G28x5y1(){ note_ctor("G28x5y1", this);} // tgen
+
+static void Test_G28x5y1()
+{
+ extern Class_Descriptor cd_G28x5y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G28x5y1, buf);
+ G28x5y1 *dp, &lv = *(dp=new (buf) G28x5y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G28x5y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x5y1)");
+ check_base_class_offset(lv, (A0*)(C28*), ABISELECT(40,28), "G28x5y1");
+ check_base_class_offset(lv, (B1*)(C28*), ABISELECT(48,36), "G28x5y1");
+ check_base_class_offset(lv, (C28*)(E28x5*), ABISELECT(32,24), "G28x5y1");
+ check_base_class_offset(lv, (D0*)(E28x5*), ABISELECT(24,16), "G28x5y1");
+ check_base_class_offset(lv, (E28x5*), ABISELECT(16,12), "G28x5y1");
+ check_base_class_offset(lv, (F1*), 0, "G28x5y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G28x5y1.ff");
+ test_class_info(&lv, &cd_G28x5y1);
+ dp->~G28x5y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x5y1(Test_G28x5y1, "G28x5y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G28x5y1C1Ev();
+extern void _ZN7G28x5y1D1Ev();
+Name_Map name_map_G28x5y1[] = {
+ NSPAIR(_ZN7G28x5y1C1Ev),
+ NSPAIR(_ZN7G28x5y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E28x5;
+extern VTBL_ENTRY _ZTI5E28x5[];
+extern VTBL_ENTRY _ZTV5E28x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G28x5y1[] = {
+ // 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_C28, ABISELECT(32,24), //bcp->offset
+ 10, //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_D0, 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_E28x5, 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 _ZTI7G28x5y1[];
+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_G28x5y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x5y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G28x5y1[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G28x5y1[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G28x5y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern VTBL_ENTRY _ZTV7G28x5y1[];
+static VTBL_ENTRY _tg__ZTV5E28x5__7G28x5y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x5[0]),
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__5E28x5__7G28x5y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E28x5[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__5E28x5__7G28x5y1[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E28x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__7G28x5y1[] = {
+ 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__7G28x5y1[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x5y1[] = {
+ {&(_ZTV7G28x5y1[5]), 5,19},
+ {&(_ZTV7G28x5y1[10]), 10,19},
+ {&(_ZTV7G28x5y1[14]), 14,19},
+ {&(_ZTV7G28x5y1[18]), 18,19},
+ {&(_tg__ZTV5E28x5__7G28x5y1[4]), 4,4},
+ {&(_tg__ZTV3C28__5E28x5__7G28x5y1[4]), 4,5},
+ {&(_tg__ZTV2B1__5E28x5__7G28x5y1[3]), 3,4},
+ {&(_tg__ZTV3C28__7G28x5y1[3]), 3,4},
+ {&(_tg__ZTV2B1__3C28__7G28x5y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G28x5y1[];
+extern VTBL_ENTRY _ZTV7G28x5y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x5y1[];
+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_G28x5y1 = { "G28x5y1", // class name
+ bases_G28x5y1, 6,
+ &(vtc_G28x5y1[0]), // expected_vtbl_contents
+ &(vtt_G28x5y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G28x5y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x5y1),19, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x5y1),9, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names100,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x5y2 : E28x5 , virtual F1 {
+ int ff;
+ ~G28x5y2(); // tgen
+ G28x5y2(); // tgen
+};
+//SIG(1 G28x5y2) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G28x5y2 ::~G28x5y2(){ note_dtor("G28x5y2", this);} // tgen
+G28x5y2 ::G28x5y2(){ note_ctor("G28x5y2", this);} // tgen
+
+static void Test_G28x5y2()
+{
+ extern Class_Descriptor cd_G28x5y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G28x5y2, buf);
+ G28x5y2 *dp, &lv = *(dp=new (buf) G28x5y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G28x5y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x5y2)");
+ check_base_class_offset(lv, (A0*)(C28*), ABISELECT(32,20), "G28x5y2");
+ check_base_class_offset(lv, (B1*)(C28*), ABISELECT(40,28), "G28x5y2");
+ check_base_class_offset(lv, (C28*)(E28x5*), ABISELECT(24,16), "G28x5y2");
+ check_base_class_offset(lv, (D0*)(E28x5*), ABISELECT(8,4), "G28x5y2");
+ check_base_class_offset(lv, (E28x5*), 0, "G28x5y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G28x5y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G28x5y2.ff");
+ test_class_info(&lv, &cd_G28x5y2);
+ dp->~G28x5y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x5y2(Test_G28x5y2, "G28x5y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G28x5y2C1Ev();
+extern void _ZN7G28x5y2D1Ev();
+Name_Map name_map_G28x5y2[] = {
+ NSPAIR(_ZN7G28x5y2C1Ev),
+ NSPAIR(_ZN7G28x5y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E28x5;
+extern VTBL_ENTRY _ZTI5E28x5[];
+extern VTBL_ENTRY _ZTV5E28x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G28x5y2[] = {
+ // 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)
+ 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
+ 5, //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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E28x5, 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
+ 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 _ZTI7G28x5y2[];
+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_G28x5y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x5y2[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G28x5y2[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G28x5y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G28x5y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G28x5y2[];
+static VTBL_ENTRY _tg__ZTV5E28x5__7G28x5y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x5[0]),
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__5E28x5__7G28x5y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E28x5[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__5E28x5__7G28x5y2[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E28x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__7G28x5y2[] = {
+ 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__7G28x5y2[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x5y2[] = {
+ {&(_ZTV7G28x5y2[5]), 5,18},
+ {&(_tg__ZTV5E28x5__7G28x5y2[4]), 4,4},
+ {&(_tg__ZTV3C28__5E28x5__7G28x5y2[4]), 4,5},
+ {&(_tg__ZTV2B1__5E28x5__7G28x5y2[3]), 3,4},
+ {&(_ZTV7G28x5y2[9]), 9,18},
+ {&(_ZTV7G28x5y2[13]), 13,18},
+ {&(_ZTV7G28x5y2[17]), 17,18},
+ {&(_tg__ZTV3C28__7G28x5y2[3]), 3,4},
+ {&(_tg__ZTV2B1__3C28__7G28x5y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G28x5y2[];
+extern VTBL_ENTRY _ZTV7G28x5y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x5y2[];
+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_G28x5y2 = { "G28x5y2", // class name
+ bases_G28x5y2, 6,
+ &(vtc_G28x5y2[0]), // expected_vtbl_contents
+ &(vtt_G28x5y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G28x5y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x5y2),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x5y2),9, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names101,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x5y3 : virtual E28x5 , virtual F1 {
+ int ff;
+ ~G28x5y3(); // tgen
+ G28x5y3(); // tgen
+};
+//SIG(1 G28x5y3) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G28x5y3 ::~G28x5y3(){ note_dtor("G28x5y3", this);} // tgen
+G28x5y3 ::G28x5y3(){ note_ctor("G28x5y3", this);} // tgen
+
+static void Test_G28x5y3()
+{
+ extern Class_Descriptor cd_G28x5y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G28x5y3, buf);
+ G28x5y3 *dp, &lv = *(dp=new (buf) G28x5y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G28x5y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x5y3)");
+ check_base_class_offset(lv, (A0*)(C28*), ABISELECT(40,24), "G28x5y3");
+ check_base_class_offset(lv, (B1*)(C28*), ABISELECT(48,32), "G28x5y3");
+ check_base_class_offset(lv, (C28*)(E28x5*), ABISELECT(32,20), "G28x5y3");
+ check_base_class_offset(lv, (D0*)(E28x5*), ABISELECT(24,12), "G28x5y3");
+ check_base_class_offset(lv, (E28x5*), ABISELECT(16,8), "G28x5y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G28x5y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G28x5y3.ff");
+ test_class_info(&lv, &cd_G28x5y3);
+ dp->~G28x5y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x5y3(Test_G28x5y3, "G28x5y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G28x5y3C1Ev();
+extern void _ZN7G28x5y3D1Ev();
+Name_Map name_map_G28x5y3[] = {
+ NSPAIR(_ZN7G28x5y3C1Ev),
+ NSPAIR(_ZN7G28x5y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E28x5;
+extern VTBL_ENTRY _ZTI5E28x5[];
+extern VTBL_ENTRY _ZTV5E28x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G28x5y3[] = {
+ // 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_C28, ABISELECT(32,20), //bcp->offset
+ 10, //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_D0, 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_E28x5, 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(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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G28x5y3[];
+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_G28x5y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x5y3[0]),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G28x5y3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G28x5y3[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G28x5y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G28x5y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G28x5y3[];
+static VTBL_ENTRY _tg__ZTV5E28x5__7G28x5y3[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x5[0]),
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__5E28x5__7G28x5y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E28x5[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__5E28x5__7G28x5y3[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E28x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__7G28x5y3[] = {
+ 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__7G28x5y3[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x5y3[] = {
+ {&(_ZTV7G28x5y3[6]), 6,23},
+ {&(_ZTV7G28x5y3[10]), 10,23},
+ {&(_ZTV7G28x5y3[14]), 14,23},
+ {&(_ZTV7G28x5y3[18]), 18,23},
+ {&(_ZTV7G28x5y3[22]), 22,23},
+ {&(_tg__ZTV5E28x5__7G28x5y3[4]), 4,4},
+ {&(_tg__ZTV3C28__5E28x5__7G28x5y3[4]), 4,5},
+ {&(_tg__ZTV2B1__5E28x5__7G28x5y3[3]), 3,4},
+ {&(_tg__ZTV3C28__7G28x5y3[3]), 3,4},
+ {&(_tg__ZTV2B1__3C28__7G28x5y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G28x5y3[];
+extern VTBL_ENTRY _ZTV7G28x5y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x5y3[];
+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_G28x5y3 = { "G28x5y3", // class name
+ bases_G28x5y3, 6,
+ &(vtc_G28x5y3[0]), // expected_vtbl_contents
+ &(vtt_G28x5y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G28x5y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x5y3),23, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x5y3),10, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names102,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x5y4 : E28x5 , F0 {
+ int ff;
+ ~G28x5y4(); // tgen
+ G28x5y4(); // tgen
+};
+//SIG(1 G28x5y4) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G28x5y4 ::~G28x5y4(){ note_dtor("G28x5y4", this);} // tgen
+G28x5y4 ::G28x5y4(){ note_ctor("G28x5y4", this);} // tgen
+
+static void Test_G28x5y4()
+{
+ extern Class_Descriptor cd_G28x5y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G28x5y4, buf);
+ G28x5y4 *dp, &lv = *(dp=new (buf) G28x5y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G28x5y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x5y4)");
+ check_base_class_offset(lv, (A0*)(C28*), ABISELECT(32,24), "G28x5y4");
+ check_base_class_offset(lv, (B1*)(C28*), ABISELECT(40,32), "G28x5y4");
+ check_base_class_offset(lv, (C28*)(E28x5*), ABISELECT(24,20), "G28x5y4");
+ check_base_class_offset(lv, (D0*)(E28x5*), ABISELECT(8,4), "G28x5y4");
+ check_base_class_offset(lv, (E28x5*), 0, "G28x5y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G28x5y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G28x5y4.ff");
+ test_class_info(&lv, &cd_G28x5y4);
+ dp->~G28x5y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x5y4(Test_G28x5y4, "G28x5y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G28x5y4C1Ev();
+extern void _ZN7G28x5y4D1Ev();
+Name_Map name_map_G28x5y4[] = {
+ NSPAIR(_ZN7G28x5y4C1Ev),
+ NSPAIR(_ZN7G28x5y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E28x5;
+extern VTBL_ENTRY _ZTI5E28x5[];
+extern VTBL_ENTRY _ZTV5E28x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G28x5y4[] = {
+ // 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
+ 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_C28, ABISELECT(24,20), //bcp->offset
+ 4, //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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E28x5, 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 _ZTI7G28x5y4[];
+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_G28x5y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x5y4[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G28x5y4[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G28x5y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern VTBL_ENTRY _ZTV7G28x5y4[];
+static VTBL_ENTRY _tg__ZTV5E28x5__7G28x5y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x5[0]),
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__5E28x5__7G28x5y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E28x5[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__5E28x5__7G28x5y4[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI5E28x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__7G28x5y4[] = {
+ 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__7G28x5y4[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x5y4[] = {
+ {&(_ZTV7G28x5y4[4]), 4,13},
+ {&(_tg__ZTV5E28x5__7G28x5y4[4]), 4,4},
+ {&(_tg__ZTV3C28__5E28x5__7G28x5y4[4]), 4,5},
+ {&(_tg__ZTV2B1__5E28x5__7G28x5y4[3]), 3,4},
+ {&(_ZTV7G28x5y4[8]), 8,13},
+ {&(_ZTV7G28x5y4[12]), 12,13},
+ {&(_tg__ZTV3C28__7G28x5y4[3]), 3,4},
+ {&(_tg__ZTV2B1__3C28__7G28x5y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G28x5y4[];
+extern VTBL_ENTRY _ZTV7G28x5y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x5y4[];
+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_G28x5y4 = { "G28x5y4", // class name
+ bases_G28x5y4, 6,
+ &(vtc_G28x5y4[0]), // expected_vtbl_contents
+ &(vtt_G28x5y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G28x5y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x5y4),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x5y4),8, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names103,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x5y5 : virtual E28x5 , F0 {
+ int ff;
+ ~G28x5y5(); // tgen
+ G28x5y5(); // tgen
+};
+//SIG(1 G28x5y5) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G28x5y5 ::~G28x5y5(){ note_dtor("G28x5y5", this);} // tgen
+G28x5y5 ::G28x5y5(){ note_ctor("G28x5y5", this);} // tgen
+
+static void Test_G28x5y5()
+{
+ extern Class_Descriptor cd_G28x5y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G28x5y5, buf);
+ G28x5y5 *dp, &lv = *(dp=new (buf) G28x5y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G28x5y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x5y5)");
+ check_base_class_offset(lv, (A0*)(C28*), ABISELECT(40,28), "G28x5y5");
+ check_base_class_offset(lv, (B1*)(C28*), ABISELECT(48,36), "G28x5y5");
+ check_base_class_offset(lv, (C28*)(E28x5*), ABISELECT(32,24), "G28x5y5");
+ check_base_class_offset(lv, (D0*)(E28x5*), ABISELECT(24,16), "G28x5y5");
+ check_base_class_offset(lv, (E28x5*), ABISELECT(16,12), "G28x5y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G28x5y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G28x5y5.ff");
+ test_class_info(&lv, &cd_G28x5y5);
+ dp->~G28x5y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x5y5(Test_G28x5y5, "G28x5y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G28x5y5C1Ev();
+extern void _ZN7G28x5y5D1Ev();
+Name_Map name_map_G28x5y5[] = {
+ NSPAIR(_ZN7G28x5y5C1Ev),
+ NSPAIR(_ZN7G28x5y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E28x5;
+extern VTBL_ENTRY _ZTI5E28x5[];
+extern VTBL_ENTRY _ZTV5E28x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G28x5y5[] = {
+ // 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_C28, ABISELECT(32,24), //bcp->offset
+ 9, //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_D0, 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_E28x5, 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 _ZTI7G28x5y5[];
+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_G28x5y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x5y5[0]),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G28x5y5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G28x5y5[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G28x5y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern VTBL_ENTRY _ZTV7G28x5y5[];
+static VTBL_ENTRY _tg__ZTV5E28x5__7G28x5y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x5[0]),
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__5E28x5__7G28x5y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E28x5[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__5E28x5__7G28x5y5[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E28x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__7G28x5y5[] = {
+ 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__7G28x5y5[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x5y5[] = {
+ {&(_ZTV7G28x5y5[5]), 5,18},
+ {&(_ZTV7G28x5y5[9]), 9,18},
+ {&(_ZTV7G28x5y5[13]), 13,18},
+ {&(_ZTV7G28x5y5[17]), 17,18},
+ {&(_tg__ZTV5E28x5__7G28x5y5[4]), 4,4},
+ {&(_tg__ZTV3C28__5E28x5__7G28x5y5[4]), 4,5},
+ {&(_tg__ZTV2B1__5E28x5__7G28x5y5[3]), 3,4},
+ {&(_tg__ZTV3C28__7G28x5y5[3]), 3,4},
+ {&(_tg__ZTV2B1__3C28__7G28x5y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G28x5y5[];
+extern VTBL_ENTRY _ZTV7G28x5y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x5y5[];
+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_G28x5y5 = { "G28x5y5", // class name
+ bases_G28x5y5, 6,
+ &(vtc_G28x5y5[0]), // expected_vtbl_contents
+ &(vtt_G28x5y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G28x5y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x5y5),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x5y5),9, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names104,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x5y6 : E28x5 , virtual F0 {
+ int ff;
+ ~G28x5y6(); // tgen
+ G28x5y6(); // tgen
+};
+//SIG(1 G28x5y6) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G28x5y6 ::~G28x5y6(){ note_dtor("G28x5y6", this);} // tgen
+G28x5y6 ::G28x5y6(){ note_ctor("G28x5y6", this);} // tgen
+
+static void Test_G28x5y6()
+{
+ extern Class_Descriptor cd_G28x5y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G28x5y6, buf);
+ G28x5y6 *dp, &lv = *(dp=new (buf) G28x5y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G28x5y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x5y6)");
+ check_base_class_offset(lv, (A0*)(C28*), ABISELECT(32,20), "G28x5y6");
+ check_base_class_offset(lv, (B1*)(C28*), ABISELECT(40,28), "G28x5y6");
+ check_base_class_offset(lv, (C28*)(E28x5*), ABISELECT(24,16), "G28x5y6");
+ check_base_class_offset(lv, (D0*)(E28x5*), ABISELECT(8,4), "G28x5y6");
+ check_base_class_offset(lv, (E28x5*), 0, "G28x5y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G28x5y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G28x5y6.ff");
+ test_class_info(&lv, &cd_G28x5y6);
+ dp->~G28x5y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x5y6(Test_G28x5y6, "G28x5y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G28x5y6C1Ev();
+extern void _ZN7G28x5y6D1Ev();
+Name_Map name_map_G28x5y6[] = {
+ NSPAIR(_ZN7G28x5y6C1Ev),
+ NSPAIR(_ZN7G28x5y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E28x5;
+extern VTBL_ENTRY _ZTI5E28x5[];
+extern VTBL_ENTRY _ZTV5E28x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G28x5y6[] = {
+ // 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)
+ 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
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E28x5, 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 _ZTI7G28x5y6[];
+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_G28x5y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x5y6[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G28x5y6[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G28x5y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern VTBL_ENTRY _ZTV7G28x5y6[];
+static VTBL_ENTRY _tg__ZTV5E28x5__7G28x5y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x5[0]),
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__5E28x5__7G28x5y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E28x5[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__5E28x5__7G28x5y6[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E28x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__7G28x5y6[] = {
+ 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__7G28x5y6[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x5y6[] = {
+ {&(_ZTV7G28x5y6[5]), 5,14},
+ {&(_tg__ZTV5E28x5__7G28x5y6[4]), 4,4},
+ {&(_tg__ZTV3C28__5E28x5__7G28x5y6[4]), 4,5},
+ {&(_tg__ZTV2B1__5E28x5__7G28x5y6[3]), 3,4},
+ {&(_ZTV7G28x5y6[9]), 9,14},
+ {&(_ZTV7G28x5y6[13]), 13,14},
+ {&(_tg__ZTV3C28__7G28x5y6[3]), 3,4},
+ {&(_tg__ZTV2B1__3C28__7G28x5y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G28x5y6[];
+extern VTBL_ENTRY _ZTV7G28x5y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x5y6[];
+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_G28x5y6 = { "G28x5y6", // class name
+ bases_G28x5y6, 6,
+ &(vtc_G28x5y6[0]), // expected_vtbl_contents
+ &(vtt_G28x5y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G28x5y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x5y6),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x5y6),8, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names105,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x5y7 : virtual E28x5 , virtual F0 {
+ int ff;
+ ~G28x5y7(); // tgen
+ G28x5y7(); // tgen
+};
+//SIG(1 G28x5y7) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G28x5y7 ::~G28x5y7(){ note_dtor("G28x5y7", this);} // tgen
+G28x5y7 ::G28x5y7(){ note_ctor("G28x5y7", this);} // tgen
+
+static void Test_G28x5y7()
+{
+ extern Class_Descriptor cd_G28x5y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G28x5y7, buf);
+ G28x5y7 *dp, &lv = *(dp=new (buf) G28x5y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G28x5y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x5y7)");
+ check_base_class_offset(lv, (A0*)(C28*), ABISELECT(40,24), "G28x5y7");
+ check_base_class_offset(lv, (B1*)(C28*), ABISELECT(48,32), "G28x5y7");
+ check_base_class_offset(lv, (C28*)(E28x5*), ABISELECT(32,20), "G28x5y7");
+ check_base_class_offset(lv, (D0*)(E28x5*), ABISELECT(24,12), "G28x5y7");
+ check_base_class_offset(lv, (E28x5*), ABISELECT(16,8), "G28x5y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(60,40), "G28x5y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G28x5y7.ff");
+ test_class_info(&lv, &cd_G28x5y7);
+ dp->~G28x5y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x5y7(Test_G28x5y7, "G28x5y7", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G28x5y7C1Ev();
+extern void _ZN7G28x5y7D1Ev();
+Name_Map name_map_G28x5y7[] = {
+ NSPAIR(_ZN7G28x5y7C1Ev),
+ NSPAIR(_ZN7G28x5y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E28x5;
+extern VTBL_ENTRY _ZTI5E28x5[];
+extern VTBL_ENTRY _ZTV5E28x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G28x5y7[] = {
+ // 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_C28, ABISELECT(32,20), //bcp->offset
+ 10, //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_D0, 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_E28x5, 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(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 _ZTI7G28x5y7[];
+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_G28x5y7[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x5y7[0]),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G28x5y7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G28x5y7[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G28x5y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern VTBL_ENTRY _ZTV7G28x5y7[];
+static VTBL_ENTRY _tg__ZTV5E28x5__7G28x5y7[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x5[0]),
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__5E28x5__7G28x5y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E28x5[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__5E28x5__7G28x5y7[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E28x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__7G28x5y7[] = {
+ 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__7G28x5y7[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x5y7[] = {
+ {&(_ZTV7G28x5y7[6]), 6,19},
+ {&(_ZTV7G28x5y7[10]), 10,19},
+ {&(_ZTV7G28x5y7[14]), 14,19},
+ {&(_ZTV7G28x5y7[18]), 18,19},
+ {&(_tg__ZTV5E28x5__7G28x5y7[4]), 4,4},
+ {&(_tg__ZTV3C28__5E28x5__7G28x5y7[4]), 4,5},
+ {&(_tg__ZTV2B1__5E28x5__7G28x5y7[3]), 3,4},
+ {&(_tg__ZTV3C28__7G28x5y7[3]), 3,4},
+ {&(_tg__ZTV2B1__3C28__7G28x5y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G28x5y7[];
+extern VTBL_ENTRY _ZTV7G28x5y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x5y7[];
+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_G28x5y7 = { "G28x5y7", // class name
+ bases_G28x5y7, 6,
+ &(vtc_G28x5y7[0]), // expected_vtbl_contents
+ &(vtt_G28x5y7[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G28x5y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x5y7),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x5y7),9, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names106,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E29x5 : virtual C29 , D0 {
+ int fd;
+ ~E29x5(); // tgen
+ E29x5(); // tgen
+};
+//SIG(-1 E29x5) C1{ VBC2{ BC3{ v1 Fi} VBC4{ v1 Fi} v1 Fi} BC5{ Fi} Fi}
+
+
+E29x5 ::~E29x5(){ note_dtor("E29x5", this);} // tgen
+E29x5 ::E29x5(){ note_ctor("E29x5", this);} // tgen
+
+static void Test_E29x5()
+{
+ extern Class_Descriptor cd_E29x5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E29x5, buf);
+ E29x5 *dp, &lv = *(dp=new (buf) E29x5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E29x5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E29x5)");
+ check_base_class_offset(lv, (A1*)(C29*), ABISELECT(16,12), "E29x5");
+ check_base_class_offset(lv, (B1*)(C29*), ABISELECT(32,24), "E29x5");
+ check_base_class_offset(lv, (C29*), ABISELECT(16,12), "E29x5");
+ check_base_class_offset(lv, (D0*), ABISELECT(8,4), "E29x5");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E29x5.fd");
+ test_class_info(&lv, &cd_E29x5);
+ dp->~E29x5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE29x5(Test_E29x5, "E29x5", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN5E29x5C1Ev();
+extern void _ZN5E29x5D1Ev();
+Name_Map name_map_E29x5[] = {
+ NSPAIR(_ZN5E29x5C1Ev),
+ NSPAIR(_ZN5E29x5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E29x5[] = {
+ // 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
+ 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_C29, 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E29x5[];
+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_E29x5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E29x5[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E29x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern VTBL_ENTRY _ZTV5E29x5[];
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__5E29x5[] = {
+ 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__5E29x5[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_E29x5[] = {
+ {&(_ZTV5E29x5[4]), 4,13},
+ {&(_ZTV5E29x5[8]), 8,13},
+ {&(_ZTV5E29x5[12]), 12,13},
+ {&(_tg__ZTV3C29__5E29x5[3]), 3,4},
+ {&(_tg__ZTV2B1__3C29__5E29x5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E29x5[];
+extern VTBL_ENTRY _ZTV5E29x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x5[];
+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_E29x5 = { "E29x5", // class name
+ bases_E29x5, 4,
+ &(vtc_E29x5[0]), // expected_vtbl_contents
+ &(vtt_E29x5[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI5E29x5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E29x5),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E29x5),5, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names107,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x5y0 : E29x5 , F1 {
+ int ff;
+ ~G29x5y0(); // tgen
+ G29x5y0(); // tgen
+};
+//SIG(1 G29x5y0) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G29x5y0 ::~G29x5y0(){ note_dtor("G29x5y0", this);} // tgen
+G29x5y0 ::G29x5y0(){ note_ctor("G29x5y0", this);} // tgen
+
+static void Test_G29x5y0()
+{
+ extern Class_Descriptor cd_G29x5y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G29x5y0, buf);
+ G29x5y0 *dp, &lv = *(dp=new (buf) G29x5y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G29x5y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x5y0)");
+ check_base_class_offset(lv, (A1*)(C29*), ABISELECT(32,24), "G29x5y0");
+ check_base_class_offset(lv, (B1*)(C29*), ABISELECT(48,36), "G29x5y0");
+ check_base_class_offset(lv, (C29*)(E29x5*), ABISELECT(32,24), "G29x5y0");
+ check_base_class_offset(lv, (D0*)(E29x5*), ABISELECT(8,4), "G29x5y0");
+ check_base_class_offset(lv, (E29x5*), 0, "G29x5y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G29x5y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G29x5y0.ff");
+ test_class_info(&lv, &cd_G29x5y0);
+ dp->~G29x5y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x5y0(Test_G29x5y0, "G29x5y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G29x5y0C1Ev();
+extern void _ZN7G29x5y0D1Ev();
+Name_Map name_map_G29x5y0[] = {
+ NSPAIR(_ZN7G29x5y0C1Ev),
+ NSPAIR(_ZN7G29x5y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E29x5;
+extern VTBL_ENTRY _ZTI5E29x5[];
+extern VTBL_ENTRY _ZTV5E29x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G29x5y0[] = {
+ // 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
+ 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_C29, ABISELECT(32,24), //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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E29x5, 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
+ 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 _ZTI7G29x5y0[];
+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_G29x5y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x5y0[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G29x5y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G29x5y0[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G29x5y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern VTBL_ENTRY _ZTV7G29x5y0[];
+static VTBL_ENTRY _tg__ZTV5E29x5__7G29x5y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x5[0]),
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__5E29x5__7G29x5y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E29x5[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__5E29x5__7G29x5y0[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI5E29x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__7G29x5y0[] = {
+ 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__7G29x5y0[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x5y0[] = {
+ {&(_ZTV7G29x5y0[4]), 4,16},
+ {&(_tg__ZTV5E29x5__7G29x5y0[4]), 4,4},
+ {&(_tg__ZTV3C29__5E29x5__7G29x5y0[4]), 4,5},
+ {&(_tg__ZTV2B1__5E29x5__7G29x5y0[3]), 3,4},
+ {&(_ZTV7G29x5y0[11]), 11,16},
+ {&(_ZTV7G29x5y0[15]), 15,16},
+ {&(_tg__ZTV3C29__7G29x5y0[3]), 3,4},
+ {&(_tg__ZTV2B1__3C29__7G29x5y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G29x5y0[];
+extern VTBL_ENTRY _ZTV7G29x5y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x5y0[];
+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_G29x5y0 = { "G29x5y0", // class name
+ bases_G29x5y0, 6,
+ &(vtc_G29x5y0[0]), // expected_vtbl_contents
+ &(vtt_G29x5y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G29x5y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x5y0),16, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x5y0),8, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names108,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x5y1 : virtual E29x5 , F1 {
+ int ff;
+ ~G29x5y1(); // tgen
+ G29x5y1(); // tgen
+};
+//SIG(1 G29x5y1) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G29x5y1 ::~G29x5y1(){ note_dtor("G29x5y1", this);} // tgen
+G29x5y1 ::G29x5y1(){ note_ctor("G29x5y1", this);} // tgen
+
+static void Test_G29x5y1()
+{
+ extern Class_Descriptor cd_G29x5y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G29x5y1, buf);
+ G29x5y1 *dp, &lv = *(dp=new (buf) G29x5y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G29x5y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x5y1)");
+ check_base_class_offset(lv, (A1*)(C29*), ABISELECT(32,24), "G29x5y1");
+ check_base_class_offset(lv, (B1*)(C29*), ABISELECT(48,36), "G29x5y1");
+ check_base_class_offset(lv, (C29*)(E29x5*), ABISELECT(32,24), "G29x5y1");
+ check_base_class_offset(lv, (D0*)(E29x5*), ABISELECT(24,16), "G29x5y1");
+ check_base_class_offset(lv, (E29x5*), ABISELECT(16,12), "G29x5y1");
+ check_base_class_offset(lv, (F1*), 0, "G29x5y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G29x5y1.ff");
+ test_class_info(&lv, &cd_G29x5y1);
+ dp->~G29x5y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x5y1(Test_G29x5y1, "G29x5y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G29x5y1C1Ev();
+extern void _ZN7G29x5y1D1Ev();
+Name_Map name_map_G29x5y1[] = {
+ NSPAIR(_ZN7G29x5y1C1Ev),
+ NSPAIR(_ZN7G29x5y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E29x5;
+extern VTBL_ENTRY _ZTI5E29x5[];
+extern VTBL_ENTRY _ZTV5E29x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G29x5y1[] = {
+ // 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
+ 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_C29, ABISELECT(32,24), //bcp->offset
+ 10, //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_D0, 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_E29x5, 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 _ZTI7G29x5y1[];
+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_G29x5y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x5y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G29x5y1[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G29x5y1[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G29x5y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern VTBL_ENTRY _ZTV7G29x5y1[];
+static VTBL_ENTRY _tg__ZTV5E29x5__7G29x5y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x5[0]),
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__5E29x5__7G29x5y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E29x5[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__5E29x5__7G29x5y1[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E29x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__7G29x5y1[] = {
+ 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__7G29x5y1[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x5y1[] = {
+ {&(_ZTV7G29x5y1[5]), 5,19},
+ {&(_ZTV7G29x5y1[10]), 10,19},
+ {&(_ZTV7G29x5y1[14]), 14,19},
+ {&(_ZTV7G29x5y1[18]), 18,19},
+ {&(_tg__ZTV5E29x5__7G29x5y1[4]), 4,4},
+ {&(_tg__ZTV3C29__5E29x5__7G29x5y1[4]), 4,5},
+ {&(_tg__ZTV2B1__5E29x5__7G29x5y1[3]), 3,4},
+ {&(_tg__ZTV3C29__7G29x5y1[3]), 3,4},
+ {&(_tg__ZTV2B1__3C29__7G29x5y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G29x5y1[];
+extern VTBL_ENTRY _ZTV7G29x5y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x5y1[];
+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_G29x5y1 = { "G29x5y1", // class name
+ bases_G29x5y1, 6,
+ &(vtc_G29x5y1[0]), // expected_vtbl_contents
+ &(vtt_G29x5y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G29x5y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x5y1),19, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x5y1),9, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names109,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x5y2 : E29x5 , virtual F1 {
+ int ff;
+ ~G29x5y2(); // tgen
+ G29x5y2(); // tgen
+};
+//SIG(1 G29x5y2) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G29x5y2 ::~G29x5y2(){ note_dtor("G29x5y2", this);} // tgen
+G29x5y2 ::G29x5y2(){ note_ctor("G29x5y2", this);} // tgen
+
+static void Test_G29x5y2()
+{
+ extern Class_Descriptor cd_G29x5y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G29x5y2, buf);
+ G29x5y2 *dp, &lv = *(dp=new (buf) G29x5y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G29x5y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x5y2)");
+ check_base_class_offset(lv, (A1*)(C29*), ABISELECT(24,16), "G29x5y2");
+ check_base_class_offset(lv, (B1*)(C29*), ABISELECT(40,28), "G29x5y2");
+ check_base_class_offset(lv, (C29*)(E29x5*), ABISELECT(24,16), "G29x5y2");
+ check_base_class_offset(lv, (D0*)(E29x5*), ABISELECT(8,4), "G29x5y2");
+ check_base_class_offset(lv, (E29x5*), 0, "G29x5y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G29x5y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G29x5y2.ff");
+ test_class_info(&lv, &cd_G29x5y2);
+ dp->~G29x5y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x5y2(Test_G29x5y2, "G29x5y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G29x5y2C1Ev();
+extern void _ZN7G29x5y2D1Ev();
+Name_Map name_map_G29x5y2[] = {
+ NSPAIR(_ZN7G29x5y2C1Ev),
+ NSPAIR(_ZN7G29x5y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E29x5;
+extern VTBL_ENTRY _ZTI5E29x5[];
+extern VTBL_ENTRY _ZTV5E29x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G29x5y2[] = {
+ // 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)
+ 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
+ 5, //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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E29x5, 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)
+ 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 _ZTI7G29x5y2[];
+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_G29x5y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x5y2[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G29x5y2[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G29x5y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G29x5y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G29x5y2[];
+static VTBL_ENTRY _tg__ZTV5E29x5__7G29x5y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x5[0]),
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__5E29x5__7G29x5y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E29x5[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__5E29x5__7G29x5y2[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E29x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__7G29x5y2[] = {
+ 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__7G29x5y2[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x5y2[] = {
+ {&(_ZTV7G29x5y2[5]), 5,18},
+ {&(_tg__ZTV5E29x5__7G29x5y2[4]), 4,4},
+ {&(_tg__ZTV3C29__5E29x5__7G29x5y2[4]), 4,5},
+ {&(_tg__ZTV2B1__5E29x5__7G29x5y2[3]), 3,4},
+ {&(_ZTV7G29x5y2[9]), 9,18},
+ {&(_ZTV7G29x5y2[13]), 13,18},
+ {&(_ZTV7G29x5y2[17]), 17,18},
+ {&(_tg__ZTV3C29__7G29x5y2[3]), 3,4},
+ {&(_tg__ZTV2B1__3C29__7G29x5y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G29x5y2[];
+extern VTBL_ENTRY _ZTV7G29x5y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x5y2[];
+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_G29x5y2 = { "G29x5y2", // class name
+ bases_G29x5y2, 6,
+ &(vtc_G29x5y2[0]), // expected_vtbl_contents
+ &(vtt_G29x5y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G29x5y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x5y2),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x5y2),9, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names110,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x5y3 : virtual E29x5 , virtual F1 {
+ int ff;
+ ~G29x5y3(); // tgen
+ G29x5y3(); // tgen
+};
+//SIG(1 G29x5y3) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G29x5y3 ::~G29x5y3(){ note_dtor("G29x5y3", this);} // tgen
+G29x5y3 ::G29x5y3(){ note_ctor("G29x5y3", this);} // tgen
+
+static void Test_G29x5y3()
+{
+ extern Class_Descriptor cd_G29x5y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G29x5y3, buf);
+ G29x5y3 *dp, &lv = *(dp=new (buf) G29x5y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G29x5y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x5y3)");
+ check_base_class_offset(lv, (A1*)(C29*), ABISELECT(32,20), "G29x5y3");
+ check_base_class_offset(lv, (B1*)(C29*), ABISELECT(48,32), "G29x5y3");
+ check_base_class_offset(lv, (C29*)(E29x5*), ABISELECT(32,20), "G29x5y3");
+ check_base_class_offset(lv, (D0*)(E29x5*), ABISELECT(24,12), "G29x5y3");
+ check_base_class_offset(lv, (E29x5*), ABISELECT(16,8), "G29x5y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G29x5y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G29x5y3.ff");
+ test_class_info(&lv, &cd_G29x5y3);
+ dp->~G29x5y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x5y3(Test_G29x5y3, "G29x5y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G29x5y3C1Ev();
+extern void _ZN7G29x5y3D1Ev();
+Name_Map name_map_G29x5y3[] = {
+ NSPAIR(_ZN7G29x5y3C1Ev),
+ NSPAIR(_ZN7G29x5y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E29x5;
+extern VTBL_ENTRY _ZTI5E29x5[];
+extern VTBL_ENTRY _ZTV5E29x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G29x5y3[] = {
+ // 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
+ 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_C29, ABISELECT(32,20), //bcp->offset
+ 10, //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_D0, 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_E29x5, 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(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 _ZTI7G29x5y3[];
+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_G29x5y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x5y3[0]),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G29x5y3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G29x5y3[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G29x5y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G29x5y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G29x5y3[];
+static VTBL_ENTRY _tg__ZTV5E29x5__7G29x5y3[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x5[0]),
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__5E29x5__7G29x5y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E29x5[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__5E29x5__7G29x5y3[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E29x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__7G29x5y3[] = {
+ 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__7G29x5y3[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x5y3[] = {
+ {&(_ZTV7G29x5y3[6]), 6,23},
+ {&(_ZTV7G29x5y3[10]), 10,23},
+ {&(_ZTV7G29x5y3[14]), 14,23},
+ {&(_ZTV7G29x5y3[18]), 18,23},
+ {&(_ZTV7G29x5y3[22]), 22,23},
+ {&(_tg__ZTV5E29x5__7G29x5y3[4]), 4,4},
+ {&(_tg__ZTV3C29__5E29x5__7G29x5y3[4]), 4,5},
+ {&(_tg__ZTV2B1__5E29x5__7G29x5y3[3]), 3,4},
+ {&(_tg__ZTV3C29__7G29x5y3[3]), 3,4},
+ {&(_tg__ZTV2B1__3C29__7G29x5y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G29x5y3[];
+extern VTBL_ENTRY _ZTV7G29x5y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x5y3[];
+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_G29x5y3 = { "G29x5y3", // class name
+ bases_G29x5y3, 6,
+ &(vtc_G29x5y3[0]), // expected_vtbl_contents
+ &(vtt_G29x5y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G29x5y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x5y3),23, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x5y3),10, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names111,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x5y4 : E29x5 , F0 {
+ int ff;
+ ~G29x5y4(); // tgen
+ G29x5y4(); // tgen
+};
+//SIG(1 G29x5y4) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G29x5y4 ::~G29x5y4(){ note_dtor("G29x5y4", this);} // tgen
+G29x5y4 ::G29x5y4(){ note_ctor("G29x5y4", this);} // tgen
+
+static void Test_G29x5y4()
+{
+ extern Class_Descriptor cd_G29x5y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G29x5y4, buf);
+ G29x5y4 *dp, &lv = *(dp=new (buf) G29x5y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G29x5y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x5y4)");
+ check_base_class_offset(lv, (A1*)(C29*), ABISELECT(24,20), "G29x5y4");
+ check_base_class_offset(lv, (B1*)(C29*), ABISELECT(40,32), "G29x5y4");
+ check_base_class_offset(lv, (C29*)(E29x5*), ABISELECT(24,20), "G29x5y4");
+ check_base_class_offset(lv, (D0*)(E29x5*), ABISELECT(8,4), "G29x5y4");
+ check_base_class_offset(lv, (E29x5*), 0, "G29x5y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G29x5y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G29x5y4.ff");
+ test_class_info(&lv, &cd_G29x5y4);
+ dp->~G29x5y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x5y4(Test_G29x5y4, "G29x5y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G29x5y4C1Ev();
+extern void _ZN7G29x5y4D1Ev();
+Name_Map name_map_G29x5y4[] = {
+ NSPAIR(_ZN7G29x5y4C1Ev),
+ NSPAIR(_ZN7G29x5y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E29x5;
+extern VTBL_ENTRY _ZTI5E29x5[];
+extern VTBL_ENTRY _ZTV5E29x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G29x5y4[] = {
+ // 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
+ 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_C29, ABISELECT(24,20), //bcp->offset
+ 4, //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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E29x5, 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 _ZTI7G29x5y4[];
+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_G29x5y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x5y4[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G29x5y4[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G29x5y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern VTBL_ENTRY _ZTV7G29x5y4[];
+static VTBL_ENTRY _tg__ZTV5E29x5__7G29x5y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x5[0]),
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__5E29x5__7G29x5y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E29x5[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__5E29x5__7G29x5y4[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI5E29x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__7G29x5y4[] = {
+ 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__7G29x5y4[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x5y4[] = {
+ {&(_ZTV7G29x5y4[4]), 4,13},
+ {&(_tg__ZTV5E29x5__7G29x5y4[4]), 4,4},
+ {&(_tg__ZTV3C29__5E29x5__7G29x5y4[4]), 4,5},
+ {&(_tg__ZTV2B1__5E29x5__7G29x5y4[3]), 3,4},
+ {&(_ZTV7G29x5y4[8]), 8,13},
+ {&(_ZTV7G29x5y4[12]), 12,13},
+ {&(_tg__ZTV3C29__7G29x5y4[3]), 3,4},
+ {&(_tg__ZTV2B1__3C29__7G29x5y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G29x5y4[];
+extern VTBL_ENTRY _ZTV7G29x5y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x5y4[];
+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_G29x5y4 = { "G29x5y4", // class name
+ bases_G29x5y4, 6,
+ &(vtc_G29x5y4[0]), // expected_vtbl_contents
+ &(vtt_G29x5y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G29x5y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x5y4),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x5y4),8, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names112,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x5y5 : virtual E29x5 , F0 {
+ int ff;
+ ~G29x5y5(); // tgen
+ G29x5y5(); // tgen
+};
+//SIG(1 G29x5y5) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G29x5y5 ::~G29x5y5(){ note_dtor("G29x5y5", this);} // tgen
+G29x5y5 ::G29x5y5(){ note_ctor("G29x5y5", this);} // tgen
+
+static void Test_G29x5y5()
+{
+ extern Class_Descriptor cd_G29x5y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G29x5y5, buf);
+ G29x5y5 *dp, &lv = *(dp=new (buf) G29x5y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G29x5y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x5y5)");
+ check_base_class_offset(lv, (A1*)(C29*), ABISELECT(32,24), "G29x5y5");
+ check_base_class_offset(lv, (B1*)(C29*), ABISELECT(48,36), "G29x5y5");
+ check_base_class_offset(lv, (C29*)(E29x5*), ABISELECT(32,24), "G29x5y5");
+ check_base_class_offset(lv, (D0*)(E29x5*), ABISELECT(24,16), "G29x5y5");
+ check_base_class_offset(lv, (E29x5*), ABISELECT(16,12), "G29x5y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G29x5y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G29x5y5.ff");
+ test_class_info(&lv, &cd_G29x5y5);
+ dp->~G29x5y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x5y5(Test_G29x5y5, "G29x5y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G29x5y5C1Ev();
+extern void _ZN7G29x5y5D1Ev();
+Name_Map name_map_G29x5y5[] = {
+ NSPAIR(_ZN7G29x5y5C1Ev),
+ NSPAIR(_ZN7G29x5y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E29x5;
+extern VTBL_ENTRY _ZTI5E29x5[];
+extern VTBL_ENTRY _ZTV5E29x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G29x5y5[] = {
+ // 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
+ 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_C29, ABISELECT(32,24), //bcp->offset
+ 9, //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_D0, 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_E29x5, 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 _ZTI7G29x5y5[];
+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_G29x5y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x5y5[0]),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G29x5y5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G29x5y5[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G29x5y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern VTBL_ENTRY _ZTV7G29x5y5[];
+static VTBL_ENTRY _tg__ZTV5E29x5__7G29x5y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x5[0]),
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__5E29x5__7G29x5y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E29x5[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__5E29x5__7G29x5y5[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E29x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__7G29x5y5[] = {
+ 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__7G29x5y5[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x5y5[] = {
+ {&(_ZTV7G29x5y5[5]), 5,18},
+ {&(_ZTV7G29x5y5[9]), 9,18},
+ {&(_ZTV7G29x5y5[13]), 13,18},
+ {&(_ZTV7G29x5y5[17]), 17,18},
+ {&(_tg__ZTV5E29x5__7G29x5y5[4]), 4,4},
+ {&(_tg__ZTV3C29__5E29x5__7G29x5y5[4]), 4,5},
+ {&(_tg__ZTV2B1__5E29x5__7G29x5y5[3]), 3,4},
+ {&(_tg__ZTV3C29__7G29x5y5[3]), 3,4},
+ {&(_tg__ZTV2B1__3C29__7G29x5y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G29x5y5[];
+extern VTBL_ENTRY _ZTV7G29x5y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x5y5[];
+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_G29x5y5 = { "G29x5y5", // class name
+ bases_G29x5y5, 6,
+ &(vtc_G29x5y5[0]), // expected_vtbl_contents
+ &(vtt_G29x5y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G29x5y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x5y5),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x5y5),9, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names113,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x5y6 : E29x5 , virtual F0 {
+ int ff;
+ ~G29x5y6(); // tgen
+ G29x5y6(); // tgen
+};
+//SIG(1 G29x5y6) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G29x5y6 ::~G29x5y6(){ note_dtor("G29x5y6", this);} // tgen
+G29x5y6 ::G29x5y6(){ note_ctor("G29x5y6", this);} // tgen
+
+static void Test_G29x5y6()
+{
+ extern Class_Descriptor cd_G29x5y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G29x5y6, buf);
+ G29x5y6 *dp, &lv = *(dp=new (buf) G29x5y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G29x5y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x5y6)");
+ check_base_class_offset(lv, (A1*)(C29*), ABISELECT(24,16), "G29x5y6");
+ check_base_class_offset(lv, (B1*)(C29*), ABISELECT(40,28), "G29x5y6");
+ check_base_class_offset(lv, (C29*)(E29x5*), ABISELECT(24,16), "G29x5y6");
+ check_base_class_offset(lv, (D0*)(E29x5*), ABISELECT(8,4), "G29x5y6");
+ check_base_class_offset(lv, (E29x5*), 0, "G29x5y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G29x5y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G29x5y6.ff");
+ test_class_info(&lv, &cd_G29x5y6);
+ dp->~G29x5y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x5y6(Test_G29x5y6, "G29x5y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G29x5y6C1Ev();
+extern void _ZN7G29x5y6D1Ev();
+Name_Map name_map_G29x5y6[] = {
+ NSPAIR(_ZN7G29x5y6C1Ev),
+ NSPAIR(_ZN7G29x5y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E29x5;
+extern VTBL_ENTRY _ZTI5E29x5[];
+extern VTBL_ENTRY _ZTV5E29x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G29x5y6[] = {
+ // 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)
+ 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
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E29x5, 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 _ZTI7G29x5y6[];
+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_G29x5y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x5y6[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G29x5y6[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G29x5y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern VTBL_ENTRY _ZTV7G29x5y6[];
+static VTBL_ENTRY _tg__ZTV5E29x5__7G29x5y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x5[0]),
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__5E29x5__7G29x5y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E29x5[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__5E29x5__7G29x5y6[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E29x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__7G29x5y6[] = {
+ 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__7G29x5y6[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x5y6[] = {
+ {&(_ZTV7G29x5y6[5]), 5,14},
+ {&(_tg__ZTV5E29x5__7G29x5y6[4]), 4,4},
+ {&(_tg__ZTV3C29__5E29x5__7G29x5y6[4]), 4,5},
+ {&(_tg__ZTV2B1__5E29x5__7G29x5y6[3]), 3,4},
+ {&(_ZTV7G29x5y6[9]), 9,14},
+ {&(_ZTV7G29x5y6[13]), 13,14},
+ {&(_tg__ZTV3C29__7G29x5y6[3]), 3,4},
+ {&(_tg__ZTV2B1__3C29__7G29x5y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G29x5y6[];
+extern VTBL_ENTRY _ZTV7G29x5y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x5y6[];
+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_G29x5y6 = { "G29x5y6", // class name
+ bases_G29x5y6, 6,
+ &(vtc_G29x5y6[0]), // expected_vtbl_contents
+ &(vtt_G29x5y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G29x5y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x5y6),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x5y6),8, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names114,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x5y7 : virtual E29x5 , virtual F0 {
+ int ff;
+ ~G29x5y7(); // tgen
+ G29x5y7(); // tgen
+};
+//SIG(1 G29x5y7) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G29x5y7 ::~G29x5y7(){ note_dtor("G29x5y7", this);} // tgen
+G29x5y7 ::G29x5y7(){ note_ctor("G29x5y7", this);} // tgen
+
+static void Test_G29x5y7()
+{
+ extern Class_Descriptor cd_G29x5y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G29x5y7, buf);
+ G29x5y7 *dp, &lv = *(dp=new (buf) G29x5y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G29x5y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x5y7)");
+ check_base_class_offset(lv, (A1*)(C29*), ABISELECT(32,20), "G29x5y7");
+ check_base_class_offset(lv, (B1*)(C29*), ABISELECT(48,32), "G29x5y7");
+ check_base_class_offset(lv, (C29*)(E29x5*), ABISELECT(32,20), "G29x5y7");
+ check_base_class_offset(lv, (D0*)(E29x5*), ABISELECT(24,12), "G29x5y7");
+ check_base_class_offset(lv, (E29x5*), ABISELECT(16,8), "G29x5y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(60,40), "G29x5y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G29x5y7.ff");
+ test_class_info(&lv, &cd_G29x5y7);
+ dp->~G29x5y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x5y7(Test_G29x5y7, "G29x5y7", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G29x5y7C1Ev();
+extern void _ZN7G29x5y7D1Ev();
+Name_Map name_map_G29x5y7[] = {
+ NSPAIR(_ZN7G29x5y7C1Ev),
+ NSPAIR(_ZN7G29x5y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E29x5;
+extern VTBL_ENTRY _ZTI5E29x5[];
+extern VTBL_ENTRY _ZTV5E29x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G29x5y7[] = {
+ // 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
+ 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_C29, ABISELECT(32,20), //bcp->offset
+ 10, //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_D0, 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_E29x5, 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(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 _ZTI7G29x5y7[];
+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_G29x5y7[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x5y7[0]),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G29x5y7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G29x5y7[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G29x5y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern VTBL_ENTRY _ZTV7G29x5y7[];
+static VTBL_ENTRY _tg__ZTV5E29x5__7G29x5y7[] = {
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x5[0]),
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__5E29x5__7G29x5y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E29x5[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__5E29x5__7G29x5y7[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E29x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__7G29x5y7[] = {
+ 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__7G29x5y7[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x5y7[] = {
+ {&(_ZTV7G29x5y7[6]), 6,19},
+ {&(_ZTV7G29x5y7[10]), 10,19},
+ {&(_ZTV7G29x5y7[14]), 14,19},
+ {&(_ZTV7G29x5y7[18]), 18,19},
+ {&(_tg__ZTV5E29x5__7G29x5y7[4]), 4,4},
+ {&(_tg__ZTV3C29__5E29x5__7G29x5y7[4]), 4,5},
+ {&(_tg__ZTV2B1__5E29x5__7G29x5y7[3]), 3,4},
+ {&(_tg__ZTV3C29__7G29x5y7[3]), 3,4},
+ {&(_tg__ZTV2B1__3C29__7G29x5y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G29x5y7[];
+extern VTBL_ENTRY _ZTV7G29x5y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x5y7[];
+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_G29x5y7 = { "G29x5y7", // class name
+ bases_G29x5y7, 6,
+ &(vtc_G29x5y7[0]), // expected_vtbl_contents
+ &(vtt_G29x5y7[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G29x5y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x5y7),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x5y7),9, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names115,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E30x5 : virtual C30 , D0 {
+ int fd;
+ ~E30x5(); // tgen
+ E30x5(); // tgen
+};
+//SIG(-1 E30x5) C1{ VBC2{ VBC3{ Fi} VBC4{ v1 Fi} v1 Fi} BC5{ Fi} Fi}
+
+
+E30x5 ::~E30x5(){ note_dtor("E30x5", this);} // tgen
+E30x5 ::E30x5(){ note_ctor("E30x5", this);} // tgen
+
+static void Test_E30x5()
+{
+ extern Class_Descriptor cd_E30x5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E30x5, buf);
+ E30x5 *dp, &lv = *(dp=new (buf) E30x5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E30x5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E30x5)");
+ check_base_class_offset(lv, (A0*)(C30*), ABISELECT(28,20), "E30x5");
+ check_base_class_offset(lv, (B1*)(C30*), ABISELECT(32,24), "E30x5");
+ check_base_class_offset(lv, (C30*), ABISELECT(16,12), "E30x5");
+ check_base_class_offset(lv, (D0*), ABISELECT(8,4), "E30x5");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E30x5.fd");
+ test_class_info(&lv, &cd_E30x5);
+ dp->~E30x5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE30x5(Test_E30x5, "E30x5", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN5E30x5C1Ev();
+extern void _ZN5E30x5D1Ev();
+Name_Map name_map_E30x5[] = {
+ NSPAIR(_ZN5E30x5C1Ev),
+ NSPAIR(_ZN5E30x5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E30x5[] = {
+ // 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)
+ 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
+ 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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E30x5[];
+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_E30x5[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E30x5[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E30x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern VTBL_ENTRY _ZTV5E30x5[];
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__5E30x5[] = {
+ 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__5E30x5[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_E30x5[] = {
+ {&(_ZTV5E30x5[5]), 5,15},
+ {&(_ZTV5E30x5[10]), 10,15},
+ {&(_ZTV5E30x5[14]), 14,15},
+ {&(_tg__ZTV3C30__5E30x5[4]), 4,5},
+ {&(_tg__ZTV2B1__3C30__5E30x5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E30x5[];
+extern VTBL_ENTRY _ZTV5E30x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x5[];
+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_E30x5 = { "E30x5", // class name
+ bases_E30x5, 4,
+ &(vtc_E30x5[0]), // expected_vtbl_contents
+ &(vtt_E30x5[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI5E30x5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E30x5),15, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E30x5),5, //virtual table table var
+ 2, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names116,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x5y0 : E30x5 , F1 {
+ int ff;
+ ~G30x5y0(); // tgen
+ G30x5y0(); // tgen
+};
+//SIG(1 G30x5y0) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G30x5y0 ::~G30x5y0(){ note_dtor("G30x5y0", this);} // tgen
+G30x5y0 ::G30x5y0(){ note_ctor("G30x5y0", this);} // tgen
+
+static void Test_G30x5y0()
+{
+ extern Class_Descriptor cd_G30x5y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G30x5y0, buf);
+ G30x5y0 *dp, &lv = *(dp=new (buf) G30x5y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G30x5y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x5y0)");
+ check_base_class_offset(lv, (A0*)(C30*), ABISELECT(44,32), "G30x5y0");
+ check_base_class_offset(lv, (B1*)(C30*), ABISELECT(48,36), "G30x5y0");
+ check_base_class_offset(lv, (C30*)(E30x5*), ABISELECT(32,24), "G30x5y0");
+ check_base_class_offset(lv, (D0*)(E30x5*), ABISELECT(8,4), "G30x5y0");
+ check_base_class_offset(lv, (E30x5*), 0, "G30x5y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G30x5y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G30x5y0.ff");
+ test_class_info(&lv, &cd_G30x5y0);
+ dp->~G30x5y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x5y0(Test_G30x5y0, "G30x5y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G30x5y0C1Ev();
+extern void _ZN7G30x5y0D1Ev();
+Name_Map name_map_G30x5y0[] = {
+ NSPAIR(_ZN7G30x5y0C1Ev),
+ NSPAIR(_ZN7G30x5y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E30x5;
+extern VTBL_ENTRY _ZTI5E30x5[];
+extern VTBL_ENTRY _ZTV5E30x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G30x5y0[] = {
+ // 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
+ 14, //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
+ 8, //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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E30x5, 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 _ZTI7G30x5y0[];
+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_G30x5y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x5y0[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G30x5y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G30x5y0[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G30x5y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern VTBL_ENTRY _ZTV7G30x5y0[];
+static VTBL_ENTRY _tg__ZTV5E30x5__7G30x5y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x5[0]),
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__5E30x5__7G30x5y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E30x5[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__5E30x5__7G30x5y0[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI5E30x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__7G30x5y0[] = {
+ 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__7G30x5y0[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x5y0[] = {
+ {&(_ZTV7G30x5y0[5]), 5,18},
+ {&(_tg__ZTV5E30x5__7G30x5y0[5]), 5,5},
+ {&(_tg__ZTV3C30__5E30x5__7G30x5y0[5]), 5,6},
+ {&(_tg__ZTV2B1__5E30x5__7G30x5y0[3]), 3,4},
+ {&(_ZTV7G30x5y0[13]), 13,18},
+ {&(_ZTV7G30x5y0[17]), 17,18},
+ {&(_tg__ZTV3C30__7G30x5y0[4]), 4,5},
+ {&(_tg__ZTV2B1__3C30__7G30x5y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G30x5y0[];
+extern VTBL_ENTRY _ZTV7G30x5y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x5y0[];
+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_G30x5y0 = { "G30x5y0", // class name
+ bases_G30x5y0, 6,
+ &(vtc_G30x5y0[0]), // expected_vtbl_contents
+ &(vtt_G30x5y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G30x5y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x5y0),18, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x5y0),8, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names117,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x5y1 : virtual E30x5 , F1 {
+ int ff;
+ ~G30x5y1(); // tgen
+ G30x5y1(); // tgen
+};
+//SIG(1 G30x5y1) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G30x5y1 ::~G30x5y1(){ note_dtor("G30x5y1", this);} // tgen
+G30x5y1 ::G30x5y1(){ note_ctor("G30x5y1", this);} // tgen
+
+static void Test_G30x5y1()
+{
+ extern Class_Descriptor cd_G30x5y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G30x5y1, buf);
+ G30x5y1 *dp, &lv = *(dp=new (buf) G30x5y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G30x5y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x5y1)");
+ check_base_class_offset(lv, (A0*)(C30*), ABISELECT(44,32), "G30x5y1");
+ check_base_class_offset(lv, (B1*)(C30*), ABISELECT(48,36), "G30x5y1");
+ check_base_class_offset(lv, (C30*)(E30x5*), ABISELECT(32,24), "G30x5y1");
+ check_base_class_offset(lv, (D0*)(E30x5*), ABISELECT(24,16), "G30x5y1");
+ check_base_class_offset(lv, (E30x5*), ABISELECT(16,12), "G30x5y1");
+ check_base_class_offset(lv, (F1*), 0, "G30x5y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G30x5y1.ff");
+ test_class_info(&lv, &cd_G30x5y1);
+ dp->~G30x5y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x5y1(Test_G30x5y1, "G30x5y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G30x5y1C1Ev();
+extern void _ZN7G30x5y1D1Ev();
+Name_Map name_map_G30x5y1[] = {
+ NSPAIR(_ZN7G30x5y1C1Ev),
+ NSPAIR(_ZN7G30x5y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E30x5;
+extern VTBL_ENTRY _ZTI5E30x5[];
+extern VTBL_ENTRY _ZTV5E30x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G30x5y1[] = {
+ // 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_C30, ABISELECT(32,24), //bcp->offset
+ 12, //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_D0, 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_E30x5, 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 _ZTI7G30x5y1[];
+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_G30x5y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x5y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G30x5y1[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G30x5y1[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G30x5y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern VTBL_ENTRY _ZTV7G30x5y1[];
+static VTBL_ENTRY _tg__ZTV5E30x5__7G30x5y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x5[0]),
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__5E30x5__7G30x5y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E30x5[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__5E30x5__7G30x5y1[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E30x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__7G30x5y1[] = {
+ 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__7G30x5y1[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x5y1[] = {
+ {&(_ZTV7G30x5y1[6]), 6,22},
+ {&(_ZTV7G30x5y1[12]), 12,22},
+ {&(_ZTV7G30x5y1[17]), 17,22},
+ {&(_ZTV7G30x5y1[21]), 21,22},
+ {&(_tg__ZTV5E30x5__7G30x5y1[5]), 5,5},
+ {&(_tg__ZTV3C30__5E30x5__7G30x5y1[5]), 5,6},
+ {&(_tg__ZTV2B1__5E30x5__7G30x5y1[3]), 3,4},
+ {&(_tg__ZTV3C30__7G30x5y1[4]), 4,5},
+ {&(_tg__ZTV2B1__3C30__7G30x5y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G30x5y1[];
+extern VTBL_ENTRY _ZTV7G30x5y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x5y1[];
+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_G30x5y1 = { "G30x5y1", // class name
+ bases_G30x5y1, 6,
+ &(vtc_G30x5y1[0]), // expected_vtbl_contents
+ &(vtt_G30x5y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G30x5y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x5y1),22, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x5y1),9, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names118,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x5y2 : E30x5 , virtual F1 {
+ int ff;
+ ~G30x5y2(); // tgen
+ G30x5y2(); // tgen
+};
+//SIG(1 G30x5y2) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G30x5y2 ::~G30x5y2(){ note_dtor("G30x5y2", this);} // tgen
+G30x5y2 ::G30x5y2(){ note_ctor("G30x5y2", this);} // tgen
+
+static void Test_G30x5y2()
+{
+ extern Class_Descriptor cd_G30x5y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G30x5y2, buf);
+ G30x5y2 *dp, &lv = *(dp=new (buf) G30x5y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G30x5y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x5y2)");
+ check_base_class_offset(lv, (A0*)(C30*), ABISELECT(36,24), "G30x5y2");
+ check_base_class_offset(lv, (B1*)(C30*), ABISELECT(40,28), "G30x5y2");
+ check_base_class_offset(lv, (C30*)(E30x5*), ABISELECT(24,16), "G30x5y2");
+ check_base_class_offset(lv, (D0*)(E30x5*), ABISELECT(8,4), "G30x5y2");
+ check_base_class_offset(lv, (E30x5*), 0, "G30x5y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G30x5y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G30x5y2.ff");
+ test_class_info(&lv, &cd_G30x5y2);
+ dp->~G30x5y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x5y2(Test_G30x5y2, "G30x5y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G30x5y2C1Ev();
+extern void _ZN7G30x5y2D1Ev();
+Name_Map name_map_G30x5y2[] = {
+ NSPAIR(_ZN7G30x5y2C1Ev),
+ NSPAIR(_ZN7G30x5y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E30x5;
+extern VTBL_ENTRY _ZTI5E30x5[];
+extern VTBL_ENTRY _ZTV5E30x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G30x5y2[] = {
+ // 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)
+ 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
+ 6, //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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E30x5, 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
+ 16, //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 _ZTI7G30x5y2[];
+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_G30x5y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x5y2[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G30x5y2[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G30x5y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G30x5y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G30x5y2[];
+static VTBL_ENTRY _tg__ZTV5E30x5__7G30x5y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x5[0]),
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__5E30x5__7G30x5y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E30x5[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__5E30x5__7G30x5y2[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E30x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__7G30x5y2[] = {
+ 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__7G30x5y2[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x5y2[] = {
+ {&(_ZTV7G30x5y2[6]), 6,20},
+ {&(_tg__ZTV5E30x5__7G30x5y2[5]), 5,5},
+ {&(_tg__ZTV3C30__5E30x5__7G30x5y2[5]), 5,6},
+ {&(_tg__ZTV2B1__5E30x5__7G30x5y2[3]), 3,4},
+ {&(_ZTV7G30x5y2[11]), 11,20},
+ {&(_ZTV7G30x5y2[15]), 15,20},
+ {&(_ZTV7G30x5y2[19]), 19,20},
+ {&(_tg__ZTV3C30__7G30x5y2[4]), 4,5},
+ {&(_tg__ZTV2B1__3C30__7G30x5y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G30x5y2[];
+extern VTBL_ENTRY _ZTV7G30x5y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x5y2[];
+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_G30x5y2 = { "G30x5y2", // class name
+ bases_G30x5y2, 6,
+ &(vtc_G30x5y2[0]), // expected_vtbl_contents
+ &(vtt_G30x5y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G30x5y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x5y2),20, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x5y2),9, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names119,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x5y3 : virtual E30x5 , virtual F1 {
+ int ff;
+ ~G30x5y3(); // tgen
+ G30x5y3(); // tgen
+};
+//SIG(1 G30x5y3) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G30x5y3 ::~G30x5y3(){ note_dtor("G30x5y3", this);} // tgen
+G30x5y3 ::G30x5y3(){ note_ctor("G30x5y3", this);} // tgen
+
+static void Test_G30x5y3()
+{
+ extern Class_Descriptor cd_G30x5y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G30x5y3, buf);
+ G30x5y3 *dp, &lv = *(dp=new (buf) G30x5y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G30x5y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x5y3)");
+ check_base_class_offset(lv, (A0*)(C30*), ABISELECT(44,28), "G30x5y3");
+ check_base_class_offset(lv, (B1*)(C30*), ABISELECT(48,32), "G30x5y3");
+ check_base_class_offset(lv, (C30*)(E30x5*), ABISELECT(32,20), "G30x5y3");
+ check_base_class_offset(lv, (D0*)(E30x5*), ABISELECT(24,12), "G30x5y3");
+ check_base_class_offset(lv, (E30x5*), ABISELECT(16,8), "G30x5y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G30x5y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G30x5y3.ff");
+ test_class_info(&lv, &cd_G30x5y3);
+ dp->~G30x5y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x5y3(Test_G30x5y3, "G30x5y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G30x5y3C1Ev();
+extern void _ZN7G30x5y3D1Ev();
+Name_Map name_map_G30x5y3[] = {
+ NSPAIR(_ZN7G30x5y3C1Ev),
+ NSPAIR(_ZN7G30x5y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E30x5;
+extern VTBL_ENTRY _ZTI5E30x5[];
+extern VTBL_ENTRY _ZTV5E30x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G30x5y3[] = {
+ // 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_C30, ABISELECT(32,20), //bcp->offset
+ 12, //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_D0, 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_E30x5, 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(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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G30x5y3[];
+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_G30x5y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x5y3[0]),
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G30x5y3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G30x5y3[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G30x5y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G30x5y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G30x5y3[];
+static VTBL_ENTRY _tg__ZTV5E30x5__7G30x5y3[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x5[0]),
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__5E30x5__7G30x5y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E30x5[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__5E30x5__7G30x5y3[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E30x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__7G30x5y3[] = {
+ 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__7G30x5y3[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x5y3[] = {
+ {&(_ZTV7G30x5y3[7]), 7,26},
+ {&(_ZTV7G30x5y3[12]), 12,26},
+ {&(_ZTV7G30x5y3[17]), 17,26},
+ {&(_ZTV7G30x5y3[21]), 21,26},
+ {&(_ZTV7G30x5y3[25]), 25,26},
+ {&(_tg__ZTV5E30x5__7G30x5y3[5]), 5,5},
+ {&(_tg__ZTV3C30__5E30x5__7G30x5y3[5]), 5,6},
+ {&(_tg__ZTV2B1__5E30x5__7G30x5y3[3]), 3,4},
+ {&(_tg__ZTV3C30__7G30x5y3[4]), 4,5},
+ {&(_tg__ZTV2B1__3C30__7G30x5y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G30x5y3[];
+extern VTBL_ENTRY _ZTV7G30x5y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x5y3[];
+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_G30x5y3 = { "G30x5y3", // class name
+ bases_G30x5y3, 6,
+ &(vtc_G30x5y3[0]), // expected_vtbl_contents
+ &(vtt_G30x5y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G30x5y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x5y3),26, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x5y3),10, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names120,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x5y4 : E30x5 , F0 {
+ int ff;
+ ~G30x5y4(); // tgen
+ G30x5y4(); // tgen
+};
+//SIG(1 G30x5y4) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G30x5y4 ::~G30x5y4(){ note_dtor("G30x5y4", this);} // tgen
+G30x5y4 ::G30x5y4(){ note_ctor("G30x5y4", this);} // tgen
+
+static void Test_G30x5y4()
+{
+ extern Class_Descriptor cd_G30x5y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G30x5y4, buf);
+ G30x5y4 *dp, &lv = *(dp=new (buf) G30x5y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G30x5y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x5y4)");
+ check_base_class_offset(lv, (A0*)(C30*), ABISELECT(36,28), "G30x5y4");
+ check_base_class_offset(lv, (B1*)(C30*), ABISELECT(40,32), "G30x5y4");
+ check_base_class_offset(lv, (C30*)(E30x5*), ABISELECT(24,20), "G30x5y4");
+ check_base_class_offset(lv, (D0*)(E30x5*), ABISELECT(8,4), "G30x5y4");
+ check_base_class_offset(lv, (E30x5*), 0, "G30x5y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G30x5y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G30x5y4.ff");
+ test_class_info(&lv, &cd_G30x5y4);
+ dp->~G30x5y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x5y4(Test_G30x5y4, "G30x5y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G30x5y4C1Ev();
+extern void _ZN7G30x5y4D1Ev();
+Name_Map name_map_G30x5y4[] = {
+ NSPAIR(_ZN7G30x5y4C1Ev),
+ NSPAIR(_ZN7G30x5y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E30x5;
+extern VTBL_ENTRY _ZTI5E30x5[];
+extern VTBL_ENTRY _ZTV5E30x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G30x5y4[] = {
+ // 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
+ 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, ABISELECT(24,20), //bcp->offset
+ 5, //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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E30x5, 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 _ZTI7G30x5y4[];
+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_G30x5y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x5y4[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G30x5y4[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G30x5y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern VTBL_ENTRY _ZTV7G30x5y4[];
+static VTBL_ENTRY _tg__ZTV5E30x5__7G30x5y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x5[0]),
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__5E30x5__7G30x5y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E30x5[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__5E30x5__7G30x5y4[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI5E30x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__7G30x5y4[] = {
+ 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__7G30x5y4[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x5y4[] = {
+ {&(_ZTV7G30x5y4[5]), 5,15},
+ {&(_tg__ZTV5E30x5__7G30x5y4[5]), 5,5},
+ {&(_tg__ZTV3C30__5E30x5__7G30x5y4[5]), 5,6},
+ {&(_tg__ZTV2B1__5E30x5__7G30x5y4[3]), 3,4},
+ {&(_ZTV7G30x5y4[10]), 10,15},
+ {&(_ZTV7G30x5y4[14]), 14,15},
+ {&(_tg__ZTV3C30__7G30x5y4[4]), 4,5},
+ {&(_tg__ZTV2B1__3C30__7G30x5y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G30x5y4[];
+extern VTBL_ENTRY _ZTV7G30x5y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x5y4[];
+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_G30x5y4 = { "G30x5y4", // class name
+ bases_G30x5y4, 6,
+ &(vtc_G30x5y4[0]), // expected_vtbl_contents
+ &(vtt_G30x5y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G30x5y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x5y4),15, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x5y4),8, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names121,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x5y5 : virtual E30x5 , F0 {
+ int ff;
+ ~G30x5y5(); // tgen
+ G30x5y5(); // tgen
+};
+//SIG(1 G30x5y5) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G30x5y5 ::~G30x5y5(){ note_dtor("G30x5y5", this);} // tgen
+G30x5y5 ::G30x5y5(){ note_ctor("G30x5y5", this);} // tgen
+
+static void Test_G30x5y5()
+{
+ extern Class_Descriptor cd_G30x5y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G30x5y5, buf);
+ G30x5y5 *dp, &lv = *(dp=new (buf) G30x5y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G30x5y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x5y5)");
+ check_base_class_offset(lv, (A0*)(C30*), ABISELECT(44,32), "G30x5y5");
+ check_base_class_offset(lv, (B1*)(C30*), ABISELECT(48,36), "G30x5y5");
+ check_base_class_offset(lv, (C30*)(E30x5*), ABISELECT(32,24), "G30x5y5");
+ check_base_class_offset(lv, (D0*)(E30x5*), ABISELECT(24,16), "G30x5y5");
+ check_base_class_offset(lv, (E30x5*), ABISELECT(16,12), "G30x5y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G30x5y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G30x5y5.ff");
+ test_class_info(&lv, &cd_G30x5y5);
+ dp->~G30x5y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x5y5(Test_G30x5y5, "G30x5y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G30x5y5C1Ev();
+extern void _ZN7G30x5y5D1Ev();
+Name_Map name_map_G30x5y5[] = {
+ NSPAIR(_ZN7G30x5y5C1Ev),
+ NSPAIR(_ZN7G30x5y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E30x5;
+extern VTBL_ENTRY _ZTI5E30x5[];
+extern VTBL_ENTRY _ZTV5E30x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G30x5y5[] = {
+ // 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_C30, ABISELECT(32,24), //bcp->offset
+ 11, //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_D0, 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_E30x5, 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 _ZTI7G30x5y5[];
+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_G30x5y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x5y5[0]),
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G30x5y5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G30x5y5[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G30x5y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern VTBL_ENTRY _ZTV7G30x5y5[];
+static VTBL_ENTRY _tg__ZTV5E30x5__7G30x5y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x5[0]),
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__5E30x5__7G30x5y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E30x5[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__5E30x5__7G30x5y5[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E30x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__7G30x5y5[] = {
+ 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__7G30x5y5[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x5y5[] = {
+ {&(_ZTV7G30x5y5[6]), 6,21},
+ {&(_ZTV7G30x5y5[11]), 11,21},
+ {&(_ZTV7G30x5y5[16]), 16,21},
+ {&(_ZTV7G30x5y5[20]), 20,21},
+ {&(_tg__ZTV5E30x5__7G30x5y5[5]), 5,5},
+ {&(_tg__ZTV3C30__5E30x5__7G30x5y5[5]), 5,6},
+ {&(_tg__ZTV2B1__5E30x5__7G30x5y5[3]), 3,4},
+ {&(_tg__ZTV3C30__7G30x5y5[4]), 4,5},
+ {&(_tg__ZTV2B1__3C30__7G30x5y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G30x5y5[];
+extern VTBL_ENTRY _ZTV7G30x5y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x5y5[];
+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_G30x5y5 = { "G30x5y5", // class name
+ bases_G30x5y5, 6,
+ &(vtc_G30x5y5[0]), // expected_vtbl_contents
+ &(vtt_G30x5y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G30x5y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x5y5),21, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x5y5),9, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names122,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x5y6 : E30x5 , virtual F0 {
+ int ff;
+ ~G30x5y6(); // tgen
+ G30x5y6(); // tgen
+};
+//SIG(1 G30x5y6) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G30x5y6 ::~G30x5y6(){ note_dtor("G30x5y6", this);} // tgen
+G30x5y6 ::G30x5y6(){ note_ctor("G30x5y6", this);} // tgen
+
+static void Test_G30x5y6()
+{
+ extern Class_Descriptor cd_G30x5y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G30x5y6, buf);
+ G30x5y6 *dp, &lv = *(dp=new (buf) G30x5y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G30x5y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x5y6)");
+ check_base_class_offset(lv, (A0*)(C30*), ABISELECT(36,24), "G30x5y6");
+ check_base_class_offset(lv, (B1*)(C30*), ABISELECT(40,28), "G30x5y6");
+ check_base_class_offset(lv, (C30*)(E30x5*), ABISELECT(24,16), "G30x5y6");
+ check_base_class_offset(lv, (D0*)(E30x5*), ABISELECT(8,4), "G30x5y6");
+ check_base_class_offset(lv, (E30x5*), 0, "G30x5y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G30x5y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G30x5y6.ff");
+ test_class_info(&lv, &cd_G30x5y6);
+ dp->~G30x5y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x5y6(Test_G30x5y6, "G30x5y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G30x5y6C1Ev();
+extern void _ZN7G30x5y6D1Ev();
+Name_Map name_map_G30x5y6[] = {
+ NSPAIR(_ZN7G30x5y6C1Ev),
+ NSPAIR(_ZN7G30x5y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E30x5;
+extern VTBL_ENTRY _ZTI5E30x5[];
+extern VTBL_ENTRY _ZTV5E30x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G30x5y6[] = {
+ // 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)
+ 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
+ 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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E30x5, 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 _ZTI7G30x5y6[];
+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_G30x5y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x5y6[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G30x5y6[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G30x5y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern VTBL_ENTRY _ZTV7G30x5y6[];
+static VTBL_ENTRY _tg__ZTV5E30x5__7G30x5y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x5[0]),
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__5E30x5__7G30x5y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E30x5[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__5E30x5__7G30x5y6[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E30x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__7G30x5y6[] = {
+ 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__7G30x5y6[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x5y6[] = {
+ {&(_ZTV7G30x5y6[6]), 6,16},
+ {&(_tg__ZTV5E30x5__7G30x5y6[5]), 5,5},
+ {&(_tg__ZTV3C30__5E30x5__7G30x5y6[5]), 5,6},
+ {&(_tg__ZTV2B1__5E30x5__7G30x5y6[3]), 3,4},
+ {&(_ZTV7G30x5y6[11]), 11,16},
+ {&(_ZTV7G30x5y6[15]), 15,16},
+ {&(_tg__ZTV3C30__7G30x5y6[4]), 4,5},
+ {&(_tg__ZTV2B1__3C30__7G30x5y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G30x5y6[];
+extern VTBL_ENTRY _ZTV7G30x5y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x5y6[];
+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_G30x5y6 = { "G30x5y6", // class name
+ bases_G30x5y6, 6,
+ &(vtc_G30x5y6[0]), // expected_vtbl_contents
+ &(vtt_G30x5y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G30x5y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x5y6),16, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x5y6),8, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names123,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x5y7 : virtual E30x5 , virtual F0 {
+ int ff;
+ ~G30x5y7(); // tgen
+ G30x5y7(); // tgen
+};
+//SIG(1 G30x5y7) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G30x5y7 ::~G30x5y7(){ note_dtor("G30x5y7", this);} // tgen
+G30x5y7 ::G30x5y7(){ note_ctor("G30x5y7", this);} // tgen
+
+static void Test_G30x5y7()
+{
+ extern Class_Descriptor cd_G30x5y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G30x5y7, buf);
+ G30x5y7 *dp, &lv = *(dp=new (buf) G30x5y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G30x5y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x5y7)");
+ check_base_class_offset(lv, (A0*)(C30*), ABISELECT(44,28), "G30x5y7");
+ check_base_class_offset(lv, (B1*)(C30*), ABISELECT(48,32), "G30x5y7");
+ check_base_class_offset(lv, (C30*)(E30x5*), ABISELECT(32,20), "G30x5y7");
+ check_base_class_offset(lv, (D0*)(E30x5*), ABISELECT(24,12), "G30x5y7");
+ check_base_class_offset(lv, (E30x5*), ABISELECT(16,8), "G30x5y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(60,40), "G30x5y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G30x5y7.ff");
+ test_class_info(&lv, &cd_G30x5y7);
+ dp->~G30x5y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x5y7(Test_G30x5y7, "G30x5y7", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G30x5y7C1Ev();
+extern void _ZN7G30x5y7D1Ev();
+Name_Map name_map_G30x5y7[] = {
+ NSPAIR(_ZN7G30x5y7C1Ev),
+ NSPAIR(_ZN7G30x5y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E30x5;
+extern VTBL_ENTRY _ZTI5E30x5[];
+extern VTBL_ENTRY _ZTV5E30x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G30x5y7[] = {
+ // 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_C30, ABISELECT(32,20), //bcp->offset
+ 12, //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_D0, 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_E30x5, 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(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 _ZTI7G30x5y7[];
+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_G30x5y7[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x5y7[0]),
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G30x5y7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G30x5y7[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G30x5y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern VTBL_ENTRY _ZTV7G30x5y7[];
+static VTBL_ENTRY _tg__ZTV5E30x5__7G30x5y7[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x5[0]),
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__5E30x5__7G30x5y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E30x5[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__5E30x5__7G30x5y7[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E30x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__7G30x5y7[] = {
+ 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__7G30x5y7[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x5y7[] = {
+ {&(_ZTV7G30x5y7[7]), 7,22},
+ {&(_ZTV7G30x5y7[12]), 12,22},
+ {&(_ZTV7G30x5y7[17]), 17,22},
+ {&(_ZTV7G30x5y7[21]), 21,22},
+ {&(_tg__ZTV5E30x5__7G30x5y7[5]), 5,5},
+ {&(_tg__ZTV3C30__5E30x5__7G30x5y7[5]), 5,6},
+ {&(_tg__ZTV2B1__5E30x5__7G30x5y7[3]), 3,4},
+ {&(_tg__ZTV3C30__7G30x5y7[4]), 4,5},
+ {&(_tg__ZTV2B1__3C30__7G30x5y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G30x5y7[];
+extern VTBL_ENTRY _ZTV7G30x5y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x5y7[];
+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_G30x5y7 = { "G30x5y7", // class name
+ bases_G30x5y7, 6,
+ &(vtc_G30x5y7[0]), // expected_vtbl_contents
+ &(vtt_G30x5y7[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G30x5y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x5y7),22, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x5y7),9, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names124,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E31x5 : virtual C31 , D0 {
+ int fd;
+ ~E31x5(); // tgen
+ E31x5(); // tgen
+};
+//SIG(-1 E31x5) C1{ VBC2{ VBC3{ v1 Fi} VBC4{ v1 Fi} v1 Fi} BC5{ Fi} Fi}
+
+
+E31x5 ::~E31x5(){ note_dtor("E31x5", this);} // tgen
+E31x5 ::E31x5(){ note_ctor("E31x5", this);} // tgen
+
+static void Test_E31x5()
+{
+ extern Class_Descriptor cd_E31x5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,10)];
+ init_test(&cd_E31x5, buf);
+ E31x5 *dp, &lv = *(dp=new (buf) E31x5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,36), "sizeof(E31x5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E31x5)");
+ check_base_class_offset(lv, (A1*)(C31*), ABISELECT(32,20), "E31x5");
+ check_base_class_offset(lv, (B1*)(C31*), ABISELECT(48,28), "E31x5");
+ check_base_class_offset(lv, (C31*), ABISELECT(16,12), "E31x5");
+ check_base_class_offset(lv, (D0*), ABISELECT(8,4), "E31x5");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E31x5.fd");
+ test_class_info(&lv, &cd_E31x5);
+ dp->~E31x5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE31x5(Test_E31x5, "E31x5", ABISELECT(64,36));
+
+#else // __cplusplus
+
+extern void _ZN5E31x5C1Ev();
+extern void _ZN5E31x5D1Ev();
+Name_Map name_map_E31x5[] = {
+ NSPAIR(_ZN5E31x5C1Ev),
+ NSPAIR(_ZN5E31x5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E31x5[] = {
+ // 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)
+ 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
+ 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_C31, 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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI5E31x5[];
+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_E31x5[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x5[0]),
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E31x5[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E31x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-32,-16),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E31x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern VTBL_ENTRY _ZTV5E31x5[];
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__5E31x5[] = {
+ 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__5E31x5[] = {
+ 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__5E31x5[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_E31x5[] = {
+ {&(_ZTV5E31x5[5]), 5,19},
+ {&(_ZTV5E31x5[10]), 10,19},
+ {&(_ZTV5E31x5[14]), 14,19},
+ {&(_ZTV5E31x5[18]), 18,19},
+ {&(_tg__ZTV3C31__5E31x5[4]), 4,5},
+ {&(_tg__ZTV2A1__3C31__5E31x5[3]), 3,4},
+ {&(_tg__ZTV2B1__3C31__5E31x5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E31x5[];
+extern VTBL_ENTRY _ZTV5E31x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x5[];
+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_E31x5 = { "E31x5", // class name
+ bases_E31x5, 4,
+ &(vtc_E31x5[0]), // expected_vtbl_contents
+ &(vtt_E31x5[0]), // expected_vtt_contents
+ ABISELECT(64,36), // object size
+ NSPAIRA(_ZTI5E31x5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E31x5),19, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E31x5),7, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names125,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x5y0 : E31x5 , F1 {
+ int ff;
+ ~G31x5y0(); // tgen
+ G31x5y0(); // tgen
+};
+//SIG(1 G31x5y0) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G31x5y0 ::~G31x5y0(){ note_dtor("G31x5y0", this);} // tgen
+G31x5y0 ::G31x5y0(){ note_ctor("G31x5y0", this);} // tgen
+
+static void Test_G31x5y0()
+{
+ extern Class_Descriptor cd_G31x5y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G31x5y0, buf);
+ G31x5y0 *dp, &lv = *(dp=new (buf) G31x5y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G31x5y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x5y0)");
+ check_base_class_offset(lv, (A1*)(C31*), ABISELECT(48,32), "G31x5y0");
+ check_base_class_offset(lv, (B1*)(C31*), ABISELECT(64,40), "G31x5y0");
+ check_base_class_offset(lv, (C31*)(E31x5*), ABISELECT(32,24), "G31x5y0");
+ check_base_class_offset(lv, (D0*)(E31x5*), ABISELECT(8,4), "G31x5y0");
+ check_base_class_offset(lv, (E31x5*), 0, "G31x5y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G31x5y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G31x5y0.ff");
+ test_class_info(&lv, &cd_G31x5y0);
+ dp->~G31x5y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x5y0(Test_G31x5y0, "G31x5y0", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G31x5y0C1Ev();
+extern void _ZN7G31x5y0D1Ev();
+Name_Map name_map_G31x5y0[] = {
+ NSPAIR(_ZN7G31x5y0C1Ev),
+ NSPAIR(_ZN7G31x5y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E31x5;
+extern VTBL_ENTRY _ZTI5E31x5[];
+extern VTBL_ENTRY _ZTV5E31x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G31x5y0[] = {
+ // 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)
+ 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
+ 18, //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
+ 8, //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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E31x5, 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 _ZTI7G31x5y0[];
+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_G31x5y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x5y0[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G31x5y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G31x5y0[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G31x5y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-32,-16),
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G31x5y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern VTBL_ENTRY _ZTV7G31x5y0[];
+static VTBL_ENTRY _tg__ZTV5E31x5__7G31x5y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x5[0]),
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__5E31x5__7G31x5y0[] = {
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E31x5[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__5E31x5__7G31x5y0[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E31x5[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__5E31x5__7G31x5y0[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI5E31x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__7G31x5y0[] = {
+ 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__7G31x5y0[] = {
+ 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__7G31x5y0[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x5y0[] = {
+ {&(_ZTV7G31x5y0[5]), 5,22},
+ {&(_tg__ZTV5E31x5__7G31x5y0[5]), 5,5},
+ {&(_tg__ZTV3C31__5E31x5__7G31x5y0[5]), 5,6},
+ {&(_tg__ZTV2A1__5E31x5__7G31x5y0[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x5__7G31x5y0[3]), 3,4},
+ {&(_ZTV7G31x5y0[13]), 13,22},
+ {&(_ZTV7G31x5y0[17]), 17,22},
+ {&(_ZTV7G31x5y0[21]), 21,22},
+ {&(_tg__ZTV3C31__7G31x5y0[4]), 4,5},
+ {&(_tg__ZTV2A1__3C31__7G31x5y0[3]), 3,4},
+ {&(_tg__ZTV2B1__3C31__7G31x5y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G31x5y0[];
+extern VTBL_ENTRY _ZTV7G31x5y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x5y0[];
+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_G31x5y0 = { "G31x5y0", // class name
+ bases_G31x5y0, 6,
+ &(vtc_G31x5y0[0]), // expected_vtbl_contents
+ &(vtt_G31x5y0[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G31x5y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x5y0),22, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x5y0),11, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names126,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x5y1 : virtual E31x5 , F1 {
+ int ff;
+ ~G31x5y1(); // tgen
+ G31x5y1(); // tgen
+};
+//SIG(1 G31x5y1) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G31x5y1 ::~G31x5y1(){ note_dtor("G31x5y1", this);} // tgen
+G31x5y1 ::G31x5y1(){ note_ctor("G31x5y1", this);} // tgen
+
+static void Test_G31x5y1()
+{
+ extern Class_Descriptor cd_G31x5y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G31x5y1, buf);
+ G31x5y1 *dp, &lv = *(dp=new (buf) G31x5y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G31x5y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x5y1)");
+ check_base_class_offset(lv, (A1*)(C31*), ABISELECT(48,32), "G31x5y1");
+ check_base_class_offset(lv, (B1*)(C31*), ABISELECT(64,40), "G31x5y1");
+ check_base_class_offset(lv, (C31*)(E31x5*), ABISELECT(32,24), "G31x5y1");
+ check_base_class_offset(lv, (D0*)(E31x5*), ABISELECT(24,16), "G31x5y1");
+ check_base_class_offset(lv, (E31x5*), ABISELECT(16,12), "G31x5y1");
+ check_base_class_offset(lv, (F1*), 0, "G31x5y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G31x5y1.ff");
+ test_class_info(&lv, &cd_G31x5y1);
+ dp->~G31x5y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x5y1(Test_G31x5y1, "G31x5y1", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G31x5y1C1Ev();
+extern void _ZN7G31x5y1D1Ev();
+Name_Map name_map_G31x5y1[] = {
+ NSPAIR(_ZN7G31x5y1C1Ev),
+ NSPAIR(_ZN7G31x5y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E31x5;
+extern VTBL_ENTRY _ZTI5E31x5[];
+extern VTBL_ENTRY _ZTV5E31x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G31x5y1[] = {
+ // 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_C31, ABISELECT(32,24), //bcp->offset
+ 12, //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_D0, 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_E31x5, 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 _ZTI7G31x5y1[];
+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_G31x5y1[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x5y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G31x5y1[0]),
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G31x5y1[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G31x5y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-32,-16),
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G31x5y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern VTBL_ENTRY _ZTV7G31x5y1[];
+static VTBL_ENTRY _tg__ZTV5E31x5__7G31x5y1[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x5[0]),
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__5E31x5__7G31x5y1[] = {
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E31x5[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__5E31x5__7G31x5y1[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E31x5[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__5E31x5__7G31x5y1[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E31x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__7G31x5y1[] = {
+ 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__7G31x5y1[] = {
+ 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__7G31x5y1[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x5y1[] = {
+ {&(_ZTV7G31x5y1[6]), 6,26},
+ {&(_ZTV7G31x5y1[12]), 12,26},
+ {&(_ZTV7G31x5y1[17]), 17,26},
+ {&(_ZTV7G31x5y1[21]), 21,26},
+ {&(_ZTV7G31x5y1[25]), 25,26},
+ {&(_tg__ZTV5E31x5__7G31x5y1[5]), 5,5},
+ {&(_tg__ZTV3C31__5E31x5__7G31x5y1[5]), 5,6},
+ {&(_tg__ZTV2A1__5E31x5__7G31x5y1[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x5__7G31x5y1[3]), 3,4},
+ {&(_tg__ZTV3C31__7G31x5y1[4]), 4,5},
+ {&(_tg__ZTV2A1__3C31__7G31x5y1[3]), 3,4},
+ {&(_tg__ZTV2B1__3C31__7G31x5y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G31x5y1[];
+extern VTBL_ENTRY _ZTV7G31x5y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x5y1[];
+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_G31x5y1 = { "G31x5y1", // class name
+ bases_G31x5y1, 6,
+ &(vtc_G31x5y1[0]), // expected_vtbl_contents
+ &(vtt_G31x5y1[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G31x5y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x5y1),26, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x5y1),12, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names127,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x5y2 : E31x5 , virtual F1 {
+ int ff;
+ ~G31x5y2(); // tgen
+ G31x5y2(); // tgen
+};
+//SIG(1 G31x5y2) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G31x5y2 ::~G31x5y2(){ note_dtor("G31x5y2", this);} // tgen
+G31x5y2 ::G31x5y2(){ note_ctor("G31x5y2", this);} // tgen
+
+static void Test_G31x5y2()
+{
+ extern Class_Descriptor cd_G31x5y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(12,13)];
+ init_test(&cd_G31x5y2, buf);
+ G31x5y2 *dp, &lv = *(dp=new (buf) G31x5y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(88,48), "sizeof(G31x5y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x5y2)");
+ check_base_class_offset(lv, (A1*)(C31*), ABISELECT(40,24), "G31x5y2");
+ check_base_class_offset(lv, (B1*)(C31*), ABISELECT(56,32), "G31x5y2");
+ check_base_class_offset(lv, (C31*)(E31x5*), ABISELECT(24,16), "G31x5y2");
+ check_base_class_offset(lv, (D0*)(E31x5*), ABISELECT(8,4), "G31x5y2");
+ check_base_class_offset(lv, (E31x5*), 0, "G31x5y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(72,40), "G31x5y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G31x5y2.ff");
+ test_class_info(&lv, &cd_G31x5y2);
+ dp->~G31x5y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x5y2(Test_G31x5y2, "G31x5y2", ABISELECT(88,48));
+
+#else // __cplusplus
+
+extern void _ZN7G31x5y2C1Ev();
+extern void _ZN7G31x5y2D1Ev();
+Name_Map name_map_G31x5y2[] = {
+ NSPAIR(_ZN7G31x5y2C1Ev),
+ NSPAIR(_ZN7G31x5y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E31x5;
+extern VTBL_ENTRY _ZTI5E31x5[];
+extern VTBL_ENTRY _ZTV5E31x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G31x5y2[] = {
+ // 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_B1, ABISELECT(56,32), //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,16), //bcp->offset
+ 6, //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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E31x5, 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(72,40), //bcp->offset
+ 20, //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 _ZTI7G31x5y2[];
+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_G31x5y2[] = {
+ ABISELECT(72,40),
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x5y2[0]),
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G31x5y2[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G31x5y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-32,-16),
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G31x5y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ 0,
+ ABISELECT(-72,-40),
+ (VTBL_ENTRY)&(_ZTI7G31x5y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G31x5y2[];
+static VTBL_ENTRY _tg__ZTV5E31x5__7G31x5y2[] = {
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x5[0]),
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__5E31x5__7G31x5y2[] = {
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E31x5[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__5E31x5__7G31x5y2[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E31x5[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__5E31x5__7G31x5y2[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI5E31x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__7G31x5y2[] = {
+ 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__7G31x5y2[] = {
+ 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__7G31x5y2[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x5y2[] = {
+ {&(_ZTV7G31x5y2[6]), 6,24},
+ {&(_tg__ZTV5E31x5__7G31x5y2[5]), 5,5},
+ {&(_tg__ZTV3C31__5E31x5__7G31x5y2[5]), 5,6},
+ {&(_tg__ZTV2A1__5E31x5__7G31x5y2[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x5__7G31x5y2[3]), 3,4},
+ {&(_ZTV7G31x5y2[11]), 11,24},
+ {&(_ZTV7G31x5y2[15]), 15,24},
+ {&(_ZTV7G31x5y2[19]), 19,24},
+ {&(_ZTV7G31x5y2[23]), 23,24},
+ {&(_tg__ZTV3C31__7G31x5y2[4]), 4,5},
+ {&(_tg__ZTV2A1__3C31__7G31x5y2[3]), 3,4},
+ {&(_tg__ZTV2B1__3C31__7G31x5y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G31x5y2[];
+extern VTBL_ENTRY _ZTV7G31x5y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x5y2[];
+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_G31x5y2 = { "G31x5y2", // class name
+ bases_G31x5y2, 6,
+ &(vtc_G31x5y2[0]), // expected_vtbl_contents
+ &(vtt_G31x5y2[0]), // expected_vtt_contents
+ ABISELECT(88,48), // object size
+ NSPAIRA(_ZTI7G31x5y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x5y2),24, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x5y2),12, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names128,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x5y3 : virtual E31x5 , virtual F1 {
+ int ff;
+ ~G31x5y3(); // tgen
+ G31x5y3(); // tgen
+};
+//SIG(1 G31x5y3) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G31x5y3 ::~G31x5y3(){ note_dtor("G31x5y3", this);} // tgen
+G31x5y3 ::G31x5y3(){ note_ctor("G31x5y3", this);} // tgen
+
+static void Test_G31x5y3()
+{
+ extern Class_Descriptor cd_G31x5y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(13,14)];
+ init_test(&cd_G31x5y3, buf);
+ G31x5y3 *dp, &lv = *(dp=new (buf) G31x5y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(96,52), "sizeof(G31x5y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x5y3)");
+ check_base_class_offset(lv, (A1*)(C31*), ABISELECT(48,28), "G31x5y3");
+ check_base_class_offset(lv, (B1*)(C31*), ABISELECT(64,36), "G31x5y3");
+ check_base_class_offset(lv, (C31*)(E31x5*), ABISELECT(32,20), "G31x5y3");
+ check_base_class_offset(lv, (D0*)(E31x5*), ABISELECT(24,12), "G31x5y3");
+ check_base_class_offset(lv, (E31x5*), ABISELECT(16,8), "G31x5y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(80,44), "G31x5y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G31x5y3.ff");
+ test_class_info(&lv, &cd_G31x5y3);
+ dp->~G31x5y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x5y3(Test_G31x5y3, "G31x5y3", ABISELECT(96,52));
+
+#else // __cplusplus
+
+extern void _ZN7G31x5y3C1Ev();
+extern void _ZN7G31x5y3D1Ev();
+Name_Map name_map_G31x5y3[] = {
+ NSPAIR(_ZN7G31x5y3C1Ev),
+ NSPAIR(_ZN7G31x5y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E31x5;
+extern VTBL_ENTRY _ZTI5E31x5[];
+extern VTBL_ENTRY _ZTV5E31x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x5[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G31x5y3[] = {
+ // 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_C31, ABISELECT(32,20), //bcp->offset
+ 12, //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_D0, 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_E31x5, 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
+ 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 _ZTI7G31x5y3[];
+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_G31x5y3[] = {
+ ABISELECT(80,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x5y3[0]),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G31x5y3[0]),
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G31x5y3[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G31x5y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-32,-16),
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G31x5y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ 0,
+ ABISELECT(-80,-44),
+ (VTBL_ENTRY)&(_ZTI7G31x5y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G31x5y3[];
+static VTBL_ENTRY _tg__ZTV5E31x5__7G31x5y3[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x5[0]),
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__5E31x5__7G31x5y3[] = {
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E31x5[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__5E31x5__7G31x5y3[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E31x5[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__5E31x5__7G31x5y3[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E31x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__7G31x5y3[] = {
+ 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__7G31x5y3[] = {
+ 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__7G31x5y3[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x5y3[] = {
+ {&(_ZTV7G31x5y3[7]), 7,30},
+ {&(_ZTV7G31x5y3[12]), 12,30},
+ {&(_ZTV7G31x5y3[17]), 17,30},
+ {&(_ZTV7G31x5y3[21]), 21,30},
+ {&(_ZTV7G31x5y3[25]), 25,30},
+ {&(_ZTV7G31x5y3[29]), 29,30},
+ {&(_tg__ZTV5E31x5__7G31x5y3[5]), 5,5},
+ {&(_tg__ZTV3C31__5E31x5__7G31x5y3[5]), 5,6},
+ {&(_tg__ZTV2A1__5E31x5__7G31x5y3[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x5__7G31x5y3[3]), 3,4},
+ {&(_tg__ZTV3C31__7G31x5y3[4]), 4,5},
+ {&(_tg__ZTV2A1__3C31__7G31x5y3[3]), 3,4},
+ {&(_tg__ZTV2B1__3C31__7G31x5y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G31x5y3[];
+extern VTBL_ENTRY _ZTV7G31x5y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x5y3[];
+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_G31x5y3 = { "G31x5y3", // class name
+ bases_G31x5y3, 6,
+ &(vtc_G31x5y3[0]), // expected_vtbl_contents
+ &(vtt_G31x5y3[0]), // expected_vtt_contents
+ ABISELECT(96,52), // object size
+ NSPAIRA(_ZTI7G31x5y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x5y3),30, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x5y3),13, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names129,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x5y4 : E31x5 , F0 {
+ int ff;
+ ~G31x5y4(); // tgen
+ G31x5y4(); // tgen
+};
+//SIG(1 G31x5y4) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G31x5y4 ::~G31x5y4(){ note_dtor("G31x5y4", this);} // tgen
+G31x5y4 ::G31x5y4(){ note_ctor("G31x5y4", this);} // tgen
+
+static void Test_G31x5y4()
+{
+ extern Class_Descriptor cd_G31x5y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G31x5y4, buf);
+ G31x5y4 *dp, &lv = *(dp=new (buf) G31x5y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G31x5y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x5y4)");
+ check_base_class_offset(lv, (A1*)(C31*), ABISELECT(40,28), "G31x5y4");
+ check_base_class_offset(lv, (B1*)(C31*), ABISELECT(56,36), "G31x5y4");
+ check_base_class_offset(lv, (C31*)(E31x5*), ABISELECT(24,20), "G31x5y4");
+ check_base_class_offset(lv, (D0*)(E31x5*), ABISELECT(8,4), "G31x5y4");
+ check_base_class_offset(lv, (E31x5*), 0, "G31x5y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G31x5y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G31x5y4.ff");
+ test_class_info(&lv, &cd_G31x5y4);
+ dp->~G31x5y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x5y4(Test_G31x5y4, "G31x5y4", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G31x5y4C1Ev();
+extern void _ZN7G31x5y4D1Ev();
+Name_Map name_map_G31x5y4[] = {
+ NSPAIR(_ZN7G31x5y4C1Ev),
+ NSPAIR(_ZN7G31x5y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E31x5;
+extern VTBL_ENTRY _ZTI5E31x5[];
+extern VTBL_ENTRY _ZTV5E31x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G31x5y4[] = {
+ // 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)
+ 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
+ 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_C31, ABISELECT(24,20), //bcp->offset
+ 5, //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_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E31x5, 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 _ZTI7G31x5y4[];
+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_G31x5y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x5y4[0]),
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G31x5y4[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G31x5y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-32,-16),
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G31x5y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern VTBL_ENTRY _ZTV7G31x5y4[];
+static VTBL_ENTRY _tg__ZTV5E31x5__7G31x5y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x5[0]),
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__5E31x5__7G31x5y4[] = {
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E31x5[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__5E31x5__7G31x5y4[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E31x5[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__5E31x5__7G31x5y4[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI5E31x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__7G31x5y4[] = {
+ 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__7G31x5y4[] = {
+ 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__7G31x5y4[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x5y4[] = {
+ {&(_ZTV7G31x5y4[5]), 5,19},
+ {&(_tg__ZTV5E31x5__7G31x5y4[5]), 5,5},
+ {&(_tg__ZTV3C31__5E31x5__7G31x5y4[5]), 5,6},
+ {&(_tg__ZTV2A1__5E31x5__7G31x5y4[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x5__7G31x5y4[3]), 3,4},
+ {&(_ZTV7G31x5y4[10]), 10,19},
+ {&(_ZTV7G31x5y4[14]), 14,19},
+ {&(_ZTV7G31x5y4[18]), 18,19},
+ {&(_tg__ZTV3C31__7G31x5y4[4]), 4,5},
+ {&(_tg__ZTV2A1__3C31__7G31x5y4[3]), 3,4},
+ {&(_tg__ZTV2B1__3C31__7G31x5y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G31x5y4[];
+extern VTBL_ENTRY _ZTV7G31x5y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x5y4[];
+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_G31x5y4 = { "G31x5y4", // class name
+ bases_G31x5y4, 6,
+ &(vtc_G31x5y4[0]), // expected_vtbl_contents
+ &(vtt_G31x5y4[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G31x5y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x5y4),19, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x5y4),11, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names130,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x5y5 : virtual E31x5 , F0 {
+ int ff;
+ ~G31x5y5(); // tgen
+ G31x5y5(); // tgen
+};
+//SIG(1 G31x5y5) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G31x5y5 ::~G31x5y5(){ note_dtor("G31x5y5", this);} // tgen
+G31x5y5 ::G31x5y5(){ note_ctor("G31x5y5", this);} // tgen
+
+static void Test_G31x5y5()
+{
+ extern Class_Descriptor cd_G31x5y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G31x5y5, buf);
+ G31x5y5 *dp, &lv = *(dp=new (buf) G31x5y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G31x5y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x5y5)");
+ check_base_class_offset(lv, (A1*)(C31*), ABISELECT(48,32), "G31x5y5");
+ check_base_class_offset(lv, (B1*)(C31*), ABISELECT(64,40), "G31x5y5");
+ check_base_class_offset(lv, (C31*)(E31x5*), ABISELECT(32,24), "G31x5y5");
+ check_base_class_offset(lv, (D0*)(E31x5*), ABISELECT(24,16), "G31x5y5");
+ check_base_class_offset(lv, (E31x5*), ABISELECT(16,12), "G31x5y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G31x5y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G31x5y5.ff");
+ test_class_info(&lv, &cd_G31x5y5);
+ dp->~G31x5y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x5y5(Test_G31x5y5, "G31x5y5", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G31x5y5C1Ev();
+extern void _ZN7G31x5y5D1Ev();
+Name_Map name_map_G31x5y5[] = {
+ NSPAIR(_ZN7G31x5y5C1Ev),
+ NSPAIR(_ZN7G31x5y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E31x5;
+extern VTBL_ENTRY _ZTI5E31x5[];
+extern VTBL_ENTRY _ZTV5E31x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G31x5y5[] = {
+ // 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_C31, ABISELECT(32,24), //bcp->offset
+ 11, //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_D0, 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_E31x5, 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 _ZTI7G31x5y5[];
+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_G31x5y5[] = {
+ ABISELECT(64,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x5y5[0]),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G31x5y5[0]),
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G31x5y5[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G31x5y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-32,-16),
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G31x5y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern VTBL_ENTRY _ZTV7G31x5y5[];
+static VTBL_ENTRY _tg__ZTV5E31x5__7G31x5y5[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x5[0]),
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__5E31x5__7G31x5y5[] = {
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E31x5[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__5E31x5__7G31x5y5[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E31x5[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__5E31x5__7G31x5y5[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E31x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__7G31x5y5[] = {
+ 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__7G31x5y5[] = {
+ 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__7G31x5y5[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x5y5[] = {
+ {&(_ZTV7G31x5y5[6]), 6,25},
+ {&(_ZTV7G31x5y5[11]), 11,25},
+ {&(_ZTV7G31x5y5[16]), 16,25},
+ {&(_ZTV7G31x5y5[20]), 20,25},
+ {&(_ZTV7G31x5y5[24]), 24,25},
+ {&(_tg__ZTV5E31x5__7G31x5y5[5]), 5,5},
+ {&(_tg__ZTV3C31__5E31x5__7G31x5y5[5]), 5,6},
+ {&(_tg__ZTV2A1__5E31x5__7G31x5y5[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x5__7G31x5y5[3]), 3,4},
+ {&(_tg__ZTV3C31__7G31x5y5[4]), 4,5},
+ {&(_tg__ZTV2A1__3C31__7G31x5y5[3]), 3,4},
+ {&(_tg__ZTV2B1__3C31__7G31x5y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G31x5y5[];
+extern VTBL_ENTRY _ZTV7G31x5y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x5y5[];
+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_G31x5y5 = { "G31x5y5", // class name
+ bases_G31x5y5, 6,
+ &(vtc_G31x5y5[0]), // expected_vtbl_contents
+ &(vtt_G31x5y5[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G31x5y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x5y5),25, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x5y5),12, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names131,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x5y6 : E31x5 , virtual F0 {
+ int ff;
+ ~G31x5y6(); // tgen
+ G31x5y6(); // tgen
+};
+//SIG(1 G31x5y6) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G31x5y6 ::~G31x5y6(){ note_dtor("G31x5y6", this);} // tgen
+G31x5y6 ::G31x5y6(){ note_ctor("G31x5y6", this);} // tgen
+
+static void Test_G31x5y6()
+{
+ extern Class_Descriptor cd_G31x5y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G31x5y6, buf);
+ G31x5y6 *dp, &lv = *(dp=new (buf) G31x5y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G31x5y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x5y6)");
+ check_base_class_offset(lv, (A1*)(C31*), ABISELECT(40,24), "G31x5y6");
+ check_base_class_offset(lv, (B1*)(C31*), ABISELECT(56,32), "G31x5y6");
+ check_base_class_offset(lv, (C31*)(E31x5*), ABISELECT(24,16), "G31x5y6");
+ check_base_class_offset(lv, (D0*)(E31x5*), ABISELECT(8,4), "G31x5y6");
+ check_base_class_offset(lv, (E31x5*), 0, "G31x5y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(68,40), "G31x5y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G31x5y6.ff");
+ test_class_info(&lv, &cd_G31x5y6);
+ dp->~G31x5y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x5y6(Test_G31x5y6, "G31x5y6", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G31x5y6C1Ev();
+extern void _ZN7G31x5y6D1Ev();
+Name_Map name_map_G31x5y6[] = {
+ NSPAIR(_ZN7G31x5y6C1Ev),
+ NSPAIR(_ZN7G31x5y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E31x5;
+extern VTBL_ENTRY _ZTI5E31x5[];
+extern VTBL_ENTRY _ZTV5E31x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G31x5y6[] = {
+ // 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_B1, ABISELECT(56,32), //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,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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, ABISELECT(8,4), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_E31x5, 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(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 _ZTI7G31x5y6[];
+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_G31x5y6[] = {
+ ABISELECT(68,40),
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x5y6[0]),
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G31x5y6[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G31x5y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-32,-16),
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G31x5y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern VTBL_ENTRY _ZTV7G31x5y6[];
+static VTBL_ENTRY _tg__ZTV5E31x5__7G31x5y6[] = {
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x5[0]),
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__5E31x5__7G31x5y6[] = {
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E31x5[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__5E31x5__7G31x5y6[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E31x5[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__5E31x5__7G31x5y6[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI5E31x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__7G31x5y6[] = {
+ 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__7G31x5y6[] = {
+ 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__7G31x5y6[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x5y6[] = {
+ {&(_ZTV7G31x5y6[6]), 6,20},
+ {&(_tg__ZTV5E31x5__7G31x5y6[5]), 5,5},
+ {&(_tg__ZTV3C31__5E31x5__7G31x5y6[5]), 5,6},
+ {&(_tg__ZTV2A1__5E31x5__7G31x5y6[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x5__7G31x5y6[3]), 3,4},
+ {&(_ZTV7G31x5y6[11]), 11,20},
+ {&(_ZTV7G31x5y6[15]), 15,20},
+ {&(_ZTV7G31x5y6[19]), 19,20},
+ {&(_tg__ZTV3C31__7G31x5y6[4]), 4,5},
+ {&(_tg__ZTV2A1__3C31__7G31x5y6[3]), 3,4},
+ {&(_tg__ZTV2B1__3C31__7G31x5y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G31x5y6[];
+extern VTBL_ENTRY _ZTV7G31x5y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x5y6[];
+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_G31x5y6 = { "G31x5y6", // class name
+ bases_G31x5y6, 6,
+ &(vtc_G31x5y6[0]), // expected_vtbl_contents
+ &(vtt_G31x5y6[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G31x5y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x5y6),20, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x5y6),11, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names132,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x5y7 : virtual E31x5 , virtual F0 {
+ int ff;
+ ~G31x5y7(); // tgen
+ G31x5y7(); // tgen
+};
+//SIG(1 G31x5y7) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} BC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G31x5y7 ::~G31x5y7(){ note_dtor("G31x5y7", this);} // tgen
+G31x5y7 ::G31x5y7(){ note_ctor("G31x5y7", this);} // tgen
+
+static void Test_G31x5y7()
+{
+ extern Class_Descriptor cd_G31x5y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G31x5y7, buf);
+ G31x5y7 *dp, &lv = *(dp=new (buf) G31x5y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G31x5y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x5y7)");
+ check_base_class_offset(lv, (A1*)(C31*), ABISELECT(48,28), "G31x5y7");
+ check_base_class_offset(lv, (B1*)(C31*), ABISELECT(64,36), "G31x5y7");
+ check_base_class_offset(lv, (C31*)(E31x5*), ABISELECT(32,20), "G31x5y7");
+ check_base_class_offset(lv, (D0*)(E31x5*), ABISELECT(24,12), "G31x5y7");
+ check_base_class_offset(lv, (E31x5*), ABISELECT(16,8), "G31x5y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(76,44), "G31x5y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G31x5y7.ff");
+ test_class_info(&lv, &cd_G31x5y7);
+ dp->~G31x5y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x5y7(Test_G31x5y7, "G31x5y7", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G31x5y7C1Ev();
+extern void _ZN7G31x5y7D1Ev();
+Name_Map name_map_G31x5y7[] = {
+ NSPAIR(_ZN7G31x5y7C1Ev),
+ NSPAIR(_ZN7G31x5y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E31x5;
+extern VTBL_ENTRY _ZTI5E31x5[];
+extern VTBL_ENTRY _ZTV5E31x5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x5[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G31x5y7[] = {
+ // 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_C31, ABISELECT(32,20), //bcp->offset
+ 12, //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_D0, 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_E31x5, 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 _ZTI7G31x5y7[];
+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_G31x5y7[] = {
+ ABISELECT(76,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x5y7[0]),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G31x5y7[0]),
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G31x5y7[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G31x5y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-32,-16),
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G31x5y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern VTBL_ENTRY _ZTV7G31x5y7[];
+static VTBL_ENTRY _tg__ZTV5E31x5__7G31x5y7[] = {
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x5[0]),
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__5E31x5__7G31x5y7[] = {
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E31x5[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__5E31x5__7G31x5y7[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E31x5[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__5E31x5__7G31x5y7[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E31x5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__7G31x5y7[] = {
+ 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__7G31x5y7[] = {
+ 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__7G31x5y7[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x5y7[] = {
+ {&(_ZTV7G31x5y7[7]), 7,26},
+ {&(_ZTV7G31x5y7[12]), 12,26},
+ {&(_ZTV7G31x5y7[17]), 17,26},
+ {&(_ZTV7G31x5y7[21]), 21,26},
+ {&(_ZTV7G31x5y7[25]), 25,26},
+ {&(_tg__ZTV5E31x5__7G31x5y7[5]), 5,5},
+ {&(_tg__ZTV3C31__5E31x5__7G31x5y7[5]), 5,6},
+ {&(_tg__ZTV2A1__5E31x5__7G31x5y7[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x5__7G31x5y7[3]), 3,4},
+ {&(_tg__ZTV3C31__7G31x5y7[4]), 4,5},
+ {&(_tg__ZTV2A1__3C31__7G31x5y7[3]), 3,4},
+ {&(_tg__ZTV2B1__3C31__7G31x5y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G31x5y7[];
+extern VTBL_ENTRY _ZTV7G31x5y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x5y7[];
+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_G31x5y7 = { "G31x5y7", // class name
+ bases_G31x5y7, 6,
+ &(vtc_G31x5y7[0]), // expected_vtbl_contents
+ &(vtt_G31x5y7[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G31x5y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x5y7),26, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x5y7),12, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names133,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E0x6 : C0 , virtual D0 {
+ int fd;
+ ~E0x6(); // tgen
+ E0x6(); // tgen
+};
+//SIG(-1 E0x6) C1{ BC2{ BC3{ Fi} BC4{ Fi} Fi} VBC5{ Fi} Fi}
+
+
+E0x6 ::~E0x6(){ note_dtor("E0x6", this);} // tgen
+E0x6 ::E0x6(){ note_ctor("E0x6", this);} // tgen
+
+static void Test_E0x6()
+{
+ extern Class_Descriptor cd_E0x6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(5,7)];
+ init_test(&cd_E0x6, buf);
+ E0x6 *dp, &lv = *(dp=new (buf) E0x6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(32,24), "sizeof(E0x6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E0x6)");
+ check_base_class_offset(lv, (A0*)(C0*), ABISELECT(8,4), "E0x6");
+ check_base_class_offset(lv, (B0*)(C0*), ABISELECT(12,8), "E0x6");
+ check_base_class_offset(lv, (C0*), ABISELECT(8,4), "E0x6");
+ check_base_class_offset(lv, (D0*), ABISELECT(24,20), "E0x6");
+ check_field_offset(lv, fd, ABISELECT(20,16), "E0x6.fd");
+ test_class_info(&lv, &cd_E0x6);
+ dp->~E0x6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE0x6(Test_E0x6, "E0x6", ABISELECT(32,24));
+
+#else // __cplusplus
+
+extern void _ZN4E0x6C1Ev();
+extern void _ZN4E0x6D1Ev();
+Name_Map name_map_E0x6[] = {
+ NSPAIR(_ZN4E0x6C1Ev),
+ NSPAIR(_ZN4E0x6D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E0x6[] = {
+ // 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_D0, 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, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI4E0x6[];
+static VTBL_ENTRY vtc_E0x6[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x6[0]),
+};
+extern VTBL_ENTRY _ZTV4E0x6[];
+static VTT_ENTRY vtt_E0x6[] = {
+ {&(_ZTV4E0x6[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI4E0x6[];
+extern VTBL_ENTRY _ZTV4E0x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x6[];
+Class_Descriptor cd_E0x6 = { "E0x6", // class name
+ bases_E0x6, 4,
+ &(vtc_E0x6[0]), // expected_vtbl_contents
+ &(vtt_E0x6[0]), // expected_vtt_contents
+ ABISELECT(32,24), // object size
+ NSPAIRA(_ZTI4E0x6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E0x6),3, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E0x6),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 G0x6y0 : E0x6 , F1 {
+ int ff;
+ ~G0x6y0(); // tgen
+ G0x6y0(); // tgen
+};
+//SIG(1 G0x6y0) C1{ BC2{ BC3{ BC4{ Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ v1 Fi} Fi}
+
+
+G0x6y0 ::~G0x6y0(){ note_dtor("G0x6y0", this);} // tgen
+G0x6y0 ::G0x6y0(){ note_ctor("G0x6y0", this);} // tgen
+
+static void Test_G0x6y0()
+{
+ extern Class_Descriptor cd_G0x6y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G0x6y0, buf);
+ G0x6y0 *dp, &lv = *(dp=new (buf) G0x6y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G0x6y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x6y0)");
+ check_base_class_offset(lv, (A0*)(C0*)(E0x6*), ABISELECT(8,4), "G0x6y0");
+ check_base_class_offset(lv, (B0*)(C0*)(E0x6*), ABISELECT(12,8), "G0x6y0");
+ check_base_class_offset(lv, (C0*)(E0x6*), ABISELECT(8,4), "G0x6y0");
+ check_base_class_offset(lv, (D0*)(E0x6*), ABISELECT(40,32), "G0x6y0");
+ check_base_class_offset(lv, (E0x6*), 0, "G0x6y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,20), "G0x6y0");
+ check_field_offset(lv, ff, ABISELECT(36,28), "G0x6y0.ff");
+ test_class_info(&lv, &cd_G0x6y0);
+ dp->~G0x6y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x6y0(Test_G0x6y0, "G0x6y0", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G0x6y0C1Ev();
+extern void _ZN6G0x6y0D1Ev();
+Name_Map name_map_G0x6y0[] = {
+ NSPAIR(_ZN6G0x6y0C1Ev),
+ NSPAIR(_ZN6G0x6y0D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E0x6;
+extern VTBL_ENTRY _ZTI4E0x6[];
+extern VTBL_ENTRY _ZTV4E0x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G0x6y0[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E0x6, 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_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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G0x6y0[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G0x6y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x6y0[0]),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI6G0x6y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G0x6y0[];
+static VTBL_ENTRY _tg__ZTV4E0x6__6G0x6y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x6[0]),
+};
+static VTT_ENTRY vtt_G0x6y0[] = {
+ {&(_ZTV6G0x6y0[3]), 3,6},
+ {&(_tg__ZTV4E0x6__6G0x6y0[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G0x6y0[];
+extern VTBL_ENTRY _ZTV6G0x6y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x6y0[];
+Class_Descriptor cd_G0x6y0 = { "G0x6y0", // class name
+ bases_G0x6y0, 6,
+ &(vtc_G0x6y0[0]), // expected_vtbl_contents
+ &(vtt_G0x6y0[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G0x6y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x6y0),6, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x6y0),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 G0x6y1 : virtual E0x6 , F1 {
+ int ff;
+ ~G0x6y1(); // tgen
+ G0x6y1(); // tgen
+};
+//SIG(1 G0x6y1) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ v1 Fi} Fi}
+
+
+G0x6y1 ::~G0x6y1(){ note_dtor("G0x6y1", this);} // tgen
+G0x6y1 ::G0x6y1(){ note_ctor("G0x6y1", this);} // tgen
+
+static void Test_G0x6y1()
+{
+ extern Class_Descriptor cd_G0x6y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G0x6y1, buf);
+ G0x6y1 *dp, &lv = *(dp=new (buf) G0x6y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G0x6y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x6y1)");
+ check_base_class_offset(lv, (A0*)(C0*)(E0x6*), ABISELECT(24,16), "G0x6y1");
+ check_base_class_offset(lv, (B0*)(C0*)(E0x6*), ABISELECT(28,20), "G0x6y1");
+ check_base_class_offset(lv, (C0*)(E0x6*), ABISELECT(24,16), "G0x6y1");
+ check_base_class_offset(lv, (D0*)(E0x6*), ABISELECT(40,32), "G0x6y1");
+ check_base_class_offset(lv, (E0x6*), ABISELECT(16,12), "G0x6y1");
+ check_base_class_offset(lv, (F1*), 0, "G0x6y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G0x6y1.ff");
+ test_class_info(&lv, &cd_G0x6y1);
+ dp->~G0x6y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x6y1(Test_G0x6y1, "G0x6y1", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G0x6y1C1Ev();
+extern void _ZN6G0x6y1D1Ev();
+Name_Map name_map_G0x6y1[] = {
+ NSPAIR(_ZN6G0x6y1C1Ev),
+ NSPAIR(_ZN6G0x6y1D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E0x6;
+extern VTBL_ENTRY _ZTI4E0x6[];
+extern VTBL_ENTRY _ZTV4E0x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G0x6y1[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E0x6, 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_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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G0x6y1[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G0x6y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x6y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G0x6y1[0]),
+};
+extern VTBL_ENTRY _ZTV6G0x6y1[];
+static VTBL_ENTRY _tg__ZTV4E0x6__6G0x6y1[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x6[0]),
+};
+static VTT_ENTRY vtt_G0x6y1[] = {
+ {&(_ZTV6G0x6y1[4]), 4,8},
+ {&(_ZTV6G0x6y1[8]), 8,8},
+ {&(_tg__ZTV4E0x6__6G0x6y1[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G0x6y1[];
+extern VTBL_ENTRY _ZTV6G0x6y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x6y1[];
+Class_Descriptor cd_G0x6y1 = { "G0x6y1", // class name
+ bases_G0x6y1, 6,
+ &(vtc_G0x6y1[0]), // expected_vtbl_contents
+ &(vtt_G0x6y1[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G0x6y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x6y1),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x6y1),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 G0x6y2 : E0x6 , virtual F1 {
+ int ff;
+ ~G0x6y2(); // tgen
+ G0x6y2(); // tgen
+};
+//SIG(1 G0x6y2) C1{ BC2{ BC3{ BC4{ Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ v1 Fi} Fi}
+
+
+G0x6y2 ::~G0x6y2(){ note_dtor("G0x6y2", this);} // tgen
+G0x6y2 ::G0x6y2(){ note_ctor("G0x6y2", this);} // tgen
+
+static void Test_G0x6y2()
+{
+ extern Class_Descriptor cd_G0x6y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G0x6y2, buf);
+ G0x6y2 *dp, &lv = *(dp=new (buf) G0x6y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G0x6y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x6y2)");
+ check_base_class_offset(lv, (A0*)(C0*)(E0x6*), ABISELECT(8,4), "G0x6y2");
+ check_base_class_offset(lv, (B0*)(C0*)(E0x6*), ABISELECT(12,8), "G0x6y2");
+ check_base_class_offset(lv, (C0*)(E0x6*), ABISELECT(8,4), "G0x6y2");
+ check_base_class_offset(lv, (D0*)(E0x6*), ABISELECT(28,24), "G0x6y2");
+ check_base_class_offset(lv, (E0x6*), 0, "G0x6y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,28), "G0x6y2");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G0x6y2.ff");
+ test_class_info(&lv, &cd_G0x6y2);
+ dp->~G0x6y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x6y2(Test_G0x6y2, "G0x6y2", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G0x6y2C1Ev();
+extern void _ZN6G0x6y2D1Ev();
+Name_Map name_map_G0x6y2[] = {
+ NSPAIR(_ZN6G0x6y2C1Ev),
+ NSPAIR(_ZN6G0x6y2D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E0x6;
+extern VTBL_ENTRY _ZTI4E0x6[];
+extern VTBL_ENTRY _ZTV4E0x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G0x6y2[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E0x6, 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(32,28), //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 _ZTI6G0x6y2[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G0x6y2[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x6y2[0]),
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI6G0x6y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G0x6y2[];
+static VTBL_ENTRY _tg__ZTV4E0x6__6G0x6y2[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x6[0]),
+};
+static VTT_ENTRY vtt_G0x6y2[] = {
+ {&(_ZTV6G0x6y2[4]), 4,8},
+ {&(_tg__ZTV4E0x6__6G0x6y2[3]), 3,3},
+ {&(_ZTV6G0x6y2[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI6G0x6y2[];
+extern VTBL_ENTRY _ZTV6G0x6y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x6y2[];
+Class_Descriptor cd_G0x6y2 = { "G0x6y2", // class name
+ bases_G0x6y2, 6,
+ &(vtc_G0x6y2[0]), // expected_vtbl_contents
+ &(vtt_G0x6y2[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G0x6y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x6y2),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x6y2),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 G0x6y3 : virtual E0x6 , virtual F1 {
+ int ff;
+ ~G0x6y3(); // tgen
+ G0x6y3(); // tgen
+};
+//SIG(1 G0x6y3) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ v1 Fi} Fi}
+
+
+G0x6y3 ::~G0x6y3(){ note_dtor("G0x6y3", this);} // tgen
+G0x6y3 ::G0x6y3(){ note_ctor("G0x6y3", this);} // tgen
+
+static void Test_G0x6y3()
+{
+ extern Class_Descriptor cd_G0x6y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G0x6y3, buf);
+ G0x6y3 *dp, &lv = *(dp=new (buf) G0x6y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G0x6y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x6y3)");
+ check_base_class_offset(lv, (A0*)(C0*)(E0x6*), ABISELECT(24,12), "G0x6y3");
+ check_base_class_offset(lv, (B0*)(C0*)(E0x6*), ABISELECT(28,16), "G0x6y3");
+ check_base_class_offset(lv, (C0*)(E0x6*), ABISELECT(24,12), "G0x6y3");
+ check_base_class_offset(lv, (D0*)(E0x6*), ABISELECT(40,28), "G0x6y3");
+ check_base_class_offset(lv, (E0x6*), ABISELECT(16,8), "G0x6y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G0x6y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G0x6y3.ff");
+ test_class_info(&lv, &cd_G0x6y3);
+ dp->~G0x6y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x6y3(Test_G0x6y3, "G0x6y3", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G0x6y3C1Ev();
+extern void _ZN6G0x6y3D1Ev();
+Name_Map name_map_G0x6y3[] = {
+ NSPAIR(_ZN6G0x6y3C1Ev),
+ NSPAIR(_ZN6G0x6y3D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E0x6;
+extern VTBL_ENTRY _ZTI4E0x6[];
+extern VTBL_ENTRY _ZTV4E0x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G0x6y3[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E0x6, 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_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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G0x6y3[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G0x6y3[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x6y3[0]),
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G0x6y3[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G0x6y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G0x6y3[];
+static VTBL_ENTRY _tg__ZTV4E0x6__6G0x6y3[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x6[0]),
+};
+static VTT_ENTRY vtt_G0x6y3[] = {
+ {&(_ZTV6G0x6y3[5]), 5,12},
+ {&(_ZTV6G0x6y3[8]), 8,12},
+ {&(_ZTV6G0x6y3[11]), 11,12},
+ {&(_tg__ZTV4E0x6__6G0x6y3[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G0x6y3[];
+extern VTBL_ENTRY _ZTV6G0x6y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x6y3[];
+Class_Descriptor cd_G0x6y3 = { "G0x6y3", // class name
+ bases_G0x6y3, 6,
+ &(vtc_G0x6y3[0]), // expected_vtbl_contents
+ &(vtt_G0x6y3[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G0x6y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x6y3),12, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x6y3),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 G0x6y4 : E0x6 , F0 {
+ int ff;
+ ~G0x6y4(); // tgen
+ G0x6y4(); // tgen
+};
+//SIG(1 G0x6y4) C1{ BC2{ BC3{ BC4{ Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G0x6y4 ::~G0x6y4(){ note_dtor("G0x6y4", this);} // tgen
+G0x6y4 ::G0x6y4(){ note_ctor("G0x6y4", this);} // tgen
+
+static void Test_G0x6y4()
+{
+ extern Class_Descriptor cd_G0x6y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G0x6y4, buf);
+ G0x6y4 *dp, &lv = *(dp=new (buf) G0x6y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G0x6y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x6y4)");
+ check_base_class_offset(lv, (A0*)(C0*)(E0x6*), ABISELECT(8,4), "G0x6y4");
+ check_base_class_offset(lv, (B0*)(C0*)(E0x6*), ABISELECT(12,8), "G0x6y4");
+ check_base_class_offset(lv, (C0*)(E0x6*), ABISELECT(8,4), "G0x6y4");
+ check_base_class_offset(lv, (D0*)(E0x6*), ABISELECT(32,28), "G0x6y4");
+ check_base_class_offset(lv, (E0x6*), 0, "G0x6y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(24,20), "G0x6y4");
+ check_field_offset(lv, ff, ABISELECT(28,24), "G0x6y4.ff");
+ test_class_info(&lv, &cd_G0x6y4);
+ dp->~G0x6y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x6y4(Test_G0x6y4, "G0x6y4", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN6G0x6y4C1Ev();
+extern void _ZN6G0x6y4D1Ev();
+Name_Map name_map_G0x6y4[] = {
+ NSPAIR(_ZN6G0x6y4C1Ev),
+ NSPAIR(_ZN6G0x6y4D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E0x6;
+extern VTBL_ENTRY _ZTI4E0x6[];
+extern VTBL_ENTRY _ZTV4E0x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G0x6y4[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E0x6, 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_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 _ZTI6G0x6y4[];
+static VTBL_ENTRY vtc_G0x6y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x6y4[0]),
+};
+extern VTBL_ENTRY _ZTV6G0x6y4[];
+static VTBL_ENTRY _tg__ZTV4E0x6__6G0x6y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x6[0]),
+};
+static VTT_ENTRY vtt_G0x6y4[] = {
+ {&(_ZTV6G0x6y4[3]), 3,3},
+ {&(_tg__ZTV4E0x6__6G0x6y4[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G0x6y4[];
+extern VTBL_ENTRY _ZTV6G0x6y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x6y4[];
+Class_Descriptor cd_G0x6y4 = { "G0x6y4", // class name
+ bases_G0x6y4, 6,
+ &(vtc_G0x6y4[0]), // expected_vtbl_contents
+ &(vtt_G0x6y4[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI6G0x6y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x6y4),3, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x6y4),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 G0x6y5 : virtual E0x6 , F0 {
+ int ff;
+ ~G0x6y5(); // tgen
+ G0x6y5(); // tgen
+};
+//SIG(1 G0x6y5) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G0x6y5 ::~G0x6y5(){ note_dtor("G0x6y5", this);} // tgen
+G0x6y5 ::G0x6y5(){ note_ctor("G0x6y5", this);} // tgen
+
+static void Test_G0x6y5()
+{
+ extern Class_Descriptor cd_G0x6y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G0x6y5, buf);
+ G0x6y5 *dp, &lv = *(dp=new (buf) G0x6y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G0x6y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x6y5)");
+ check_base_class_offset(lv, (A0*)(C0*)(E0x6*), ABISELECT(24,16), "G0x6y5");
+ check_base_class_offset(lv, (B0*)(C0*)(E0x6*), ABISELECT(28,20), "G0x6y5");
+ check_base_class_offset(lv, (C0*)(E0x6*), ABISELECT(24,16), "G0x6y5");
+ check_base_class_offset(lv, (D0*)(E0x6*), ABISELECT(40,32), "G0x6y5");
+ check_base_class_offset(lv, (E0x6*), ABISELECT(16,12), "G0x6y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G0x6y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G0x6y5.ff");
+ test_class_info(&lv, &cd_G0x6y5);
+ dp->~G0x6y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x6y5(Test_G0x6y5, "G0x6y5", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G0x6y5C1Ev();
+extern void _ZN6G0x6y5D1Ev();
+Name_Map name_map_G0x6y5[] = {
+ NSPAIR(_ZN6G0x6y5C1Ev),
+ NSPAIR(_ZN6G0x6y5D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E0x6;
+extern VTBL_ENTRY _ZTI4E0x6[];
+extern VTBL_ENTRY _ZTV4E0x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G0x6y5[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E0x6, 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
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //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 _ZTI6G0x6y5[];
+static VTBL_ENTRY vtc_G0x6y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x6y5[0]),
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G0x6y5[0]),
+};
+extern VTBL_ENTRY _ZTV6G0x6y5[];
+static VTBL_ENTRY _tg__ZTV4E0x6__6G0x6y5[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x6[0]),
+};
+static VTT_ENTRY vtt_G0x6y5[] = {
+ {&(_ZTV6G0x6y5[4]), 4,7},
+ {&(_ZTV6G0x6y5[7]), 7,7},
+ {&(_tg__ZTV4E0x6__6G0x6y5[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G0x6y5[];
+extern VTBL_ENTRY _ZTV6G0x6y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x6y5[];
+Class_Descriptor cd_G0x6y5 = { "G0x6y5", // class name
+ bases_G0x6y5, 6,
+ &(vtc_G0x6y5[0]), // expected_vtbl_contents
+ &(vtt_G0x6y5[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G0x6y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x6y5),7, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x6y5),3, //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 G0x6y6 : E0x6 , virtual F0 {
+ int ff;
+ ~G0x6y6(); // tgen
+ G0x6y6(); // tgen
+};
+//SIG(1 G0x6y6) C1{ BC2{ BC3{ BC4{ Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G0x6y6 ::~G0x6y6(){ note_dtor("G0x6y6", this);} // tgen
+G0x6y6 ::G0x6y6(){ note_ctor("G0x6y6", this);} // tgen
+
+static void Test_G0x6y6()
+{
+ extern Class_Descriptor cd_G0x6y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G0x6y6, buf);
+ G0x6y6 *dp, &lv = *(dp=new (buf) G0x6y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G0x6y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x6y6)");
+ check_base_class_offset(lv, (A0*)(C0*)(E0x6*), ABISELECT(8,4), "G0x6y6");
+ check_base_class_offset(lv, (B0*)(C0*)(E0x6*), ABISELECT(12,8), "G0x6y6");
+ check_base_class_offset(lv, (C0*)(E0x6*), ABISELECT(8,4), "G0x6y6");
+ check_base_class_offset(lv, (D0*)(E0x6*), ABISELECT(28,24), "G0x6y6");
+ check_base_class_offset(lv, (E0x6*), 0, "G0x6y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,28), "G0x6y6");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G0x6y6.ff");
+ test_class_info(&lv, &cd_G0x6y6);
+ dp->~G0x6y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x6y6(Test_G0x6y6, "G0x6y6", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN6G0x6y6C1Ev();
+extern void _ZN6G0x6y6D1Ev();
+Name_Map name_map_G0x6y6[] = {
+ NSPAIR(_ZN6G0x6y6C1Ev),
+ NSPAIR(_ZN6G0x6y6D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E0x6;
+extern VTBL_ENTRY _ZTI4E0x6[];
+extern VTBL_ENTRY _ZTV4E0x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G0x6y6[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E0x6, 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_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 _ZTI6G0x6y6[];
+static VTBL_ENTRY vtc_G0x6y6[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x6y6[0]),
+};
+extern VTBL_ENTRY _ZTV6G0x6y6[];
+static VTBL_ENTRY _tg__ZTV4E0x6__6G0x6y6[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x6[0]),
+};
+static VTT_ENTRY vtt_G0x6y6[] = {
+ {&(_ZTV6G0x6y6[4]), 4,4},
+ {&(_tg__ZTV4E0x6__6G0x6y6[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G0x6y6[];
+extern VTBL_ENTRY _ZTV6G0x6y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x6y6[];
+Class_Descriptor cd_G0x6y6 = { "G0x6y6", // class name
+ bases_G0x6y6, 6,
+ &(vtc_G0x6y6[0]), // expected_vtbl_contents
+ &(vtt_G0x6y6[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI6G0x6y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x6y6),4, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x6y6),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 G0x6y7 : virtual E0x6 , virtual F0 {
+ int ff;
+ ~G0x6y7(); // tgen
+ G0x6y7(); // tgen
+};
+//SIG(1 G0x6y7) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G0x6y7 ::~G0x6y7(){ note_dtor("G0x6y7", this);} // tgen
+G0x6y7 ::G0x6y7(){ note_ctor("G0x6y7", this);} // tgen
+
+static void Test_G0x6y7()
+{
+ extern Class_Descriptor cd_G0x6y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G0x6y7, buf);
+ G0x6y7 *dp, &lv = *(dp=new (buf) G0x6y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G0x6y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x6y7)");
+ check_base_class_offset(lv, (A0*)(C0*)(E0x6*), ABISELECT(24,12), "G0x6y7");
+ check_base_class_offset(lv, (B0*)(C0*)(E0x6*), ABISELECT(28,16), "G0x6y7");
+ check_base_class_offset(lv, (C0*)(E0x6*), ABISELECT(24,12), "G0x6y7");
+ check_base_class_offset(lv, (D0*)(E0x6*), ABISELECT(40,28), "G0x6y7");
+ check_base_class_offset(lv, (E0x6*), ABISELECT(16,8), "G0x6y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G0x6y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G0x6y7.ff");
+ test_class_info(&lv, &cd_G0x6y7);
+ dp->~G0x6y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x6y7(Test_G0x6y7, "G0x6y7", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G0x6y7C1Ev();
+extern void _ZN6G0x6y7D1Ev();
+Name_Map name_map_G0x6y7[] = {
+ NSPAIR(_ZN6G0x6y7C1Ev),
+ NSPAIR(_ZN6G0x6y7D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E0x6;
+extern VTBL_ENTRY _ZTI4E0x6[];
+extern VTBL_ENTRY _ZTV4E0x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G0x6y7[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E0x6, 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
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //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 _ZTI6G0x6y7[];
+static VTBL_ENTRY vtc_G0x6y7[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x6y7[0]),
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G0x6y7[0]),
+};
+extern VTBL_ENTRY _ZTV6G0x6y7[];
+static VTBL_ENTRY _tg__ZTV4E0x6__6G0x6y7[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x6[0]),
+};
+static VTT_ENTRY vtt_G0x6y7[] = {
+ {&(_ZTV6G0x6y7[5]), 5,8},
+ {&(_ZTV6G0x6y7[8]), 8,8},
+ {&(_tg__ZTV4E0x6__6G0x6y7[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G0x6y7[];
+extern VTBL_ENTRY _ZTV6G0x6y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x6y7[];
+Class_Descriptor cd_G0x6y7 = { "G0x6y7", // class name
+ bases_G0x6y7, 6,
+ &(vtc_G0x6y7[0]), // expected_vtbl_contents
+ &(vtt_G0x6y7[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G0x6y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x6y7),8, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x6y7),3, //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 E1x6 : C1 , virtual D0 {
+ int fd;
+ ~E1x6(); // tgen
+ E1x6(); // tgen
+};
+//SIG(-1 E1x6) C1{ BC2{ BC3{ v1 Fi} BC4{ Fi} Fi} VBC5{ Fi} Fi}
+
+
+E1x6 ::~E1x6(){ note_dtor("E1x6", this);} // tgen
+E1x6 ::E1x6(){ note_ctor("E1x6", this);} // tgen
+
+static void Test_E1x6()
+{
+ extern Class_Descriptor cd_E1x6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(5,7)];
+ init_test(&cd_E1x6, buf);
+ E1x6 *dp, &lv = *(dp=new (buf) E1x6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(32,24), "sizeof(E1x6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E1x6)");
+ check_base_class_offset(lv, (A1*)(C1*), 0, "E1x6");
+ check_base_class_offset(lv, (B0*)(C1*), ABISELECT(12,8), "E1x6");
+ check_base_class_offset(lv, (C1*), 0, "E1x6");
+ check_base_class_offset(lv, (D0*), ABISELECT(24,20), "E1x6");
+ check_field_offset(lv, fd, ABISELECT(20,16), "E1x6.fd");
+ test_class_info(&lv, &cd_E1x6);
+ dp->~E1x6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE1x6(Test_E1x6, "E1x6", ABISELECT(32,24));
+
+#else // __cplusplus
+
+extern void _ZN4E1x6C1Ev();
+extern void _ZN4E1x6D1Ev();
+Name_Map name_map_E1x6[] = {
+ NSPAIR(_ZN4E1x6C1Ev),
+ NSPAIR(_ZN4E1x6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E1x6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B0, ABISELECT(12,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D0, 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, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI4E1x6[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_E1x6[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E1x6[];
+static VTT_ENTRY vtt_E1x6[] = {
+ {&(_ZTV4E1x6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI4E1x6[];
+extern VTBL_ENTRY _ZTV4E1x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x6[];
+Class_Descriptor cd_E1x6 = { "E1x6", // class name
+ bases_E1x6, 4,
+ &(vtc_E1x6[0]), // expected_vtbl_contents
+ &(vtt_E1x6[0]), // expected_vtt_contents
+ ABISELECT(32,24), // object size
+ NSPAIRA(_ZTI4E1x6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E1x6),4, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E1x6),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 G1x6y0 : E1x6 , F1 {
+ int ff;
+ ~G1x6y0(); // tgen
+ G1x6y0(); // tgen
+};
+//SIG(1 G1x6y0) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G1x6y0 ::~G1x6y0(){ note_dtor("G1x6y0", this);} // tgen
+G1x6y0 ::G1x6y0(){ note_ctor("G1x6y0", this);} // tgen
+
+static void Test_G1x6y0()
+{
+ extern Class_Descriptor cd_G1x6y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G1x6y0, buf);
+ G1x6y0 *dp, &lv = *(dp=new (buf) G1x6y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G1x6y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x6y0)");
+ check_base_class_offset(lv, (A1*)(C1*)(E1x6*), 0, "G1x6y0");
+ check_base_class_offset(lv, (B0*)(C1*)(E1x6*), ABISELECT(12,8), "G1x6y0");
+ check_base_class_offset(lv, (C1*)(E1x6*), 0, "G1x6y0");
+ check_base_class_offset(lv, (D0*)(E1x6*), ABISELECT(40,32), "G1x6y0");
+ check_base_class_offset(lv, (E1x6*), 0, "G1x6y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,20), "G1x6y0");
+ check_field_offset(lv, ff, ABISELECT(36,28), "G1x6y0.ff");
+ test_class_info(&lv, &cd_G1x6y0);
+ dp->~G1x6y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x6y0(Test_G1x6y0, "G1x6y0", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G1x6y0C1Ev();
+extern void _ZN6G1x6y0D1Ev();
+Name_Map name_map_G1x6y0[] = {
+ NSPAIR(_ZN6G1x6y0C1Ev),
+ NSPAIR(_ZN6G1x6y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E1x6;
+extern VTBL_ENTRY _ZTI4E1x6[];
+extern VTBL_ENTRY _ZTV4E1x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G1x6y0[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E1x6, 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 _ZTI6G1x6y0[];
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G1x6y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x6y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI6G1x6y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x6y0[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E1x6__6G1x6y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G1x6y0[] = {
+ {&(_ZTV6G1x6y0[3]), 3,7},
+ {&(_tg__ZTV4E1x6__6G1x6y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G1x6y0[];
+extern VTBL_ENTRY _ZTV6G1x6y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x6y0[];
+Class_Descriptor cd_G1x6y0 = { "G1x6y0", // class name
+ bases_G1x6y0, 6,
+ &(vtc_G1x6y0[0]), // expected_vtbl_contents
+ &(vtt_G1x6y0[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G1x6y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x6y0),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x6y0),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 G1x6y1 : virtual E1x6 , F1 {
+ int ff;
+ ~G1x6y1(); // tgen
+ G1x6y1(); // tgen
+};
+//SIG(1 G1x6y1) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G1x6y1 ::~G1x6y1(){ note_dtor("G1x6y1", this);} // tgen
+G1x6y1 ::G1x6y1(){ note_ctor("G1x6y1", this);} // tgen
+
+static void Test_G1x6y1()
+{
+ extern Class_Descriptor cd_G1x6y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G1x6y1, buf);
+ G1x6y1 *dp, &lv = *(dp=new (buf) G1x6y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G1x6y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x6y1)");
+ check_base_class_offset(lv, (A1*)(C1*)(E1x6*), ABISELECT(16,12), "G1x6y1");
+ check_base_class_offset(lv, (B0*)(C1*)(E1x6*), ABISELECT(28,20), "G1x6y1");
+ check_base_class_offset(lv, (C1*)(E1x6*), ABISELECT(16,12), "G1x6y1");
+ check_base_class_offset(lv, (D0*)(E1x6*), ABISELECT(40,32), "G1x6y1");
+ check_base_class_offset(lv, (E1x6*), ABISELECT(16,12), "G1x6y1");
+ check_base_class_offset(lv, (F1*), 0, "G1x6y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G1x6y1.ff");
+ test_class_info(&lv, &cd_G1x6y1);
+ dp->~G1x6y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x6y1(Test_G1x6y1, "G1x6y1", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G1x6y1C1Ev();
+extern void _ZN6G1x6y1D1Ev();
+Name_Map name_map_G1x6y1[] = {
+ NSPAIR(_ZN6G1x6y1C1Ev),
+ NSPAIR(_ZN6G1x6y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E1x6;
+extern VTBL_ENTRY _ZTI4E1x6[];
+extern VTBL_ENTRY _ZTV4E1x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G1x6y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B0, ABISELECT(28,20), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C1, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E1x6, 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
+ 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 _ZTI6G1x6y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G1x6y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x6y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G1x6y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x6y1[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E1x6__6G1x6y1[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G1x6y1[] = {
+ {&(_ZTV6G1x6y1[4]), 4,10},
+ {&(_ZTV6G1x6y1[9]), 9,10},
+ {&(_tg__ZTV4E1x6__6G1x6y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G1x6y1[];
+extern VTBL_ENTRY _ZTV6G1x6y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x6y1[];
+Class_Descriptor cd_G1x6y1 = { "G1x6y1", // class name
+ bases_G1x6y1, 6,
+ &(vtc_G1x6y1[0]), // expected_vtbl_contents
+ &(vtt_G1x6y1[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G1x6y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x6y1),10, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x6y1),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 G1x6y2 : E1x6 , virtual F1 {
+ int ff;
+ ~G1x6y2(); // tgen
+ G1x6y2(); // tgen
+};
+//SIG(1 G1x6y2) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G1x6y2 ::~G1x6y2(){ note_dtor("G1x6y2", this);} // tgen
+G1x6y2 ::G1x6y2(){ note_ctor("G1x6y2", this);} // tgen
+
+static void Test_G1x6y2()
+{
+ extern Class_Descriptor cd_G1x6y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G1x6y2, buf);
+ G1x6y2 *dp, &lv = *(dp=new (buf) G1x6y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G1x6y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x6y2)");
+ check_base_class_offset(lv, (A1*)(C1*)(E1x6*), 0, "G1x6y2");
+ check_base_class_offset(lv, (B0*)(C1*)(E1x6*), ABISELECT(12,8), "G1x6y2");
+ check_base_class_offset(lv, (C1*)(E1x6*), 0, "G1x6y2");
+ check_base_class_offset(lv, (D0*)(E1x6*), ABISELECT(28,24), "G1x6y2");
+ check_base_class_offset(lv, (E1x6*), 0, "G1x6y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,28), "G1x6y2");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G1x6y2.ff");
+ test_class_info(&lv, &cd_G1x6y2);
+ dp->~G1x6y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x6y2(Test_G1x6y2, "G1x6y2", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G1x6y2C1Ev();
+extern void _ZN6G1x6y2D1Ev();
+Name_Map name_map_G1x6y2[] = {
+ NSPAIR(_ZN6G1x6y2C1Ev),
+ NSPAIR(_ZN6G1x6y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E1x6;
+extern VTBL_ENTRY _ZTI4E1x6[];
+extern VTBL_ENTRY _ZTV4E1x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G1x6y2[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E1x6, 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,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 _ZTI6G1x6y2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G1x6y2[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x6y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI6G1x6y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x6y2[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E1x6__6G1x6y2[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G1x6y2[] = {
+ {&(_ZTV6G1x6y2[4]), 4,9},
+ {&(_tg__ZTV4E1x6__6G1x6y2[3]), 3,4},
+ {&(_ZTV6G1x6y2[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI6G1x6y2[];
+extern VTBL_ENTRY _ZTV6G1x6y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x6y2[];
+Class_Descriptor cd_G1x6y2 = { "G1x6y2", // class name
+ bases_G1x6y2, 6,
+ &(vtc_G1x6y2[0]), // expected_vtbl_contents
+ &(vtt_G1x6y2[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G1x6y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x6y2),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x6y2),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 G1x6y3 : virtual E1x6 , virtual F1 {
+ int ff;
+ ~G1x6y3(); // tgen
+ G1x6y3(); // tgen
+};
+//SIG(1 G1x6y3) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G1x6y3 ::~G1x6y3(){ note_dtor("G1x6y3", this);} // tgen
+G1x6y3 ::G1x6y3(){ note_ctor("G1x6y3", this);} // tgen
+
+static void Test_G1x6y3()
+{
+ extern Class_Descriptor cd_G1x6y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G1x6y3, buf);
+ G1x6y3 *dp, &lv = *(dp=new (buf) G1x6y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G1x6y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x6y3)");
+ check_base_class_offset(lv, (A1*)(C1*)(E1x6*), ABISELECT(16,8), "G1x6y3");
+ check_base_class_offset(lv, (B0*)(C1*)(E1x6*), ABISELECT(28,16), "G1x6y3");
+ check_base_class_offset(lv, (C1*)(E1x6*), ABISELECT(16,8), "G1x6y3");
+ check_base_class_offset(lv, (D0*)(E1x6*), ABISELECT(40,28), "G1x6y3");
+ check_base_class_offset(lv, (E1x6*), ABISELECT(16,8), "G1x6y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G1x6y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G1x6y3.ff");
+ test_class_info(&lv, &cd_G1x6y3);
+ dp->~G1x6y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x6y3(Test_G1x6y3, "G1x6y3", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G1x6y3C1Ev();
+extern void _ZN6G1x6y3D1Ev();
+Name_Map name_map_G1x6y3[] = {
+ NSPAIR(_ZN6G1x6y3C1Ev),
+ NSPAIR(_ZN6G1x6y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E1x6;
+extern VTBL_ENTRY _ZTI4E1x6[];
+extern VTBL_ENTRY _ZTV4E1x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G1x6y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B0, ABISELECT(28,16), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C1, ABISELECT(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E1x6, 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_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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G1x6y3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G1x6y3[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x6y3[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G1x6y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G1x6y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x6y3[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E1x6__6G1x6y3[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G1x6y3[] = {
+ {&(_ZTV6G1x6y3[5]), 5,14},
+ {&(_ZTV6G1x6y3[9]), 9,14},
+ {&(_ZTV6G1x6y3[13]), 13,14},
+ {&(_tg__ZTV4E1x6__6G1x6y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G1x6y3[];
+extern VTBL_ENTRY _ZTV6G1x6y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x6y3[];
+Class_Descriptor cd_G1x6y3 = { "G1x6y3", // class name
+ bases_G1x6y3, 6,
+ &(vtc_G1x6y3[0]), // expected_vtbl_contents
+ &(vtt_G1x6y3[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G1x6y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x6y3),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x6y3),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 G1x6y4 : E1x6 , F0 {
+ int ff;
+ ~G1x6y4(); // tgen
+ G1x6y4(); // tgen
+};
+//SIG(1 G1x6y4) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G1x6y4 ::~G1x6y4(){ note_dtor("G1x6y4", this);} // tgen
+G1x6y4 ::G1x6y4(){ note_ctor("G1x6y4", this);} // tgen
+
+static void Test_G1x6y4()
+{
+ extern Class_Descriptor cd_G1x6y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G1x6y4, buf);
+ G1x6y4 *dp, &lv = *(dp=new (buf) G1x6y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G1x6y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x6y4)");
+ check_base_class_offset(lv, (A1*)(C1*)(E1x6*), 0, "G1x6y4");
+ check_base_class_offset(lv, (B0*)(C1*)(E1x6*), ABISELECT(12,8), "G1x6y4");
+ check_base_class_offset(lv, (C1*)(E1x6*), 0, "G1x6y4");
+ check_base_class_offset(lv, (D0*)(E1x6*), ABISELECT(32,28), "G1x6y4");
+ check_base_class_offset(lv, (E1x6*), 0, "G1x6y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(24,20), "G1x6y4");
+ check_field_offset(lv, ff, ABISELECT(28,24), "G1x6y4.ff");
+ test_class_info(&lv, &cd_G1x6y4);
+ dp->~G1x6y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x6y4(Test_G1x6y4, "G1x6y4", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN6G1x6y4C1Ev();
+extern void _ZN6G1x6y4D1Ev();
+Name_Map name_map_G1x6y4[] = {
+ NSPAIR(_ZN6G1x6y4C1Ev),
+ NSPAIR(_ZN6G1x6y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E1x6;
+extern VTBL_ENTRY _ZTI4E1x6[];
+extern VTBL_ENTRY _ZTV4E1x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G1x6y4[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E1x6, 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 _ZTI6G1x6y4[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G1x6y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x6y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x6y4[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E1x6__6G1x6y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G1x6y4[] = {
+ {&(_ZTV6G1x6y4[3]), 3,4},
+ {&(_tg__ZTV4E1x6__6G1x6y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G1x6y4[];
+extern VTBL_ENTRY _ZTV6G1x6y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x6y4[];
+Class_Descriptor cd_G1x6y4 = { "G1x6y4", // class name
+ bases_G1x6y4, 6,
+ &(vtc_G1x6y4[0]), // expected_vtbl_contents
+ &(vtt_G1x6y4[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI6G1x6y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x6y4),4, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x6y4),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 G1x6y5 : virtual E1x6 , F0 {
+ int ff;
+ ~G1x6y5(); // tgen
+ G1x6y5(); // tgen
+};
+//SIG(1 G1x6y5) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G1x6y5 ::~G1x6y5(){ note_dtor("G1x6y5", this);} // tgen
+G1x6y5 ::G1x6y5(){ note_ctor("G1x6y5", this);} // tgen
+
+static void Test_G1x6y5()
+{
+ extern Class_Descriptor cd_G1x6y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G1x6y5, buf);
+ G1x6y5 *dp, &lv = *(dp=new (buf) G1x6y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G1x6y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x6y5)");
+ check_base_class_offset(lv, (A1*)(C1*)(E1x6*), ABISELECT(16,12), "G1x6y5");
+ check_base_class_offset(lv, (B0*)(C1*)(E1x6*), ABISELECT(28,20), "G1x6y5");
+ check_base_class_offset(lv, (C1*)(E1x6*), ABISELECT(16,12), "G1x6y5");
+ check_base_class_offset(lv, (D0*)(E1x6*), ABISELECT(40,32), "G1x6y5");
+ check_base_class_offset(lv, (E1x6*), ABISELECT(16,12), "G1x6y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G1x6y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G1x6y5.ff");
+ test_class_info(&lv, &cd_G1x6y5);
+ dp->~G1x6y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x6y5(Test_G1x6y5, "G1x6y5", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G1x6y5C1Ev();
+extern void _ZN6G1x6y5D1Ev();
+Name_Map name_map_G1x6y5[] = {
+ NSPAIR(_ZN6G1x6y5C1Ev),
+ NSPAIR(_ZN6G1x6y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E1x6;
+extern VTBL_ENTRY _ZTI4E1x6[];
+extern VTBL_ENTRY _ZTV4E1x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G1x6y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B0, ABISELECT(28,20), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C1, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E1x6, 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
+ 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 _ZTI6G1x6y5[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G1x6y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x6y5[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G1x6y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x6y5[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E1x6__6G1x6y5[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G1x6y5[] = {
+ {&(_ZTV6G1x6y5[4]), 4,9},
+ {&(_ZTV6G1x6y5[8]), 8,9},
+ {&(_tg__ZTV4E1x6__6G1x6y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G1x6y5[];
+extern VTBL_ENTRY _ZTV6G1x6y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x6y5[];
+Class_Descriptor cd_G1x6y5 = { "G1x6y5", // class name
+ bases_G1x6y5, 6,
+ &(vtc_G1x6y5[0]), // expected_vtbl_contents
+ &(vtt_G1x6y5[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G1x6y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x6y5),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x6y5),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 G1x6y6 : E1x6 , virtual F0 {
+ int ff;
+ ~G1x6y6(); // tgen
+ G1x6y6(); // tgen
+};
+//SIG(1 G1x6y6) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G1x6y6 ::~G1x6y6(){ note_dtor("G1x6y6", this);} // tgen
+G1x6y6 ::G1x6y6(){ note_ctor("G1x6y6", this);} // tgen
+
+static void Test_G1x6y6()
+{
+ extern Class_Descriptor cd_G1x6y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G1x6y6, buf);
+ G1x6y6 *dp, &lv = *(dp=new (buf) G1x6y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G1x6y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x6y6)");
+ check_base_class_offset(lv, (A1*)(C1*)(E1x6*), 0, "G1x6y6");
+ check_base_class_offset(lv, (B0*)(C1*)(E1x6*), ABISELECT(12,8), "G1x6y6");
+ check_base_class_offset(lv, (C1*)(E1x6*), 0, "G1x6y6");
+ check_base_class_offset(lv, (D0*)(E1x6*), ABISELECT(28,24), "G1x6y6");
+ check_base_class_offset(lv, (E1x6*), 0, "G1x6y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,28), "G1x6y6");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G1x6y6.ff");
+ test_class_info(&lv, &cd_G1x6y6);
+ dp->~G1x6y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x6y6(Test_G1x6y6, "G1x6y6", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN6G1x6y6C1Ev();
+extern void _ZN6G1x6y6D1Ev();
+Name_Map name_map_G1x6y6[] = {
+ NSPAIR(_ZN6G1x6y6C1Ev),
+ NSPAIR(_ZN6G1x6y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E1x6;
+extern VTBL_ENTRY _ZTI4E1x6[];
+extern VTBL_ENTRY _ZTV4E1x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G1x6y6[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E1x6, 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,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 _ZTI6G1x6y6[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G1x6y6[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x6y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x6y6[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E1x6__6G1x6y6[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G1x6y6[] = {
+ {&(_ZTV6G1x6y6[4]), 4,5},
+ {&(_tg__ZTV4E1x6__6G1x6y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G1x6y6[];
+extern VTBL_ENTRY _ZTV6G1x6y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x6y6[];
+Class_Descriptor cd_G1x6y6 = { "G1x6y6", // class name
+ bases_G1x6y6, 6,
+ &(vtc_G1x6y6[0]), // expected_vtbl_contents
+ &(vtt_G1x6y6[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI6G1x6y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x6y6),5, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x6y6),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 G1x6y7 : virtual E1x6 , virtual F0 {
+ int ff;
+ ~G1x6y7(); // tgen
+ G1x6y7(); // tgen
+};
+//SIG(1 G1x6y7) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G1x6y7 ::~G1x6y7(){ note_dtor("G1x6y7", this);} // tgen
+G1x6y7 ::G1x6y7(){ note_ctor("G1x6y7", this);} // tgen
+
+static void Test_G1x6y7()
+{
+ extern Class_Descriptor cd_G1x6y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G1x6y7, buf);
+ G1x6y7 *dp, &lv = *(dp=new (buf) G1x6y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G1x6y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x6y7)");
+ check_base_class_offset(lv, (A1*)(C1*)(E1x6*), ABISELECT(16,8), "G1x6y7");
+ check_base_class_offset(lv, (B0*)(C1*)(E1x6*), ABISELECT(28,16), "G1x6y7");
+ check_base_class_offset(lv, (C1*)(E1x6*), ABISELECT(16,8), "G1x6y7");
+ check_base_class_offset(lv, (D0*)(E1x6*), ABISELECT(40,28), "G1x6y7");
+ check_base_class_offset(lv, (E1x6*), ABISELECT(16,8), "G1x6y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G1x6y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G1x6y7.ff");
+ test_class_info(&lv, &cd_G1x6y7);
+ dp->~G1x6y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x6y7(Test_G1x6y7, "G1x6y7", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G1x6y7C1Ev();
+extern void _ZN6G1x6y7D1Ev();
+Name_Map name_map_G1x6y7[] = {
+ NSPAIR(_ZN6G1x6y7C1Ev),
+ NSPAIR(_ZN6G1x6y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E1x6;
+extern VTBL_ENTRY _ZTI4E1x6[];
+extern VTBL_ENTRY _ZTV4E1x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G1x6y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A1, ABISELECT(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B0, ABISELECT(28,16), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C1, ABISELECT(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E1x6, 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
+ 3, //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 _ZTI6G1x6y7[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G1x6y7[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x6y7[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G1x6y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x6y7[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E1x6__6G1x6y7[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G1x6y7[] = {
+ {&(_ZTV6G1x6y7[5]), 5,10},
+ {&(_ZTV6G1x6y7[9]), 9,10},
+ {&(_tg__ZTV4E1x6__6G1x6y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G1x6y7[];
+extern VTBL_ENTRY _ZTV6G1x6y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x6y7[];
+Class_Descriptor cd_G1x6y7 = { "G1x6y7", // class name
+ bases_G1x6y7, 6,
+ &(vtc_G1x6y7[0]), // expected_vtbl_contents
+ &(vtt_G1x6y7[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G1x6y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x6y7),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x6y7),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 E2x6 : C2 , virtual D0 {
+ int fd;
+ ~E2x6(); // tgen
+ E2x6(); // tgen
+};
+//SIG(-1 E2x6) C1{ BC2{ VBC3{ Fi} BC4{ Fi} Fi} VBC5{ Fi} Fi}
+
+
+E2x6 ::~E2x6(){ note_dtor("E2x6", this);} // tgen
+E2x6 ::E2x6(){ note_ctor("E2x6", this);} // tgen
+
+static void Test_E2x6()
+{
+ extern Class_Descriptor cd_E2x6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(5,7)];
+ init_test(&cd_E2x6, buf);
+ E2x6 *dp, &lv = *(dp=new (buf) E2x6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(32,24), "sizeof(E2x6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E2x6)");
+ check_base_class_offset(lv, (A0*)(C2*), ABISELECT(20,16), "E2x6");
+ check_base_class_offset(lv, (B0*)(C2*), ABISELECT(8,4), "E2x6");
+ check_base_class_offset(lv, (C2*), 0, "E2x6");
+ check_base_class_offset(lv, (D0*), ABISELECT(24,20), "E2x6");
+ check_field_offset(lv, fd, ABISELECT(16,12), "E2x6.fd");
+ test_class_info(&lv, &cd_E2x6);
+ dp->~E2x6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE2x6(Test_E2x6, "E2x6", ABISELECT(32,24));
+
+#else // __cplusplus
+
+extern void _ZN4E2x6C1Ev();
+extern void _ZN4E2x6D1Ev();
+Name_Map name_map_E2x6[] = {
+ NSPAIR(_ZN4E2x6C1Ev),
+ NSPAIR(_ZN4E2x6D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E2x6[] = {
+ // 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
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D0, 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, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI4E2x6[];
+static VTBL_ENTRY vtc_E2x6[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x6[0]),
+};
+extern VTBL_ENTRY _ZTV4E2x6[];
+static VTBL_ENTRY _tg__ZTV2C2__4E2x6[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_E2x6[] = {
+ {&(_ZTV4E2x6[4]), 4,4},
+ {&(_tg__ZTV2C2__4E2x6[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI4E2x6[];
+extern VTBL_ENTRY _ZTV4E2x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x6[];
+Class_Descriptor cd_E2x6 = { "E2x6", // class name
+ bases_E2x6, 4,
+ &(vtc_E2x6[0]), // expected_vtbl_contents
+ &(vtt_E2x6[0]), // expected_vtt_contents
+ ABISELECT(32,24), // object size
+ NSPAIRA(_ZTI4E2x6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E2x6),4, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E2x6),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 G2x6y0 : E2x6 , F1 {
+ int ff;
+ ~G2x6y0(); // tgen
+ G2x6y0(); // tgen
+};
+//SIG(1 G2x6y0) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ v1 Fi} Fi}
+
+
+G2x6y0 ::~G2x6y0(){ note_dtor("G2x6y0", this);} // tgen
+G2x6y0 ::G2x6y0(){ note_ctor("G2x6y0", this);} // tgen
+
+static void Test_G2x6y0()
+{
+ extern Class_Descriptor cd_G2x6y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G2x6y0, buf);
+ G2x6y0 *dp, &lv = *(dp=new (buf) G2x6y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G2x6y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x6y0)");
+ check_base_class_offset(lv, (A0*)(C2*)(E2x6*), ABISELECT(40,28), "G2x6y0");
+ check_base_class_offset(lv, (B0*)(C2*)(E2x6*), ABISELECT(8,4), "G2x6y0");
+ check_base_class_offset(lv, (C2*)(E2x6*), 0, "G2x6y0");
+ check_base_class_offset(lv, (D0*)(E2x6*), ABISELECT(44,32), "G2x6y0");
+ check_base_class_offset(lv, (E2x6*), 0, "G2x6y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,16), "G2x6y0");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G2x6y0.ff");
+ test_class_info(&lv, &cd_G2x6y0);
+ dp->~G2x6y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x6y0(Test_G2x6y0, "G2x6y0", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G2x6y0C1Ev();
+extern void _ZN6G2x6y0D1Ev();
+Name_Map name_map_G2x6y0[] = {
+ NSPAIR(_ZN6G2x6y0C1Ev),
+ NSPAIR(_ZN6G2x6y0D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E2x6;
+extern VTBL_ENTRY _ZTI4E2x6[];
+extern VTBL_ENTRY _ZTV4E2x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G2x6y0[] = {
+ // 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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E2x6, 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(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
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G2x6y0[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G2x6y0[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x6y0[0]),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G2x6y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G2x6y0[];
+static VTBL_ENTRY _tg__ZTV4E2x6__6G2x6y0[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C24E2x6__6G2x6y0[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x6y0[] = {
+ {&(_ZTV6G2x6y0[4]), 4,7},
+ {&(_tg__ZTV4E2x6__6G2x6y0[4]), 4,4},
+ {&(_tg__ZTV2C24E2x6__6G2x6y0[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x6y0[];
+extern VTBL_ENTRY _ZTV6G2x6y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x6y0[];
+Class_Descriptor cd_G2x6y0 = { "G2x6y0", // class name
+ bases_G2x6y0, 6,
+ &(vtc_G2x6y0[0]), // expected_vtbl_contents
+ &(vtt_G2x6y0[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G2x6y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x6y0),7, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x6y0),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 G2x6y1 : virtual E2x6 , F1 {
+ int ff;
+ ~G2x6y1(); // tgen
+ G2x6y1(); // tgen
+};
+//SIG(1 G2x6y1) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ v1 Fi} Fi}
+
+
+G2x6y1 ::~G2x6y1(){ note_dtor("G2x6y1", this);} // tgen
+G2x6y1 ::G2x6y1(){ note_ctor("G2x6y1", this);} // tgen
+
+static void Test_G2x6y1()
+{
+ extern Class_Descriptor cd_G2x6y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G2x6y1, buf);
+ G2x6y1 *dp, &lv = *(dp=new (buf) G2x6y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G2x6y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x6y1)");
+ check_base_class_offset(lv, (A0*)(C2*)(E2x6*), ABISELECT(36,28), "G2x6y1");
+ check_base_class_offset(lv, (B0*)(C2*)(E2x6*), ABISELECT(24,16), "G2x6y1");
+ check_base_class_offset(lv, (C2*)(E2x6*), ABISELECT(16,12), "G2x6y1");
+ check_base_class_offset(lv, (D0*)(E2x6*), ABISELECT(40,32), "G2x6y1");
+ check_base_class_offset(lv, (E2x6*), ABISELECT(16,12), "G2x6y1");
+ check_base_class_offset(lv, (F1*), 0, "G2x6y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G2x6y1.ff");
+ test_class_info(&lv, &cd_G2x6y1);
+ dp->~G2x6y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x6y1(Test_G2x6y1, "G2x6y1", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G2x6y1C1Ev();
+extern void _ZN6G2x6y1D1Ev();
+Name_Map name_map_G2x6y1[] = {
+ NSPAIR(_ZN6G2x6y1C1Ev),
+ NSPAIR(_ZN6G2x6y1D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E2x6;
+extern VTBL_ENTRY _ZTI4E2x6[];
+extern VTBL_ENTRY _ZTV4E2x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G2x6y1[] = {
+ // 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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E2x6, 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
+ 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 _ZTI6G2x6y1[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G2x6y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x6y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G2x6y1[0]),
+};
+extern VTBL_ENTRY _ZTV6G2x6y1[];
+static VTBL_ENTRY _tg__ZTV4E2x6__6G2x6y1[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C24E2x6__6G2x6y1[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x6y1[] = {
+ {&(_ZTV6G2x6y1[5]), 5,10},
+ {&(_ZTV6G2x6y1[10]), 10,10},
+ {&(_tg__ZTV4E2x6__6G2x6y1[4]), 4,4},
+ {&(_tg__ZTV2C24E2x6__6G2x6y1[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x6y1[];
+extern VTBL_ENTRY _ZTV6G2x6y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x6y1[];
+Class_Descriptor cd_G2x6y1 = { "G2x6y1", // class name
+ bases_G2x6y1, 6,
+ &(vtc_G2x6y1[0]), // expected_vtbl_contents
+ &(vtt_G2x6y1[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G2x6y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x6y1),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x6y1),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 G2x6y2 : E2x6 , virtual F1 {
+ int ff;
+ ~G2x6y2(); // tgen
+ G2x6y2(); // tgen
+};
+//SIG(1 G2x6y2) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ v1 Fi} Fi}
+
+
+G2x6y2 ::~G2x6y2(){ note_dtor("G2x6y2", this);} // tgen
+G2x6y2 ::G2x6y2(){ note_ctor("G2x6y2", this);} // tgen
+
+static void Test_G2x6y2()
+{
+ extern Class_Descriptor cd_G2x6y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G2x6y2, buf);
+ G2x6y2 *dp, &lv = *(dp=new (buf) G2x6y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G2x6y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x6y2)");
+ check_base_class_offset(lv, (A0*)(C2*)(E2x6*), ABISELECT(24,20), "G2x6y2");
+ check_base_class_offset(lv, (B0*)(C2*)(E2x6*), ABISELECT(8,4), "G2x6y2");
+ check_base_class_offset(lv, (C2*)(E2x6*), 0, "G2x6y2");
+ check_base_class_offset(lv, (D0*)(E2x6*), ABISELECT(28,24), "G2x6y2");
+ check_base_class_offset(lv, (E2x6*), 0, "G2x6y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,28), "G2x6y2");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G2x6y2.ff");
+ test_class_info(&lv, &cd_G2x6y2);
+ dp->~G2x6y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x6y2(Test_G2x6y2, "G2x6y2", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G2x6y2C1Ev();
+extern void _ZN6G2x6y2D1Ev();
+Name_Map name_map_G2x6y2[] = {
+ NSPAIR(_ZN6G2x6y2C1Ev),
+ NSPAIR(_ZN6G2x6y2D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E2x6;
+extern VTBL_ENTRY _ZTI4E2x6[];
+extern VTBL_ENTRY _ZTV4E2x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G2x6y2[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E2x6, 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,28), //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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G2x6y2[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G2x6y2[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x6y2[0]),
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI6G2x6y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G2x6y2[];
+static VTBL_ENTRY _tg__ZTV4E2x6__6G2x6y2[] = {
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C24E2x6__6G2x6y2[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x6y2[] = {
+ {&(_ZTV6G2x6y2[5]), 5,9},
+ {&(_tg__ZTV4E2x6__6G2x6y2[4]), 4,4},
+ {&(_tg__ZTV2C24E2x6__6G2x6y2[3]), 3,3},
+ {&(_ZTV6G2x6y2[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI6G2x6y2[];
+extern VTBL_ENTRY _ZTV6G2x6y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x6y2[];
+Class_Descriptor cd_G2x6y2 = { "G2x6y2", // class name
+ bases_G2x6y2, 6,
+ &(vtc_G2x6y2[0]), // expected_vtbl_contents
+ &(vtt_G2x6y2[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G2x6y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x6y2),9, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x6y2),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 G2x6y3 : virtual E2x6 , virtual F1 {
+ int ff;
+ ~G2x6y3(); // tgen
+ G2x6y3(); // tgen
+};
+//SIG(1 G2x6y3) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ v1 Fi} Fi}
+
+
+G2x6y3 ::~G2x6y3(){ note_dtor("G2x6y3", this);} // tgen
+G2x6y3 ::G2x6y3(){ note_ctor("G2x6y3", this);} // tgen
+
+static void Test_G2x6y3()
+{
+ extern Class_Descriptor cd_G2x6y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G2x6y3, buf);
+ G2x6y3 *dp, &lv = *(dp=new (buf) G2x6y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G2x6y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x6y3)");
+ check_base_class_offset(lv, (A0*)(C2*)(E2x6*), ABISELECT(36,24), "G2x6y3");
+ check_base_class_offset(lv, (B0*)(C2*)(E2x6*), ABISELECT(24,12), "G2x6y3");
+ check_base_class_offset(lv, (C2*)(E2x6*), ABISELECT(16,8), "G2x6y3");
+ check_base_class_offset(lv, (D0*)(E2x6*), ABISELECT(40,28), "G2x6y3");
+ check_base_class_offset(lv, (E2x6*), ABISELECT(16,8), "G2x6y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G2x6y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G2x6y3.ff");
+ test_class_info(&lv, &cd_G2x6y3);
+ dp->~G2x6y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x6y3(Test_G2x6y3, "G2x6y3", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G2x6y3C1Ev();
+extern void _ZN6G2x6y3D1Ev();
+Name_Map name_map_G2x6y3[] = {
+ NSPAIR(_ZN6G2x6y3C1Ev),
+ NSPAIR(_ZN6G2x6y3D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E2x6;
+extern VTBL_ENTRY _ZTI4E2x6[];
+extern VTBL_ENTRY _ZTV4E2x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G2x6y3[] = {
+ // 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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E2x6, 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_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 _ZTI6G2x6y3[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G2x6y3[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x6y3[0]),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G2x6y3[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G2x6y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G2x6y3[];
+static VTBL_ENTRY _tg__ZTV4E2x6__6G2x6y3[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C24E2x6__6G2x6y3[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x6y3[] = {
+ {&(_ZTV6G2x6y3[6]), 6,14},
+ {&(_ZTV6G2x6y3[10]), 10,14},
+ {&(_ZTV6G2x6y3[13]), 13,14},
+ {&(_tg__ZTV4E2x6__6G2x6y3[4]), 4,4},
+ {&(_tg__ZTV2C24E2x6__6G2x6y3[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x6y3[];
+extern VTBL_ENTRY _ZTV6G2x6y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x6y3[];
+Class_Descriptor cd_G2x6y3 = { "G2x6y3", // class name
+ bases_G2x6y3, 6,
+ &(vtc_G2x6y3[0]), // expected_vtbl_contents
+ &(vtt_G2x6y3[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G2x6y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x6y3),14, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x6y3),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 G2x6y4 : E2x6 , F0 {
+ int ff;
+ ~G2x6y4(); // tgen
+ G2x6y4(); // tgen
+};
+//SIG(1 G2x6y4) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G2x6y4 ::~G2x6y4(){ note_dtor("G2x6y4", this);} // tgen
+G2x6y4 ::G2x6y4(){ note_ctor("G2x6y4", this);} // tgen
+
+static void Test_G2x6y4()
+{
+ extern Class_Descriptor cd_G2x6y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G2x6y4, buf);
+ G2x6y4 *dp, &lv = *(dp=new (buf) G2x6y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G2x6y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x6y4)");
+ check_base_class_offset(lv, (A0*)(C2*)(E2x6*), ABISELECT(28,24), "G2x6y4");
+ check_base_class_offset(lv, (B0*)(C2*)(E2x6*), ABISELECT(8,4), "G2x6y4");
+ check_base_class_offset(lv, (C2*)(E2x6*), 0, "G2x6y4");
+ check_base_class_offset(lv, (D0*)(E2x6*), ABISELECT(32,28), "G2x6y4");
+ check_base_class_offset(lv, (E2x6*), 0, "G2x6y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(20,16), "G2x6y4");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G2x6y4.ff");
+ test_class_info(&lv, &cd_G2x6y4);
+ dp->~G2x6y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x6y4(Test_G2x6y4, "G2x6y4", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN6G2x6y4C1Ev();
+extern void _ZN6G2x6y4D1Ev();
+Name_Map name_map_G2x6y4[] = {
+ NSPAIR(_ZN6G2x6y4C1Ev),
+ NSPAIR(_ZN6G2x6y4D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E2x6;
+extern VTBL_ENTRY _ZTI4E2x6[];
+extern VTBL_ENTRY _ZTV4E2x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G2x6y4[] = {
+ // 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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E2x6, 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(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 _ZTI6G2x6y4[];
+static VTBL_ENTRY vtc_G2x6y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x6y4[0]),
+};
+extern VTBL_ENTRY _ZTV6G2x6y4[];
+static VTBL_ENTRY _tg__ZTV4E2x6__6G2x6y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C24E2x6__6G2x6y4[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x6y4[] = {
+ {&(_ZTV6G2x6y4[4]), 4,4},
+ {&(_tg__ZTV4E2x6__6G2x6y4[4]), 4,4},
+ {&(_tg__ZTV2C24E2x6__6G2x6y4[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x6y4[];
+extern VTBL_ENTRY _ZTV6G2x6y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x6y4[];
+Class_Descriptor cd_G2x6y4 = { "G2x6y4", // class name
+ bases_G2x6y4, 6,
+ &(vtc_G2x6y4[0]), // expected_vtbl_contents
+ &(vtt_G2x6y4[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI6G2x6y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x6y4),4, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x6y4),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 G2x6y5 : virtual E2x6 , F0 {
+ int ff;
+ ~G2x6y5(); // tgen
+ G2x6y5(); // tgen
+};
+//SIG(1 G2x6y5) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G2x6y5 ::~G2x6y5(){ note_dtor("G2x6y5", this);} // tgen
+G2x6y5 ::G2x6y5(){ note_ctor("G2x6y5", this);} // tgen
+
+static void Test_G2x6y5()
+{
+ extern Class_Descriptor cd_G2x6y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G2x6y5, buf);
+ G2x6y5 *dp, &lv = *(dp=new (buf) G2x6y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G2x6y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x6y5)");
+ check_base_class_offset(lv, (A0*)(C2*)(E2x6*), ABISELECT(36,28), "G2x6y5");
+ check_base_class_offset(lv, (B0*)(C2*)(E2x6*), ABISELECT(24,16), "G2x6y5");
+ check_base_class_offset(lv, (C2*)(E2x6*), ABISELECT(16,12), "G2x6y5");
+ check_base_class_offset(lv, (D0*)(E2x6*), ABISELECT(40,32), "G2x6y5");
+ check_base_class_offset(lv, (E2x6*), ABISELECT(16,12), "G2x6y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G2x6y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G2x6y5.ff");
+ test_class_info(&lv, &cd_G2x6y5);
+ dp->~G2x6y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x6y5(Test_G2x6y5, "G2x6y5", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G2x6y5C1Ev();
+extern void _ZN6G2x6y5D1Ev();
+Name_Map name_map_G2x6y5[] = {
+ NSPAIR(_ZN6G2x6y5C1Ev),
+ NSPAIR(_ZN6G2x6y5D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E2x6;
+extern VTBL_ENTRY _ZTI4E2x6[];
+extern VTBL_ENTRY _ZTV4E2x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G2x6y5[] = {
+ // 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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E2x6, 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_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 _ZTI6G2x6y5[];
+static VTBL_ENTRY vtc_G2x6y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x6y5[0]),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G2x6y5[0]),
+};
+extern VTBL_ENTRY _ZTV6G2x6y5[];
+static VTBL_ENTRY _tg__ZTV4E2x6__6G2x6y5[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C24E2x6__6G2x6y5[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x6y5[] = {
+ {&(_ZTV6G2x6y5[5]), 5,9},
+ {&(_ZTV6G2x6y5[9]), 9,9},
+ {&(_tg__ZTV4E2x6__6G2x6y5[4]), 4,4},
+ {&(_tg__ZTV2C24E2x6__6G2x6y5[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x6y5[];
+extern VTBL_ENTRY _ZTV6G2x6y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x6y5[];
+Class_Descriptor cd_G2x6y5 = { "G2x6y5", // class name
+ bases_G2x6y5, 6,
+ &(vtc_G2x6y5[0]), // expected_vtbl_contents
+ &(vtt_G2x6y5[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G2x6y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x6y5),9, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x6y5),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 G2x6y6 : E2x6 , virtual F0 {
+ int ff;
+ ~G2x6y6(); // tgen
+ G2x6y6(); // tgen
+};
+//SIG(1 G2x6y6) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G2x6y6 ::~G2x6y6(){ note_dtor("G2x6y6", this);} // tgen
+G2x6y6 ::G2x6y6(){ note_ctor("G2x6y6", this);} // tgen
+
+static void Test_G2x6y6()
+{
+ extern Class_Descriptor cd_G2x6y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G2x6y6, buf);
+ G2x6y6 *dp, &lv = *(dp=new (buf) G2x6y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G2x6y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x6y6)");
+ check_base_class_offset(lv, (A0*)(C2*)(E2x6*), ABISELECT(24,20), "G2x6y6");
+ check_base_class_offset(lv, (B0*)(C2*)(E2x6*), ABISELECT(8,4), "G2x6y6");
+ check_base_class_offset(lv, (C2*)(E2x6*), 0, "G2x6y6");
+ check_base_class_offset(lv, (D0*)(E2x6*), ABISELECT(28,24), "G2x6y6");
+ check_base_class_offset(lv, (E2x6*), 0, "G2x6y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,28), "G2x6y6");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G2x6y6.ff");
+ test_class_info(&lv, &cd_G2x6y6);
+ dp->~G2x6y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x6y6(Test_G2x6y6, "G2x6y6", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN6G2x6y6C1Ev();
+extern void _ZN6G2x6y6D1Ev();
+Name_Map name_map_G2x6y6[] = {
+ NSPAIR(_ZN6G2x6y6C1Ev),
+ NSPAIR(_ZN6G2x6y6D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E2x6;
+extern VTBL_ENTRY _ZTI4E2x6[];
+extern VTBL_ENTRY _ZTV4E2x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G2x6y6[] = {
+ // 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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E2x6, 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(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 _ZTI6G2x6y6[];
+static VTBL_ENTRY vtc_G2x6y6[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x6y6[0]),
+};
+extern VTBL_ENTRY _ZTV6G2x6y6[];
+static VTBL_ENTRY _tg__ZTV4E2x6__6G2x6y6[] = {
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C24E2x6__6G2x6y6[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x6y6[] = {
+ {&(_ZTV6G2x6y6[5]), 5,5},
+ {&(_tg__ZTV4E2x6__6G2x6y6[4]), 4,4},
+ {&(_tg__ZTV2C24E2x6__6G2x6y6[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x6y6[];
+extern VTBL_ENTRY _ZTV6G2x6y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x6y6[];
+Class_Descriptor cd_G2x6y6 = { "G2x6y6", // class name
+ bases_G2x6y6, 6,
+ &(vtc_G2x6y6[0]), // expected_vtbl_contents
+ &(vtt_G2x6y6[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI6G2x6y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x6y6),5, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x6y6),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 G2x6y7 : virtual E2x6 , virtual F0 {
+ int ff;
+ ~G2x6y7(); // tgen
+ G2x6y7(); // tgen
+};
+//SIG(1 G2x6y7) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G2x6y7 ::~G2x6y7(){ note_dtor("G2x6y7", this);} // tgen
+G2x6y7 ::G2x6y7(){ note_ctor("G2x6y7", this);} // tgen
+
+static void Test_G2x6y7()
+{
+ extern Class_Descriptor cd_G2x6y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G2x6y7, buf);
+ G2x6y7 *dp, &lv = *(dp=new (buf) G2x6y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G2x6y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x6y7)");
+ check_base_class_offset(lv, (A0*)(C2*)(E2x6*), ABISELECT(36,24), "G2x6y7");
+ check_base_class_offset(lv, (B0*)(C2*)(E2x6*), ABISELECT(24,12), "G2x6y7");
+ check_base_class_offset(lv, (C2*)(E2x6*), ABISELECT(16,8), "G2x6y7");
+ check_base_class_offset(lv, (D0*)(E2x6*), ABISELECT(40,28), "G2x6y7");
+ check_base_class_offset(lv, (E2x6*), ABISELECT(16,8), "G2x6y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G2x6y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G2x6y7.ff");
+ test_class_info(&lv, &cd_G2x6y7);
+ dp->~G2x6y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x6y7(Test_G2x6y7, "G2x6y7", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G2x6y7C1Ev();
+extern void _ZN6G2x6y7D1Ev();
+Name_Map name_map_G2x6y7[] = {
+ NSPAIR(_ZN6G2x6y7C1Ev),
+ NSPAIR(_ZN6G2x6y7D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E2x6;
+extern VTBL_ENTRY _ZTI4E2x6[];
+extern VTBL_ENTRY _ZTV4E2x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G2x6y7[] = {
+ // 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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E2x6, 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
+ 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 _ZTI6G2x6y7[];
+static VTBL_ENTRY vtc_G2x6y7[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x6y7[0]),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G2x6y7[0]),
+};
+extern VTBL_ENTRY _ZTV6G2x6y7[];
+static VTBL_ENTRY _tg__ZTV4E2x6__6G2x6y7[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C24E2x6__6G2x6y7[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x6y7[] = {
+ {&(_ZTV6G2x6y7[6]), 6,10},
+ {&(_ZTV6G2x6y7[10]), 10,10},
+ {&(_tg__ZTV4E2x6__6G2x6y7[4]), 4,4},
+ {&(_tg__ZTV2C24E2x6__6G2x6y7[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x6y7[];
+extern VTBL_ENTRY _ZTV6G2x6y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x6y7[];
+Class_Descriptor cd_G2x6y7 = { "G2x6y7", // class name
+ bases_G2x6y7, 6,
+ &(vtc_G2x6y7[0]), // expected_vtbl_contents
+ &(vtt_G2x6y7[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G2x6y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x6y7),10, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x6y7),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 E3x6 : C3 , virtual D0 {
+ int fd;
+ ~E3x6(); // tgen
+ E3x6(); // tgen
+};
+//SIG(-1 E3x6) C1{ BC2{ VBC3{ v1 Fi} BC4{ Fi} Fi} VBC5{ Fi} Fi}
+
+
+E3x6 ::~E3x6(){ note_dtor("E3x6", this);} // tgen
+E3x6 ::E3x6(){ note_ctor("E3x6", this);} // tgen
+
+static void Test_E3x6()
+{
+ extern Class_Descriptor cd_E3x6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E3x6, buf);
+ E3x6 *dp, &lv = *(dp=new (buf) E3x6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E3x6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E3x6)");
+ check_base_class_offset(lv, (A1*)(C3*), ABISELECT(24,16), "E3x6");
+ check_base_class_offset(lv, (B0*)(C3*), ABISELECT(8,4), "E3x6");
+ check_base_class_offset(lv, (C3*), 0, "E3x6");
+ check_base_class_offset(lv, (D0*), ABISELECT(36,24), "E3x6");
+ check_field_offset(lv, fd, ABISELECT(16,12), "E3x6.fd");
+ test_class_info(&lv, &cd_E3x6);
+ dp->~E3x6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE3x6(Test_E3x6, "E3x6", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN4E3x6C1Ev();
+extern void _ZN4E3x6D1Ev();
+Name_Map name_map_E3x6[] = {
+ NSPAIR(_ZN4E3x6C1Ev),
+ NSPAIR(_ZN4E3x6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E3x6[] = {
+ // 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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D0, 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, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI4E3x6[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_E3x6[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x6[0]),
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E3x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E3x6[];
+static VTBL_ENTRY _tg__ZTV2C3__4E3x6[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C3__4E3x6[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_E3x6[] = {
+ {&(_ZTV4E3x6[4]), 4,8},
+ {&(_tg__ZTV2C3__4E3x6[3]), 3,3},
+ {&(_tg__ZTV2A1__2C3__4E3x6[3]), 3,4},
+ {&(_ZTV4E3x6[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI4E3x6[];
+extern VTBL_ENTRY _ZTV4E3x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x6[];
+Class_Descriptor cd_E3x6 = { "E3x6", // class name
+ bases_E3x6, 4,
+ &(vtc_E3x6[0]), // expected_vtbl_contents
+ &(vtt_E3x6[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI4E3x6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E3x6),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E3x6),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 G3x6y0 : E3x6 , F1 {
+ int ff;
+ ~G3x6y0(); // tgen
+ G3x6y0(); // tgen
+};
+//SIG(1 G3x6y0) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G3x6y0 ::~G3x6y0(){ note_dtor("G3x6y0", this);} // tgen
+G3x6y0 ::G3x6y0(){ note_ctor("G3x6y0", this);} // tgen
+
+static void Test_G3x6y0()
+{
+ extern Class_Descriptor cd_G3x6y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G3x6y0, buf);
+ G3x6y0 *dp, &lv = *(dp=new (buf) G3x6y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G3x6y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x6y0)");
+ check_base_class_offset(lv, (A1*)(C3*)(E3x6*), ABISELECT(40,28), "G3x6y0");
+ check_base_class_offset(lv, (B0*)(C3*)(E3x6*), ABISELECT(8,4), "G3x6y0");
+ check_base_class_offset(lv, (C3*)(E3x6*), 0, "G3x6y0");
+ check_base_class_offset(lv, (D0*)(E3x6*), ABISELECT(52,36), "G3x6y0");
+ check_base_class_offset(lv, (E3x6*), 0, "G3x6y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,16), "G3x6y0");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G3x6y0.ff");
+ test_class_info(&lv, &cd_G3x6y0);
+ dp->~G3x6y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x6y0(Test_G3x6y0, "G3x6y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G3x6y0C1Ev();
+extern void _ZN6G3x6y0D1Ev();
+Name_Map name_map_G3x6y0[] = {
+ NSPAIR(_ZN6G3x6y0C1Ev),
+ NSPAIR(_ZN6G3x6y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E3x6;
+extern VTBL_ENTRY _ZTI4E3x6[];
+extern VTBL_ENTRY _ZTV4E3x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G3x6y0[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E3x6, 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 _ZTI6G3x6y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G3x6y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x6y0[0]),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G3x6y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G3x6y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x6y0[];
+static VTBL_ENTRY _tg__ZTV4E3x6__6G3x6y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C34E3x6__6G3x6y0[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C34E3x6__6G3x6y0[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x6__6G3x6y0[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI4E3x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x6y0[] = {
+ {&(_ZTV6G3x6y0[4]), 4,11},
+ {&(_tg__ZTV4E3x6__6G3x6y0[4]), 4,4},
+ {&(_tg__ZTV2C34E3x6__6G3x6y0[3]), 3,3},
+ {&(_tg__ZTV2A1__2C34E3x6__6G3x6y0[3]), 3,4},
+ {&(_tg__ZTV2A1__4E3x6__6G3x6y0[3]), 3,4},
+ {&(_ZTV6G3x6y0[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI6G3x6y0[];
+extern VTBL_ENTRY _ZTV6G3x6y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x6y0[];
+Class_Descriptor cd_G3x6y0 = { "G3x6y0", // class name
+ bases_G3x6y0, 6,
+ &(vtc_G3x6y0[0]), // expected_vtbl_contents
+ &(vtt_G3x6y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G3x6y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x6y0),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x6y0),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 G3x6y1 : virtual E3x6 , F1 {
+ int ff;
+ ~G3x6y1(); // tgen
+ G3x6y1(); // tgen
+};
+//SIG(1 G3x6y1) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G3x6y1 ::~G3x6y1(){ note_dtor("G3x6y1", this);} // tgen
+G3x6y1 ::G3x6y1(){ note_ctor("G3x6y1", this);} // tgen
+
+static void Test_G3x6y1()
+{
+ extern Class_Descriptor cd_G3x6y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G3x6y1, buf);
+ G3x6y1 *dp, &lv = *(dp=new (buf) G3x6y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G3x6y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x6y1)");
+ check_base_class_offset(lv, (A1*)(C3*)(E3x6*), ABISELECT(40,28), "G3x6y1");
+ check_base_class_offset(lv, (B0*)(C3*)(E3x6*), ABISELECT(24,16), "G3x6y1");
+ check_base_class_offset(lv, (C3*)(E3x6*), ABISELECT(16,12), "G3x6y1");
+ check_base_class_offset(lv, (D0*)(E3x6*), ABISELECT(52,36), "G3x6y1");
+ check_base_class_offset(lv, (E3x6*), ABISELECT(16,12), "G3x6y1");
+ check_base_class_offset(lv, (F1*), 0, "G3x6y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G3x6y1.ff");
+ test_class_info(&lv, &cd_G3x6y1);
+ dp->~G3x6y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x6y1(Test_G3x6y1, "G3x6y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G3x6y1C1Ev();
+extern void _ZN6G3x6y1D1Ev();
+Name_Map name_map_G3x6y1[] = {
+ NSPAIR(_ZN6G3x6y1C1Ev),
+ NSPAIR(_ZN6G3x6y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E3x6;
+extern VTBL_ENTRY _ZTI4E3x6[];
+extern VTBL_ENTRY _ZTV4E3x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G3x6y1[] = {
+ // 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E3x6, 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 _ZTI6G3x6y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G3x6y1[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x6y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G3x6y1[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G3x6y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x6y1[];
+static VTBL_ENTRY _tg__ZTV4E3x6__6G3x6y1[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C34E3x6__6G3x6y1[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C34E3x6__6G3x6y1[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x6__6G3x6y1[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E3x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x6y1[] = {
+ {&(_ZTV6G3x6y1[5]), 5,14},
+ {&(_ZTV6G3x6y1[10]), 10,14},
+ {&(_ZTV6G3x6y1[13]), 13,14},
+ {&(_tg__ZTV4E3x6__6G3x6y1[4]), 4,4},
+ {&(_tg__ZTV2C34E3x6__6G3x6y1[3]), 3,3},
+ {&(_tg__ZTV2A1__2C34E3x6__6G3x6y1[3]), 3,4},
+ {&(_tg__ZTV2A1__4E3x6__6G3x6y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G3x6y1[];
+extern VTBL_ENTRY _ZTV6G3x6y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x6y1[];
+Class_Descriptor cd_G3x6y1 = { "G3x6y1", // class name
+ bases_G3x6y1, 6,
+ &(vtc_G3x6y1[0]), // expected_vtbl_contents
+ &(vtt_G3x6y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G3x6y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x6y1),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x6y1),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 G3x6y2 : E3x6 , virtual F1 {
+ int ff;
+ ~G3x6y2(); // tgen
+ G3x6y2(); // tgen
+};
+//SIG(1 G3x6y2) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G3x6y2 ::~G3x6y2(){ note_dtor("G3x6y2", this);} // tgen
+G3x6y2 ::G3x6y2(){ note_ctor("G3x6y2", this);} // tgen
+
+static void Test_G3x6y2()
+{
+ extern Class_Descriptor cd_G3x6y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G3x6y2, buf);
+ G3x6y2 *dp, &lv = *(dp=new (buf) G3x6y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G3x6y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x6y2)");
+ check_base_class_offset(lv, (A1*)(C3*)(E3x6*), ABISELECT(24,20), "G3x6y2");
+ check_base_class_offset(lv, (B0*)(C3*)(E3x6*), ABISELECT(8,4), "G3x6y2");
+ check_base_class_offset(lv, (C3*)(E3x6*), 0, "G3x6y2");
+ check_base_class_offset(lv, (D0*)(E3x6*), ABISELECT(36,28), "G3x6y2");
+ check_base_class_offset(lv, (E3x6*), 0, "G3x6y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(40,32), "G3x6y2");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G3x6y2.ff");
+ test_class_info(&lv, &cd_G3x6y2);
+ dp->~G3x6y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x6y2(Test_G3x6y2, "G3x6y2", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G3x6y2C1Ev();
+extern void _ZN6G3x6y2D1Ev();
+Name_Map name_map_G3x6y2[] = {
+ NSPAIR(_ZN6G3x6y2C1Ev),
+ NSPAIR(_ZN6G3x6y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E3x6;
+extern VTBL_ENTRY _ZTI4E3x6[];
+extern VTBL_ENTRY _ZTV4E3x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G3x6y2[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E3x6, 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(40,32), //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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G3x6y2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G3x6y2[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x6y2[0]),
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI6G3x6y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI6G3x6y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x6y2[];
+static VTBL_ENTRY _tg__ZTV4E3x6__6G3x6y2[] = {
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C34E3x6__6G3x6y2[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C34E3x6__6G3x6y2[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x6__6G3x6y2[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E3x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x6y2[] = {
+ {&(_ZTV6G3x6y2[5]), 5,13},
+ {&(_tg__ZTV4E3x6__6G3x6y2[4]), 4,4},
+ {&(_tg__ZTV2C34E3x6__6G3x6y2[3]), 3,3},
+ {&(_tg__ZTV2A1__2C34E3x6__6G3x6y2[3]), 3,4},
+ {&(_tg__ZTV2A1__4E3x6__6G3x6y2[3]), 3,4},
+ {&(_ZTV6G3x6y2[8]), 8,13},
+ {&(_ZTV6G3x6y2[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI6G3x6y2[];
+extern VTBL_ENTRY _ZTV6G3x6y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x6y2[];
+Class_Descriptor cd_G3x6y2 = { "G3x6y2", // class name
+ bases_G3x6y2, 6,
+ &(vtc_G3x6y2[0]), // expected_vtbl_contents
+ &(vtt_G3x6y2[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G3x6y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x6y2),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x6y2),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 G3x6y3 : virtual E3x6 , virtual F1 {
+ int ff;
+ ~G3x6y3(); // tgen
+ G3x6y3(); // tgen
+};
+//SIG(1 G3x6y3) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G3x6y3 ::~G3x6y3(){ note_dtor("G3x6y3", this);} // tgen
+G3x6y3 ::G3x6y3(){ note_ctor("G3x6y3", this);} // tgen
+
+static void Test_G3x6y3()
+{
+ extern Class_Descriptor cd_G3x6y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G3x6y3, buf);
+ G3x6y3 *dp, &lv = *(dp=new (buf) G3x6y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G3x6y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x6y3)");
+ check_base_class_offset(lv, (A1*)(C3*)(E3x6*), ABISELECT(40,24), "G3x6y3");
+ check_base_class_offset(lv, (B0*)(C3*)(E3x6*), ABISELECT(24,12), "G3x6y3");
+ check_base_class_offset(lv, (C3*)(E3x6*), ABISELECT(16,8), "G3x6y3");
+ check_base_class_offset(lv, (D0*)(E3x6*), ABISELECT(52,32), "G3x6y3");
+ check_base_class_offset(lv, (E3x6*), ABISELECT(16,8), "G3x6y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G3x6y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G3x6y3.ff");
+ test_class_info(&lv, &cd_G3x6y3);
+ dp->~G3x6y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x6y3(Test_G3x6y3, "G3x6y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G3x6y3C1Ev();
+extern void _ZN6G3x6y3D1Ev();
+Name_Map name_map_G3x6y3[] = {
+ NSPAIR(_ZN6G3x6y3C1Ev),
+ NSPAIR(_ZN6G3x6y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E3x6;
+extern VTBL_ENTRY _ZTI4E3x6[];
+extern VTBL_ENTRY _ZTV4E3x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G3x6y3[] = {
+ // 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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E3x6, 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 _ZTI6G3x6y3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G3x6y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x6y3[0]),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G3x6y3[0]),
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI6G3x6y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G3x6y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x6y3[];
+static VTBL_ENTRY _tg__ZTV4E3x6__6G3x6y3[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C34E3x6__6G3x6y3[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C34E3x6__6G3x6y3[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x6__6G3x6y3[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E3x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x6y3[] = {
+ {&(_ZTV6G3x6y3[6]), 6,18},
+ {&(_ZTV6G3x6y3[10]), 10,18},
+ {&(_ZTV6G3x6y3[13]), 13,18},
+ {&(_ZTV6G3x6y3[17]), 17,18},
+ {&(_tg__ZTV4E3x6__6G3x6y3[4]), 4,4},
+ {&(_tg__ZTV2C34E3x6__6G3x6y3[3]), 3,3},
+ {&(_tg__ZTV2A1__2C34E3x6__6G3x6y3[3]), 3,4},
+ {&(_tg__ZTV2A1__4E3x6__6G3x6y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G3x6y3[];
+extern VTBL_ENTRY _ZTV6G3x6y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x6y3[];
+Class_Descriptor cd_G3x6y3 = { "G3x6y3", // class name
+ bases_G3x6y3, 6,
+ &(vtc_G3x6y3[0]), // expected_vtbl_contents
+ &(vtt_G3x6y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G3x6y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x6y3),18, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x6y3),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 G3x6y4 : E3x6 , F0 {
+ int ff;
+ ~G3x6y4(); // tgen
+ G3x6y4(); // tgen
+};
+//SIG(1 G3x6y4) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G3x6y4 ::~G3x6y4(){ note_dtor("G3x6y4", this);} // tgen
+G3x6y4 ::G3x6y4(){ note_ctor("G3x6y4", this);} // tgen
+
+static void Test_G3x6y4()
+{
+ extern Class_Descriptor cd_G3x6y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G3x6y4, buf);
+ G3x6y4 *dp, &lv = *(dp=new (buf) G3x6y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G3x6y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x6y4)");
+ check_base_class_offset(lv, (A1*)(C3*)(E3x6*), ABISELECT(32,24), "G3x6y4");
+ check_base_class_offset(lv, (B0*)(C3*)(E3x6*), ABISELECT(8,4), "G3x6y4");
+ check_base_class_offset(lv, (C3*)(E3x6*), 0, "G3x6y4");
+ check_base_class_offset(lv, (D0*)(E3x6*), ABISELECT(44,32), "G3x6y4");
+ check_base_class_offset(lv, (E3x6*), 0, "G3x6y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(20,16), "G3x6y4");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G3x6y4.ff");
+ test_class_info(&lv, &cd_G3x6y4);
+ dp->~G3x6y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x6y4(Test_G3x6y4, "G3x6y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G3x6y4C1Ev();
+extern void _ZN6G3x6y4D1Ev();
+Name_Map name_map_G3x6y4[] = {
+ NSPAIR(_ZN6G3x6y4C1Ev),
+ NSPAIR(_ZN6G3x6y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E3x6;
+extern VTBL_ENTRY _ZTI4E3x6[];
+extern VTBL_ENTRY _ZTV4E3x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G3x6y4[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E3x6, 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 _ZTI6G3x6y4[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G3x6y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x6y4[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G3x6y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x6y4[];
+static VTBL_ENTRY _tg__ZTV4E3x6__6G3x6y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C34E3x6__6G3x6y4[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C34E3x6__6G3x6y4[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x6__6G3x6y4[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E3x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x6y4[] = {
+ {&(_ZTV6G3x6y4[4]), 4,8},
+ {&(_tg__ZTV4E3x6__6G3x6y4[4]), 4,4},
+ {&(_tg__ZTV2C34E3x6__6G3x6y4[3]), 3,3},
+ {&(_tg__ZTV2A1__2C34E3x6__6G3x6y4[3]), 3,4},
+ {&(_tg__ZTV2A1__4E3x6__6G3x6y4[3]), 3,4},
+ {&(_ZTV6G3x6y4[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI6G3x6y4[];
+extern VTBL_ENTRY _ZTV6G3x6y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x6y4[];
+Class_Descriptor cd_G3x6y4 = { "G3x6y4", // class name
+ bases_G3x6y4, 6,
+ &(vtc_G3x6y4[0]), // expected_vtbl_contents
+ &(vtt_G3x6y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G3x6y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x6y4),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x6y4),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 G3x6y5 : virtual E3x6 , F0 {
+ int ff;
+ ~G3x6y5(); // tgen
+ G3x6y5(); // tgen
+};
+//SIG(1 G3x6y5) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G3x6y5 ::~G3x6y5(){ note_dtor("G3x6y5", this);} // tgen
+G3x6y5 ::G3x6y5(){ note_ctor("G3x6y5", this);} // tgen
+
+static void Test_G3x6y5()
+{
+ extern Class_Descriptor cd_G3x6y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G3x6y5, buf);
+ G3x6y5 *dp, &lv = *(dp=new (buf) G3x6y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G3x6y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x6y5)");
+ check_base_class_offset(lv, (A1*)(C3*)(E3x6*), ABISELECT(40,28), "G3x6y5");
+ check_base_class_offset(lv, (B0*)(C3*)(E3x6*), ABISELECT(24,16), "G3x6y5");
+ check_base_class_offset(lv, (C3*)(E3x6*), ABISELECT(16,12), "G3x6y5");
+ check_base_class_offset(lv, (D0*)(E3x6*), ABISELECT(52,36), "G3x6y5");
+ check_base_class_offset(lv, (E3x6*), ABISELECT(16,12), "G3x6y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G3x6y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G3x6y5.ff");
+ test_class_info(&lv, &cd_G3x6y5);
+ dp->~G3x6y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x6y5(Test_G3x6y5, "G3x6y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G3x6y5C1Ev();
+extern void _ZN6G3x6y5D1Ev();
+Name_Map name_map_G3x6y5[] = {
+ NSPAIR(_ZN6G3x6y5C1Ev),
+ NSPAIR(_ZN6G3x6y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E3x6;
+extern VTBL_ENTRY _ZTI4E3x6[];
+extern VTBL_ENTRY _ZTV4E3x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G3x6y5[] = {
+ // 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E3x6, 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 _ZTI6G3x6y5[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G3x6y5[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x6y5[0]),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G3x6y5[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G3x6y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x6y5[];
+static VTBL_ENTRY _tg__ZTV4E3x6__6G3x6y5[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C34E3x6__6G3x6y5[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C34E3x6__6G3x6y5[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x6__6G3x6y5[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E3x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x6y5[] = {
+ {&(_ZTV6G3x6y5[5]), 5,13},
+ {&(_ZTV6G3x6y5[9]), 9,13},
+ {&(_ZTV6G3x6y5[12]), 12,13},
+ {&(_tg__ZTV4E3x6__6G3x6y5[4]), 4,4},
+ {&(_tg__ZTV2C34E3x6__6G3x6y5[3]), 3,3},
+ {&(_tg__ZTV2A1__2C34E3x6__6G3x6y5[3]), 3,4},
+ {&(_tg__ZTV2A1__4E3x6__6G3x6y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G3x6y5[];
+extern VTBL_ENTRY _ZTV6G3x6y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x6y5[];
+Class_Descriptor cd_G3x6y5 = { "G3x6y5", // class name
+ bases_G3x6y5, 6,
+ &(vtc_G3x6y5[0]), // expected_vtbl_contents
+ &(vtt_G3x6y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G3x6y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x6y5),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x6y5),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 G3x6y6 : E3x6 , virtual F0 {
+ int ff;
+ ~G3x6y6(); // tgen
+ G3x6y6(); // tgen
+};
+//SIG(1 G3x6y6) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G3x6y6 ::~G3x6y6(){ note_dtor("G3x6y6", this);} // tgen
+G3x6y6 ::G3x6y6(){ note_ctor("G3x6y6", this);} // tgen
+
+static void Test_G3x6y6()
+{
+ extern Class_Descriptor cd_G3x6y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G3x6y6, buf);
+ G3x6y6 *dp, &lv = *(dp=new (buf) G3x6y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G3x6y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x6y6)");
+ check_base_class_offset(lv, (A1*)(C3*)(E3x6*), ABISELECT(24,20), "G3x6y6");
+ check_base_class_offset(lv, (B0*)(C3*)(E3x6*), ABISELECT(8,4), "G3x6y6");
+ check_base_class_offset(lv, (C3*)(E3x6*), 0, "G3x6y6");
+ check_base_class_offset(lv, (D0*)(E3x6*), ABISELECT(36,28), "G3x6y6");
+ check_base_class_offset(lv, (E3x6*), 0, "G3x6y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(40,32), "G3x6y6");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G3x6y6.ff");
+ test_class_info(&lv, &cd_G3x6y6);
+ dp->~G3x6y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x6y6(Test_G3x6y6, "G3x6y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G3x6y6C1Ev();
+extern void _ZN6G3x6y6D1Ev();
+Name_Map name_map_G3x6y6[] = {
+ NSPAIR(_ZN6G3x6y6C1Ev),
+ NSPAIR(_ZN6G3x6y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E3x6;
+extern VTBL_ENTRY _ZTI4E3x6[];
+extern VTBL_ENTRY _ZTV4E3x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G3x6y6[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E3x6, 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(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 _ZTI6G3x6y6[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G3x6y6[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x6y6[0]),
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI6G3x6y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x6y6[];
+static VTBL_ENTRY _tg__ZTV4E3x6__6G3x6y6[] = {
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C34E3x6__6G3x6y6[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C34E3x6__6G3x6y6[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x6__6G3x6y6[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E3x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x6y6[] = {
+ {&(_ZTV6G3x6y6[5]), 5,9},
+ {&(_tg__ZTV4E3x6__6G3x6y6[4]), 4,4},
+ {&(_tg__ZTV2C34E3x6__6G3x6y6[3]), 3,3},
+ {&(_tg__ZTV2A1__2C34E3x6__6G3x6y6[3]), 3,4},
+ {&(_tg__ZTV2A1__4E3x6__6G3x6y6[3]), 3,4},
+ {&(_ZTV6G3x6y6[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI6G3x6y6[];
+extern VTBL_ENTRY _ZTV6G3x6y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x6y6[];
+Class_Descriptor cd_G3x6y6 = { "G3x6y6", // class name
+ bases_G3x6y6, 6,
+ &(vtc_G3x6y6[0]), // expected_vtbl_contents
+ &(vtt_G3x6y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G3x6y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x6y6),9, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x6y6),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 G3x6y7 : virtual E3x6 , virtual F0 {
+ int ff;
+ ~G3x6y7(); // tgen
+ G3x6y7(); // tgen
+};
+//SIG(1 G3x6y7) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G3x6y7 ::~G3x6y7(){ note_dtor("G3x6y7", this);} // tgen
+G3x6y7 ::G3x6y7(){ note_ctor("G3x6y7", this);} // tgen
+
+static void Test_G3x6y7()
+{
+ extern Class_Descriptor cd_G3x6y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G3x6y7, buf);
+ G3x6y7 *dp, &lv = *(dp=new (buf) G3x6y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G3x6y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x6y7)");
+ check_base_class_offset(lv, (A1*)(C3*)(E3x6*), ABISELECT(40,24), "G3x6y7");
+ check_base_class_offset(lv, (B0*)(C3*)(E3x6*), ABISELECT(24,12), "G3x6y7");
+ check_base_class_offset(lv, (C3*)(E3x6*), ABISELECT(16,8), "G3x6y7");
+ check_base_class_offset(lv, (D0*)(E3x6*), ABISELECT(52,32), "G3x6y7");
+ check_base_class_offset(lv, (E3x6*), ABISELECT(16,8), "G3x6y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G3x6y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G3x6y7.ff");
+ test_class_info(&lv, &cd_G3x6y7);
+ dp->~G3x6y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x6y7(Test_G3x6y7, "G3x6y7", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G3x6y7C1Ev();
+extern void _ZN6G3x6y7D1Ev();
+Name_Map name_map_G3x6y7[] = {
+ NSPAIR(_ZN6G3x6y7C1Ev),
+ NSPAIR(_ZN6G3x6y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E3x6;
+extern VTBL_ENTRY _ZTI4E3x6[];
+extern VTBL_ENTRY _ZTV4E3x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G3x6y7[] = {
+ // 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E3x6, 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(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 _ZTI6G3x6y7[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G3x6y7[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x6y7[0]),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G3x6y7[0]),
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI6G3x6y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x6y7[];
+static VTBL_ENTRY _tg__ZTV4E3x6__6G3x6y7[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C34E3x6__6G3x6y7[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C34E3x6__6G3x6y7[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x6__6G3x6y7[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E3x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x6y7[] = {
+ {&(_ZTV6G3x6y7[6]), 6,14},
+ {&(_ZTV6G3x6y7[10]), 10,14},
+ {&(_ZTV6G3x6y7[13]), 13,14},
+ {&(_tg__ZTV4E3x6__6G3x6y7[4]), 4,4},
+ {&(_tg__ZTV2C34E3x6__6G3x6y7[3]), 3,3},
+ {&(_tg__ZTV2A1__2C34E3x6__6G3x6y7[3]), 3,4},
+ {&(_tg__ZTV2A1__4E3x6__6G3x6y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G3x6y7[];
+extern VTBL_ENTRY _ZTV6G3x6y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x6y7[];
+Class_Descriptor cd_G3x6y7 = { "G3x6y7", // class name
+ bases_G3x6y7, 6,
+ &(vtc_G3x6y7[0]), // expected_vtbl_contents
+ &(vtt_G3x6y7[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G3x6y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x6y7),14, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x6y7),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 E4x6 : C4 , virtual D0 {
+ int fd;
+ ~E4x6(); // tgen
+ E4x6(); // tgen
+};
+//SIG(-1 E4x6) C1{ BC2{ BC3{ Fi} BC4{ v1 Fi} Fi} VBC5{ Fi} Fi}
+
+
+E4x6 ::~E4x6(){ note_dtor("E4x6", this);} // tgen
+E4x6 ::E4x6(){ note_ctor("E4x6", this);} // tgen
+
+static void Test_E4x6()
+{
+ extern Class_Descriptor cd_E4x6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(5,7)];
+ init_test(&cd_E4x6, buf);
+ E4x6 *dp, &lv = *(dp=new (buf) E4x6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(32,24), "sizeof(E4x6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E4x6)");
+ check_base_class_offset(lv, (A0*)(C4*), ABISELECT(12,8), "E4x6");
+ check_base_class_offset(lv, (B1*)(C4*), 0, "E4x6");
+ check_base_class_offset(lv, (C4*), 0, "E4x6");
+ check_base_class_offset(lv, (D0*), ABISELECT(24,20), "E4x6");
+ check_field_offset(lv, fd, ABISELECT(20,16), "E4x6.fd");
+ test_class_info(&lv, &cd_E4x6);
+ dp->~E4x6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE4x6(Test_E4x6, "E4x6", ABISELECT(32,24));
+
+#else // __cplusplus
+
+extern void _ZN4E4x6C1Ev();
+extern void _ZN4E4x6D1Ev();
+Name_Map name_map_E4x6[] = {
+ NSPAIR(_ZN4E4x6C1Ev),
+ NSPAIR(_ZN4E4x6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E4x6[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(12,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C4, 0, //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D0, 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, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI4E4x6[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_E4x6[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E4x6[];
+static VTT_ENTRY vtt_E4x6[] = {
+ {&(_ZTV4E4x6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI4E4x6[];
+extern VTBL_ENTRY _ZTV4E4x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x6[];
+Class_Descriptor cd_E4x6 = { "E4x6", // class name
+ bases_E4x6, 4,
+ &(vtc_E4x6[0]), // expected_vtbl_contents
+ &(vtt_E4x6[0]), // expected_vtt_contents
+ ABISELECT(32,24), // object size
+ NSPAIRA(_ZTI4E4x6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E4x6),4, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E4x6),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 G4x6y0 : E4x6 , F1 {
+ int ff;
+ ~G4x6y0(); // tgen
+ G4x6y0(); // tgen
+};
+//SIG(1 G4x6y0) C1{ BC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G4x6y0 ::~G4x6y0(){ note_dtor("G4x6y0", this);} // tgen
+G4x6y0 ::G4x6y0(){ note_ctor("G4x6y0", this);} // tgen
+
+static void Test_G4x6y0()
+{
+ extern Class_Descriptor cd_G4x6y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G4x6y0, buf);
+ G4x6y0 *dp, &lv = *(dp=new (buf) G4x6y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G4x6y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x6y0)");
+ check_base_class_offset(lv, (A0*)(C4*)(E4x6*), ABISELECT(12,8), "G4x6y0");
+ check_base_class_offset(lv, (B1*)(C4*)(E4x6*), 0, "G4x6y0");
+ check_base_class_offset(lv, (C4*)(E4x6*), 0, "G4x6y0");
+ check_base_class_offset(lv, (D0*)(E4x6*), ABISELECT(40,32), "G4x6y0");
+ check_base_class_offset(lv, (E4x6*), 0, "G4x6y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,20), "G4x6y0");
+ check_field_offset(lv, ff, ABISELECT(36,28), "G4x6y0.ff");
+ test_class_info(&lv, &cd_G4x6y0);
+ dp->~G4x6y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x6y0(Test_G4x6y0, "G4x6y0", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G4x6y0C1Ev();
+extern void _ZN6G4x6y0D1Ev();
+Name_Map name_map_G4x6y0[] = {
+ NSPAIR(_ZN6G4x6y0C1Ev),
+ NSPAIR(_ZN6G4x6y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E4x6;
+extern VTBL_ENTRY _ZTI4E4x6[];
+extern VTBL_ENTRY _ZTV4E4x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G4x6y0[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E4x6, 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 _ZTI6G4x6y0[];
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G4x6y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x6y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI6G4x6y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x6y0[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E4x6__6G4x6y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G4x6y0[] = {
+ {&(_ZTV6G4x6y0[3]), 3,7},
+ {&(_tg__ZTV4E4x6__6G4x6y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G4x6y0[];
+extern VTBL_ENTRY _ZTV6G4x6y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x6y0[];
+Class_Descriptor cd_G4x6y0 = { "G4x6y0", // class name
+ bases_G4x6y0, 6,
+ &(vtc_G4x6y0[0]), // expected_vtbl_contents
+ &(vtt_G4x6y0[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G4x6y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x6y0),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x6y0),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 G4x6y1 : virtual E4x6 , F1 {
+ int ff;
+ ~G4x6y1(); // tgen
+ G4x6y1(); // tgen
+};
+//SIG(1 G4x6y1) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G4x6y1 ::~G4x6y1(){ note_dtor("G4x6y1", this);} // tgen
+G4x6y1 ::G4x6y1(){ note_ctor("G4x6y1", this);} // tgen
+
+static void Test_G4x6y1()
+{
+ extern Class_Descriptor cd_G4x6y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G4x6y1, buf);
+ G4x6y1 *dp, &lv = *(dp=new (buf) G4x6y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G4x6y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x6y1)");
+ check_base_class_offset(lv, (A0*)(C4*)(E4x6*), ABISELECT(28,20), "G4x6y1");
+ check_base_class_offset(lv, (B1*)(C4*)(E4x6*), ABISELECT(16,12), "G4x6y1");
+ check_base_class_offset(lv, (C4*)(E4x6*), ABISELECT(16,12), "G4x6y1");
+ check_base_class_offset(lv, (D0*)(E4x6*), ABISELECT(40,32), "G4x6y1");
+ check_base_class_offset(lv, (E4x6*), ABISELECT(16,12), "G4x6y1");
+ check_base_class_offset(lv, (F1*), 0, "G4x6y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G4x6y1.ff");
+ test_class_info(&lv, &cd_G4x6y1);
+ dp->~G4x6y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x6y1(Test_G4x6y1, "G4x6y1", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G4x6y1C1Ev();
+extern void _ZN6G4x6y1D1Ev();
+Name_Map name_map_G4x6y1[] = {
+ NSPAIR(_ZN6G4x6y1C1Ev),
+ NSPAIR(_ZN6G4x6y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E4x6;
+extern VTBL_ENTRY _ZTI4E4x6[];
+extern VTBL_ENTRY _ZTV4E4x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G4x6y1[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(28,20), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C4, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E4x6, 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
+ 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 _ZTI6G4x6y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G4x6y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x6y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G4x6y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x6y1[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E4x6__6G4x6y1[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G4x6y1[] = {
+ {&(_ZTV6G4x6y1[4]), 4,10},
+ {&(_ZTV6G4x6y1[9]), 9,10},
+ {&(_tg__ZTV4E4x6__6G4x6y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G4x6y1[];
+extern VTBL_ENTRY _ZTV6G4x6y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x6y1[];
+Class_Descriptor cd_G4x6y1 = { "G4x6y1", // class name
+ bases_G4x6y1, 6,
+ &(vtc_G4x6y1[0]), // expected_vtbl_contents
+ &(vtt_G4x6y1[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G4x6y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x6y1),10, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x6y1),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 G4x6y2 : E4x6 , virtual F1 {
+ int ff;
+ ~G4x6y2(); // tgen
+ G4x6y2(); // tgen
+};
+//SIG(1 G4x6y2) C1{ BC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G4x6y2 ::~G4x6y2(){ note_dtor("G4x6y2", this);} // tgen
+G4x6y2 ::G4x6y2(){ note_ctor("G4x6y2", this);} // tgen
+
+static void Test_G4x6y2()
+{
+ extern Class_Descriptor cd_G4x6y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G4x6y2, buf);
+ G4x6y2 *dp, &lv = *(dp=new (buf) G4x6y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G4x6y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x6y2)");
+ check_base_class_offset(lv, (A0*)(C4*)(E4x6*), ABISELECT(12,8), "G4x6y2");
+ check_base_class_offset(lv, (B1*)(C4*)(E4x6*), 0, "G4x6y2");
+ check_base_class_offset(lv, (C4*)(E4x6*), 0, "G4x6y2");
+ check_base_class_offset(lv, (D0*)(E4x6*), ABISELECT(28,24), "G4x6y2");
+ check_base_class_offset(lv, (E4x6*), 0, "G4x6y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,28), "G4x6y2");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G4x6y2.ff");
+ test_class_info(&lv, &cd_G4x6y2);
+ dp->~G4x6y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x6y2(Test_G4x6y2, "G4x6y2", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G4x6y2C1Ev();
+extern void _ZN6G4x6y2D1Ev();
+Name_Map name_map_G4x6y2[] = {
+ NSPAIR(_ZN6G4x6y2C1Ev),
+ NSPAIR(_ZN6G4x6y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E4x6;
+extern VTBL_ENTRY _ZTI4E4x6[];
+extern VTBL_ENTRY _ZTV4E4x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G4x6y2[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E4x6, 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,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 _ZTI6G4x6y2[];
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G4x6y2[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x6y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI6G4x6y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x6y2[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E4x6__6G4x6y2[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G4x6y2[] = {
+ {&(_ZTV6G4x6y2[4]), 4,9},
+ {&(_tg__ZTV4E4x6__6G4x6y2[3]), 3,4},
+ {&(_ZTV6G4x6y2[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI6G4x6y2[];
+extern VTBL_ENTRY _ZTV6G4x6y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x6y2[];
+Class_Descriptor cd_G4x6y2 = { "G4x6y2", // class name
+ bases_G4x6y2, 6,
+ &(vtc_G4x6y2[0]), // expected_vtbl_contents
+ &(vtt_G4x6y2[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G4x6y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x6y2),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x6y2),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 G4x6y3 : virtual E4x6 , virtual F1 {
+ int ff;
+ ~G4x6y3(); // tgen
+ G4x6y3(); // tgen
+};
+//SIG(1 G4x6y3) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G4x6y3 ::~G4x6y3(){ note_dtor("G4x6y3", this);} // tgen
+G4x6y3 ::G4x6y3(){ note_ctor("G4x6y3", this);} // tgen
+
+static void Test_G4x6y3()
+{
+ extern Class_Descriptor cd_G4x6y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G4x6y3, buf);
+ G4x6y3 *dp, &lv = *(dp=new (buf) G4x6y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G4x6y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x6y3)");
+ check_base_class_offset(lv, (A0*)(C4*)(E4x6*), ABISELECT(28,16), "G4x6y3");
+ check_base_class_offset(lv, (B1*)(C4*)(E4x6*), ABISELECT(16,8), "G4x6y3");
+ check_base_class_offset(lv, (C4*)(E4x6*), ABISELECT(16,8), "G4x6y3");
+ check_base_class_offset(lv, (D0*)(E4x6*), ABISELECT(40,28), "G4x6y3");
+ check_base_class_offset(lv, (E4x6*), ABISELECT(16,8), "G4x6y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G4x6y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G4x6y3.ff");
+ test_class_info(&lv, &cd_G4x6y3);
+ dp->~G4x6y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x6y3(Test_G4x6y3, "G4x6y3", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G4x6y3C1Ev();
+extern void _ZN6G4x6y3D1Ev();
+Name_Map name_map_G4x6y3[] = {
+ NSPAIR(_ZN6G4x6y3C1Ev),
+ NSPAIR(_ZN6G4x6y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E4x6;
+extern VTBL_ENTRY _ZTI4E4x6[];
+extern VTBL_ENTRY _ZTV4E4x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G4x6y3[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(28,16), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C4, ABISELECT(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E4x6, 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_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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G4x6y3[];
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G4x6y3[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x6y3[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G4x6y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G4x6y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x6y3[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E4x6__6G4x6y3[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G4x6y3[] = {
+ {&(_ZTV6G4x6y3[5]), 5,14},
+ {&(_ZTV6G4x6y3[9]), 9,14},
+ {&(_ZTV6G4x6y3[13]), 13,14},
+ {&(_tg__ZTV4E4x6__6G4x6y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G4x6y3[];
+extern VTBL_ENTRY _ZTV6G4x6y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x6y3[];
+Class_Descriptor cd_G4x6y3 = { "G4x6y3", // class name
+ bases_G4x6y3, 6,
+ &(vtc_G4x6y3[0]), // expected_vtbl_contents
+ &(vtt_G4x6y3[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G4x6y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x6y3),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x6y3),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 G4x6y4 : E4x6 , F0 {
+ int ff;
+ ~G4x6y4(); // tgen
+ G4x6y4(); // tgen
+};
+//SIG(1 G4x6y4) C1{ BC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G4x6y4 ::~G4x6y4(){ note_dtor("G4x6y4", this);} // tgen
+G4x6y4 ::G4x6y4(){ note_ctor("G4x6y4", this);} // tgen
+
+static void Test_G4x6y4()
+{
+ extern Class_Descriptor cd_G4x6y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G4x6y4, buf);
+ G4x6y4 *dp, &lv = *(dp=new (buf) G4x6y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G4x6y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x6y4)");
+ check_base_class_offset(lv, (A0*)(C4*)(E4x6*), ABISELECT(12,8), "G4x6y4");
+ check_base_class_offset(lv, (B1*)(C4*)(E4x6*), 0, "G4x6y4");
+ check_base_class_offset(lv, (C4*)(E4x6*), 0, "G4x6y4");
+ check_base_class_offset(lv, (D0*)(E4x6*), ABISELECT(32,28), "G4x6y4");
+ check_base_class_offset(lv, (E4x6*), 0, "G4x6y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(24,20), "G4x6y4");
+ check_field_offset(lv, ff, ABISELECT(28,24), "G4x6y4.ff");
+ test_class_info(&lv, &cd_G4x6y4);
+ dp->~G4x6y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x6y4(Test_G4x6y4, "G4x6y4", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN6G4x6y4C1Ev();
+extern void _ZN6G4x6y4D1Ev();
+Name_Map name_map_G4x6y4[] = {
+ NSPAIR(_ZN6G4x6y4C1Ev),
+ NSPAIR(_ZN6G4x6y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E4x6;
+extern VTBL_ENTRY _ZTI4E4x6[];
+extern VTBL_ENTRY _ZTV4E4x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G4x6y4[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E4x6, 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 _ZTI6G4x6y4[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G4x6y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x6y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x6y4[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E4x6__6G4x6y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G4x6y4[] = {
+ {&(_ZTV6G4x6y4[3]), 3,4},
+ {&(_tg__ZTV4E4x6__6G4x6y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G4x6y4[];
+extern VTBL_ENTRY _ZTV6G4x6y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x6y4[];
+Class_Descriptor cd_G4x6y4 = { "G4x6y4", // class name
+ bases_G4x6y4, 6,
+ &(vtc_G4x6y4[0]), // expected_vtbl_contents
+ &(vtt_G4x6y4[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI6G4x6y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x6y4),4, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x6y4),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 G4x6y5 : virtual E4x6 , F0 {
+ int ff;
+ ~G4x6y5(); // tgen
+ G4x6y5(); // tgen
+};
+//SIG(1 G4x6y5) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G4x6y5 ::~G4x6y5(){ note_dtor("G4x6y5", this);} // tgen
+G4x6y5 ::G4x6y5(){ note_ctor("G4x6y5", this);} // tgen
+
+static void Test_G4x6y5()
+{
+ extern Class_Descriptor cd_G4x6y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G4x6y5, buf);
+ G4x6y5 *dp, &lv = *(dp=new (buf) G4x6y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G4x6y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x6y5)");
+ check_base_class_offset(lv, (A0*)(C4*)(E4x6*), ABISELECT(28,20), "G4x6y5");
+ check_base_class_offset(lv, (B1*)(C4*)(E4x6*), ABISELECT(16,12), "G4x6y5");
+ check_base_class_offset(lv, (C4*)(E4x6*), ABISELECT(16,12), "G4x6y5");
+ check_base_class_offset(lv, (D0*)(E4x6*), ABISELECT(40,32), "G4x6y5");
+ check_base_class_offset(lv, (E4x6*), ABISELECT(16,12), "G4x6y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G4x6y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G4x6y5.ff");
+ test_class_info(&lv, &cd_G4x6y5);
+ dp->~G4x6y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x6y5(Test_G4x6y5, "G4x6y5", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G4x6y5C1Ev();
+extern void _ZN6G4x6y5D1Ev();
+Name_Map name_map_G4x6y5[] = {
+ NSPAIR(_ZN6G4x6y5C1Ev),
+ NSPAIR(_ZN6G4x6y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E4x6;
+extern VTBL_ENTRY _ZTI4E4x6[];
+extern VTBL_ENTRY _ZTV4E4x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G4x6y5[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(28,20), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C4, ABISELECT(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E4x6, 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
+ 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 _ZTI6G4x6y5[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G4x6y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x6y5[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G4x6y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x6y5[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E4x6__6G4x6y5[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G4x6y5[] = {
+ {&(_ZTV6G4x6y5[4]), 4,9},
+ {&(_ZTV6G4x6y5[8]), 8,9},
+ {&(_tg__ZTV4E4x6__6G4x6y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G4x6y5[];
+extern VTBL_ENTRY _ZTV6G4x6y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x6y5[];
+Class_Descriptor cd_G4x6y5 = { "G4x6y5", // class name
+ bases_G4x6y5, 6,
+ &(vtc_G4x6y5[0]), // expected_vtbl_contents
+ &(vtt_G4x6y5[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G4x6y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x6y5),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x6y5),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 G4x6y6 : E4x6 , virtual F0 {
+ int ff;
+ ~G4x6y6(); // tgen
+ G4x6y6(); // tgen
+};
+//SIG(1 G4x6y6) C1{ BC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G4x6y6 ::~G4x6y6(){ note_dtor("G4x6y6", this);} // tgen
+G4x6y6 ::G4x6y6(){ note_ctor("G4x6y6", this);} // tgen
+
+static void Test_G4x6y6()
+{
+ extern Class_Descriptor cd_G4x6y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G4x6y6, buf);
+ G4x6y6 *dp, &lv = *(dp=new (buf) G4x6y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G4x6y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x6y6)");
+ check_base_class_offset(lv, (A0*)(C4*)(E4x6*), ABISELECT(12,8), "G4x6y6");
+ check_base_class_offset(lv, (B1*)(C4*)(E4x6*), 0, "G4x6y6");
+ check_base_class_offset(lv, (C4*)(E4x6*), 0, "G4x6y6");
+ check_base_class_offset(lv, (D0*)(E4x6*), ABISELECT(28,24), "G4x6y6");
+ check_base_class_offset(lv, (E4x6*), 0, "G4x6y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,28), "G4x6y6");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G4x6y6.ff");
+ test_class_info(&lv, &cd_G4x6y6);
+ dp->~G4x6y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x6y6(Test_G4x6y6, "G4x6y6", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN6G4x6y6C1Ev();
+extern void _ZN6G4x6y6D1Ev();
+Name_Map name_map_G4x6y6[] = {
+ NSPAIR(_ZN6G4x6y6C1Ev),
+ NSPAIR(_ZN6G4x6y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E4x6;
+extern VTBL_ENTRY _ZTI4E4x6[];
+extern VTBL_ENTRY _ZTV4E4x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G4x6y6[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E4x6, 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,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 _ZTI6G4x6y6[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G4x6y6[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x6y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x6y6[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E4x6__6G4x6y6[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G4x6y6[] = {
+ {&(_ZTV6G4x6y6[4]), 4,5},
+ {&(_tg__ZTV4E4x6__6G4x6y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G4x6y6[];
+extern VTBL_ENTRY _ZTV6G4x6y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x6y6[];
+Class_Descriptor cd_G4x6y6 = { "G4x6y6", // class name
+ bases_G4x6y6, 6,
+ &(vtc_G4x6y6[0]), // expected_vtbl_contents
+ &(vtt_G4x6y6[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI6G4x6y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x6y6),5, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x6y6),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 G4x6y7 : virtual E4x6 , virtual F0 {
+ int ff;
+ ~G4x6y7(); // tgen
+ G4x6y7(); // tgen
+};
+//SIG(1 G4x6y7) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G4x6y7 ::~G4x6y7(){ note_dtor("G4x6y7", this);} // tgen
+G4x6y7 ::G4x6y7(){ note_ctor("G4x6y7", this);} // tgen
+
+static void Test_G4x6y7()
+{
+ extern Class_Descriptor cd_G4x6y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G4x6y7, buf);
+ G4x6y7 *dp, &lv = *(dp=new (buf) G4x6y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G4x6y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x6y7)");
+ check_base_class_offset(lv, (A0*)(C4*)(E4x6*), ABISELECT(28,16), "G4x6y7");
+ check_base_class_offset(lv, (B1*)(C4*)(E4x6*), ABISELECT(16,8), "G4x6y7");
+ check_base_class_offset(lv, (C4*)(E4x6*), ABISELECT(16,8), "G4x6y7");
+ check_base_class_offset(lv, (D0*)(E4x6*), ABISELECT(40,28), "G4x6y7");
+ check_base_class_offset(lv, (E4x6*), ABISELECT(16,8), "G4x6y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G4x6y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G4x6y7.ff");
+ test_class_info(&lv, &cd_G4x6y7);
+ dp->~G4x6y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x6y7(Test_G4x6y7, "G4x6y7", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G4x6y7C1Ev();
+extern void _ZN6G4x6y7D1Ev();
+Name_Map name_map_G4x6y7[] = {
+ NSPAIR(_ZN6G4x6y7C1Ev),
+ NSPAIR(_ZN6G4x6y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E4x6;
+extern VTBL_ENTRY _ZTI4E4x6[];
+extern VTBL_ENTRY _ZTV4E4x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G4x6y7[] = {
+ // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual
+ {&cd_A0, ABISELECT(28,16), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ -1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_B1, ABISELECT(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 2, //immediately_derived
+ 0, 0},
+ {&cd_C4, ABISELECT(16,8), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E4x6, 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
+ 3, //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 _ZTI6G4x6y7[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G4x6y7[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x6y7[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G4x6y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x6y7[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E4x6__6G4x6y7[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G4x6y7[] = {
+ {&(_ZTV6G4x6y7[5]), 5,10},
+ {&(_ZTV6G4x6y7[9]), 9,10},
+ {&(_tg__ZTV4E4x6__6G4x6y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G4x6y7[];
+extern VTBL_ENTRY _ZTV6G4x6y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x6y7[];
+Class_Descriptor cd_G4x6y7 = { "G4x6y7", // class name
+ bases_G4x6y7, 6,
+ &(vtc_G4x6y7[0]), // expected_vtbl_contents
+ &(vtt_G4x6y7[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G4x6y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x6y7),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x6y7),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 E5x6 : C5 , virtual D0 {
+ int fd;
+ ~E5x6(); // tgen
+ E5x6(); // tgen
+};
+//SIG(-1 E5x6) C1{ BC2{ BC3{ v1 Fi} BC4{ v2 Fi} Fi} VBC5{ Fi} Fi}
+
+
+E5x6 ::~E5x6(){ note_dtor("E5x6", this);} // tgen
+E5x6 ::E5x6(){ note_ctor("E5x6", this);} // tgen
+
+static void Test_E5x6()
+{
+ extern Class_Descriptor cd_E5x6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E5x6, buf);
+ E5x6 *dp, &lv = *(dp=new (buf) E5x6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E5x6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E5x6)");
+ check_base_class_offset(lv, (A1*)(C5*), 0, "E5x6");
+ check_base_class_offset(lv, (B1*)(C5*), ABISELECT(16,8), "E5x6");
+ check_base_class_offset(lv, (C5*), 0, "E5x6");
+ check_base_class_offset(lv, (D0*), ABISELECT(36,24), "E5x6");
+ check_field_offset(lv, fd, ABISELECT(32,20), "E5x6.fd");
+ test_class_info(&lv, &cd_E5x6);
+ dp->~E5x6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE5x6(Test_E5x6, "E5x6", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN4E5x6C1Ev();
+extern void _ZN4E5x6D1Ev();
+Name_Map name_map_E5x6[] = {
+ NSPAIR(_ZN4E5x6C1Ev),
+ NSPAIR(_ZN4E5x6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E5x6[] = {
+ // 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
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D0, 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, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI4E5x6[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_E5x6[] = {
+ ABISELECT(36,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E5x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E5x6[];
+static VTT_ENTRY vtt_E5x6[] = {
+ {&(_ZTV4E5x6[3]), 3,7},
+};
+extern VTBL_ENTRY _ZTI4E5x6[];
+extern VTBL_ENTRY _ZTV4E5x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x6[];
+Class_Descriptor cd_E5x6 = { "E5x6", // class name
+ bases_E5x6, 4,
+ &(vtc_E5x6[0]), // expected_vtbl_contents
+ &(vtt_E5x6[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI4E5x6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E5x6),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E5x6),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 G5x6y0 : E5x6 , F1 {
+ int ff;
+ ~G5x6y0(); // tgen
+ G5x6y0(); // tgen
+};
+//SIG(1 G5x6y0) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G5x6y0 ::~G5x6y0(){ note_dtor("G5x6y0", this);} // tgen
+G5x6y0 ::G5x6y0(){ note_ctor("G5x6y0", this);} // tgen
+
+static void Test_G5x6y0()
+{
+ extern Class_Descriptor cd_G5x6y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G5x6y0, buf);
+ G5x6y0 *dp, &lv = *(dp=new (buf) G5x6y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G5x6y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x6y0)");
+ check_base_class_offset(lv, (A1*)(C5*)(E5x6*), 0, "G5x6y0");
+ check_base_class_offset(lv, (B1*)(C5*)(E5x6*), ABISELECT(16,8), "G5x6y0");
+ check_base_class_offset(lv, (C5*)(E5x6*), 0, "G5x6y0");
+ check_base_class_offset(lv, (D0*)(E5x6*), ABISELECT(56,36), "G5x6y0");
+ check_base_class_offset(lv, (E5x6*), 0, "G5x6y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(40,24), "G5x6y0");
+ check_field_offset(lv, ff, ABISELECT(52,32), "G5x6y0.ff");
+ test_class_info(&lv, &cd_G5x6y0);
+ dp->~G5x6y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x6y0(Test_G5x6y0, "G5x6y0", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G5x6y0C1Ev();
+extern void _ZN6G5x6y0D1Ev();
+Name_Map name_map_G5x6y0[] = {
+ NSPAIR(_ZN6G5x6y0C1Ev),
+ NSPAIR(_ZN6G5x6y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E5x6;
+extern VTBL_ENTRY _ZTI4E5x6[];
+extern VTBL_ENTRY _ZTV4E5x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G5x6y0[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E5x6, 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,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 _ZTI6G5x6y0[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G5x6y0[] = {
+ ABISELECT(56,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x6y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G5x6y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI6G5x6y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x6y0[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E5x6__6G5x6y0[] = {
+ ABISELECT(56,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G5x6y0[] = {
+ {&(_ZTV6G5x6y0[3]), 3,10},
+ {&(_tg__ZTV4E5x6__6G5x6y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G5x6y0[];
+extern VTBL_ENTRY _ZTV6G5x6y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x6y0[];
+Class_Descriptor cd_G5x6y0 = { "G5x6y0", // class name
+ bases_G5x6y0, 6,
+ &(vtc_G5x6y0[0]), // expected_vtbl_contents
+ &(vtt_G5x6y0[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G5x6y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x6y0),10, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x6y0),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 G5x6y1 : virtual E5x6 , F1 {
+ int ff;
+ ~G5x6y1(); // tgen
+ G5x6y1(); // tgen
+};
+//SIG(1 G5x6y1) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G5x6y1 ::~G5x6y1(){ note_dtor("G5x6y1", this);} // tgen
+G5x6y1 ::G5x6y1(){ note_ctor("G5x6y1", this);} // tgen
+
+static void Test_G5x6y1()
+{
+ extern Class_Descriptor cd_G5x6y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G5x6y1, buf);
+ G5x6y1 *dp, &lv = *(dp=new (buf) G5x6y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G5x6y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x6y1)");
+ check_base_class_offset(lv, (A1*)(C5*)(E5x6*), ABISELECT(16,12), "G5x6y1");
+ check_base_class_offset(lv, (B1*)(C5*)(E5x6*), ABISELECT(32,20), "G5x6y1");
+ check_base_class_offset(lv, (C5*)(E5x6*), ABISELECT(16,12), "G5x6y1");
+ check_base_class_offset(lv, (D0*)(E5x6*), ABISELECT(52,36), "G5x6y1");
+ check_base_class_offset(lv, (E5x6*), ABISELECT(16,12), "G5x6y1");
+ check_base_class_offset(lv, (F1*), 0, "G5x6y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G5x6y1.ff");
+ test_class_info(&lv, &cd_G5x6y1);
+ dp->~G5x6y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x6y1(Test_G5x6y1, "G5x6y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G5x6y1C1Ev();
+extern void _ZN6G5x6y1D1Ev();
+Name_Map name_map_G5x6y1[] = {
+ NSPAIR(_ZN6G5x6y1C1Ev),
+ NSPAIR(_ZN6G5x6y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E5x6;
+extern VTBL_ENTRY _ZTI4E5x6[];
+extern VTBL_ENTRY _ZTV4E5x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G5x6y1[] = {
+ // 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
+ 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
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E5x6, 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 _ZTI6G5x6y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G5x6y1[] = {
+ ABISELECT(52,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x6y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(36,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G5x6y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G5x6y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x6y1[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E5x6__6G5x6y1[] = {
+ ABISELECT(36,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G5x6y1[] = {
+ {&(_ZTV6G5x6y1[4]), 4,13},
+ {&(_ZTV6G5x6y1[9]), 9,13},
+ {&(_ZTV6G5x6y1[12]), 12,13},
+ {&(_tg__ZTV4E5x6__6G5x6y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G5x6y1[];
+extern VTBL_ENTRY _ZTV6G5x6y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x6y1[];
+Class_Descriptor cd_G5x6y1 = { "G5x6y1", // class name
+ bases_G5x6y1, 6,
+ &(vtc_G5x6y1[0]), // expected_vtbl_contents
+ &(vtt_G5x6y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G5x6y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x6y1),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x6y1),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 G5x6y2 : E5x6 , virtual F1 {
+ int ff;
+ ~G5x6y2(); // tgen
+ G5x6y2(); // tgen
+};
+//SIG(1 G5x6y2) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G5x6y2 ::~G5x6y2(){ note_dtor("G5x6y2", this);} // tgen
+G5x6y2 ::G5x6y2(){ note_ctor("G5x6y2", this);} // tgen
+
+static void Test_G5x6y2()
+{
+ extern Class_Descriptor cd_G5x6y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G5x6y2, buf);
+ G5x6y2 *dp, &lv = *(dp=new (buf) G5x6y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G5x6y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x6y2)");
+ check_base_class_offset(lv, (A1*)(C5*)(E5x6*), 0, "G5x6y2");
+ check_base_class_offset(lv, (B1*)(C5*)(E5x6*), ABISELECT(16,8), "G5x6y2");
+ check_base_class_offset(lv, (C5*)(E5x6*), 0, "G5x6y2");
+ check_base_class_offset(lv, (D0*)(E5x6*), ABISELECT(40,28), "G5x6y2");
+ check_base_class_offset(lv, (E5x6*), 0, "G5x6y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G5x6y2");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G5x6y2.ff");
+ test_class_info(&lv, &cd_G5x6y2);
+ dp->~G5x6y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x6y2(Test_G5x6y2, "G5x6y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G5x6y2C1Ev();
+extern void _ZN6G5x6y2D1Ev();
+Name_Map name_map_G5x6y2[] = {
+ NSPAIR(_ZN6G5x6y2C1Ev),
+ NSPAIR(_ZN6G5x6y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E5x6;
+extern VTBL_ENTRY _ZTI4E5x6[];
+extern VTBL_ENTRY _ZTV4E5x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G5x6y2[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E5x6, 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
+ 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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G5x6y2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G5x6y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x6y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G5x6y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G5x6y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x6y2[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E5x6__6G5x6y2[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G5x6y2[] = {
+ {&(_ZTV6G5x6y2[4]), 4,12},
+ {&(_tg__ZTV4E5x6__6G5x6y2[3]), 3,4},
+ {&(_ZTV6G5x6y2[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI6G5x6y2[];
+extern VTBL_ENTRY _ZTV6G5x6y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x6y2[];
+Class_Descriptor cd_G5x6y2 = { "G5x6y2", // class name
+ bases_G5x6y2, 6,
+ &(vtc_G5x6y2[0]), // expected_vtbl_contents
+ &(vtt_G5x6y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G5x6y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x6y2),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x6y2),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 G5x6y3 : virtual E5x6 , virtual F1 {
+ int ff;
+ ~G5x6y3(); // tgen
+ G5x6y3(); // tgen
+};
+//SIG(1 G5x6y3) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G5x6y3 ::~G5x6y3(){ note_dtor("G5x6y3", this);} // tgen
+G5x6y3 ::G5x6y3(){ note_ctor("G5x6y3", this);} // tgen
+
+static void Test_G5x6y3()
+{
+ extern Class_Descriptor cd_G5x6y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G5x6y3, buf);
+ G5x6y3 *dp, &lv = *(dp=new (buf) G5x6y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G5x6y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x6y3)");
+ check_base_class_offset(lv, (A1*)(C5*)(E5x6*), ABISELECT(16,8), "G5x6y3");
+ check_base_class_offset(lv, (B1*)(C5*)(E5x6*), ABISELECT(32,16), "G5x6y3");
+ check_base_class_offset(lv, (C5*)(E5x6*), ABISELECT(16,8), "G5x6y3");
+ check_base_class_offset(lv, (D0*)(E5x6*), ABISELECT(52,32), "G5x6y3");
+ check_base_class_offset(lv, (E5x6*), ABISELECT(16,8), "G5x6y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G5x6y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G5x6y3.ff");
+ test_class_info(&lv, &cd_G5x6y3);
+ dp->~G5x6y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x6y3(Test_G5x6y3, "G5x6y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G5x6y3C1Ev();
+extern void _ZN6G5x6y3D1Ev();
+Name_Map name_map_G5x6y3[] = {
+ NSPAIR(_ZN6G5x6y3C1Ev),
+ NSPAIR(_ZN6G5x6y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E5x6;
+extern VTBL_ENTRY _ZTI4E5x6[];
+extern VTBL_ENTRY _ZTV4E5x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G5x6y3[] = {
+ // 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
+ 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
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E5x6, 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 _ZTI6G5x6y3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G5x6y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x6y3[0]),
+ 0,
+ ABISELECT(36,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G5x6y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI6G5x6y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G5x6y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x6y3[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E5x6__6G5x6y3[] = {
+ ABISELECT(36,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G5x6y3[] = {
+ {&(_ZTV6G5x6y3[5]), 5,17},
+ {&(_ZTV6G5x6y3[9]), 9,17},
+ {&(_ZTV6G5x6y3[12]), 12,17},
+ {&(_ZTV6G5x6y3[16]), 16,17},
+ {&(_tg__ZTV4E5x6__6G5x6y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G5x6y3[];
+extern VTBL_ENTRY _ZTV6G5x6y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x6y3[];
+Class_Descriptor cd_G5x6y3 = { "G5x6y3", // class name
+ bases_G5x6y3, 6,
+ &(vtc_G5x6y3[0]), // expected_vtbl_contents
+ &(vtt_G5x6y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G5x6y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x6y3),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x6y3),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 G5x6y4 : E5x6 , F0 {
+ int ff;
+ ~G5x6y4(); // tgen
+ G5x6y4(); // tgen
+};
+//SIG(1 G5x6y4) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G5x6y4 ::~G5x6y4(){ note_dtor("G5x6y4", this);} // tgen
+G5x6y4 ::G5x6y4(){ note_ctor("G5x6y4", this);} // tgen
+
+static void Test_G5x6y4()
+{
+ extern Class_Descriptor cd_G5x6y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G5x6y4, buf);
+ G5x6y4 *dp, &lv = *(dp=new (buf) G5x6y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G5x6y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x6y4)");
+ check_base_class_offset(lv, (A1*)(C5*)(E5x6*), 0, "G5x6y4");
+ check_base_class_offset(lv, (B1*)(C5*)(E5x6*), ABISELECT(16,8), "G5x6y4");
+ check_base_class_offset(lv, (C5*)(E5x6*), 0, "G5x6y4");
+ check_base_class_offset(lv, (D0*)(E5x6*), ABISELECT(44,32), "G5x6y4");
+ check_base_class_offset(lv, (E5x6*), 0, "G5x6y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(36,24), "G5x6y4");
+ check_field_offset(lv, ff, ABISELECT(40,28), "G5x6y4.ff");
+ test_class_info(&lv, &cd_G5x6y4);
+ dp->~G5x6y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x6y4(Test_G5x6y4, "G5x6y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G5x6y4C1Ev();
+extern void _ZN6G5x6y4D1Ev();
+Name_Map name_map_G5x6y4[] = {
+ NSPAIR(_ZN6G5x6y4C1Ev),
+ NSPAIR(_ZN6G5x6y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E5x6;
+extern VTBL_ENTRY _ZTI4E5x6[];
+extern VTBL_ENTRY _ZTV4E5x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G5x6y4[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E5x6, 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(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 _ZTI6G5x6y4[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G5x6y4[] = {
+ ABISELECT(44,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x6y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G5x6y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x6y4[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E5x6__6G5x6y4[] = {
+ ABISELECT(44,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G5x6y4[] = {
+ {&(_ZTV6G5x6y4[3]), 3,7},
+ {&(_tg__ZTV4E5x6__6G5x6y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G5x6y4[];
+extern VTBL_ENTRY _ZTV6G5x6y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x6y4[];
+Class_Descriptor cd_G5x6y4 = { "G5x6y4", // class name
+ bases_G5x6y4, 6,
+ &(vtc_G5x6y4[0]), // expected_vtbl_contents
+ &(vtt_G5x6y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G5x6y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x6y4),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x6y4),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 G5x6y5 : virtual E5x6 , F0 {
+ int ff;
+ ~G5x6y5(); // tgen
+ G5x6y5(); // tgen
+};
+//SIG(1 G5x6y5) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G5x6y5 ::~G5x6y5(){ note_dtor("G5x6y5", this);} // tgen
+G5x6y5 ::G5x6y5(){ note_ctor("G5x6y5", this);} // tgen
+
+static void Test_G5x6y5()
+{
+ extern Class_Descriptor cd_G5x6y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G5x6y5, buf);
+ G5x6y5 *dp, &lv = *(dp=new (buf) G5x6y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G5x6y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x6y5)");
+ check_base_class_offset(lv, (A1*)(C5*)(E5x6*), ABISELECT(16,12), "G5x6y5");
+ check_base_class_offset(lv, (B1*)(C5*)(E5x6*), ABISELECT(32,20), "G5x6y5");
+ check_base_class_offset(lv, (C5*)(E5x6*), ABISELECT(16,12), "G5x6y5");
+ check_base_class_offset(lv, (D0*)(E5x6*), ABISELECT(52,36), "G5x6y5");
+ check_base_class_offset(lv, (E5x6*), ABISELECT(16,12), "G5x6y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G5x6y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G5x6y5.ff");
+ test_class_info(&lv, &cd_G5x6y5);
+ dp->~G5x6y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x6y5(Test_G5x6y5, "G5x6y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G5x6y5C1Ev();
+extern void _ZN6G5x6y5D1Ev();
+Name_Map name_map_G5x6y5[] = {
+ NSPAIR(_ZN6G5x6y5C1Ev),
+ NSPAIR(_ZN6G5x6y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E5x6;
+extern VTBL_ENTRY _ZTI4E5x6[];
+extern VTBL_ENTRY _ZTV4E5x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G5x6y5[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E5x6, 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 _ZTI6G5x6y5[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G5x6y5[] = {
+ ABISELECT(52,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x6y5[0]),
+ 0,
+ ABISELECT(36,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G5x6y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G5x6y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x6y5[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E5x6__6G5x6y5[] = {
+ ABISELECT(36,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G5x6y5[] = {
+ {&(_ZTV6G5x6y5[4]), 4,12},
+ {&(_ZTV6G5x6y5[8]), 8,12},
+ {&(_ZTV6G5x6y5[11]), 11,12},
+ {&(_tg__ZTV4E5x6__6G5x6y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G5x6y5[];
+extern VTBL_ENTRY _ZTV6G5x6y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x6y5[];
+Class_Descriptor cd_G5x6y5 = { "G5x6y5", // class name
+ bases_G5x6y5, 6,
+ &(vtc_G5x6y5[0]), // expected_vtbl_contents
+ &(vtt_G5x6y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G5x6y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x6y5),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x6y5),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 G5x6y6 : E5x6 , virtual F0 {
+ int ff;
+ ~G5x6y6(); // tgen
+ G5x6y6(); // tgen
+};
+//SIG(1 G5x6y6) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G5x6y6 ::~G5x6y6(){ note_dtor("G5x6y6", this);} // tgen
+G5x6y6 ::G5x6y6(){ note_ctor("G5x6y6", this);} // tgen
+
+static void Test_G5x6y6()
+{
+ extern Class_Descriptor cd_G5x6y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G5x6y6, buf);
+ G5x6y6 *dp, &lv = *(dp=new (buf) G5x6y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G5x6y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x6y6)");
+ check_base_class_offset(lv, (A1*)(C5*)(E5x6*), 0, "G5x6y6");
+ check_base_class_offset(lv, (B1*)(C5*)(E5x6*), ABISELECT(16,8), "G5x6y6");
+ check_base_class_offset(lv, (C5*)(E5x6*), 0, "G5x6y6");
+ check_base_class_offset(lv, (D0*)(E5x6*), ABISELECT(40,28), "G5x6y6");
+ check_base_class_offset(lv, (E5x6*), 0, "G5x6y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G5x6y6");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G5x6y6.ff");
+ test_class_info(&lv, &cd_G5x6y6);
+ dp->~G5x6y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x6y6(Test_G5x6y6, "G5x6y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G5x6y6C1Ev();
+extern void _ZN6G5x6y6D1Ev();
+Name_Map name_map_G5x6y6[] = {
+ NSPAIR(_ZN6G5x6y6C1Ev),
+ NSPAIR(_ZN6G5x6y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E5x6;
+extern VTBL_ENTRY _ZTI4E5x6[];
+extern VTBL_ENTRY _ZTV4E5x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G5x6y6[] = {
+ // 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
+ 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
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E5x6, 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 _ZTI6G5x6y6[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G5x6y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x6y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G5x6y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x6y6[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E5x6__6G5x6y6[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G5x6y6[] = {
+ {&(_ZTV6G5x6y6[4]), 4,8},
+ {&(_tg__ZTV4E5x6__6G5x6y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G5x6y6[];
+extern VTBL_ENTRY _ZTV6G5x6y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x6y6[];
+Class_Descriptor cd_G5x6y6 = { "G5x6y6", // class name
+ bases_G5x6y6, 6,
+ &(vtc_G5x6y6[0]), // expected_vtbl_contents
+ &(vtt_G5x6y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G5x6y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x6y6),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x6y6),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 G5x6y7 : virtual E5x6 , virtual F0 {
+ int ff;
+ ~G5x6y7(); // tgen
+ G5x6y7(); // tgen
+};
+//SIG(1 G5x6y7) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G5x6y7 ::~G5x6y7(){ note_dtor("G5x6y7", this);} // tgen
+G5x6y7 ::G5x6y7(){ note_ctor("G5x6y7", this);} // tgen
+
+static void Test_G5x6y7()
+{
+ extern Class_Descriptor cd_G5x6y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G5x6y7, buf);
+ G5x6y7 *dp, &lv = *(dp=new (buf) G5x6y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G5x6y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x6y7)");
+ check_base_class_offset(lv, (A1*)(C5*)(E5x6*), ABISELECT(16,8), "G5x6y7");
+ check_base_class_offset(lv, (B1*)(C5*)(E5x6*), ABISELECT(32,16), "G5x6y7");
+ check_base_class_offset(lv, (C5*)(E5x6*), ABISELECT(16,8), "G5x6y7");
+ check_base_class_offset(lv, (D0*)(E5x6*), ABISELECT(52,32), "G5x6y7");
+ check_base_class_offset(lv, (E5x6*), ABISELECT(16,8), "G5x6y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G5x6y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G5x6y7.ff");
+ test_class_info(&lv, &cd_G5x6y7);
+ dp->~G5x6y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x6y7(Test_G5x6y7, "G5x6y7", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G5x6y7C1Ev();
+extern void _ZN6G5x6y7D1Ev();
+Name_Map name_map_G5x6y7[] = {
+ NSPAIR(_ZN6G5x6y7C1Ev),
+ NSPAIR(_ZN6G5x6y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E5x6;
+extern VTBL_ENTRY _ZTI4E5x6[];
+extern VTBL_ENTRY _ZTV4E5x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G5x6y7[] = {
+ // 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
+ 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
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E5x6, 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(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 _ZTI6G5x6y7[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G5x6y7[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x6y7[0]),
+ 0,
+ ABISELECT(36,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G5x6y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI6G5x6y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x6y7[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E5x6__6G5x6y7[] = {
+ ABISELECT(36,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G5x6y7[] = {
+ {&(_ZTV6G5x6y7[5]), 5,13},
+ {&(_ZTV6G5x6y7[9]), 9,13},
+ {&(_ZTV6G5x6y7[12]), 12,13},
+ {&(_tg__ZTV4E5x6__6G5x6y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G5x6y7[];
+extern VTBL_ENTRY _ZTV6G5x6y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x6y7[];
+Class_Descriptor cd_G5x6y7 = { "G5x6y7", // class name
+ bases_G5x6y7, 6,
+ &(vtc_G5x6y7[0]), // expected_vtbl_contents
+ &(vtt_G5x6y7[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G5x6y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x6y7),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x6y7),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 E6x6 : C6 , virtual D0 {
+ int fd;
+ ~E6x6(); // tgen
+ E6x6(); // tgen
+};
+//SIG(-1 E6x6) C1{ BC2{ VBC3{ Fi} BC4{ v1 Fi} Fi} VBC5{ Fi} Fi}
+
+
+E6x6 ::~E6x6(){ note_dtor("E6x6", this);} // tgen
+E6x6 ::E6x6(){ note_ctor("E6x6", this);} // tgen
+
+static void Test_E6x6()
+{
+ extern Class_Descriptor cd_E6x6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(5,7)];
+ init_test(&cd_E6x6, buf);
+ E6x6 *dp, &lv = *(dp=new (buf) E6x6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(32,24), "sizeof(E6x6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E6x6)");
+ check_base_class_offset(lv, (A0*)(C6*), ABISELECT(20,16), "E6x6");
+ check_base_class_offset(lv, (B1*)(C6*), 0, "E6x6");
+ check_base_class_offset(lv, (C6*), 0, "E6x6");
+ check_base_class_offset(lv, (D0*), ABISELECT(24,20), "E6x6");
+ check_field_offset(lv, fd, ABISELECT(16,12), "E6x6.fd");
+ test_class_info(&lv, &cd_E6x6);
+ dp->~E6x6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE6x6(Test_E6x6, "E6x6", ABISELECT(32,24));
+
+#else // __cplusplus
+
+extern void _ZN4E6x6C1Ev();
+extern void _ZN4E6x6D1Ev();
+Name_Map name_map_E6x6[] = {
+ NSPAIR(_ZN4E6x6C1Ev),
+ NSPAIR(_ZN4E6x6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E6x6[] = {
+ // 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
+ 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_D0, 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, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI4E6x6[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_E6x6[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E6x6[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__4E6x6[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_E6x6[] = {
+ {&(_ZTV4E6x6[4]), 4,5},
+ {&(_tg__ZTV2C6__4E6x6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI4E6x6[];
+extern VTBL_ENTRY _ZTV4E6x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x6[];
+Class_Descriptor cd_E6x6 = { "E6x6", // class name
+ bases_E6x6, 4,
+ &(vtc_E6x6[0]), // expected_vtbl_contents
+ &(vtt_E6x6[0]), // expected_vtt_contents
+ ABISELECT(32,24), // object size
+ NSPAIRA(_ZTI4E6x6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E6x6),5, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E6x6),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 G6x6y0 : E6x6 , F1 {
+ int ff;
+ ~G6x6y0(); // tgen
+ G6x6y0(); // tgen
+};
+//SIG(1 G6x6y0) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G6x6y0 ::~G6x6y0(){ note_dtor("G6x6y0", this);} // tgen
+G6x6y0 ::G6x6y0(){ note_ctor("G6x6y0", this);} // tgen
+
+static void Test_G6x6y0()
+{
+ extern Class_Descriptor cd_G6x6y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G6x6y0, buf);
+ G6x6y0 *dp, &lv = *(dp=new (buf) G6x6y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G6x6y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x6y0)");
+ check_base_class_offset(lv, (A0*)(C6*)(E6x6*), ABISELECT(40,28), "G6x6y0");
+ check_base_class_offset(lv, (B1*)(C6*)(E6x6*), 0, "G6x6y0");
+ check_base_class_offset(lv, (C6*)(E6x6*), 0, "G6x6y0");
+ check_base_class_offset(lv, (D0*)(E6x6*), ABISELECT(44,32), "G6x6y0");
+ check_base_class_offset(lv, (E6x6*), 0, "G6x6y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,16), "G6x6y0");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G6x6y0.ff");
+ test_class_info(&lv, &cd_G6x6y0);
+ dp->~G6x6y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x6y0(Test_G6x6y0, "G6x6y0", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G6x6y0C1Ev();
+extern void _ZN6G6x6y0D1Ev();
+Name_Map name_map_G6x6y0[] = {
+ NSPAIR(_ZN6G6x6y0C1Ev),
+ NSPAIR(_ZN6G6x6y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E6x6;
+extern VTBL_ENTRY _ZTI4E6x6[];
+extern VTBL_ENTRY _ZTV4E6x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G6x6y0[] = {
+ // 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
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E6x6, 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 _ZTI6G6x6y0[];
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G6x6y0[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x6y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G6x6y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x6y0[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E6x6__6G6x6y0[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C64E6x6__6G6x6y0[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x6y0[] = {
+ {&(_ZTV6G6x6y0[4]), 4,8},
+ {&(_tg__ZTV4E6x6__6G6x6y0[4]), 4,5},
+ {&(_tg__ZTV2C64E6x6__6G6x6y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x6y0[];
+extern VTBL_ENTRY _ZTV6G6x6y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x6y0[];
+Class_Descriptor cd_G6x6y0 = { "G6x6y0", // class name
+ bases_G6x6y0, 6,
+ &(vtc_G6x6y0[0]), // expected_vtbl_contents
+ &(vtt_G6x6y0[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G6x6y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x6y0),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x6y0),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 G6x6y1 : virtual E6x6 , F1 {
+ int ff;
+ ~G6x6y1(); // tgen
+ G6x6y1(); // tgen
+};
+//SIG(1 G6x6y1) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G6x6y1 ::~G6x6y1(){ note_dtor("G6x6y1", this);} // tgen
+G6x6y1 ::G6x6y1(){ note_ctor("G6x6y1", this);} // tgen
+
+static void Test_G6x6y1()
+{
+ extern Class_Descriptor cd_G6x6y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G6x6y1, buf);
+ G6x6y1 *dp, &lv = *(dp=new (buf) G6x6y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G6x6y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x6y1)");
+ check_base_class_offset(lv, (A0*)(C6*)(E6x6*), ABISELECT(36,28), "G6x6y1");
+ check_base_class_offset(lv, (B1*)(C6*)(E6x6*), ABISELECT(16,12), "G6x6y1");
+ check_base_class_offset(lv, (C6*)(E6x6*), ABISELECT(16,12), "G6x6y1");
+ check_base_class_offset(lv, (D0*)(E6x6*), ABISELECT(40,32), "G6x6y1");
+ check_base_class_offset(lv, (E6x6*), ABISELECT(16,12), "G6x6y1");
+ check_base_class_offset(lv, (F1*), 0, "G6x6y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G6x6y1.ff");
+ test_class_info(&lv, &cd_G6x6y1);
+ dp->~G6x6y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x6y1(Test_G6x6y1, "G6x6y1", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G6x6y1C1Ev();
+extern void _ZN6G6x6y1D1Ev();
+Name_Map name_map_G6x6y1[] = {
+ NSPAIR(_ZN6G6x6y1C1Ev),
+ NSPAIR(_ZN6G6x6y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E6x6;
+extern VTBL_ENTRY _ZTI4E6x6[];
+extern VTBL_ENTRY _ZTV4E6x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G6x6y1[] = {
+ // 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
+ 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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E6x6, 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
+ 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 _ZTI6G6x6y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G6x6y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x6y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G6x6y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x6y1[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E6x6__6G6x6y1[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C64E6x6__6G6x6y1[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x6y1[] = {
+ {&(_ZTV6G6x6y1[5]), 5,12},
+ {&(_ZTV6G6x6y1[11]), 11,12},
+ {&(_tg__ZTV4E6x6__6G6x6y1[4]), 4,5},
+ {&(_tg__ZTV2C64E6x6__6G6x6y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x6y1[];
+extern VTBL_ENTRY _ZTV6G6x6y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x6y1[];
+Class_Descriptor cd_G6x6y1 = { "G6x6y1", // class name
+ bases_G6x6y1, 6,
+ &(vtc_G6x6y1[0]), // expected_vtbl_contents
+ &(vtt_G6x6y1[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G6x6y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x6y1),12, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x6y1),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 G6x6y2 : E6x6 , virtual F1 {
+ int ff;
+ ~G6x6y2(); // tgen
+ G6x6y2(); // tgen
+};
+//SIG(1 G6x6y2) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G6x6y2 ::~G6x6y2(){ note_dtor("G6x6y2", this);} // tgen
+G6x6y2 ::G6x6y2(){ note_ctor("G6x6y2", this);} // tgen
+
+static void Test_G6x6y2()
+{
+ extern Class_Descriptor cd_G6x6y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G6x6y2, buf);
+ G6x6y2 *dp, &lv = *(dp=new (buf) G6x6y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G6x6y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x6y2)");
+ check_base_class_offset(lv, (A0*)(C6*)(E6x6*), ABISELECT(24,20), "G6x6y2");
+ check_base_class_offset(lv, (B1*)(C6*)(E6x6*), 0, "G6x6y2");
+ check_base_class_offset(lv, (C6*)(E6x6*), 0, "G6x6y2");
+ check_base_class_offset(lv, (D0*)(E6x6*), ABISELECT(28,24), "G6x6y2");
+ check_base_class_offset(lv, (E6x6*), 0, "G6x6y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,28), "G6x6y2");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G6x6y2.ff");
+ test_class_info(&lv, &cd_G6x6y2);
+ dp->~G6x6y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x6y2(Test_G6x6y2, "G6x6y2", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G6x6y2C1Ev();
+extern void _ZN6G6x6y2D1Ev();
+Name_Map name_map_G6x6y2[] = {
+ NSPAIR(_ZN6G6x6y2C1Ev),
+ NSPAIR(_ZN6G6x6y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E6x6;
+extern VTBL_ENTRY _ZTI4E6x6[];
+extern VTBL_ENTRY _ZTV4E6x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G6x6y2[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E6x6, 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,28), //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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G6x6y2[];
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G6x6y2[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x6y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI6G6x6y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x6y2[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E6x6__6G6x6y2[] = {
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C64E6x6__6G6x6y2[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x6y2[] = {
+ {&(_ZTV6G6x6y2[5]), 5,10},
+ {&(_tg__ZTV4E6x6__6G6x6y2[4]), 4,5},
+ {&(_tg__ZTV2C64E6x6__6G6x6y2[3]), 3,4},
+ {&(_ZTV6G6x6y2[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI6G6x6y2[];
+extern VTBL_ENTRY _ZTV6G6x6y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x6y2[];
+Class_Descriptor cd_G6x6y2 = { "G6x6y2", // class name
+ bases_G6x6y2, 6,
+ &(vtc_G6x6y2[0]), // expected_vtbl_contents
+ &(vtt_G6x6y2[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G6x6y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x6y2),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x6y2),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 G6x6y3 : virtual E6x6 , virtual F1 {
+ int ff;
+ ~G6x6y3(); // tgen
+ G6x6y3(); // tgen
+};
+//SIG(1 G6x6y3) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G6x6y3 ::~G6x6y3(){ note_dtor("G6x6y3", this);} // tgen
+G6x6y3 ::G6x6y3(){ note_ctor("G6x6y3", this);} // tgen
+
+static void Test_G6x6y3()
+{
+ extern Class_Descriptor cd_G6x6y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G6x6y3, buf);
+ G6x6y3 *dp, &lv = *(dp=new (buf) G6x6y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G6x6y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x6y3)");
+ check_base_class_offset(lv, (A0*)(C6*)(E6x6*), ABISELECT(36,24), "G6x6y3");
+ check_base_class_offset(lv, (B1*)(C6*)(E6x6*), ABISELECT(16,8), "G6x6y3");
+ check_base_class_offset(lv, (C6*)(E6x6*), ABISELECT(16,8), "G6x6y3");
+ check_base_class_offset(lv, (D0*)(E6x6*), ABISELECT(40,28), "G6x6y3");
+ check_base_class_offset(lv, (E6x6*), ABISELECT(16,8), "G6x6y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G6x6y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G6x6y3.ff");
+ test_class_info(&lv, &cd_G6x6y3);
+ dp->~G6x6y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x6y3(Test_G6x6y3, "G6x6y3", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G6x6y3C1Ev();
+extern void _ZN6G6x6y3D1Ev();
+Name_Map name_map_G6x6y3[] = {
+ NSPAIR(_ZN6G6x6y3C1Ev),
+ NSPAIR(_ZN6G6x6y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E6x6;
+extern VTBL_ENTRY _ZTI4E6x6[];
+extern VTBL_ENTRY _ZTV4E6x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G6x6y3[] = {
+ // 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
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E6x6, 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_F1, 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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G6x6y3[];
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G6x6y3[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x6y3[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G6x6y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G6x6y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x6y3[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E6x6__6G6x6y3[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C64E6x6__6G6x6y3[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x6y3[] = {
+ {&(_ZTV6G6x6y3[6]), 6,16},
+ {&(_ZTV6G6x6y3[11]), 11,16},
+ {&(_ZTV6G6x6y3[15]), 15,16},
+ {&(_tg__ZTV4E6x6__6G6x6y3[4]), 4,5},
+ {&(_tg__ZTV2C64E6x6__6G6x6y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x6y3[];
+extern VTBL_ENTRY _ZTV6G6x6y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x6y3[];
+Class_Descriptor cd_G6x6y3 = { "G6x6y3", // class name
+ bases_G6x6y3, 6,
+ &(vtc_G6x6y3[0]), // expected_vtbl_contents
+ &(vtt_G6x6y3[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G6x6y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x6y3),16, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x6y3),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 G6x6y4 : E6x6 , F0 {
+ int ff;
+ ~G6x6y4(); // tgen
+ G6x6y4(); // tgen
+};
+//SIG(1 G6x6y4) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G6x6y4 ::~G6x6y4(){ note_dtor("G6x6y4", this);} // tgen
+G6x6y4 ::G6x6y4(){ note_ctor("G6x6y4", this);} // tgen
+
+static void Test_G6x6y4()
+{
+ extern Class_Descriptor cd_G6x6y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G6x6y4, buf);
+ G6x6y4 *dp, &lv = *(dp=new (buf) G6x6y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G6x6y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x6y4)");
+ check_base_class_offset(lv, (A0*)(C6*)(E6x6*), ABISELECT(28,24), "G6x6y4");
+ check_base_class_offset(lv, (B1*)(C6*)(E6x6*), 0, "G6x6y4");
+ check_base_class_offset(lv, (C6*)(E6x6*), 0, "G6x6y4");
+ check_base_class_offset(lv, (D0*)(E6x6*), ABISELECT(32,28), "G6x6y4");
+ check_base_class_offset(lv, (E6x6*), 0, "G6x6y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(20,16), "G6x6y4");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G6x6y4.ff");
+ test_class_info(&lv, &cd_G6x6y4);
+ dp->~G6x6y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x6y4(Test_G6x6y4, "G6x6y4", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN6G6x6y4C1Ev();
+extern void _ZN6G6x6y4D1Ev();
+Name_Map name_map_G6x6y4[] = {
+ NSPAIR(_ZN6G6x6y4C1Ev),
+ NSPAIR(_ZN6G6x6y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E6x6;
+extern VTBL_ENTRY _ZTI4E6x6[];
+extern VTBL_ENTRY _ZTV4E6x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G6x6y4[] = {
+ // 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
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E6x6, 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 _ZTI6G6x6y4[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G6x6y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x6y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x6y4[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E6x6__6G6x6y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C64E6x6__6G6x6y4[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x6y4[] = {
+ {&(_ZTV6G6x6y4[4]), 4,5},
+ {&(_tg__ZTV4E6x6__6G6x6y4[4]), 4,5},
+ {&(_tg__ZTV2C64E6x6__6G6x6y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x6y4[];
+extern VTBL_ENTRY _ZTV6G6x6y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x6y4[];
+Class_Descriptor cd_G6x6y4 = { "G6x6y4", // class name
+ bases_G6x6y4, 6,
+ &(vtc_G6x6y4[0]), // expected_vtbl_contents
+ &(vtt_G6x6y4[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI6G6x6y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x6y4),5, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x6y4),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 G6x6y5 : virtual E6x6 , F0 {
+ int ff;
+ ~G6x6y5(); // tgen
+ G6x6y5(); // tgen
+};
+//SIG(1 G6x6y5) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G6x6y5 ::~G6x6y5(){ note_dtor("G6x6y5", this);} // tgen
+G6x6y5 ::G6x6y5(){ note_ctor("G6x6y5", this);} // tgen
+
+static void Test_G6x6y5()
+{
+ extern Class_Descriptor cd_G6x6y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G6x6y5, buf);
+ G6x6y5 *dp, &lv = *(dp=new (buf) G6x6y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G6x6y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x6y5)");
+ check_base_class_offset(lv, (A0*)(C6*)(E6x6*), ABISELECT(36,28), "G6x6y5");
+ check_base_class_offset(lv, (B1*)(C6*)(E6x6*), ABISELECT(16,12), "G6x6y5");
+ check_base_class_offset(lv, (C6*)(E6x6*), ABISELECT(16,12), "G6x6y5");
+ check_base_class_offset(lv, (D0*)(E6x6*), ABISELECT(40,32), "G6x6y5");
+ check_base_class_offset(lv, (E6x6*), ABISELECT(16,12), "G6x6y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G6x6y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G6x6y5.ff");
+ test_class_info(&lv, &cd_G6x6y5);
+ dp->~G6x6y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x6y5(Test_G6x6y5, "G6x6y5", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G6x6y5C1Ev();
+extern void _ZN6G6x6y5D1Ev();
+Name_Map name_map_G6x6y5[] = {
+ NSPAIR(_ZN6G6x6y5C1Ev),
+ NSPAIR(_ZN6G6x6y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E6x6;
+extern VTBL_ENTRY _ZTI4E6x6[];
+extern VTBL_ENTRY _ZTV4E6x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G6x6y5[] = {
+ // 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
+ 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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E6x6, 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
+ 3, //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 _ZTI6G6x6y5[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G6x6y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x6y5[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G6x6y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x6y5[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E6x6__6G6x6y5[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C64E6x6__6G6x6y5[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x6y5[] = {
+ {&(_ZTV6G6x6y5[5]), 5,11},
+ {&(_ZTV6G6x6y5[10]), 10,11},
+ {&(_tg__ZTV4E6x6__6G6x6y5[4]), 4,5},
+ {&(_tg__ZTV2C64E6x6__6G6x6y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x6y5[];
+extern VTBL_ENTRY _ZTV6G6x6y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x6y5[];
+Class_Descriptor cd_G6x6y5 = { "G6x6y5", // class name
+ bases_G6x6y5, 6,
+ &(vtc_G6x6y5[0]), // expected_vtbl_contents
+ &(vtt_G6x6y5[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G6x6y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x6y5),11, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x6y5),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 G6x6y6 : E6x6 , virtual F0 {
+ int ff;
+ ~G6x6y6(); // tgen
+ G6x6y6(); // tgen
+};
+//SIG(1 G6x6y6) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G6x6y6 ::~G6x6y6(){ note_dtor("G6x6y6", this);} // tgen
+G6x6y6 ::G6x6y6(){ note_ctor("G6x6y6", this);} // tgen
+
+static void Test_G6x6y6()
+{
+ extern Class_Descriptor cd_G6x6y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G6x6y6, buf);
+ G6x6y6 *dp, &lv = *(dp=new (buf) G6x6y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G6x6y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x6y6)");
+ check_base_class_offset(lv, (A0*)(C6*)(E6x6*), ABISELECT(24,20), "G6x6y6");
+ check_base_class_offset(lv, (B1*)(C6*)(E6x6*), 0, "G6x6y6");
+ check_base_class_offset(lv, (C6*)(E6x6*), 0, "G6x6y6");
+ check_base_class_offset(lv, (D0*)(E6x6*), ABISELECT(28,24), "G6x6y6");
+ check_base_class_offset(lv, (E6x6*), 0, "G6x6y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,28), "G6x6y6");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G6x6y6.ff");
+ test_class_info(&lv, &cd_G6x6y6);
+ dp->~G6x6y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x6y6(Test_G6x6y6, "G6x6y6", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN6G6x6y6C1Ev();
+extern void _ZN6G6x6y6D1Ev();
+Name_Map name_map_G6x6y6[] = {
+ NSPAIR(_ZN6G6x6y6C1Ev),
+ NSPAIR(_ZN6G6x6y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E6x6;
+extern VTBL_ENTRY _ZTI4E6x6[];
+extern VTBL_ENTRY _ZTV4E6x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G6x6y6[] = {
+ // 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
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E6x6, 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,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 _ZTI6G6x6y6[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G6x6y6[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x6y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x6y6[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E6x6__6G6x6y6[] = {
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C64E6x6__6G6x6y6[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x6y6[] = {
+ {&(_ZTV6G6x6y6[5]), 5,6},
+ {&(_tg__ZTV4E6x6__6G6x6y6[4]), 4,5},
+ {&(_tg__ZTV2C64E6x6__6G6x6y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x6y6[];
+extern VTBL_ENTRY _ZTV6G6x6y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x6y6[];
+Class_Descriptor cd_G6x6y6 = { "G6x6y6", // class name
+ bases_G6x6y6, 6,
+ &(vtc_G6x6y6[0]), // expected_vtbl_contents
+ &(vtt_G6x6y6[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI6G6x6y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x6y6),6, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x6y6),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 G6x6y7 : virtual E6x6 , virtual F0 {
+ int ff;
+ ~G6x6y7(); // tgen
+ G6x6y7(); // tgen
+};
+//SIG(1 G6x6y7) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G6x6y7 ::~G6x6y7(){ note_dtor("G6x6y7", this);} // tgen
+G6x6y7 ::G6x6y7(){ note_ctor("G6x6y7", this);} // tgen
+
+static void Test_G6x6y7()
+{
+ extern Class_Descriptor cd_G6x6y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G6x6y7, buf);
+ G6x6y7 *dp, &lv = *(dp=new (buf) G6x6y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G6x6y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x6y7)");
+ check_base_class_offset(lv, (A0*)(C6*)(E6x6*), ABISELECT(36,24), "G6x6y7");
+ check_base_class_offset(lv, (B1*)(C6*)(E6x6*), ABISELECT(16,8), "G6x6y7");
+ check_base_class_offset(lv, (C6*)(E6x6*), ABISELECT(16,8), "G6x6y7");
+ check_base_class_offset(lv, (D0*)(E6x6*), ABISELECT(40,28), "G6x6y7");
+ check_base_class_offset(lv, (E6x6*), ABISELECT(16,8), "G6x6y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G6x6y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G6x6y7.ff");
+ test_class_info(&lv, &cd_G6x6y7);
+ dp->~G6x6y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x6y7(Test_G6x6y7, "G6x6y7", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G6x6y7C1Ev();
+extern void _ZN6G6x6y7D1Ev();
+Name_Map name_map_G6x6y7[] = {
+ NSPAIR(_ZN6G6x6y7C1Ev),
+ NSPAIR(_ZN6G6x6y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E6x6;
+extern VTBL_ENTRY _ZTI4E6x6[];
+extern VTBL_ENTRY _ZTV4E6x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G6x6y7[] = {
+ // 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
+ 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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E6x6, 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
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //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 _ZTI6G6x6y7[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G6x6y7[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x6y7[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G6x6y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x6y7[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E6x6__6G6x6y7[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C64E6x6__6G6x6y7[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x6y7[] = {
+ {&(_ZTV6G6x6y7[6]), 6,12},
+ {&(_ZTV6G6x6y7[11]), 11,12},
+ {&(_tg__ZTV4E6x6__6G6x6y7[4]), 4,5},
+ {&(_tg__ZTV2C64E6x6__6G6x6y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x6y7[];
+extern VTBL_ENTRY _ZTV6G6x6y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x6y7[];
+Class_Descriptor cd_G6x6y7 = { "G6x6y7", // class name
+ bases_G6x6y7, 6,
+ &(vtc_G6x6y7[0]), // expected_vtbl_contents
+ &(vtt_G6x6y7[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G6x6y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x6y7),12, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x6y7),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 E7x6 : C7 , virtual D0 {
+ int fd;
+ ~E7x6(); // tgen
+ E7x6(); // tgen
+};
+//SIG(-1 E7x6) C1{ BC2{ VBC3{ v1 Fi} BC4{ v2 Fi} Fi} VBC5{ Fi} Fi}
+
+
+E7x6 ::~E7x6(){ note_dtor("E7x6", this);} // tgen
+E7x6 ::E7x6(){ note_ctor("E7x6", this);} // tgen
+
+static void Test_E7x6()
+{
+ extern Class_Descriptor cd_E7x6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E7x6, buf);
+ E7x6 *dp, &lv = *(dp=new (buf) E7x6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E7x6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E7x6)");
+ check_base_class_offset(lv, (A1*)(C7*), ABISELECT(24,16), "E7x6");
+ check_base_class_offset(lv, (B1*)(C7*), 0, "E7x6");
+ check_base_class_offset(lv, (C7*), 0, "E7x6");
+ check_base_class_offset(lv, (D0*), ABISELECT(36,24), "E7x6");
+ check_field_offset(lv, fd, ABISELECT(16,12), "E7x6.fd");
+ test_class_info(&lv, &cd_E7x6);
+ dp->~E7x6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE7x6(Test_E7x6, "E7x6", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN4E7x6C1Ev();
+extern void _ZN4E7x6D1Ev();
+Name_Map name_map_E7x6[] = {
+ NSPAIR(_ZN4E7x6C1Ev),
+ NSPAIR(_ZN4E7x6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E7x6[] = {
+ // 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
+ 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_D0, 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, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI4E7x6[];
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_E7x6[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E7x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E7x6[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__4E7x6[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C7__4E7x6[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_E7x6[] = {
+ {&(_ZTV4E7x6[4]), 4,9},
+ {&(_tg__ZTV2C7__4E7x6[3]), 3,4},
+ {&(_tg__ZTV2A1__2C7__4E7x6[3]), 3,4},
+ {&(_ZTV4E7x6[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI4E7x6[];
+extern VTBL_ENTRY _ZTV4E7x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x6[];
+Class_Descriptor cd_E7x6 = { "E7x6", // class name
+ bases_E7x6, 4,
+ &(vtc_E7x6[0]), // expected_vtbl_contents
+ &(vtt_E7x6[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI4E7x6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E7x6),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E7x6),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 G7x6y0 : E7x6 , F1 {
+ int ff;
+ ~G7x6y0(); // tgen
+ G7x6y0(); // tgen
+};
+//SIG(1 G7x6y0) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G7x6y0 ::~G7x6y0(){ note_dtor("G7x6y0", this);} // tgen
+G7x6y0 ::G7x6y0(){ note_ctor("G7x6y0", this);} // tgen
+
+static void Test_G7x6y0()
+{
+ extern Class_Descriptor cd_G7x6y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G7x6y0, buf);
+ G7x6y0 *dp, &lv = *(dp=new (buf) G7x6y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G7x6y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x6y0)");
+ check_base_class_offset(lv, (A1*)(C7*)(E7x6*), ABISELECT(40,28), "G7x6y0");
+ check_base_class_offset(lv, (B1*)(C7*)(E7x6*), 0, "G7x6y0");
+ check_base_class_offset(lv, (C7*)(E7x6*), 0, "G7x6y0");
+ check_base_class_offset(lv, (D0*)(E7x6*), ABISELECT(52,36), "G7x6y0");
+ check_base_class_offset(lv, (E7x6*), 0, "G7x6y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,16), "G7x6y0");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G7x6y0.ff");
+ test_class_info(&lv, &cd_G7x6y0);
+ dp->~G7x6y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x6y0(Test_G7x6y0, "G7x6y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G7x6y0C1Ev();
+extern void _ZN6G7x6y0D1Ev();
+Name_Map name_map_G7x6y0[] = {
+ NSPAIR(_ZN6G7x6y0C1Ev),
+ NSPAIR(_ZN6G7x6y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E7x6;
+extern VTBL_ENTRY _ZTI4E7x6[];
+extern VTBL_ENTRY _ZTV4E7x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G7x6y0[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E7x6, 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 _ZTI6G7x6y0[];
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G7x6y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x6y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G7x6y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G7x6y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x6y0[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E7x6__6G7x6y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C74E7x6__6G7x6y0[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C74E7x6__6G7x6y0[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x6__6G7x6y0[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI4E7x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x6y0[] = {
+ {&(_ZTV6G7x6y0[4]), 4,12},
+ {&(_tg__ZTV4E7x6__6G7x6y0[4]), 4,5},
+ {&(_tg__ZTV2C74E7x6__6G7x6y0[3]), 3,4},
+ {&(_tg__ZTV2A1__2C74E7x6__6G7x6y0[3]), 3,4},
+ {&(_tg__ZTV2A1__4E7x6__6G7x6y0[3]), 3,4},
+ {&(_ZTV6G7x6y0[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI6G7x6y0[];
+extern VTBL_ENTRY _ZTV6G7x6y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x6y0[];
+Class_Descriptor cd_G7x6y0 = { "G7x6y0", // class name
+ bases_G7x6y0, 6,
+ &(vtc_G7x6y0[0]), // expected_vtbl_contents
+ &(vtt_G7x6y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G7x6y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x6y0),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x6y0),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 G7x6y1 : virtual E7x6 , F1 {
+ int ff;
+ ~G7x6y1(); // tgen
+ G7x6y1(); // tgen
+};
+//SIG(1 G7x6y1) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G7x6y1 ::~G7x6y1(){ note_dtor("G7x6y1", this);} // tgen
+G7x6y1 ::G7x6y1(){ note_ctor("G7x6y1", this);} // tgen
+
+static void Test_G7x6y1()
+{
+ extern Class_Descriptor cd_G7x6y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G7x6y1, buf);
+ G7x6y1 *dp, &lv = *(dp=new (buf) G7x6y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G7x6y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x6y1)");
+ check_base_class_offset(lv, (A1*)(C7*)(E7x6*), ABISELECT(40,28), "G7x6y1");
+ check_base_class_offset(lv, (B1*)(C7*)(E7x6*), ABISELECT(16,12), "G7x6y1");
+ check_base_class_offset(lv, (C7*)(E7x6*), ABISELECT(16,12), "G7x6y1");
+ check_base_class_offset(lv, (D0*)(E7x6*), ABISELECT(52,36), "G7x6y1");
+ check_base_class_offset(lv, (E7x6*), ABISELECT(16,12), "G7x6y1");
+ check_base_class_offset(lv, (F1*), 0, "G7x6y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G7x6y1.ff");
+ test_class_info(&lv, &cd_G7x6y1);
+ dp->~G7x6y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x6y1(Test_G7x6y1, "G7x6y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G7x6y1C1Ev();
+extern void _ZN6G7x6y1D1Ev();
+Name_Map name_map_G7x6y1[] = {
+ NSPAIR(_ZN6G7x6y1C1Ev),
+ NSPAIR(_ZN6G7x6y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E7x6;
+extern VTBL_ENTRY _ZTI4E7x6[];
+extern VTBL_ENTRY _ZTV4E7x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G7x6y1[] = {
+ // 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
+ 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E7x6, 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 _ZTI6G7x6y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G7x6y1[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x6y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G7x6y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G7x6y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x6y1[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E7x6__6G7x6y1[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C74E7x6__6G7x6y1[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C74E7x6__6G7x6y1[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x6__6G7x6y1[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E7x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x6y1[] = {
+ {&(_ZTV6G7x6y1[5]), 5,16},
+ {&(_ZTV6G7x6y1[11]), 11,16},
+ {&(_ZTV6G7x6y1[15]), 15,16},
+ {&(_tg__ZTV4E7x6__6G7x6y1[4]), 4,5},
+ {&(_tg__ZTV2C74E7x6__6G7x6y1[3]), 3,4},
+ {&(_tg__ZTV2A1__2C74E7x6__6G7x6y1[3]), 3,4},
+ {&(_tg__ZTV2A1__4E7x6__6G7x6y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G7x6y1[];
+extern VTBL_ENTRY _ZTV6G7x6y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x6y1[];
+Class_Descriptor cd_G7x6y1 = { "G7x6y1", // class name
+ bases_G7x6y1, 6,
+ &(vtc_G7x6y1[0]), // expected_vtbl_contents
+ &(vtt_G7x6y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G7x6y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x6y1),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x6y1),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 G7x6y2 : E7x6 , virtual F1 {
+ int ff;
+ ~G7x6y2(); // tgen
+ G7x6y2(); // tgen
+};
+//SIG(1 G7x6y2) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G7x6y2 ::~G7x6y2(){ note_dtor("G7x6y2", this);} // tgen
+G7x6y2 ::G7x6y2(){ note_ctor("G7x6y2", this);} // tgen
+
+static void Test_G7x6y2()
+{
+ extern Class_Descriptor cd_G7x6y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G7x6y2, buf);
+ G7x6y2 *dp, &lv = *(dp=new (buf) G7x6y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G7x6y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x6y2)");
+ check_base_class_offset(lv, (A1*)(C7*)(E7x6*), ABISELECT(24,20), "G7x6y2");
+ check_base_class_offset(lv, (B1*)(C7*)(E7x6*), 0, "G7x6y2");
+ check_base_class_offset(lv, (C7*)(E7x6*), 0, "G7x6y2");
+ check_base_class_offset(lv, (D0*)(E7x6*), ABISELECT(36,28), "G7x6y2");
+ check_base_class_offset(lv, (E7x6*), 0, "G7x6y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(40,32), "G7x6y2");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G7x6y2.ff");
+ test_class_info(&lv, &cd_G7x6y2);
+ dp->~G7x6y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x6y2(Test_G7x6y2, "G7x6y2", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G7x6y2C1Ev();
+extern void _ZN6G7x6y2D1Ev();
+Name_Map name_map_G7x6y2[] = {
+ NSPAIR(_ZN6G7x6y2C1Ev),
+ NSPAIR(_ZN6G7x6y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E7x6;
+extern VTBL_ENTRY _ZTI4E7x6[];
+extern VTBL_ENTRY _ZTV4E7x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G7x6y2[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E7x6, 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(40,32), //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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G7x6y2[];
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G7x6y2[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x6y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI6G7x6y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI6G7x6y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x6y2[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E7x6__6G7x6y2[] = {
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C74E7x6__6G7x6y2[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C74E7x6__6G7x6y2[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x6__6G7x6y2[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E7x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x6y2[] = {
+ {&(_ZTV6G7x6y2[5]), 5,14},
+ {&(_tg__ZTV4E7x6__6G7x6y2[4]), 4,5},
+ {&(_tg__ZTV2C74E7x6__6G7x6y2[3]), 3,4},
+ {&(_tg__ZTV2A1__2C74E7x6__6G7x6y2[3]), 3,4},
+ {&(_tg__ZTV2A1__4E7x6__6G7x6y2[3]), 3,4},
+ {&(_ZTV6G7x6y2[9]), 9,14},
+ {&(_ZTV6G7x6y2[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI6G7x6y2[];
+extern VTBL_ENTRY _ZTV6G7x6y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x6y2[];
+Class_Descriptor cd_G7x6y2 = { "G7x6y2", // class name
+ bases_G7x6y2, 6,
+ &(vtc_G7x6y2[0]), // expected_vtbl_contents
+ &(vtt_G7x6y2[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G7x6y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x6y2),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x6y2),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 G7x6y3 : virtual E7x6 , virtual F1 {
+ int ff;
+ ~G7x6y3(); // tgen
+ G7x6y3(); // tgen
+};
+//SIG(1 G7x6y3) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G7x6y3 ::~G7x6y3(){ note_dtor("G7x6y3", this);} // tgen
+G7x6y3 ::G7x6y3(){ note_ctor("G7x6y3", this);} // tgen
+
+static void Test_G7x6y3()
+{
+ extern Class_Descriptor cd_G7x6y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G7x6y3, buf);
+ G7x6y3 *dp, &lv = *(dp=new (buf) G7x6y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G7x6y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x6y3)");
+ check_base_class_offset(lv, (A1*)(C7*)(E7x6*), ABISELECT(40,24), "G7x6y3");
+ check_base_class_offset(lv, (B1*)(C7*)(E7x6*), ABISELECT(16,8), "G7x6y3");
+ check_base_class_offset(lv, (C7*)(E7x6*), ABISELECT(16,8), "G7x6y3");
+ check_base_class_offset(lv, (D0*)(E7x6*), ABISELECT(52,32), "G7x6y3");
+ check_base_class_offset(lv, (E7x6*), ABISELECT(16,8), "G7x6y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G7x6y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G7x6y3.ff");
+ test_class_info(&lv, &cd_G7x6y3);
+ dp->~G7x6y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x6y3(Test_G7x6y3, "G7x6y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G7x6y3C1Ev();
+extern void _ZN6G7x6y3D1Ev();
+Name_Map name_map_G7x6y3[] = {
+ NSPAIR(_ZN6G7x6y3C1Ev),
+ NSPAIR(_ZN6G7x6y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E7x6;
+extern VTBL_ENTRY _ZTI4E7x6[];
+extern VTBL_ENTRY _ZTV4E7x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G7x6y3[] = {
+ // 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
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E7x6, 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 _ZTI6G7x6y3[];
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G7x6y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x6y3[0]),
+ 0,
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G7x6y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI6G7x6y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G7x6y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x6y3[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E7x6__6G7x6y3[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C74E7x6__6G7x6y3[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C74E7x6__6G7x6y3[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x6__6G7x6y3[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E7x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x6y3[] = {
+ {&(_ZTV6G7x6y3[6]), 6,20},
+ {&(_ZTV6G7x6y3[11]), 11,20},
+ {&(_ZTV6G7x6y3[15]), 15,20},
+ {&(_ZTV6G7x6y3[19]), 19,20},
+ {&(_tg__ZTV4E7x6__6G7x6y3[4]), 4,5},
+ {&(_tg__ZTV2C74E7x6__6G7x6y3[3]), 3,4},
+ {&(_tg__ZTV2A1__2C74E7x6__6G7x6y3[3]), 3,4},
+ {&(_tg__ZTV2A1__4E7x6__6G7x6y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G7x6y3[];
+extern VTBL_ENTRY _ZTV6G7x6y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x6y3[];
+Class_Descriptor cd_G7x6y3 = { "G7x6y3", // class name
+ bases_G7x6y3, 6,
+ &(vtc_G7x6y3[0]), // expected_vtbl_contents
+ &(vtt_G7x6y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G7x6y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x6y3),20, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x6y3),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 G7x6y4 : E7x6 , F0 {
+ int ff;
+ ~G7x6y4(); // tgen
+ G7x6y4(); // tgen
+};
+//SIG(1 G7x6y4) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G7x6y4 ::~G7x6y4(){ note_dtor("G7x6y4", this);} // tgen
+G7x6y4 ::G7x6y4(){ note_ctor("G7x6y4", this);} // tgen
+
+static void Test_G7x6y4()
+{
+ extern Class_Descriptor cd_G7x6y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G7x6y4, buf);
+ G7x6y4 *dp, &lv = *(dp=new (buf) G7x6y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G7x6y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x6y4)");
+ check_base_class_offset(lv, (A1*)(C7*)(E7x6*), ABISELECT(32,24), "G7x6y4");
+ check_base_class_offset(lv, (B1*)(C7*)(E7x6*), 0, "G7x6y4");
+ check_base_class_offset(lv, (C7*)(E7x6*), 0, "G7x6y4");
+ check_base_class_offset(lv, (D0*)(E7x6*), ABISELECT(44,32), "G7x6y4");
+ check_base_class_offset(lv, (E7x6*), 0, "G7x6y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(20,16), "G7x6y4");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G7x6y4.ff");
+ test_class_info(&lv, &cd_G7x6y4);
+ dp->~G7x6y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x6y4(Test_G7x6y4, "G7x6y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G7x6y4C1Ev();
+extern void _ZN6G7x6y4D1Ev();
+Name_Map name_map_G7x6y4[] = {
+ NSPAIR(_ZN6G7x6y4C1Ev),
+ NSPAIR(_ZN6G7x6y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E7x6;
+extern VTBL_ENTRY _ZTI4E7x6[];
+extern VTBL_ENTRY _ZTV4E7x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G7x6y4[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E7x6, 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 _ZTI6G7x6y4[];
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G7x6y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x6y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G7x6y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x6y4[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E7x6__6G7x6y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C74E7x6__6G7x6y4[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C74E7x6__6G7x6y4[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x6__6G7x6y4[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E7x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x6y4[] = {
+ {&(_ZTV6G7x6y4[4]), 4,9},
+ {&(_tg__ZTV4E7x6__6G7x6y4[4]), 4,5},
+ {&(_tg__ZTV2C74E7x6__6G7x6y4[3]), 3,4},
+ {&(_tg__ZTV2A1__2C74E7x6__6G7x6y4[3]), 3,4},
+ {&(_tg__ZTV2A1__4E7x6__6G7x6y4[3]), 3,4},
+ {&(_ZTV6G7x6y4[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI6G7x6y4[];
+extern VTBL_ENTRY _ZTV6G7x6y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x6y4[];
+Class_Descriptor cd_G7x6y4 = { "G7x6y4", // class name
+ bases_G7x6y4, 6,
+ &(vtc_G7x6y4[0]), // expected_vtbl_contents
+ &(vtt_G7x6y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G7x6y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x6y4),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x6y4),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 G7x6y5 : virtual E7x6 , F0 {
+ int ff;
+ ~G7x6y5(); // tgen
+ G7x6y5(); // tgen
+};
+//SIG(1 G7x6y5) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G7x6y5 ::~G7x6y5(){ note_dtor("G7x6y5", this);} // tgen
+G7x6y5 ::G7x6y5(){ note_ctor("G7x6y5", this);} // tgen
+
+static void Test_G7x6y5()
+{
+ extern Class_Descriptor cd_G7x6y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G7x6y5, buf);
+ G7x6y5 *dp, &lv = *(dp=new (buf) G7x6y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G7x6y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x6y5)");
+ check_base_class_offset(lv, (A1*)(C7*)(E7x6*), ABISELECT(40,28), "G7x6y5");
+ check_base_class_offset(lv, (B1*)(C7*)(E7x6*), ABISELECT(16,12), "G7x6y5");
+ check_base_class_offset(lv, (C7*)(E7x6*), ABISELECT(16,12), "G7x6y5");
+ check_base_class_offset(lv, (D0*)(E7x6*), ABISELECT(52,36), "G7x6y5");
+ check_base_class_offset(lv, (E7x6*), ABISELECT(16,12), "G7x6y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G7x6y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G7x6y5.ff");
+ test_class_info(&lv, &cd_G7x6y5);
+ dp->~G7x6y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x6y5(Test_G7x6y5, "G7x6y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G7x6y5C1Ev();
+extern void _ZN6G7x6y5D1Ev();
+Name_Map name_map_G7x6y5[] = {
+ NSPAIR(_ZN6G7x6y5C1Ev),
+ NSPAIR(_ZN6G7x6y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E7x6;
+extern VTBL_ENTRY _ZTI4E7x6[];
+extern VTBL_ENTRY _ZTV4E7x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G7x6y5[] = {
+ // 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
+ 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E7x6, 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 _ZTI6G7x6y5[];
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G7x6y5[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x6y5[0]),
+ 0,
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G7x6y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G7x6y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x6y5[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E7x6__6G7x6y5[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C74E7x6__6G7x6y5[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C74E7x6__6G7x6y5[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x6__6G7x6y5[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E7x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x6y5[] = {
+ {&(_ZTV6G7x6y5[5]), 5,15},
+ {&(_ZTV6G7x6y5[10]), 10,15},
+ {&(_ZTV6G7x6y5[14]), 14,15},
+ {&(_tg__ZTV4E7x6__6G7x6y5[4]), 4,5},
+ {&(_tg__ZTV2C74E7x6__6G7x6y5[3]), 3,4},
+ {&(_tg__ZTV2A1__2C74E7x6__6G7x6y5[3]), 3,4},
+ {&(_tg__ZTV2A1__4E7x6__6G7x6y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G7x6y5[];
+extern VTBL_ENTRY _ZTV6G7x6y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x6y5[];
+Class_Descriptor cd_G7x6y5 = { "G7x6y5", // class name
+ bases_G7x6y5, 6,
+ &(vtc_G7x6y5[0]), // expected_vtbl_contents
+ &(vtt_G7x6y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G7x6y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x6y5),15, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x6y5),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 G7x6y6 : E7x6 , virtual F0 {
+ int ff;
+ ~G7x6y6(); // tgen
+ G7x6y6(); // tgen
+};
+//SIG(1 G7x6y6) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G7x6y6 ::~G7x6y6(){ note_dtor("G7x6y6", this);} // tgen
+G7x6y6 ::G7x6y6(){ note_ctor("G7x6y6", this);} // tgen
+
+static void Test_G7x6y6()
+{
+ extern Class_Descriptor cd_G7x6y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G7x6y6, buf);
+ G7x6y6 *dp, &lv = *(dp=new (buf) G7x6y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G7x6y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x6y6)");
+ check_base_class_offset(lv, (A1*)(C7*)(E7x6*), ABISELECT(24,20), "G7x6y6");
+ check_base_class_offset(lv, (B1*)(C7*)(E7x6*), 0, "G7x6y6");
+ check_base_class_offset(lv, (C7*)(E7x6*), 0, "G7x6y6");
+ check_base_class_offset(lv, (D0*)(E7x6*), ABISELECT(36,28), "G7x6y6");
+ check_base_class_offset(lv, (E7x6*), 0, "G7x6y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(40,32), "G7x6y6");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G7x6y6.ff");
+ test_class_info(&lv, &cd_G7x6y6);
+ dp->~G7x6y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x6y6(Test_G7x6y6, "G7x6y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G7x6y6C1Ev();
+extern void _ZN6G7x6y6D1Ev();
+Name_Map name_map_G7x6y6[] = {
+ NSPAIR(_ZN6G7x6y6C1Ev),
+ NSPAIR(_ZN6G7x6y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E7x6;
+extern VTBL_ENTRY _ZTI4E7x6[];
+extern VTBL_ENTRY _ZTV4E7x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G7x6y6[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E7x6, 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(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 _ZTI6G7x6y6[];
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G7x6y6[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x6y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI6G7x6y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x6y6[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E7x6__6G7x6y6[] = {
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C74E7x6__6G7x6y6[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C74E7x6__6G7x6y6[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x6__6G7x6y6[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI4E7x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x6y6[] = {
+ {&(_ZTV6G7x6y6[5]), 5,10},
+ {&(_tg__ZTV4E7x6__6G7x6y6[4]), 4,5},
+ {&(_tg__ZTV2C74E7x6__6G7x6y6[3]), 3,4},
+ {&(_tg__ZTV2A1__2C74E7x6__6G7x6y6[3]), 3,4},
+ {&(_tg__ZTV2A1__4E7x6__6G7x6y6[3]), 3,4},
+ {&(_ZTV6G7x6y6[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI6G7x6y6[];
+extern VTBL_ENTRY _ZTV6G7x6y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x6y6[];
+Class_Descriptor cd_G7x6y6 = { "G7x6y6", // class name
+ bases_G7x6y6, 6,
+ &(vtc_G7x6y6[0]), // expected_vtbl_contents
+ &(vtt_G7x6y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G7x6y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x6y6),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x6y6),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 G7x6y7 : virtual E7x6 , virtual F0 {
+ int ff;
+ ~G7x6y7(); // tgen
+ G7x6y7(); // tgen
+};
+//SIG(1 G7x6y7) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G7x6y7 ::~G7x6y7(){ note_dtor("G7x6y7", this);} // tgen
+G7x6y7 ::G7x6y7(){ note_ctor("G7x6y7", this);} // tgen
+
+static void Test_G7x6y7()
+{
+ extern Class_Descriptor cd_G7x6y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G7x6y7, buf);
+ G7x6y7 *dp, &lv = *(dp=new (buf) G7x6y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G7x6y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x6y7)");
+ check_base_class_offset(lv, (A1*)(C7*)(E7x6*), ABISELECT(40,24), "G7x6y7");
+ check_base_class_offset(lv, (B1*)(C7*)(E7x6*), ABISELECT(16,8), "G7x6y7");
+ check_base_class_offset(lv, (C7*)(E7x6*), ABISELECT(16,8), "G7x6y7");
+ check_base_class_offset(lv, (D0*)(E7x6*), ABISELECT(52,32), "G7x6y7");
+ check_base_class_offset(lv, (E7x6*), ABISELECT(16,8), "G7x6y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G7x6y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G7x6y7.ff");
+ test_class_info(&lv, &cd_G7x6y7);
+ dp->~G7x6y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x6y7(Test_G7x6y7, "G7x6y7", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G7x6y7C1Ev();
+extern void _ZN6G7x6y7D1Ev();
+Name_Map name_map_G7x6y7[] = {
+ NSPAIR(_ZN6G7x6y7C1Ev),
+ NSPAIR(_ZN6G7x6y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E7x6;
+extern VTBL_ENTRY _ZTI4E7x6[];
+extern VTBL_ENTRY _ZTV4E7x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G7x6y7[] = {
+ // 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
+ 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E7x6, 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(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 _ZTI6G7x6y7[];
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G7x6y7[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x6y7[0]),
+ 0,
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G7x6y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI6G7x6y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x6y7[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV4E7x6__6G7x6y7[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C74E7x6__6G7x6y7[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C74E7x6__6G7x6y7[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x6__6G7x6y7[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E7x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x6y7[] = {
+ {&(_ZTV6G7x6y7[6]), 6,16},
+ {&(_ZTV6G7x6y7[11]), 11,16},
+ {&(_ZTV6G7x6y7[15]), 15,16},
+ {&(_tg__ZTV4E7x6__6G7x6y7[4]), 4,5},
+ {&(_tg__ZTV2C74E7x6__6G7x6y7[3]), 3,4},
+ {&(_tg__ZTV2A1__2C74E7x6__6G7x6y7[3]), 3,4},
+ {&(_tg__ZTV2A1__4E7x6__6G7x6y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G7x6y7[];
+extern VTBL_ENTRY _ZTV6G7x6y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x6y7[];
+Class_Descriptor cd_G7x6y7 = { "G7x6y7", // class name
+ bases_G7x6y7, 6,
+ &(vtc_G7x6y7[0]), // expected_vtbl_contents
+ &(vtt_G7x6y7[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G7x6y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x6y7),16, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x6y7),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 E8x6 : C8 , virtual D0 {
+ int fd;
+ ~E8x6(); // tgen
+ E8x6(); // tgen
+};
+//SIG(-1 E8x6) C1{ BC2{ BC3{ Fi} VBC4{ Fi} Fi} VBC5{ Fi} Fi}
+
+
+E8x6 ::~E8x6(){ note_dtor("E8x6", this);} // tgen
+E8x6 ::E8x6(){ note_ctor("E8x6", this);} // tgen
+
+static void Test_E8x6()
+{
+ extern Class_Descriptor cd_E8x6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(5,7)];
+ init_test(&cd_E8x6, buf);
+ E8x6 *dp, &lv = *(dp=new (buf) E8x6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(32,24), "sizeof(E8x6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E8x6)");
+ check_base_class_offset(lv, (A0*)(C8*), ABISELECT(8,4), "E8x6");
+ check_base_class_offset(lv, (B0*)(C8*), ABISELECT(20,16), "E8x6");
+ check_base_class_offset(lv, (C8*), 0, "E8x6");
+ check_base_class_offset(lv, (D0*), ABISELECT(24,20), "E8x6");
+ check_field_offset(lv, fd, ABISELECT(16,12), "E8x6.fd");
+ test_class_info(&lv, &cd_E8x6);
+ dp->~E8x6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE8x6(Test_E8x6, "E8x6", ABISELECT(32,24));
+
+#else // __cplusplus
+
+extern void _ZN4E8x6C1Ev();
+extern void _ZN4E8x6D1Ev();
+Name_Map name_map_E8x6[] = {
+ NSPAIR(_ZN4E8x6C1Ev),
+ NSPAIR(_ZN4E8x6D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E8x6[] = {
+ // 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
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D0, 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, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI4E8x6[];
+static VTBL_ENTRY vtc_E8x6[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x6[0]),
+};
+extern VTBL_ENTRY _ZTV4E8x6[];
+static VTBL_ENTRY _tg__ZTV2C8__4E8x6[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_E8x6[] = {
+ {&(_ZTV4E8x6[4]), 4,4},
+ {&(_tg__ZTV2C8__4E8x6[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI4E8x6[];
+extern VTBL_ENTRY _ZTV4E8x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x6[];
+Class_Descriptor cd_E8x6 = { "E8x6", // class name
+ bases_E8x6, 4,
+ &(vtc_E8x6[0]), // expected_vtbl_contents
+ &(vtt_E8x6[0]), // expected_vtt_contents
+ ABISELECT(32,24), // object size
+ NSPAIRA(_ZTI4E8x6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E8x6),4, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E8x6),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 G8x6y0 : E8x6 , F1 {
+ int ff;
+ ~G8x6y0(); // tgen
+ G8x6y0(); // tgen
+};
+//SIG(1 G8x6y0) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ v1 Fi} Fi}
+
+
+G8x6y0 ::~G8x6y0(){ note_dtor("G8x6y0", this);} // tgen
+G8x6y0 ::G8x6y0(){ note_ctor("G8x6y0", this);} // tgen
+
+static void Test_G8x6y0()
+{
+ extern Class_Descriptor cd_G8x6y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G8x6y0, buf);
+ G8x6y0 *dp, &lv = *(dp=new (buf) G8x6y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G8x6y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x6y0)");
+ check_base_class_offset(lv, (A0*)(C8*)(E8x6*), ABISELECT(8,4), "G8x6y0");
+ check_base_class_offset(lv, (B0*)(C8*)(E8x6*), ABISELECT(40,28), "G8x6y0");
+ check_base_class_offset(lv, (C8*)(E8x6*), 0, "G8x6y0");
+ check_base_class_offset(lv, (D0*)(E8x6*), ABISELECT(44,32), "G8x6y0");
+ check_base_class_offset(lv, (E8x6*), 0, "G8x6y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,16), "G8x6y0");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G8x6y0.ff");
+ test_class_info(&lv, &cd_G8x6y0);
+ dp->~G8x6y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x6y0(Test_G8x6y0, "G8x6y0", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G8x6y0C1Ev();
+extern void _ZN6G8x6y0D1Ev();
+Name_Map name_map_G8x6y0[] = {
+ NSPAIR(_ZN6G8x6y0C1Ev),
+ NSPAIR(_ZN6G8x6y0D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E8x6;
+extern VTBL_ENTRY _ZTI4E8x6[];
+extern VTBL_ENTRY _ZTV4E8x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G8x6y0[] = {
+ // 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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E8x6, 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(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
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G8x6y0[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G8x6y0[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x6y0[0]),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G8x6y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G8x6y0[];
+static VTBL_ENTRY _tg__ZTV4E8x6__6G8x6y0[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C84E8x6__6G8x6y0[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x6y0[] = {
+ {&(_ZTV6G8x6y0[4]), 4,7},
+ {&(_tg__ZTV4E8x6__6G8x6y0[4]), 4,4},
+ {&(_tg__ZTV2C84E8x6__6G8x6y0[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x6y0[];
+extern VTBL_ENTRY _ZTV6G8x6y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x6y0[];
+Class_Descriptor cd_G8x6y0 = { "G8x6y0", // class name
+ bases_G8x6y0, 6,
+ &(vtc_G8x6y0[0]), // expected_vtbl_contents
+ &(vtt_G8x6y0[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G8x6y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x6y0),7, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x6y0),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 G8x6y1 : virtual E8x6 , F1 {
+ int ff;
+ ~G8x6y1(); // tgen
+ G8x6y1(); // tgen
+};
+//SIG(1 G8x6y1) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ v1 Fi} Fi}
+
+
+G8x6y1 ::~G8x6y1(){ note_dtor("G8x6y1", this);} // tgen
+G8x6y1 ::G8x6y1(){ note_ctor("G8x6y1", this);} // tgen
+
+static void Test_G8x6y1()
+{
+ extern Class_Descriptor cd_G8x6y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G8x6y1, buf);
+ G8x6y1 *dp, &lv = *(dp=new (buf) G8x6y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G8x6y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x6y1)");
+ check_base_class_offset(lv, (A0*)(C8*)(E8x6*), ABISELECT(24,16), "G8x6y1");
+ check_base_class_offset(lv, (B0*)(C8*)(E8x6*), ABISELECT(36,28), "G8x6y1");
+ check_base_class_offset(lv, (C8*)(E8x6*), ABISELECT(16,12), "G8x6y1");
+ check_base_class_offset(lv, (D0*)(E8x6*), ABISELECT(40,32), "G8x6y1");
+ check_base_class_offset(lv, (E8x6*), ABISELECT(16,12), "G8x6y1");
+ check_base_class_offset(lv, (F1*), 0, "G8x6y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G8x6y1.ff");
+ test_class_info(&lv, &cd_G8x6y1);
+ dp->~G8x6y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x6y1(Test_G8x6y1, "G8x6y1", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G8x6y1C1Ev();
+extern void _ZN6G8x6y1D1Ev();
+Name_Map name_map_G8x6y1[] = {
+ NSPAIR(_ZN6G8x6y1C1Ev),
+ NSPAIR(_ZN6G8x6y1D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E8x6;
+extern VTBL_ENTRY _ZTI4E8x6[];
+extern VTBL_ENTRY _ZTV4E8x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G8x6y1[] = {
+ // 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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E8x6, 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
+ 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 _ZTI6G8x6y1[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G8x6y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x6y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G8x6y1[0]),
+};
+extern VTBL_ENTRY _ZTV6G8x6y1[];
+static VTBL_ENTRY _tg__ZTV4E8x6__6G8x6y1[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C84E8x6__6G8x6y1[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x6y1[] = {
+ {&(_ZTV6G8x6y1[5]), 5,10},
+ {&(_ZTV6G8x6y1[10]), 10,10},
+ {&(_tg__ZTV4E8x6__6G8x6y1[4]), 4,4},
+ {&(_tg__ZTV2C84E8x6__6G8x6y1[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x6y1[];
+extern VTBL_ENTRY _ZTV6G8x6y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x6y1[];
+Class_Descriptor cd_G8x6y1 = { "G8x6y1", // class name
+ bases_G8x6y1, 6,
+ &(vtc_G8x6y1[0]), // expected_vtbl_contents
+ &(vtt_G8x6y1[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G8x6y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x6y1),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x6y1),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 G8x6y2 : E8x6 , virtual F1 {
+ int ff;
+ ~G8x6y2(); // tgen
+ G8x6y2(); // tgen
+};
+//SIG(1 G8x6y2) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ v1 Fi} Fi}
+
+
+G8x6y2 ::~G8x6y2(){ note_dtor("G8x6y2", this);} // tgen
+G8x6y2 ::G8x6y2(){ note_ctor("G8x6y2", this);} // tgen
+
+static void Test_G8x6y2()
+{
+ extern Class_Descriptor cd_G8x6y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G8x6y2, buf);
+ G8x6y2 *dp, &lv = *(dp=new (buf) G8x6y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G8x6y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x6y2)");
+ check_base_class_offset(lv, (A0*)(C8*)(E8x6*), ABISELECT(8,4), "G8x6y2");
+ check_base_class_offset(lv, (B0*)(C8*)(E8x6*), ABISELECT(24,20), "G8x6y2");
+ check_base_class_offset(lv, (C8*)(E8x6*), 0, "G8x6y2");
+ check_base_class_offset(lv, (D0*)(E8x6*), ABISELECT(28,24), "G8x6y2");
+ check_base_class_offset(lv, (E8x6*), 0, "G8x6y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,28), "G8x6y2");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G8x6y2.ff");
+ test_class_info(&lv, &cd_G8x6y2);
+ dp->~G8x6y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x6y2(Test_G8x6y2, "G8x6y2", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G8x6y2C1Ev();
+extern void _ZN6G8x6y2D1Ev();
+Name_Map name_map_G8x6y2[] = {
+ NSPAIR(_ZN6G8x6y2C1Ev),
+ NSPAIR(_ZN6G8x6y2D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E8x6;
+extern VTBL_ENTRY _ZTI4E8x6[];
+extern VTBL_ENTRY _ZTV4E8x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G8x6y2[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E8x6, 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,28), //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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G8x6y2[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G8x6y2[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x6y2[0]),
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI6G8x6y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G8x6y2[];
+static VTBL_ENTRY _tg__ZTV4E8x6__6G8x6y2[] = {
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C84E8x6__6G8x6y2[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x6y2[] = {
+ {&(_ZTV6G8x6y2[5]), 5,9},
+ {&(_tg__ZTV4E8x6__6G8x6y2[4]), 4,4},
+ {&(_tg__ZTV2C84E8x6__6G8x6y2[3]), 3,3},
+ {&(_ZTV6G8x6y2[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI6G8x6y2[];
+extern VTBL_ENTRY _ZTV6G8x6y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x6y2[];
+Class_Descriptor cd_G8x6y2 = { "G8x6y2", // class name
+ bases_G8x6y2, 6,
+ &(vtc_G8x6y2[0]), // expected_vtbl_contents
+ &(vtt_G8x6y2[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G8x6y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x6y2),9, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x6y2),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 G8x6y3 : virtual E8x6 , virtual F1 {
+ int ff;
+ ~G8x6y3(); // tgen
+ G8x6y3(); // tgen
+};
+//SIG(1 G8x6y3) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ v1 Fi} Fi}
+
+
+G8x6y3 ::~G8x6y3(){ note_dtor("G8x6y3", this);} // tgen
+G8x6y3 ::G8x6y3(){ note_ctor("G8x6y3", this);} // tgen
+
+static void Test_G8x6y3()
+{
+ extern Class_Descriptor cd_G8x6y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G8x6y3, buf);
+ G8x6y3 *dp, &lv = *(dp=new (buf) G8x6y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G8x6y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x6y3)");
+ check_base_class_offset(lv, (A0*)(C8*)(E8x6*), ABISELECT(24,12), "G8x6y3");
+ check_base_class_offset(lv, (B0*)(C8*)(E8x6*), ABISELECT(36,24), "G8x6y3");
+ check_base_class_offset(lv, (C8*)(E8x6*), ABISELECT(16,8), "G8x6y3");
+ check_base_class_offset(lv, (D0*)(E8x6*), ABISELECT(40,28), "G8x6y3");
+ check_base_class_offset(lv, (E8x6*), ABISELECT(16,8), "G8x6y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G8x6y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G8x6y3.ff");
+ test_class_info(&lv, &cd_G8x6y3);
+ dp->~G8x6y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x6y3(Test_G8x6y3, "G8x6y3", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G8x6y3C1Ev();
+extern void _ZN6G8x6y3D1Ev();
+Name_Map name_map_G8x6y3[] = {
+ NSPAIR(_ZN6G8x6y3C1Ev),
+ NSPAIR(_ZN6G8x6y3D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E8x6;
+extern VTBL_ENTRY _ZTI4E8x6[];
+extern VTBL_ENTRY _ZTV4E8x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G8x6y3[] = {
+ // 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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E8x6, 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_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 _ZTI6G8x6y3[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G8x6y3[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x6y3[0]),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G8x6y3[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G8x6y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G8x6y3[];
+static VTBL_ENTRY _tg__ZTV4E8x6__6G8x6y3[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C84E8x6__6G8x6y3[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x6y3[] = {
+ {&(_ZTV6G8x6y3[6]), 6,14},
+ {&(_ZTV6G8x6y3[10]), 10,14},
+ {&(_ZTV6G8x6y3[13]), 13,14},
+ {&(_tg__ZTV4E8x6__6G8x6y3[4]), 4,4},
+ {&(_tg__ZTV2C84E8x6__6G8x6y3[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x6y3[];
+extern VTBL_ENTRY _ZTV6G8x6y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x6y3[];
+Class_Descriptor cd_G8x6y3 = { "G8x6y3", // class name
+ bases_G8x6y3, 6,
+ &(vtc_G8x6y3[0]), // expected_vtbl_contents
+ &(vtt_G8x6y3[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G8x6y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x6y3),14, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x6y3),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 G8x6y4 : E8x6 , F0 {
+ int ff;
+ ~G8x6y4(); // tgen
+ G8x6y4(); // tgen
+};
+//SIG(1 G8x6y4) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G8x6y4 ::~G8x6y4(){ note_dtor("G8x6y4", this);} // tgen
+G8x6y4 ::G8x6y4(){ note_ctor("G8x6y4", this);} // tgen
+
+static void Test_G8x6y4()
+{
+ extern Class_Descriptor cd_G8x6y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G8x6y4, buf);
+ G8x6y4 *dp, &lv = *(dp=new (buf) G8x6y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G8x6y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x6y4)");
+ check_base_class_offset(lv, (A0*)(C8*)(E8x6*), ABISELECT(8,4), "G8x6y4");
+ check_base_class_offset(lv, (B0*)(C8*)(E8x6*), ABISELECT(28,24), "G8x6y4");
+ check_base_class_offset(lv, (C8*)(E8x6*), 0, "G8x6y4");
+ check_base_class_offset(lv, (D0*)(E8x6*), ABISELECT(32,28), "G8x6y4");
+ check_base_class_offset(lv, (E8x6*), 0, "G8x6y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(20,16), "G8x6y4");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G8x6y4.ff");
+ test_class_info(&lv, &cd_G8x6y4);
+ dp->~G8x6y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x6y4(Test_G8x6y4, "G8x6y4", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN6G8x6y4C1Ev();
+extern void _ZN6G8x6y4D1Ev();
+Name_Map name_map_G8x6y4[] = {
+ NSPAIR(_ZN6G8x6y4C1Ev),
+ NSPAIR(_ZN6G8x6y4D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E8x6;
+extern VTBL_ENTRY _ZTI4E8x6[];
+extern VTBL_ENTRY _ZTV4E8x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G8x6y4[] = {
+ // 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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E8x6, 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(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 _ZTI6G8x6y4[];
+static VTBL_ENTRY vtc_G8x6y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x6y4[0]),
+};
+extern VTBL_ENTRY _ZTV6G8x6y4[];
+static VTBL_ENTRY _tg__ZTV4E8x6__6G8x6y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C84E8x6__6G8x6y4[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x6y4[] = {
+ {&(_ZTV6G8x6y4[4]), 4,4},
+ {&(_tg__ZTV4E8x6__6G8x6y4[4]), 4,4},
+ {&(_tg__ZTV2C84E8x6__6G8x6y4[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x6y4[];
+extern VTBL_ENTRY _ZTV6G8x6y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x6y4[];
+Class_Descriptor cd_G8x6y4 = { "G8x6y4", // class name
+ bases_G8x6y4, 6,
+ &(vtc_G8x6y4[0]), // expected_vtbl_contents
+ &(vtt_G8x6y4[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI6G8x6y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x6y4),4, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x6y4),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 G8x6y5 : virtual E8x6 , F0 {
+ int ff;
+ ~G8x6y5(); // tgen
+ G8x6y5(); // tgen
+};
+//SIG(1 G8x6y5) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G8x6y5 ::~G8x6y5(){ note_dtor("G8x6y5", this);} // tgen
+G8x6y5 ::G8x6y5(){ note_ctor("G8x6y5", this);} // tgen
+
+static void Test_G8x6y5()
+{
+ extern Class_Descriptor cd_G8x6y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G8x6y5, buf);
+ G8x6y5 *dp, &lv = *(dp=new (buf) G8x6y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G8x6y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x6y5)");
+ check_base_class_offset(lv, (A0*)(C8*)(E8x6*), ABISELECT(24,16), "G8x6y5");
+ check_base_class_offset(lv, (B0*)(C8*)(E8x6*), ABISELECT(36,28), "G8x6y5");
+ check_base_class_offset(lv, (C8*)(E8x6*), ABISELECT(16,12), "G8x6y5");
+ check_base_class_offset(lv, (D0*)(E8x6*), ABISELECT(40,32), "G8x6y5");
+ check_base_class_offset(lv, (E8x6*), ABISELECT(16,12), "G8x6y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G8x6y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G8x6y5.ff");
+ test_class_info(&lv, &cd_G8x6y5);
+ dp->~G8x6y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x6y5(Test_G8x6y5, "G8x6y5", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G8x6y5C1Ev();
+extern void _ZN6G8x6y5D1Ev();
+Name_Map name_map_G8x6y5[] = {
+ NSPAIR(_ZN6G8x6y5C1Ev),
+ NSPAIR(_ZN6G8x6y5D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E8x6;
+extern VTBL_ENTRY _ZTI4E8x6[];
+extern VTBL_ENTRY _ZTV4E8x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G8x6y5[] = {
+ // 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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E8x6, 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_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 _ZTI6G8x6y5[];
+static VTBL_ENTRY vtc_G8x6y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x6y5[0]),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G8x6y5[0]),
+};
+extern VTBL_ENTRY _ZTV6G8x6y5[];
+static VTBL_ENTRY _tg__ZTV4E8x6__6G8x6y5[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C84E8x6__6G8x6y5[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x6y5[] = {
+ {&(_ZTV6G8x6y5[5]), 5,9},
+ {&(_ZTV6G8x6y5[9]), 9,9},
+ {&(_tg__ZTV4E8x6__6G8x6y5[4]), 4,4},
+ {&(_tg__ZTV2C84E8x6__6G8x6y5[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x6y5[];
+extern VTBL_ENTRY _ZTV6G8x6y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x6y5[];
+Class_Descriptor cd_G8x6y5 = { "G8x6y5", // class name
+ bases_G8x6y5, 6,
+ &(vtc_G8x6y5[0]), // expected_vtbl_contents
+ &(vtt_G8x6y5[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G8x6y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x6y5),9, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x6y5),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 G8x6y6 : E8x6 , virtual F0 {
+ int ff;
+ ~G8x6y6(); // tgen
+ G8x6y6(); // tgen
+};
+//SIG(1 G8x6y6) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G8x6y6 ::~G8x6y6(){ note_dtor("G8x6y6", this);} // tgen
+G8x6y6 ::G8x6y6(){ note_ctor("G8x6y6", this);} // tgen
+
+static void Test_G8x6y6()
+{
+ extern Class_Descriptor cd_G8x6y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G8x6y6, buf);
+ G8x6y6 *dp, &lv = *(dp=new (buf) G8x6y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G8x6y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x6y6)");
+ check_base_class_offset(lv, (A0*)(C8*)(E8x6*), ABISELECT(8,4), "G8x6y6");
+ check_base_class_offset(lv, (B0*)(C8*)(E8x6*), ABISELECT(24,20), "G8x6y6");
+ check_base_class_offset(lv, (C8*)(E8x6*), 0, "G8x6y6");
+ check_base_class_offset(lv, (D0*)(E8x6*), ABISELECT(28,24), "G8x6y6");
+ check_base_class_offset(lv, (E8x6*), 0, "G8x6y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,28), "G8x6y6");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G8x6y6.ff");
+ test_class_info(&lv, &cd_G8x6y6);
+ dp->~G8x6y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x6y6(Test_G8x6y6, "G8x6y6", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN6G8x6y6C1Ev();
+extern void _ZN6G8x6y6D1Ev();
+Name_Map name_map_G8x6y6[] = {
+ NSPAIR(_ZN6G8x6y6C1Ev),
+ NSPAIR(_ZN6G8x6y6D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E8x6;
+extern VTBL_ENTRY _ZTI4E8x6[];
+extern VTBL_ENTRY _ZTV4E8x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G8x6y6[] = {
+ // 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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E8x6, 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(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 _ZTI6G8x6y6[];
+static VTBL_ENTRY vtc_G8x6y6[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x6y6[0]),
+};
+extern VTBL_ENTRY _ZTV6G8x6y6[];
+static VTBL_ENTRY _tg__ZTV4E8x6__6G8x6y6[] = {
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C84E8x6__6G8x6y6[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x6y6[] = {
+ {&(_ZTV6G8x6y6[5]), 5,5},
+ {&(_tg__ZTV4E8x6__6G8x6y6[4]), 4,4},
+ {&(_tg__ZTV2C84E8x6__6G8x6y6[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x6y6[];
+extern VTBL_ENTRY _ZTV6G8x6y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x6y6[];
+Class_Descriptor cd_G8x6y6 = { "G8x6y6", // class name
+ bases_G8x6y6, 6,
+ &(vtc_G8x6y6[0]), // expected_vtbl_contents
+ &(vtt_G8x6y6[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI6G8x6y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x6y6),5, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x6y6),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 G8x6y7 : virtual E8x6 , virtual F0 {
+ int ff;
+ ~G8x6y7(); // tgen
+ G8x6y7(); // tgen
+};
+//SIG(1 G8x6y7) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G8x6y7 ::~G8x6y7(){ note_dtor("G8x6y7", this);} // tgen
+G8x6y7 ::G8x6y7(){ note_ctor("G8x6y7", this);} // tgen
+
+static void Test_G8x6y7()
+{
+ extern Class_Descriptor cd_G8x6y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G8x6y7, buf);
+ G8x6y7 *dp, &lv = *(dp=new (buf) G8x6y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G8x6y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x6y7)");
+ check_base_class_offset(lv, (A0*)(C8*)(E8x6*), ABISELECT(24,12), "G8x6y7");
+ check_base_class_offset(lv, (B0*)(C8*)(E8x6*), ABISELECT(36,24), "G8x6y7");
+ check_base_class_offset(lv, (C8*)(E8x6*), ABISELECT(16,8), "G8x6y7");
+ check_base_class_offset(lv, (D0*)(E8x6*), ABISELECT(40,28), "G8x6y7");
+ check_base_class_offset(lv, (E8x6*), ABISELECT(16,8), "G8x6y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G8x6y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G8x6y7.ff");
+ test_class_info(&lv, &cd_G8x6y7);
+ dp->~G8x6y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x6y7(Test_G8x6y7, "G8x6y7", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G8x6y7C1Ev();
+extern void _ZN6G8x6y7D1Ev();
+Name_Map name_map_G8x6y7[] = {
+ NSPAIR(_ZN6G8x6y7C1Ev),
+ NSPAIR(_ZN6G8x6y7D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E8x6;
+extern VTBL_ENTRY _ZTI4E8x6[];
+extern VTBL_ENTRY _ZTV4E8x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G8x6y7[] = {
+ // 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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E8x6, 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
+ 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 _ZTI6G8x6y7[];
+static VTBL_ENTRY vtc_G8x6y7[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x6y7[0]),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G8x6y7[0]),
+};
+extern VTBL_ENTRY _ZTV6G8x6y7[];
+static VTBL_ENTRY _tg__ZTV4E8x6__6G8x6y7[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C84E8x6__6G8x6y7[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x6y7[] = {
+ {&(_ZTV6G8x6y7[6]), 6,10},
+ {&(_ZTV6G8x6y7[10]), 10,10},
+ {&(_tg__ZTV4E8x6__6G8x6y7[4]), 4,4},
+ {&(_tg__ZTV2C84E8x6__6G8x6y7[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x6y7[];
+extern VTBL_ENTRY _ZTV6G8x6y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x6y7[];
+Class_Descriptor cd_G8x6y7 = { "G8x6y7", // class name
+ bases_G8x6y7, 6,
+ &(vtc_G8x6y7[0]), // expected_vtbl_contents
+ &(vtt_G8x6y7[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G8x6y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x6y7),10, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x6y7),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 E9x6 : C9 , virtual D0 {
+ int fd;
+ ~E9x6(); // tgen
+ E9x6(); // tgen
+};
+//SIG(-1 E9x6) C1{ BC2{ BC3{ v1 Fi} VBC4{ Fi} Fi} VBC5{ Fi} Fi}
+
+
+E9x6 ::~E9x6(){ note_dtor("E9x6", this);} // tgen
+E9x6 ::E9x6(){ note_ctor("E9x6", this);} // tgen
+
+static void Test_E9x6()
+{
+ extern Class_Descriptor cd_E9x6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(5,7)];
+ init_test(&cd_E9x6, buf);
+ E9x6 *dp, &lv = *(dp=new (buf) E9x6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(32,24), "sizeof(E9x6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E9x6)");
+ check_base_class_offset(lv, (A1*)(C9*), 0, "E9x6");
+ check_base_class_offset(lv, (B0*)(C9*), ABISELECT(20,16), "E9x6");
+ check_base_class_offset(lv, (C9*), 0, "E9x6");
+ check_base_class_offset(lv, (D0*), ABISELECT(24,20), "E9x6");
+ check_field_offset(lv, fd, ABISELECT(16,12), "E9x6.fd");
+ test_class_info(&lv, &cd_E9x6);
+ dp->~E9x6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE9x6(Test_E9x6, "E9x6", ABISELECT(32,24));
+
+#else // __cplusplus
+
+extern void _ZN4E9x6C1Ev();
+extern void _ZN4E9x6D1Ev();
+Name_Map name_map_E9x6[] = {
+ NSPAIR(_ZN4E9x6C1Ev),
+ NSPAIR(_ZN4E9x6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E9x6[] = {
+ // 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(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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D0, 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, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI4E9x6[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_E9x6[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E9x6[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__4E9x6[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_E9x6[] = {
+ {&(_ZTV4E9x6[4]), 4,5},
+ {&(_tg__ZTV2C9__4E9x6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI4E9x6[];
+extern VTBL_ENTRY _ZTV4E9x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x6[];
+Class_Descriptor cd_E9x6 = { "E9x6", // class name
+ bases_E9x6, 4,
+ &(vtc_E9x6[0]), // expected_vtbl_contents
+ &(vtt_E9x6[0]), // expected_vtt_contents
+ ABISELECT(32,24), // object size
+ NSPAIRA(_ZTI4E9x6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E9x6),5, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E9x6),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 G9x6y0 : E9x6 , F1 {
+ int ff;
+ ~G9x6y0(); // tgen
+ G9x6y0(); // tgen
+};
+//SIG(1 G9x6y0) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G9x6y0 ::~G9x6y0(){ note_dtor("G9x6y0", this);} // tgen
+G9x6y0 ::G9x6y0(){ note_ctor("G9x6y0", this);} // tgen
+
+static void Test_G9x6y0()
+{
+ extern Class_Descriptor cd_G9x6y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G9x6y0, buf);
+ G9x6y0 *dp, &lv = *(dp=new (buf) G9x6y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G9x6y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x6y0)");
+ check_base_class_offset(lv, (A1*)(C9*)(E9x6*), 0, "G9x6y0");
+ check_base_class_offset(lv, (B0*)(C9*)(E9x6*), ABISELECT(40,28), "G9x6y0");
+ check_base_class_offset(lv, (C9*)(E9x6*), 0, "G9x6y0");
+ check_base_class_offset(lv, (D0*)(E9x6*), ABISELECT(44,32), "G9x6y0");
+ check_base_class_offset(lv, (E9x6*), 0, "G9x6y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,16), "G9x6y0");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G9x6y0.ff");
+ test_class_info(&lv, &cd_G9x6y0);
+ dp->~G9x6y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x6y0(Test_G9x6y0, "G9x6y0", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G9x6y0C1Ev();
+extern void _ZN6G9x6y0D1Ev();
+Name_Map name_map_G9x6y0[] = {
+ NSPAIR(_ZN6G9x6y0C1Ev),
+ NSPAIR(_ZN6G9x6y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E9x6;
+extern VTBL_ENTRY _ZTI4E9x6[];
+extern VTBL_ENTRY _ZTV4E9x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G9x6y0[] = {
+ // 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,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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E9x6, 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 _ZTI6G9x6y0[];
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G9x6y0[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x6y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G9x6y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x6y0[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E9x6__6G9x6y0[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C94E9x6__6G9x6y0[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x6y0[] = {
+ {&(_ZTV6G9x6y0[4]), 4,8},
+ {&(_tg__ZTV4E9x6__6G9x6y0[4]), 4,5},
+ {&(_tg__ZTV2C94E9x6__6G9x6y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x6y0[];
+extern VTBL_ENTRY _ZTV6G9x6y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x6y0[];
+Class_Descriptor cd_G9x6y0 = { "G9x6y0", // class name
+ bases_G9x6y0, 6,
+ &(vtc_G9x6y0[0]), // expected_vtbl_contents
+ &(vtt_G9x6y0[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G9x6y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x6y0),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x6y0),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 G9x6y1 : virtual E9x6 , F1 {
+ int ff;
+ ~G9x6y1(); // tgen
+ G9x6y1(); // tgen
+};
+//SIG(1 G9x6y1) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G9x6y1 ::~G9x6y1(){ note_dtor("G9x6y1", this);} // tgen
+G9x6y1 ::G9x6y1(){ note_ctor("G9x6y1", this);} // tgen
+
+static void Test_G9x6y1()
+{
+ extern Class_Descriptor cd_G9x6y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G9x6y1, buf);
+ G9x6y1 *dp, &lv = *(dp=new (buf) G9x6y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G9x6y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x6y1)");
+ check_base_class_offset(lv, (A1*)(C9*)(E9x6*), ABISELECT(16,12), "G9x6y1");
+ check_base_class_offset(lv, (B0*)(C9*)(E9x6*), ABISELECT(36,28), "G9x6y1");
+ check_base_class_offset(lv, (C9*)(E9x6*), ABISELECT(16,12), "G9x6y1");
+ check_base_class_offset(lv, (D0*)(E9x6*), ABISELECT(40,32), "G9x6y1");
+ check_base_class_offset(lv, (E9x6*), ABISELECT(16,12), "G9x6y1");
+ check_base_class_offset(lv, (F1*), 0, "G9x6y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G9x6y1.ff");
+ test_class_info(&lv, &cd_G9x6y1);
+ dp->~G9x6y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x6y1(Test_G9x6y1, "G9x6y1", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G9x6y1C1Ev();
+extern void _ZN6G9x6y1D1Ev();
+Name_Map name_map_G9x6y1[] = {
+ NSPAIR(_ZN6G9x6y1C1Ev),
+ NSPAIR(_ZN6G9x6y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E9x6;
+extern VTBL_ENTRY _ZTI4E9x6[];
+extern VTBL_ENTRY _ZTV4E9x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G9x6y1[] = {
+ // 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(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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E9x6, 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
+ 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 _ZTI6G9x6y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G9x6y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x6y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G9x6y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x6y1[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E9x6__6G9x6y1[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C94E9x6__6G9x6y1[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x6y1[] = {
+ {&(_ZTV6G9x6y1[5]), 5,12},
+ {&(_ZTV6G9x6y1[11]), 11,12},
+ {&(_tg__ZTV4E9x6__6G9x6y1[4]), 4,5},
+ {&(_tg__ZTV2C94E9x6__6G9x6y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x6y1[];
+extern VTBL_ENTRY _ZTV6G9x6y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x6y1[];
+Class_Descriptor cd_G9x6y1 = { "G9x6y1", // class name
+ bases_G9x6y1, 6,
+ &(vtc_G9x6y1[0]), // expected_vtbl_contents
+ &(vtt_G9x6y1[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G9x6y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x6y1),12, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x6y1),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 G9x6y2 : E9x6 , virtual F1 {
+ int ff;
+ ~G9x6y2(); // tgen
+ G9x6y2(); // tgen
+};
+//SIG(1 G9x6y2) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G9x6y2 ::~G9x6y2(){ note_dtor("G9x6y2", this);} // tgen
+G9x6y2 ::G9x6y2(){ note_ctor("G9x6y2", this);} // tgen
+
+static void Test_G9x6y2()
+{
+ extern Class_Descriptor cd_G9x6y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G9x6y2, buf);
+ G9x6y2 *dp, &lv = *(dp=new (buf) G9x6y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G9x6y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x6y2)");
+ check_base_class_offset(lv, (A1*)(C9*)(E9x6*), 0, "G9x6y2");
+ check_base_class_offset(lv, (B0*)(C9*)(E9x6*), ABISELECT(24,20), "G9x6y2");
+ check_base_class_offset(lv, (C9*)(E9x6*), 0, "G9x6y2");
+ check_base_class_offset(lv, (D0*)(E9x6*), ABISELECT(28,24), "G9x6y2");
+ check_base_class_offset(lv, (E9x6*), 0, "G9x6y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,28), "G9x6y2");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G9x6y2.ff");
+ test_class_info(&lv, &cd_G9x6y2);
+ dp->~G9x6y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x6y2(Test_G9x6y2, "G9x6y2", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G9x6y2C1Ev();
+extern void _ZN6G9x6y2D1Ev();
+Name_Map name_map_G9x6y2[] = {
+ NSPAIR(_ZN6G9x6y2C1Ev),
+ NSPAIR(_ZN6G9x6y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E9x6;
+extern VTBL_ENTRY _ZTI4E9x6[];
+extern VTBL_ENTRY _ZTV4E9x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G9x6y2[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E9x6, 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,28), //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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G9x6y2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G9x6y2[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x6y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI6G9x6y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x6y2[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E9x6__6G9x6y2[] = {
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C94E9x6__6G9x6y2[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x6y2[] = {
+ {&(_ZTV6G9x6y2[5]), 5,10},
+ {&(_tg__ZTV4E9x6__6G9x6y2[4]), 4,5},
+ {&(_tg__ZTV2C94E9x6__6G9x6y2[3]), 3,4},
+ {&(_ZTV6G9x6y2[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI6G9x6y2[];
+extern VTBL_ENTRY _ZTV6G9x6y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x6y2[];
+Class_Descriptor cd_G9x6y2 = { "G9x6y2", // class name
+ bases_G9x6y2, 6,
+ &(vtc_G9x6y2[0]), // expected_vtbl_contents
+ &(vtt_G9x6y2[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G9x6y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x6y2),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x6y2),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 G9x6y3 : virtual E9x6 , virtual F1 {
+ int ff;
+ ~G9x6y3(); // tgen
+ G9x6y3(); // tgen
+};
+//SIG(1 G9x6y3) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G9x6y3 ::~G9x6y3(){ note_dtor("G9x6y3", this);} // tgen
+G9x6y3 ::G9x6y3(){ note_ctor("G9x6y3", this);} // tgen
+
+static void Test_G9x6y3()
+{
+ extern Class_Descriptor cd_G9x6y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G9x6y3, buf);
+ G9x6y3 *dp, &lv = *(dp=new (buf) G9x6y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G9x6y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x6y3)");
+ check_base_class_offset(lv, (A1*)(C9*)(E9x6*), ABISELECT(16,8), "G9x6y3");
+ check_base_class_offset(lv, (B0*)(C9*)(E9x6*), ABISELECT(36,24), "G9x6y3");
+ check_base_class_offset(lv, (C9*)(E9x6*), ABISELECT(16,8), "G9x6y3");
+ check_base_class_offset(lv, (D0*)(E9x6*), ABISELECT(40,28), "G9x6y3");
+ check_base_class_offset(lv, (E9x6*), ABISELECT(16,8), "G9x6y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G9x6y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G9x6y3.ff");
+ test_class_info(&lv, &cd_G9x6y3);
+ dp->~G9x6y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x6y3(Test_G9x6y3, "G9x6y3", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G9x6y3C1Ev();
+extern void _ZN6G9x6y3D1Ev();
+Name_Map name_map_G9x6y3[] = {
+ NSPAIR(_ZN6G9x6y3C1Ev),
+ NSPAIR(_ZN6G9x6y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E9x6;
+extern VTBL_ENTRY _ZTI4E9x6[];
+extern VTBL_ENTRY _ZTV4E9x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G9x6y3[] = {
+ // 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(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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E9x6, 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_F1, 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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G9x6y3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G9x6y3[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x6y3[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G9x6y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G9x6y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x6y3[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E9x6__6G9x6y3[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C94E9x6__6G9x6y3[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x6y3[] = {
+ {&(_ZTV6G9x6y3[6]), 6,16},
+ {&(_ZTV6G9x6y3[11]), 11,16},
+ {&(_ZTV6G9x6y3[15]), 15,16},
+ {&(_tg__ZTV4E9x6__6G9x6y3[4]), 4,5},
+ {&(_tg__ZTV2C94E9x6__6G9x6y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x6y3[];
+extern VTBL_ENTRY _ZTV6G9x6y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x6y3[];
+Class_Descriptor cd_G9x6y3 = { "G9x6y3", // class name
+ bases_G9x6y3, 6,
+ &(vtc_G9x6y3[0]), // expected_vtbl_contents
+ &(vtt_G9x6y3[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G9x6y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x6y3),16, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x6y3),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 G9x6y4 : E9x6 , F0 {
+ int ff;
+ ~G9x6y4(); // tgen
+ G9x6y4(); // tgen
+};
+//SIG(1 G9x6y4) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G9x6y4 ::~G9x6y4(){ note_dtor("G9x6y4", this);} // tgen
+G9x6y4 ::G9x6y4(){ note_ctor("G9x6y4", this);} // tgen
+
+static void Test_G9x6y4()
+{
+ extern Class_Descriptor cd_G9x6y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G9x6y4, buf);
+ G9x6y4 *dp, &lv = *(dp=new (buf) G9x6y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G9x6y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x6y4)");
+ check_base_class_offset(lv, (A1*)(C9*)(E9x6*), 0, "G9x6y4");
+ check_base_class_offset(lv, (B0*)(C9*)(E9x6*), ABISELECT(28,24), "G9x6y4");
+ check_base_class_offset(lv, (C9*)(E9x6*), 0, "G9x6y4");
+ check_base_class_offset(lv, (D0*)(E9x6*), ABISELECT(32,28), "G9x6y4");
+ check_base_class_offset(lv, (E9x6*), 0, "G9x6y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(20,16), "G9x6y4");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G9x6y4.ff");
+ test_class_info(&lv, &cd_G9x6y4);
+ dp->~G9x6y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x6y4(Test_G9x6y4, "G9x6y4", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN6G9x6y4C1Ev();
+extern void _ZN6G9x6y4D1Ev();
+Name_Map name_map_G9x6y4[] = {
+ NSPAIR(_ZN6G9x6y4C1Ev),
+ NSPAIR(_ZN6G9x6y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E9x6;
+extern VTBL_ENTRY _ZTI4E9x6[];
+extern VTBL_ENTRY _ZTV4E9x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G9x6y4[] = {
+ // 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(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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E9x6, 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 _ZTI6G9x6y4[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G9x6y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x6y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x6y4[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E9x6__6G9x6y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C94E9x6__6G9x6y4[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x6y4[] = {
+ {&(_ZTV6G9x6y4[4]), 4,5},
+ {&(_tg__ZTV4E9x6__6G9x6y4[4]), 4,5},
+ {&(_tg__ZTV2C94E9x6__6G9x6y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x6y4[];
+extern VTBL_ENTRY _ZTV6G9x6y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x6y4[];
+Class_Descriptor cd_G9x6y4 = { "G9x6y4", // class name
+ bases_G9x6y4, 6,
+ &(vtc_G9x6y4[0]), // expected_vtbl_contents
+ &(vtt_G9x6y4[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI6G9x6y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x6y4),5, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x6y4),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 G9x6y5 : virtual E9x6 , F0 {
+ int ff;
+ ~G9x6y5(); // tgen
+ G9x6y5(); // tgen
+};
+//SIG(1 G9x6y5) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G9x6y5 ::~G9x6y5(){ note_dtor("G9x6y5", this);} // tgen
+G9x6y5 ::G9x6y5(){ note_ctor("G9x6y5", this);} // tgen
+
+static void Test_G9x6y5()
+{
+ extern Class_Descriptor cd_G9x6y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G9x6y5, buf);
+ G9x6y5 *dp, &lv = *(dp=new (buf) G9x6y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G9x6y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x6y5)");
+ check_base_class_offset(lv, (A1*)(C9*)(E9x6*), ABISELECT(16,12), "G9x6y5");
+ check_base_class_offset(lv, (B0*)(C9*)(E9x6*), ABISELECT(36,28), "G9x6y5");
+ check_base_class_offset(lv, (C9*)(E9x6*), ABISELECT(16,12), "G9x6y5");
+ check_base_class_offset(lv, (D0*)(E9x6*), ABISELECT(40,32), "G9x6y5");
+ check_base_class_offset(lv, (E9x6*), ABISELECT(16,12), "G9x6y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G9x6y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G9x6y5.ff");
+ test_class_info(&lv, &cd_G9x6y5);
+ dp->~G9x6y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x6y5(Test_G9x6y5, "G9x6y5", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G9x6y5C1Ev();
+extern void _ZN6G9x6y5D1Ev();
+Name_Map name_map_G9x6y5[] = {
+ NSPAIR(_ZN6G9x6y5C1Ev),
+ NSPAIR(_ZN6G9x6y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E9x6;
+extern VTBL_ENTRY _ZTI4E9x6[];
+extern VTBL_ENTRY _ZTV4E9x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G9x6y5[] = {
+ // 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(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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E9x6, 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
+ 3, //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 _ZTI6G9x6y5[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G9x6y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x6y5[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G9x6y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x6y5[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E9x6__6G9x6y5[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C94E9x6__6G9x6y5[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x6y5[] = {
+ {&(_ZTV6G9x6y5[5]), 5,11},
+ {&(_ZTV6G9x6y5[10]), 10,11},
+ {&(_tg__ZTV4E9x6__6G9x6y5[4]), 4,5},
+ {&(_tg__ZTV2C94E9x6__6G9x6y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x6y5[];
+extern VTBL_ENTRY _ZTV6G9x6y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x6y5[];
+Class_Descriptor cd_G9x6y5 = { "G9x6y5", // class name
+ bases_G9x6y5, 6,
+ &(vtc_G9x6y5[0]), // expected_vtbl_contents
+ &(vtt_G9x6y5[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G9x6y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x6y5),11, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x6y5),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 G9x6y6 : E9x6 , virtual F0 {
+ int ff;
+ ~G9x6y6(); // tgen
+ G9x6y6(); // tgen
+};
+//SIG(1 G9x6y6) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G9x6y6 ::~G9x6y6(){ note_dtor("G9x6y6", this);} // tgen
+G9x6y6 ::G9x6y6(){ note_ctor("G9x6y6", this);} // tgen
+
+static void Test_G9x6y6()
+{
+ extern Class_Descriptor cd_G9x6y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G9x6y6, buf);
+ G9x6y6 *dp, &lv = *(dp=new (buf) G9x6y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G9x6y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x6y6)");
+ check_base_class_offset(lv, (A1*)(C9*)(E9x6*), 0, "G9x6y6");
+ check_base_class_offset(lv, (B0*)(C9*)(E9x6*), ABISELECT(24,20), "G9x6y6");
+ check_base_class_offset(lv, (C9*)(E9x6*), 0, "G9x6y6");
+ check_base_class_offset(lv, (D0*)(E9x6*), ABISELECT(28,24), "G9x6y6");
+ check_base_class_offset(lv, (E9x6*), 0, "G9x6y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,28), "G9x6y6");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G9x6y6.ff");
+ test_class_info(&lv, &cd_G9x6y6);
+ dp->~G9x6y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x6y6(Test_G9x6y6, "G9x6y6", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN6G9x6y6C1Ev();
+extern void _ZN6G9x6y6D1Ev();
+Name_Map name_map_G9x6y6[] = {
+ NSPAIR(_ZN6G9x6y6C1Ev),
+ NSPAIR(_ZN6G9x6y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E9x6;
+extern VTBL_ENTRY _ZTI4E9x6[];
+extern VTBL_ENTRY _ZTV4E9x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G9x6y6[] = {
+ // 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(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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E9x6, 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,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 _ZTI6G9x6y6[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G9x6y6[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x6y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x6y6[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E9x6__6G9x6y6[] = {
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C94E9x6__6G9x6y6[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x6y6[] = {
+ {&(_ZTV6G9x6y6[5]), 5,6},
+ {&(_tg__ZTV4E9x6__6G9x6y6[4]), 4,5},
+ {&(_tg__ZTV2C94E9x6__6G9x6y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x6y6[];
+extern VTBL_ENTRY _ZTV6G9x6y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x6y6[];
+Class_Descriptor cd_G9x6y6 = { "G9x6y6", // class name
+ bases_G9x6y6, 6,
+ &(vtc_G9x6y6[0]), // expected_vtbl_contents
+ &(vtt_G9x6y6[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI6G9x6y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x6y6),6, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x6y6),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 G9x6y7 : virtual E9x6 , virtual F0 {
+ int ff;
+ ~G9x6y7(); // tgen
+ G9x6y7(); // tgen
+};
+//SIG(1 G9x6y7) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G9x6y7 ::~G9x6y7(){ note_dtor("G9x6y7", this);} // tgen
+G9x6y7 ::G9x6y7(){ note_ctor("G9x6y7", this);} // tgen
+
+static void Test_G9x6y7()
+{
+ extern Class_Descriptor cd_G9x6y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G9x6y7, buf);
+ G9x6y7 *dp, &lv = *(dp=new (buf) G9x6y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G9x6y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x6y7)");
+ check_base_class_offset(lv, (A1*)(C9*)(E9x6*), ABISELECT(16,8), "G9x6y7");
+ check_base_class_offset(lv, (B0*)(C9*)(E9x6*), ABISELECT(36,24), "G9x6y7");
+ check_base_class_offset(lv, (C9*)(E9x6*), ABISELECT(16,8), "G9x6y7");
+ check_base_class_offset(lv, (D0*)(E9x6*), ABISELECT(40,28), "G9x6y7");
+ check_base_class_offset(lv, (E9x6*), ABISELECT(16,8), "G9x6y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G9x6y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G9x6y7.ff");
+ test_class_info(&lv, &cd_G9x6y7);
+ dp->~G9x6y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x6y7(Test_G9x6y7, "G9x6y7", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G9x6y7C1Ev();
+extern void _ZN6G9x6y7D1Ev();
+Name_Map name_map_G9x6y7[] = {
+ NSPAIR(_ZN6G9x6y7C1Ev),
+ NSPAIR(_ZN6G9x6y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E9x6;
+extern VTBL_ENTRY _ZTI4E9x6[];
+extern VTBL_ENTRY _ZTV4E9x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G9x6y7[] = {
+ // 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(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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E9x6, 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
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //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 _ZTI6G9x6y7[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G9x6y7[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x6y7[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G9x6y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x6y7[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV4E9x6__6G9x6y7[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C94E9x6__6G9x6y7[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x6y7[] = {
+ {&(_ZTV6G9x6y7[6]), 6,12},
+ {&(_ZTV6G9x6y7[11]), 11,12},
+ {&(_tg__ZTV4E9x6__6G9x6y7[4]), 4,5},
+ {&(_tg__ZTV2C94E9x6__6G9x6y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x6y7[];
+extern VTBL_ENTRY _ZTV6G9x6y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x6y7[];
+Class_Descriptor cd_G9x6y7 = { "G9x6y7", // class name
+ bases_G9x6y7, 6,
+ &(vtc_G9x6y7[0]), // expected_vtbl_contents
+ &(vtt_G9x6y7[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G9x6y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x6y7),12, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x6y7),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 E10x6 : C10 , virtual D0 {
+ int fd;
+ ~E10x6(); // tgen
+ E10x6(); // tgen
+};
+//SIG(-1 E10x6) C1{ BC2{ VBC3{ Fi} VBC4{ Fi} Fi} VBC5{ Fi} Fi}
+
+
+E10x6 ::~E10x6(){ note_dtor("E10x6", this);} // tgen
+E10x6 ::E10x6(){ note_ctor("E10x6", this);} // tgen
+
+static void Test_E10x6()
+{
+ extern Class_Descriptor cd_E10x6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(5,7)];
+ init_test(&cd_E10x6, buf);
+ E10x6 *dp, &lv = *(dp=new (buf) E10x6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(32,24), "sizeof(E10x6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E10x6)");
+ check_base_class_offset(lv, (A0*)(C10*), ABISELECT(16,12), "E10x6");
+ check_base_class_offset(lv, (B0*)(C10*), ABISELECT(20,16), "E10x6");
+ check_base_class_offset(lv, (C10*), 0, "E10x6");
+ check_base_class_offset(lv, (D0*), ABISELECT(24,20), "E10x6");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E10x6.fd");
+ test_class_info(&lv, &cd_E10x6);
+ dp->~E10x6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE10x6(Test_E10x6, "E10x6", ABISELECT(32,24));
+
+#else // __cplusplus
+
+extern void _ZN5E10x6C1Ev();
+extern void _ZN5E10x6D1Ev();
+Name_Map name_map_E10x6[] = {
+ NSPAIR(_ZN5E10x6C1Ev),
+ NSPAIR(_ZN5E10x6D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E10x6[] = {
+ // 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
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D0, 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, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E10x6[];
+static VTBL_ENTRY vtc_E10x6[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x6[0]),
+};
+extern VTBL_ENTRY _ZTV5E10x6[];
+static VTBL_ENTRY _tg__ZTV3C10__5E10x6[] = {
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_E10x6[] = {
+ {&(_ZTV5E10x6[5]), 5,5},
+ {&(_tg__ZTV3C10__5E10x6[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI5E10x6[];
+extern VTBL_ENTRY _ZTV5E10x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x6[];
+Class_Descriptor cd_E10x6 = { "E10x6", // class name
+ bases_E10x6, 4,
+ &(vtc_E10x6[0]), // expected_vtbl_contents
+ &(vtt_E10x6[0]), // expected_vtt_contents
+ ABISELECT(32,24), // object size
+ NSPAIRA(_ZTI5E10x6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E10x6),5, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E10x6),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 G10x6y0 : E10x6 , F1 {
+ int ff;
+ ~G10x6y0(); // tgen
+ G10x6y0(); // tgen
+};
+//SIG(1 G10x6y0) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ v1 Fi} Fi}
+
+
+G10x6y0 ::~G10x6y0(){ note_dtor("G10x6y0", this);} // tgen
+G10x6y0 ::G10x6y0(){ note_ctor("G10x6y0", this);} // tgen
+
+static void Test_G10x6y0()
+{
+ extern Class_Descriptor cd_G10x6y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G10x6y0, buf);
+ G10x6y0 *dp, &lv = *(dp=new (buf) G10x6y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G10x6y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x6y0)");
+ check_base_class_offset(lv, (A0*)(C10*)(E10x6*), ABISELECT(32,24), "G10x6y0");
+ check_base_class_offset(lv, (B0*)(C10*)(E10x6*), ABISELECT(36,28), "G10x6y0");
+ check_base_class_offset(lv, (C10*)(E10x6*), 0, "G10x6y0");
+ check_base_class_offset(lv, (D0*)(E10x6*), ABISELECT(40,32), "G10x6y0");
+ check_base_class_offset(lv, (E10x6*), 0, "G10x6y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G10x6y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G10x6y0.ff");
+ test_class_info(&lv, &cd_G10x6y0);
+ dp->~G10x6y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x6y0(Test_G10x6y0, "G10x6y0", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G10x6y0C1Ev();
+extern void _ZN7G10x6y0D1Ev();
+Name_Map name_map_G10x6y0[] = {
+ NSPAIR(_ZN7G10x6y0C1Ev),
+ NSPAIR(_ZN7G10x6y0D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E10x6;
+extern VTBL_ENTRY _ZTI5E10x6[];
+extern VTBL_ENTRY _ZTV5E10x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G10x6y0[] = {
+ // 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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E10x6, 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
+ 2, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G10x6y0[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G10x6y0[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x6y0[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G10x6y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G10x6y0[];
+static VTBL_ENTRY _tg__ZTV5E10x6__7G10x6y0[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C105E10x6__7G10x6y0[] = {
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x6y0[] = {
+ {&(_ZTV7G10x6y0[5]), 5,8},
+ {&(_tg__ZTV5E10x6__7G10x6y0[5]), 5,5},
+ {&(_tg__ZTV3C105E10x6__7G10x6y0[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x6y0[];
+extern VTBL_ENTRY _ZTV7G10x6y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x6y0[];
+Class_Descriptor cd_G10x6y0 = { "G10x6y0", // class name
+ bases_G10x6y0, 6,
+ &(vtc_G10x6y0[0]), // expected_vtbl_contents
+ &(vtt_G10x6y0[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G10x6y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x6y0),8, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x6y0),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 G10x6y1 : virtual E10x6 , F1 {
+ int ff;
+ ~G10x6y1(); // tgen
+ G10x6y1(); // tgen
+};
+//SIG(1 G10x6y1) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ v1 Fi} Fi}
+
+
+G10x6y1 ::~G10x6y1(){ note_dtor("G10x6y1", this);} // tgen
+G10x6y1 ::G10x6y1(){ note_ctor("G10x6y1", this);} // tgen
+
+static void Test_G10x6y1()
+{
+ extern Class_Descriptor cd_G10x6y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G10x6y1, buf);
+ G10x6y1 *dp, &lv = *(dp=new (buf) G10x6y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G10x6y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x6y1)");
+ check_base_class_offset(lv, (A0*)(C10*)(E10x6*), ABISELECT(32,24), "G10x6y1");
+ check_base_class_offset(lv, (B0*)(C10*)(E10x6*), ABISELECT(36,28), "G10x6y1");
+ check_base_class_offset(lv, (C10*)(E10x6*), ABISELECT(16,12), "G10x6y1");
+ check_base_class_offset(lv, (D0*)(E10x6*), ABISELECT(40,32), "G10x6y1");
+ check_base_class_offset(lv, (E10x6*), ABISELECT(16,12), "G10x6y1");
+ check_base_class_offset(lv, (F1*), 0, "G10x6y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G10x6y1.ff");
+ test_class_info(&lv, &cd_G10x6y1);
+ dp->~G10x6y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x6y1(Test_G10x6y1, "G10x6y1", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G10x6y1C1Ev();
+extern void _ZN7G10x6y1D1Ev();
+Name_Map name_map_G10x6y1[] = {
+ NSPAIR(_ZN7G10x6y1C1Ev),
+ NSPAIR(_ZN7G10x6y1D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E10x6;
+extern VTBL_ENTRY _ZTI5E10x6[];
+extern VTBL_ENTRY _ZTV5E10x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G10x6y1[] = {
+ // 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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E10x6, 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
+ 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 _ZTI7G10x6y1[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G10x6y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x6y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G10x6y1[0]),
+};
+extern VTBL_ENTRY _ZTV7G10x6y1[];
+static VTBL_ENTRY _tg__ZTV5E10x6__7G10x6y1[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C105E10x6__7G10x6y1[] = {
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x6y1[] = {
+ {&(_ZTV7G10x6y1[6]), 6,12},
+ {&(_ZTV7G10x6y1[12]), 12,12},
+ {&(_tg__ZTV5E10x6__7G10x6y1[5]), 5,5},
+ {&(_tg__ZTV3C105E10x6__7G10x6y1[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x6y1[];
+extern VTBL_ENTRY _ZTV7G10x6y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x6y1[];
+Class_Descriptor cd_G10x6y1 = { "G10x6y1", // class name
+ bases_G10x6y1, 6,
+ &(vtc_G10x6y1[0]), // expected_vtbl_contents
+ &(vtt_G10x6y1[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G10x6y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x6y1),12, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x6y1),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 G10x6y2 : E10x6 , virtual F1 {
+ int ff;
+ ~G10x6y2(); // tgen
+ G10x6y2(); // tgen
+};
+//SIG(1 G10x6y2) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ v1 Fi} Fi}
+
+
+G10x6y2 ::~G10x6y2(){ note_dtor("G10x6y2", this);} // tgen
+G10x6y2 ::G10x6y2(){ note_ctor("G10x6y2", this);} // tgen
+
+static void Test_G10x6y2()
+{
+ extern Class_Descriptor cd_G10x6y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G10x6y2, buf);
+ G10x6y2 *dp, &lv = *(dp=new (buf) G10x6y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G10x6y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x6y2)");
+ check_base_class_offset(lv, (A0*)(C10*)(E10x6*), ABISELECT(20,16), "G10x6y2");
+ check_base_class_offset(lv, (B0*)(C10*)(E10x6*), ABISELECT(24,20), "G10x6y2");
+ check_base_class_offset(lv, (C10*)(E10x6*), 0, "G10x6y2");
+ check_base_class_offset(lv, (D0*)(E10x6*), ABISELECT(28,24), "G10x6y2");
+ check_base_class_offset(lv, (E10x6*), 0, "G10x6y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,28), "G10x6y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G10x6y2.ff");
+ test_class_info(&lv, &cd_G10x6y2);
+ dp->~G10x6y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x6y2(Test_G10x6y2, "G10x6y2", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G10x6y2C1Ev();
+extern void _ZN7G10x6y2D1Ev();
+Name_Map name_map_G10x6y2[] = {
+ NSPAIR(_ZN7G10x6y2C1Ev),
+ NSPAIR(_ZN7G10x6y2D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E10x6;
+extern VTBL_ENTRY _ZTI5E10x6[];
+extern VTBL_ENTRY _ZTV5E10x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G10x6y2[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E10x6, 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(32,28), //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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G10x6y2[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G10x6y2[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x6y2[0]),
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI7G10x6y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G10x6y2[];
+static VTBL_ENTRY _tg__ZTV5E10x6__7G10x6y2[] = {
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C105E10x6__7G10x6y2[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x6y2[] = {
+ {&(_ZTV7G10x6y2[6]), 6,10},
+ {&(_tg__ZTV5E10x6__7G10x6y2[5]), 5,5},
+ {&(_tg__ZTV3C105E10x6__7G10x6y2[4]), 4,4},
+ {&(_ZTV7G10x6y2[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI7G10x6y2[];
+extern VTBL_ENTRY _ZTV7G10x6y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x6y2[];
+Class_Descriptor cd_G10x6y2 = { "G10x6y2", // class name
+ bases_G10x6y2, 6,
+ &(vtc_G10x6y2[0]), // expected_vtbl_contents
+ &(vtt_G10x6y2[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G10x6y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x6y2),10, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x6y2),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 G10x6y3 : virtual E10x6 , virtual F1 {
+ int ff;
+ ~G10x6y3(); // tgen
+ G10x6y3(); // tgen
+};
+//SIG(1 G10x6y3) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ v1 Fi} Fi}
+
+
+G10x6y3 ::~G10x6y3(){ note_dtor("G10x6y3", this);} // tgen
+G10x6y3 ::G10x6y3(){ note_ctor("G10x6y3", this);} // tgen
+
+static void Test_G10x6y3()
+{
+ extern Class_Descriptor cd_G10x6y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G10x6y3, buf);
+ G10x6y3 *dp, &lv = *(dp=new (buf) G10x6y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G10x6y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x6y3)");
+ check_base_class_offset(lv, (A0*)(C10*)(E10x6*), ABISELECT(32,20), "G10x6y3");
+ check_base_class_offset(lv, (B0*)(C10*)(E10x6*), ABISELECT(36,24), "G10x6y3");
+ check_base_class_offset(lv, (C10*)(E10x6*), ABISELECT(16,8), "G10x6y3");
+ check_base_class_offset(lv, (D0*)(E10x6*), ABISELECT(40,28), "G10x6y3");
+ check_base_class_offset(lv, (E10x6*), ABISELECT(16,8), "G10x6y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G10x6y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G10x6y3.ff");
+ test_class_info(&lv, &cd_G10x6y3);
+ dp->~G10x6y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x6y3(Test_G10x6y3, "G10x6y3", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G10x6y3C1Ev();
+extern void _ZN7G10x6y3D1Ev();
+Name_Map name_map_G10x6y3[] = {
+ NSPAIR(_ZN7G10x6y3C1Ev),
+ NSPAIR(_ZN7G10x6y3D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E10x6;
+extern VTBL_ENTRY _ZTI5E10x6[];
+extern VTBL_ENTRY _ZTV5E10x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G10x6y3[] = {
+ // 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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E10x6, 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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, 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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G10x6y3[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G10x6y3[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x6y3[0]),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G10x6y3[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G10x6y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G10x6y3[];
+static VTBL_ENTRY _tg__ZTV5E10x6__7G10x6y3[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C105E10x6__7G10x6y3[] = {
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x6y3[] = {
+ {&(_ZTV7G10x6y3[7]), 7,16},
+ {&(_ZTV7G10x6y3[12]), 12,16},
+ {&(_ZTV7G10x6y3[15]), 15,16},
+ {&(_tg__ZTV5E10x6__7G10x6y3[5]), 5,5},
+ {&(_tg__ZTV3C105E10x6__7G10x6y3[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x6y3[];
+extern VTBL_ENTRY _ZTV7G10x6y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x6y3[];
+Class_Descriptor cd_G10x6y3 = { "G10x6y3", // class name
+ bases_G10x6y3, 6,
+ &(vtc_G10x6y3[0]), // expected_vtbl_contents
+ &(vtt_G10x6y3[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G10x6y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x6y3),16, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x6y3),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 G10x6y4 : E10x6 , F0 {
+ int ff;
+ ~G10x6y4(); // tgen
+ G10x6y4(); // tgen
+};
+//SIG(1 G10x6y4) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G10x6y4 ::~G10x6y4(){ note_dtor("G10x6y4", this);} // tgen
+G10x6y4 ::G10x6y4(){ note_ctor("G10x6y4", this);} // tgen
+
+static void Test_G10x6y4()
+{
+ extern Class_Descriptor cd_G10x6y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G10x6y4, buf);
+ G10x6y4 *dp, &lv = *(dp=new (buf) G10x6y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G10x6y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x6y4)");
+ check_base_class_offset(lv, (A0*)(C10*)(E10x6*), ABISELECT(24,20), "G10x6y4");
+ check_base_class_offset(lv, (B0*)(C10*)(E10x6*), ABISELECT(28,24), "G10x6y4");
+ check_base_class_offset(lv, (C10*)(E10x6*), 0, "G10x6y4");
+ check_base_class_offset(lv, (D0*)(E10x6*), ABISELECT(32,28), "G10x6y4");
+ check_base_class_offset(lv, (E10x6*), 0, "G10x6y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G10x6y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G10x6y4.ff");
+ test_class_info(&lv, &cd_G10x6y4);
+ dp->~G10x6y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x6y4(Test_G10x6y4, "G10x6y4", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN7G10x6y4C1Ev();
+extern void _ZN7G10x6y4D1Ev();
+Name_Map name_map_G10x6y4[] = {
+ NSPAIR(_ZN7G10x6y4C1Ev),
+ NSPAIR(_ZN7G10x6y4D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E10x6;
+extern VTBL_ENTRY _ZTI5E10x6[];
+extern VTBL_ENTRY _ZTV5E10x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G10x6y4[] = {
+ // 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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E10x6, 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
+ 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 _ZTI7G10x6y4[];
+static VTBL_ENTRY vtc_G10x6y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x6y4[0]),
+};
+extern VTBL_ENTRY _ZTV7G10x6y4[];
+static VTBL_ENTRY _tg__ZTV5E10x6__7G10x6y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C105E10x6__7G10x6y4[] = {
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x6y4[] = {
+ {&(_ZTV7G10x6y4[5]), 5,5},
+ {&(_tg__ZTV5E10x6__7G10x6y4[5]), 5,5},
+ {&(_tg__ZTV3C105E10x6__7G10x6y4[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x6y4[];
+extern VTBL_ENTRY _ZTV7G10x6y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x6y4[];
+Class_Descriptor cd_G10x6y4 = { "G10x6y4", // class name
+ bases_G10x6y4, 6,
+ &(vtc_G10x6y4[0]), // expected_vtbl_contents
+ &(vtt_G10x6y4[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI7G10x6y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x6y4),5, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x6y4),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 G10x6y5 : virtual E10x6 , F0 {
+ int ff;
+ ~G10x6y5(); // tgen
+ G10x6y5(); // tgen
+};
+//SIG(1 G10x6y5) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G10x6y5 ::~G10x6y5(){ note_dtor("G10x6y5", this);} // tgen
+G10x6y5 ::G10x6y5(){ note_ctor("G10x6y5", this);} // tgen
+
+static void Test_G10x6y5()
+{
+ extern Class_Descriptor cd_G10x6y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G10x6y5, buf);
+ G10x6y5 *dp, &lv = *(dp=new (buf) G10x6y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G10x6y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x6y5)");
+ check_base_class_offset(lv, (A0*)(C10*)(E10x6*), ABISELECT(32,24), "G10x6y5");
+ check_base_class_offset(lv, (B0*)(C10*)(E10x6*), ABISELECT(36,28), "G10x6y5");
+ check_base_class_offset(lv, (C10*)(E10x6*), ABISELECT(16,12), "G10x6y5");
+ check_base_class_offset(lv, (D0*)(E10x6*), ABISELECT(40,32), "G10x6y5");
+ check_base_class_offset(lv, (E10x6*), ABISELECT(16,12), "G10x6y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G10x6y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G10x6y5.ff");
+ test_class_info(&lv, &cd_G10x6y5);
+ dp->~G10x6y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x6y5(Test_G10x6y5, "G10x6y5", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G10x6y5C1Ev();
+extern void _ZN7G10x6y5D1Ev();
+Name_Map name_map_G10x6y5[] = {
+ NSPAIR(_ZN7G10x6y5C1Ev),
+ NSPAIR(_ZN7G10x6y5D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E10x6;
+extern VTBL_ENTRY _ZTI5E10x6[];
+extern VTBL_ENTRY _ZTV5E10x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G10x6y5[] = {
+ // 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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E10x6, 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
+ 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 _ZTI7G10x6y5[];
+static VTBL_ENTRY vtc_G10x6y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x6y5[0]),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G10x6y5[0]),
+};
+extern VTBL_ENTRY _ZTV7G10x6y5[];
+static VTBL_ENTRY _tg__ZTV5E10x6__7G10x6y5[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C105E10x6__7G10x6y5[] = {
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x6y5[] = {
+ {&(_ZTV7G10x6y5[6]), 6,11},
+ {&(_ZTV7G10x6y5[11]), 11,11},
+ {&(_tg__ZTV5E10x6__7G10x6y5[5]), 5,5},
+ {&(_tg__ZTV3C105E10x6__7G10x6y5[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x6y5[];
+extern VTBL_ENTRY _ZTV7G10x6y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x6y5[];
+Class_Descriptor cd_G10x6y5 = { "G10x6y5", // class name
+ bases_G10x6y5, 6,
+ &(vtc_G10x6y5[0]), // expected_vtbl_contents
+ &(vtt_G10x6y5[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G10x6y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x6y5),11, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x6y5),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 G10x6y6 : E10x6 , virtual F0 {
+ int ff;
+ ~G10x6y6(); // tgen
+ G10x6y6(); // tgen
+};
+//SIG(1 G10x6y6) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G10x6y6 ::~G10x6y6(){ note_dtor("G10x6y6", this);} // tgen
+G10x6y6 ::G10x6y6(){ note_ctor("G10x6y6", this);} // tgen
+
+static void Test_G10x6y6()
+{
+ extern Class_Descriptor cd_G10x6y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G10x6y6, buf);
+ G10x6y6 *dp, &lv = *(dp=new (buf) G10x6y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G10x6y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x6y6)");
+ check_base_class_offset(lv, (A0*)(C10*)(E10x6*), ABISELECT(20,16), "G10x6y6");
+ check_base_class_offset(lv, (B0*)(C10*)(E10x6*), ABISELECT(24,20), "G10x6y6");
+ check_base_class_offset(lv, (C10*)(E10x6*), 0, "G10x6y6");
+ check_base_class_offset(lv, (D0*)(E10x6*), ABISELECT(28,24), "G10x6y6");
+ check_base_class_offset(lv, (E10x6*), 0, "G10x6y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,28), "G10x6y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G10x6y6.ff");
+ test_class_info(&lv, &cd_G10x6y6);
+ dp->~G10x6y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x6y6(Test_G10x6y6, "G10x6y6", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN7G10x6y6C1Ev();
+extern void _ZN7G10x6y6D1Ev();
+Name_Map name_map_G10x6y6[] = {
+ NSPAIR(_ZN7G10x6y6C1Ev),
+ NSPAIR(_ZN7G10x6y6D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E10x6;
+extern VTBL_ENTRY _ZTI5E10x6[];
+extern VTBL_ENTRY _ZTV5E10x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G10x6y6[] = {
+ // 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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E10x6, 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
+ 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 _ZTI7G10x6y6[];
+static VTBL_ENTRY vtc_G10x6y6[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x6y6[0]),
+};
+extern VTBL_ENTRY _ZTV7G10x6y6[];
+static VTBL_ENTRY _tg__ZTV5E10x6__7G10x6y6[] = {
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C105E10x6__7G10x6y6[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x6y6[] = {
+ {&(_ZTV7G10x6y6[6]), 6,6},
+ {&(_tg__ZTV5E10x6__7G10x6y6[5]), 5,5},
+ {&(_tg__ZTV3C105E10x6__7G10x6y6[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x6y6[];
+extern VTBL_ENTRY _ZTV7G10x6y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x6y6[];
+Class_Descriptor cd_G10x6y6 = { "G10x6y6", // class name
+ bases_G10x6y6, 6,
+ &(vtc_G10x6y6[0]), // expected_vtbl_contents
+ &(vtt_G10x6y6[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI7G10x6y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x6y6),6, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x6y6),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 G10x6y7 : virtual E10x6 , virtual F0 {
+ int ff;
+ ~G10x6y7(); // tgen
+ G10x6y7(); // tgen
+};
+//SIG(1 G10x6y7) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G10x6y7 ::~G10x6y7(){ note_dtor("G10x6y7", this);} // tgen
+G10x6y7 ::G10x6y7(){ note_ctor("G10x6y7", this);} // tgen
+
+static void Test_G10x6y7()
+{
+ extern Class_Descriptor cd_G10x6y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G10x6y7, buf);
+ G10x6y7 *dp, &lv = *(dp=new (buf) G10x6y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G10x6y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x6y7)");
+ check_base_class_offset(lv, (A0*)(C10*)(E10x6*), ABISELECT(32,20), "G10x6y7");
+ check_base_class_offset(lv, (B0*)(C10*)(E10x6*), ABISELECT(36,24), "G10x6y7");
+ check_base_class_offset(lv, (C10*)(E10x6*), ABISELECT(16,8), "G10x6y7");
+ check_base_class_offset(lv, (D0*)(E10x6*), ABISELECT(40,28), "G10x6y7");
+ check_base_class_offset(lv, (E10x6*), ABISELECT(16,8), "G10x6y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G10x6y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G10x6y7.ff");
+ test_class_info(&lv, &cd_G10x6y7);
+ dp->~G10x6y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x6y7(Test_G10x6y7, "G10x6y7", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G10x6y7C1Ev();
+extern void _ZN7G10x6y7D1Ev();
+Name_Map name_map_G10x6y7[] = {
+ NSPAIR(_ZN7G10x6y7C1Ev),
+ NSPAIR(_ZN7G10x6y7D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E10x6;
+extern VTBL_ENTRY _ZTI5E10x6[];
+extern VTBL_ENTRY _ZTV5E10x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G10x6y7[] = {
+ // 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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E10x6, 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
+ 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 _ZTI7G10x6y7[];
+static VTBL_ENTRY vtc_G10x6y7[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x6y7[0]),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G10x6y7[0]),
+};
+extern VTBL_ENTRY _ZTV7G10x6y7[];
+static VTBL_ENTRY _tg__ZTV5E10x6__7G10x6y7[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C105E10x6__7G10x6y7[] = {
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x6y7[] = {
+ {&(_ZTV7G10x6y7[7]), 7,12},
+ {&(_ZTV7G10x6y7[12]), 12,12},
+ {&(_tg__ZTV5E10x6__7G10x6y7[5]), 5,5},
+ {&(_tg__ZTV3C105E10x6__7G10x6y7[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x6y7[];
+extern VTBL_ENTRY _ZTV7G10x6y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x6y7[];
+Class_Descriptor cd_G10x6y7 = { "G10x6y7", // class name
+ bases_G10x6y7, 6,
+ &(vtc_G10x6y7[0]), // expected_vtbl_contents
+ &(vtt_G10x6y7[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G10x6y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x6y7),12, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x6y7),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 E11x6 : C11 , virtual D0 {
+ int fd;
+ ~E11x6(); // tgen
+ E11x6(); // tgen
+};
+//SIG(-1 E11x6) C1{ BC2{ VBC3{ v1 Fi} VBC4{ Fi} Fi} VBC5{ Fi} Fi}
+
+
+E11x6 ::~E11x6(){ note_dtor("E11x6", this);} // tgen
+E11x6 ::E11x6(){ note_ctor("E11x6", this);} // tgen
+
+static void Test_E11x6()
+{
+ extern Class_Descriptor cd_E11x6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E11x6, buf);
+ E11x6 *dp, &lv = *(dp=new (buf) E11x6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E11x6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E11x6)");
+ check_base_class_offset(lv, (A1*)(C11*), ABISELECT(16,12), "E11x6");
+ check_base_class_offset(lv, (B0*)(C11*), ABISELECT(28,20), "E11x6");
+ check_base_class_offset(lv, (C11*), 0, "E11x6");
+ check_base_class_offset(lv, (D0*), ABISELECT(32,24), "E11x6");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E11x6.fd");
+ test_class_info(&lv, &cd_E11x6);
+ dp->~E11x6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE11x6(Test_E11x6, "E11x6", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E11x6C1Ev();
+extern void _ZN5E11x6D1Ev();
+Name_Map name_map_E11x6[] = {
+ NSPAIR(_ZN5E11x6C1Ev),
+ NSPAIR(_ZN5E11x6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E11x6[] = {
+ // 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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D0, 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, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E11x6[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_E11x6[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x6[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E11x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E11x6[];
+static VTBL_ENTRY _tg__ZTV3C11__5E11x6[] = {
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C11__5E11x6[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_E11x6[] = {
+ {&(_ZTV5E11x6[5]), 5,9},
+ {&(_tg__ZTV3C11__5E11x6[4]), 4,4},
+ {&(_tg__ZTV2A1__3C11__5E11x6[3]), 3,4},
+ {&(_ZTV5E11x6[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI5E11x6[];
+extern VTBL_ENTRY _ZTV5E11x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x6[];
+Class_Descriptor cd_E11x6 = { "E11x6", // class name
+ bases_E11x6, 4,
+ &(vtc_E11x6[0]), // expected_vtbl_contents
+ &(vtt_E11x6[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E11x6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E11x6),9, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E11x6),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 G11x6y0 : E11x6 , F1 {
+ int ff;
+ ~G11x6y0(); // tgen
+ G11x6y0(); // tgen
+};
+//SIG(1 G11x6y0) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G11x6y0 ::~G11x6y0(){ note_dtor("G11x6y0", this);} // tgen
+G11x6y0 ::G11x6y0(){ note_ctor("G11x6y0", this);} // tgen
+
+static void Test_G11x6y0()
+{
+ extern Class_Descriptor cd_G11x6y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G11x6y0, buf);
+ G11x6y0 *dp, &lv = *(dp=new (buf) G11x6y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G11x6y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x6y0)");
+ check_base_class_offset(lv, (A1*)(C11*)(E11x6*), ABISELECT(32,24), "G11x6y0");
+ check_base_class_offset(lv, (B0*)(C11*)(E11x6*), ABISELECT(44,32), "G11x6y0");
+ check_base_class_offset(lv, (C11*)(E11x6*), 0, "G11x6y0");
+ check_base_class_offset(lv, (D0*)(E11x6*), ABISELECT(48,36), "G11x6y0");
+ check_base_class_offset(lv, (E11x6*), 0, "G11x6y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G11x6y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G11x6y0.ff");
+ test_class_info(&lv, &cd_G11x6y0);
+ dp->~G11x6y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x6y0(Test_G11x6y0, "G11x6y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G11x6y0C1Ev();
+extern void _ZN7G11x6y0D1Ev();
+Name_Map name_map_G11x6y0[] = {
+ NSPAIR(_ZN7G11x6y0C1Ev),
+ NSPAIR(_ZN7G11x6y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E11x6;
+extern VTBL_ENTRY _ZTI5E11x6[];
+extern VTBL_ENTRY _ZTV5E11x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G11x6y0[] = {
+ // 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)
+ 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(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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E11x6, 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 _ZTI7G11x6y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G11x6y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x6y0[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G11x6y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G11x6y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x6y0[];
+static VTBL_ENTRY _tg__ZTV5E11x6__7G11x6y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C115E11x6__7G11x6y0[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C115E11x6__7G11x6y0[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x6__7G11x6y0[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E11x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x6y0[] = {
+ {&(_ZTV7G11x6y0[5]), 5,12},
+ {&(_tg__ZTV5E11x6__7G11x6y0[5]), 5,5},
+ {&(_tg__ZTV3C115E11x6__7G11x6y0[4]), 4,4},
+ {&(_tg__ZTV2A1__3C115E11x6__7G11x6y0[3]), 3,4},
+ {&(_tg__ZTV2A1__5E11x6__7G11x6y0[3]), 3,4},
+ {&(_ZTV7G11x6y0[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI7G11x6y0[];
+extern VTBL_ENTRY _ZTV7G11x6y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x6y0[];
+Class_Descriptor cd_G11x6y0 = { "G11x6y0", // class name
+ bases_G11x6y0, 6,
+ &(vtc_G11x6y0[0]), // expected_vtbl_contents
+ &(vtt_G11x6y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G11x6y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x6y0),12, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x6y0),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 G11x6y1 : virtual E11x6 , F1 {
+ int ff;
+ ~G11x6y1(); // tgen
+ G11x6y1(); // tgen
+};
+//SIG(1 G11x6y1) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G11x6y1 ::~G11x6y1(){ note_dtor("G11x6y1", this);} // tgen
+G11x6y1 ::G11x6y1(){ note_ctor("G11x6y1", this);} // tgen
+
+static void Test_G11x6y1()
+{
+ extern Class_Descriptor cd_G11x6y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G11x6y1, buf);
+ G11x6y1 *dp, &lv = *(dp=new (buf) G11x6y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G11x6y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x6y1)");
+ check_base_class_offset(lv, (A1*)(C11*)(E11x6*), ABISELECT(32,24), "G11x6y1");
+ check_base_class_offset(lv, (B0*)(C11*)(E11x6*), ABISELECT(44,32), "G11x6y1");
+ check_base_class_offset(lv, (C11*)(E11x6*), ABISELECT(16,12), "G11x6y1");
+ check_base_class_offset(lv, (D0*)(E11x6*), ABISELECT(48,36), "G11x6y1");
+ check_base_class_offset(lv, (E11x6*), ABISELECT(16,12), "G11x6y1");
+ check_base_class_offset(lv, (F1*), 0, "G11x6y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G11x6y1.ff");
+ test_class_info(&lv, &cd_G11x6y1);
+ dp->~G11x6y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x6y1(Test_G11x6y1, "G11x6y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G11x6y1C1Ev();
+extern void _ZN7G11x6y1D1Ev();
+Name_Map name_map_G11x6y1[] = {
+ NSPAIR(_ZN7G11x6y1C1Ev),
+ NSPAIR(_ZN7G11x6y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E11x6;
+extern VTBL_ENTRY _ZTI5E11x6[];
+extern VTBL_ENTRY _ZTV5E11x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G11x6y1[] = {
+ // 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E11x6, 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 _ZTI7G11x6y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G11x6y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x6y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G11x6y1[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G11x6y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x6y1[];
+static VTBL_ENTRY _tg__ZTV5E11x6__7G11x6y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C115E11x6__7G11x6y1[] = {
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C115E11x6__7G11x6y1[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x6__7G11x6y1[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E11x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x6y1[] = {
+ {&(_ZTV7G11x6y1[6]), 6,16},
+ {&(_ZTV7G11x6y1[12]), 12,16},
+ {&(_ZTV7G11x6y1[15]), 15,16},
+ {&(_tg__ZTV5E11x6__7G11x6y1[5]), 5,5},
+ {&(_tg__ZTV3C115E11x6__7G11x6y1[4]), 4,4},
+ {&(_tg__ZTV2A1__3C115E11x6__7G11x6y1[3]), 3,4},
+ {&(_tg__ZTV2A1__5E11x6__7G11x6y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G11x6y1[];
+extern VTBL_ENTRY _ZTV7G11x6y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x6y1[];
+Class_Descriptor cd_G11x6y1 = { "G11x6y1", // class name
+ bases_G11x6y1, 6,
+ &(vtc_G11x6y1[0]), // expected_vtbl_contents
+ &(vtt_G11x6y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G11x6y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x6y1),16, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x6y1),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 G11x6y2 : E11x6 , virtual F1 {
+ int ff;
+ ~G11x6y2(); // tgen
+ G11x6y2(); // tgen
+};
+//SIG(1 G11x6y2) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G11x6y2 ::~G11x6y2(){ note_dtor("G11x6y2", this);} // tgen
+G11x6y2 ::G11x6y2(){ note_ctor("G11x6y2", this);} // tgen
+
+static void Test_G11x6y2()
+{
+ extern Class_Descriptor cd_G11x6y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G11x6y2, buf);
+ G11x6y2 *dp, &lv = *(dp=new (buf) G11x6y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G11x6y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x6y2)");
+ check_base_class_offset(lv, (A1*)(C11*)(E11x6*), ABISELECT(24,16), "G11x6y2");
+ check_base_class_offset(lv, (B0*)(C11*)(E11x6*), ABISELECT(36,24), "G11x6y2");
+ check_base_class_offset(lv, (C11*)(E11x6*), 0, "G11x6y2");
+ check_base_class_offset(lv, (D0*)(E11x6*), ABISELECT(40,28), "G11x6y2");
+ check_base_class_offset(lv, (E11x6*), 0, "G11x6y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G11x6y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G11x6y2.ff");
+ test_class_info(&lv, &cd_G11x6y2);
+ dp->~G11x6y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x6y2(Test_G11x6y2, "G11x6y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G11x6y2C1Ev();
+extern void _ZN7G11x6y2D1Ev();
+Name_Map name_map_G11x6y2[] = {
+ NSPAIR(_ZN7G11x6y2C1Ev),
+ NSPAIR(_ZN7G11x6y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E11x6;
+extern VTBL_ENTRY _ZTI5E11x6[];
+extern VTBL_ENTRY _ZTV5E11x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G11x6y2[] = {
+ // 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)
+ 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(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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E11x6, 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)
+ 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 _ZTI7G11x6y2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G11x6y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x6y2[0]),
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G11x6y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G11x6y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x6y2[];
+static VTBL_ENTRY _tg__ZTV5E11x6__7G11x6y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C115E11x6__7G11x6y2[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C115E11x6__7G11x6y2[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x6__7G11x6y2[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E11x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x6y2[] = {
+ {&(_ZTV7G11x6y2[6]), 6,14},
+ {&(_tg__ZTV5E11x6__7G11x6y2[5]), 5,5},
+ {&(_tg__ZTV3C115E11x6__7G11x6y2[4]), 4,4},
+ {&(_tg__ZTV2A1__3C115E11x6__7G11x6y2[3]), 3,4},
+ {&(_tg__ZTV2A1__5E11x6__7G11x6y2[3]), 3,4},
+ {&(_ZTV7G11x6y2[9]), 9,14},
+ {&(_ZTV7G11x6y2[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI7G11x6y2[];
+extern VTBL_ENTRY _ZTV7G11x6y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x6y2[];
+Class_Descriptor cd_G11x6y2 = { "G11x6y2", // class name
+ bases_G11x6y2, 6,
+ &(vtc_G11x6y2[0]), // expected_vtbl_contents
+ &(vtt_G11x6y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G11x6y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x6y2),14, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x6y2),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 G11x6y3 : virtual E11x6 , virtual F1 {
+ int ff;
+ ~G11x6y3(); // tgen
+ G11x6y3(); // tgen
+};
+//SIG(1 G11x6y3) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G11x6y3 ::~G11x6y3(){ note_dtor("G11x6y3", this);} // tgen
+G11x6y3 ::G11x6y3(){ note_ctor("G11x6y3", this);} // tgen
+
+static void Test_G11x6y3()
+{
+ extern Class_Descriptor cd_G11x6y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G11x6y3, buf);
+ G11x6y3 *dp, &lv = *(dp=new (buf) G11x6y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G11x6y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x6y3)");
+ check_base_class_offset(lv, (A1*)(C11*)(E11x6*), ABISELECT(32,20), "G11x6y3");
+ check_base_class_offset(lv, (B0*)(C11*)(E11x6*), ABISELECT(44,28), "G11x6y3");
+ check_base_class_offset(lv, (C11*)(E11x6*), ABISELECT(16,8), "G11x6y3");
+ check_base_class_offset(lv, (D0*)(E11x6*), ABISELECT(48,32), "G11x6y3");
+ check_base_class_offset(lv, (E11x6*), ABISELECT(16,8), "G11x6y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G11x6y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G11x6y3.ff");
+ test_class_info(&lv, &cd_G11x6y3);
+ dp->~G11x6y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x6y3(Test_G11x6y3, "G11x6y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G11x6y3C1Ev();
+extern void _ZN7G11x6y3D1Ev();
+Name_Map name_map_G11x6y3[] = {
+ NSPAIR(_ZN7G11x6y3C1Ev),
+ NSPAIR(_ZN7G11x6y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E11x6;
+extern VTBL_ENTRY _ZTI5E11x6[];
+extern VTBL_ENTRY _ZTV5E11x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G11x6y3[] = {
+ // 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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E11x6, 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 _ZTI7G11x6y3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G11x6y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x6y3[0]),
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G11x6y3[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G11x6y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G11x6y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x6y3[];
+static VTBL_ENTRY _tg__ZTV5E11x6__7G11x6y3[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C115E11x6__7G11x6y3[] = {
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C115E11x6__7G11x6y3[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x6__7G11x6y3[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E11x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x6y3[] = {
+ {&(_ZTV7G11x6y3[7]), 7,20},
+ {&(_ZTV7G11x6y3[12]), 12,20},
+ {&(_ZTV7G11x6y3[15]), 15,20},
+ {&(_ZTV7G11x6y3[19]), 19,20},
+ {&(_tg__ZTV5E11x6__7G11x6y3[5]), 5,5},
+ {&(_tg__ZTV3C115E11x6__7G11x6y3[4]), 4,4},
+ {&(_tg__ZTV2A1__3C115E11x6__7G11x6y3[3]), 3,4},
+ {&(_tg__ZTV2A1__5E11x6__7G11x6y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G11x6y3[];
+extern VTBL_ENTRY _ZTV7G11x6y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x6y3[];
+Class_Descriptor cd_G11x6y3 = { "G11x6y3", // class name
+ bases_G11x6y3, 6,
+ &(vtc_G11x6y3[0]), // expected_vtbl_contents
+ &(vtt_G11x6y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G11x6y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x6y3),20, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x6y3),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 G11x6y4 : E11x6 , F0 {
+ int ff;
+ ~G11x6y4(); // tgen
+ G11x6y4(); // tgen
+};
+//SIG(1 G11x6y4) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G11x6y4 ::~G11x6y4(){ note_dtor("G11x6y4", this);} // tgen
+G11x6y4 ::G11x6y4(){ note_ctor("G11x6y4", this);} // tgen
+
+static void Test_G11x6y4()
+{
+ extern Class_Descriptor cd_G11x6y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G11x6y4, buf);
+ G11x6y4 *dp, &lv = *(dp=new (buf) G11x6y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G11x6y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x6y4)");
+ check_base_class_offset(lv, (A1*)(C11*)(E11x6*), ABISELECT(24,20), "G11x6y4");
+ check_base_class_offset(lv, (B0*)(C11*)(E11x6*), ABISELECT(36,28), "G11x6y4");
+ check_base_class_offset(lv, (C11*)(E11x6*), 0, "G11x6y4");
+ check_base_class_offset(lv, (D0*)(E11x6*), ABISELECT(40,32), "G11x6y4");
+ check_base_class_offset(lv, (E11x6*), 0, "G11x6y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G11x6y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G11x6y4.ff");
+ test_class_info(&lv, &cd_G11x6y4);
+ dp->~G11x6y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x6y4(Test_G11x6y4, "G11x6y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G11x6y4C1Ev();
+extern void _ZN7G11x6y4D1Ev();
+Name_Map name_map_G11x6y4[] = {
+ NSPAIR(_ZN7G11x6y4C1Ev),
+ NSPAIR(_ZN7G11x6y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E11x6;
+extern VTBL_ENTRY _ZTI5E11x6[];
+extern VTBL_ENTRY _ZTV5E11x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G11x6y4[] = {
+ // 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)
+ 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(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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E11x6, 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 _ZTI7G11x6y4[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G11x6y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x6y4[0]),
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G11x6y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x6y4[];
+static VTBL_ENTRY _tg__ZTV5E11x6__7G11x6y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C115E11x6__7G11x6y4[] = {
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C115E11x6__7G11x6y4[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x6__7G11x6y4[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E11x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x6y4[] = {
+ {&(_ZTV7G11x6y4[5]), 5,9},
+ {&(_tg__ZTV5E11x6__7G11x6y4[5]), 5,5},
+ {&(_tg__ZTV3C115E11x6__7G11x6y4[4]), 4,4},
+ {&(_tg__ZTV2A1__3C115E11x6__7G11x6y4[3]), 3,4},
+ {&(_tg__ZTV2A1__5E11x6__7G11x6y4[3]), 3,4},
+ {&(_ZTV7G11x6y4[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI7G11x6y4[];
+extern VTBL_ENTRY _ZTV7G11x6y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x6y4[];
+Class_Descriptor cd_G11x6y4 = { "G11x6y4", // class name
+ bases_G11x6y4, 6,
+ &(vtc_G11x6y4[0]), // expected_vtbl_contents
+ &(vtt_G11x6y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G11x6y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x6y4),9, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x6y4),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 G11x6y5 : virtual E11x6 , F0 {
+ int ff;
+ ~G11x6y5(); // tgen
+ G11x6y5(); // tgen
+};
+//SIG(1 G11x6y5) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G11x6y5 ::~G11x6y5(){ note_dtor("G11x6y5", this);} // tgen
+G11x6y5 ::G11x6y5(){ note_ctor("G11x6y5", this);} // tgen
+
+static void Test_G11x6y5()
+{
+ extern Class_Descriptor cd_G11x6y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G11x6y5, buf);
+ G11x6y5 *dp, &lv = *(dp=new (buf) G11x6y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G11x6y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x6y5)");
+ check_base_class_offset(lv, (A1*)(C11*)(E11x6*), ABISELECT(32,24), "G11x6y5");
+ check_base_class_offset(lv, (B0*)(C11*)(E11x6*), ABISELECT(44,32), "G11x6y5");
+ check_base_class_offset(lv, (C11*)(E11x6*), ABISELECT(16,12), "G11x6y5");
+ check_base_class_offset(lv, (D0*)(E11x6*), ABISELECT(48,36), "G11x6y5");
+ check_base_class_offset(lv, (E11x6*), ABISELECT(16,12), "G11x6y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G11x6y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G11x6y5.ff");
+ test_class_info(&lv, &cd_G11x6y5);
+ dp->~G11x6y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x6y5(Test_G11x6y5, "G11x6y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G11x6y5C1Ev();
+extern void _ZN7G11x6y5D1Ev();
+Name_Map name_map_G11x6y5[] = {
+ NSPAIR(_ZN7G11x6y5C1Ev),
+ NSPAIR(_ZN7G11x6y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E11x6;
+extern VTBL_ENTRY _ZTI5E11x6[];
+extern VTBL_ENTRY _ZTV5E11x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G11x6y5[] = {
+ // 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E11x6, 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 _ZTI7G11x6y5[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G11x6y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x6y5[0]),
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G11x6y5[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G11x6y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x6y5[];
+static VTBL_ENTRY _tg__ZTV5E11x6__7G11x6y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C115E11x6__7G11x6y5[] = {
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C115E11x6__7G11x6y5[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x6__7G11x6y5[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E11x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x6y5[] = {
+ {&(_ZTV7G11x6y5[6]), 6,15},
+ {&(_ZTV7G11x6y5[11]), 11,15},
+ {&(_ZTV7G11x6y5[14]), 14,15},
+ {&(_tg__ZTV5E11x6__7G11x6y5[5]), 5,5},
+ {&(_tg__ZTV3C115E11x6__7G11x6y5[4]), 4,4},
+ {&(_tg__ZTV2A1__3C115E11x6__7G11x6y5[3]), 3,4},
+ {&(_tg__ZTV2A1__5E11x6__7G11x6y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G11x6y5[];
+extern VTBL_ENTRY _ZTV7G11x6y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x6y5[];
+Class_Descriptor cd_G11x6y5 = { "G11x6y5", // class name
+ bases_G11x6y5, 6,
+ &(vtc_G11x6y5[0]), // expected_vtbl_contents
+ &(vtt_G11x6y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G11x6y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x6y5),15, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x6y5),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 G11x6y6 : E11x6 , virtual F0 {
+ int ff;
+ ~G11x6y6(); // tgen
+ G11x6y6(); // tgen
+};
+//SIG(1 G11x6y6) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G11x6y6 ::~G11x6y6(){ note_dtor("G11x6y6", this);} // tgen
+G11x6y6 ::G11x6y6(){ note_ctor("G11x6y6", this);} // tgen
+
+static void Test_G11x6y6()
+{
+ extern Class_Descriptor cd_G11x6y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G11x6y6, buf);
+ G11x6y6 *dp, &lv = *(dp=new (buf) G11x6y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G11x6y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x6y6)");
+ check_base_class_offset(lv, (A1*)(C11*)(E11x6*), ABISELECT(24,16), "G11x6y6");
+ check_base_class_offset(lv, (B0*)(C11*)(E11x6*), ABISELECT(36,24), "G11x6y6");
+ check_base_class_offset(lv, (C11*)(E11x6*), 0, "G11x6y6");
+ check_base_class_offset(lv, (D0*)(E11x6*), ABISELECT(40,28), "G11x6y6");
+ check_base_class_offset(lv, (E11x6*), 0, "G11x6y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G11x6y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G11x6y6.ff");
+ test_class_info(&lv, &cd_G11x6y6);
+ dp->~G11x6y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x6y6(Test_G11x6y6, "G11x6y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G11x6y6C1Ev();
+extern void _ZN7G11x6y6D1Ev();
+Name_Map name_map_G11x6y6[] = {
+ NSPAIR(_ZN7G11x6y6C1Ev),
+ NSPAIR(_ZN7G11x6y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E11x6;
+extern VTBL_ENTRY _ZTI5E11x6[];
+extern VTBL_ENTRY _ZTV5E11x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G11x6y6[] = {
+ // 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)
+ 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(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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E11x6, 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 _ZTI7G11x6y6[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G11x6y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x6y6[0]),
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G11x6y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x6y6[];
+static VTBL_ENTRY _tg__ZTV5E11x6__7G11x6y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C115E11x6__7G11x6y6[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C115E11x6__7G11x6y6[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x6__7G11x6y6[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E11x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x6y6[] = {
+ {&(_ZTV7G11x6y6[6]), 6,10},
+ {&(_tg__ZTV5E11x6__7G11x6y6[5]), 5,5},
+ {&(_tg__ZTV3C115E11x6__7G11x6y6[4]), 4,4},
+ {&(_tg__ZTV2A1__3C115E11x6__7G11x6y6[3]), 3,4},
+ {&(_tg__ZTV2A1__5E11x6__7G11x6y6[3]), 3,4},
+ {&(_ZTV7G11x6y6[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI7G11x6y6[];
+extern VTBL_ENTRY _ZTV7G11x6y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x6y6[];
+Class_Descriptor cd_G11x6y6 = { "G11x6y6", // class name
+ bases_G11x6y6, 6,
+ &(vtc_G11x6y6[0]), // expected_vtbl_contents
+ &(vtt_G11x6y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G11x6y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x6y6),10, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x6y6),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 G11x6y7 : virtual E11x6 , virtual F0 {
+ int ff;
+ ~G11x6y7(); // tgen
+ G11x6y7(); // tgen
+};
+//SIG(1 G11x6y7) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G11x6y7 ::~G11x6y7(){ note_dtor("G11x6y7", this);} // tgen
+G11x6y7 ::G11x6y7(){ note_ctor("G11x6y7", this);} // tgen
+
+static void Test_G11x6y7()
+{
+ extern Class_Descriptor cd_G11x6y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G11x6y7, buf);
+ G11x6y7 *dp, &lv = *(dp=new (buf) G11x6y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G11x6y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x6y7)");
+ check_base_class_offset(lv, (A1*)(C11*)(E11x6*), ABISELECT(32,20), "G11x6y7");
+ check_base_class_offset(lv, (B0*)(C11*)(E11x6*), ABISELECT(44,28), "G11x6y7");
+ check_base_class_offset(lv, (C11*)(E11x6*), ABISELECT(16,8), "G11x6y7");
+ check_base_class_offset(lv, (D0*)(E11x6*), ABISELECT(48,32), "G11x6y7");
+ check_base_class_offset(lv, (E11x6*), ABISELECT(16,8), "G11x6y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G11x6y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G11x6y7.ff");
+ test_class_info(&lv, &cd_G11x6y7);
+ dp->~G11x6y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x6y7(Test_G11x6y7, "G11x6y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G11x6y7C1Ev();
+extern void _ZN7G11x6y7D1Ev();
+Name_Map name_map_G11x6y7[] = {
+ NSPAIR(_ZN7G11x6y7C1Ev),
+ NSPAIR(_ZN7G11x6y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E11x6;
+extern VTBL_ENTRY _ZTI5E11x6[];
+extern VTBL_ENTRY _ZTV5E11x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G11x6y7[] = {
+ // 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E11x6, 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 _ZTI7G11x6y7[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G11x6y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x6y7[0]),
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G11x6y7[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G11x6y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x6y7[];
+static VTBL_ENTRY _tg__ZTV5E11x6__7G11x6y7[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C115E11x6__7G11x6y7[] = {
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C115E11x6__7G11x6y7[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x6__7G11x6y7[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E11x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x6y7[] = {
+ {&(_ZTV7G11x6y7[7]), 7,16},
+ {&(_ZTV7G11x6y7[12]), 12,16},
+ {&(_ZTV7G11x6y7[15]), 15,16},
+ {&(_tg__ZTV5E11x6__7G11x6y7[5]), 5,5},
+ {&(_tg__ZTV3C115E11x6__7G11x6y7[4]), 4,4},
+ {&(_tg__ZTV2A1__3C115E11x6__7G11x6y7[3]), 3,4},
+ {&(_tg__ZTV2A1__5E11x6__7G11x6y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G11x6y7[];
+extern VTBL_ENTRY _ZTV7G11x6y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x6y7[];
+Class_Descriptor cd_G11x6y7 = { "G11x6y7", // class name
+ bases_G11x6y7, 6,
+ &(vtc_G11x6y7[0]), // expected_vtbl_contents
+ &(vtt_G11x6y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G11x6y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x6y7),16, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x6y7),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 E12x6 : C12 , virtual D0 {
+ int fd;
+ ~E12x6(); // tgen
+ E12x6(); // tgen
+};
+//SIG(-1 E12x6) C1{ BC2{ BC3{ Fi} VBC4{ v1 Fi} Fi} VBC5{ Fi} Fi}
+
+
+E12x6 ::~E12x6(){ note_dtor("E12x6", this);} // tgen
+E12x6 ::E12x6(){ note_ctor("E12x6", this);} // tgen
+
+static void Test_E12x6()
+{
+ extern Class_Descriptor cd_E12x6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E12x6, buf);
+ E12x6 *dp, &lv = *(dp=new (buf) E12x6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E12x6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E12x6)");
+ check_base_class_offset(lv, (A0*)(C12*), ABISELECT(8,4), "E12x6");
+ check_base_class_offset(lv, (B1*)(C12*), ABISELECT(24,16), "E12x6");
+ check_base_class_offset(lv, (C12*), 0, "E12x6");
+ check_base_class_offset(lv, (D0*), ABISELECT(36,24), "E12x6");
+ check_field_offset(lv, fd, ABISELECT(16,12), "E12x6.fd");
+ test_class_info(&lv, &cd_E12x6);
+ dp->~E12x6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE12x6(Test_E12x6, "E12x6", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E12x6C1Ev();
+extern void _ZN5E12x6D1Ev();
+Name_Map name_map_E12x6[] = {
+ NSPAIR(_ZN5E12x6C1Ev),
+ NSPAIR(_ZN5E12x6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E12x6[] = {
+ // 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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D0, 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, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E12x6[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_E12x6[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x6[0]),
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E12x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E12x6[];
+static VTBL_ENTRY _tg__ZTV3C12__5E12x6[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C12__5E12x6[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_E12x6[] = {
+ {&(_ZTV5E12x6[4]), 4,8},
+ {&(_tg__ZTV3C12__5E12x6[3]), 3,3},
+ {&(_tg__ZTV2B1__3C12__5E12x6[3]), 3,4},
+ {&(_ZTV5E12x6[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI5E12x6[];
+extern VTBL_ENTRY _ZTV5E12x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x6[];
+Class_Descriptor cd_E12x6 = { "E12x6", // class name
+ bases_E12x6, 4,
+ &(vtc_E12x6[0]), // expected_vtbl_contents
+ &(vtt_E12x6[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E12x6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E12x6),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E12x6),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 G12x6y0 : E12x6 , F1 {
+ int ff;
+ ~G12x6y0(); // tgen
+ G12x6y0(); // tgen
+};
+//SIG(1 G12x6y0) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G12x6y0 ::~G12x6y0(){ note_dtor("G12x6y0", this);} // tgen
+G12x6y0 ::G12x6y0(){ note_ctor("G12x6y0", this);} // tgen
+
+static void Test_G12x6y0()
+{
+ extern Class_Descriptor cd_G12x6y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G12x6y0, buf);
+ G12x6y0 *dp, &lv = *(dp=new (buf) G12x6y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G12x6y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x6y0)");
+ check_base_class_offset(lv, (A0*)(C12*)(E12x6*), ABISELECT(8,4), "G12x6y0");
+ check_base_class_offset(lv, (B1*)(C12*)(E12x6*), ABISELECT(40,28), "G12x6y0");
+ check_base_class_offset(lv, (C12*)(E12x6*), 0, "G12x6y0");
+ check_base_class_offset(lv, (D0*)(E12x6*), ABISELECT(52,36), "G12x6y0");
+ check_base_class_offset(lv, (E12x6*), 0, "G12x6y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,16), "G12x6y0");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G12x6y0.ff");
+ test_class_info(&lv, &cd_G12x6y0);
+ dp->~G12x6y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x6y0(Test_G12x6y0, "G12x6y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G12x6y0C1Ev();
+extern void _ZN7G12x6y0D1Ev();
+Name_Map name_map_G12x6y0[] = {
+ NSPAIR(_ZN7G12x6y0C1Ev),
+ NSPAIR(_ZN7G12x6y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E12x6;
+extern VTBL_ENTRY _ZTI5E12x6[];
+extern VTBL_ENTRY _ZTV5E12x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G12x6y0[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E12x6, 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 _ZTI7G12x6y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G12x6y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x6y0[0]),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G12x6y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G12x6y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x6y0[];
+static VTBL_ENTRY _tg__ZTV5E12x6__7G12x6y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C125E12x6__7G12x6y0[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C125E12x6__7G12x6y0[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x6__7G12x6y0[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E12x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x6y0[] = {
+ {&(_ZTV7G12x6y0[4]), 4,11},
+ {&(_tg__ZTV5E12x6__7G12x6y0[4]), 4,4},
+ {&(_tg__ZTV3C125E12x6__7G12x6y0[3]), 3,3},
+ {&(_tg__ZTV2B1__3C125E12x6__7G12x6y0[3]), 3,4},
+ {&(_tg__ZTV2B1__5E12x6__7G12x6y0[3]), 3,4},
+ {&(_ZTV7G12x6y0[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI7G12x6y0[];
+extern VTBL_ENTRY _ZTV7G12x6y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x6y0[];
+Class_Descriptor cd_G12x6y0 = { "G12x6y0", // class name
+ bases_G12x6y0, 6,
+ &(vtc_G12x6y0[0]), // expected_vtbl_contents
+ &(vtt_G12x6y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G12x6y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x6y0),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x6y0),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 G12x6y1 : virtual E12x6 , F1 {
+ int ff;
+ ~G12x6y1(); // tgen
+ G12x6y1(); // tgen
+};
+//SIG(1 G12x6y1) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G12x6y1 ::~G12x6y1(){ note_dtor("G12x6y1", this);} // tgen
+G12x6y1 ::G12x6y1(){ note_ctor("G12x6y1", this);} // tgen
+
+static void Test_G12x6y1()
+{
+ extern Class_Descriptor cd_G12x6y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G12x6y1, buf);
+ G12x6y1 *dp, &lv = *(dp=new (buf) G12x6y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G12x6y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x6y1)");
+ check_base_class_offset(lv, (A0*)(C12*)(E12x6*), ABISELECT(24,16), "G12x6y1");
+ check_base_class_offset(lv, (B1*)(C12*)(E12x6*), ABISELECT(40,28), "G12x6y1");
+ check_base_class_offset(lv, (C12*)(E12x6*), ABISELECT(16,12), "G12x6y1");
+ check_base_class_offset(lv, (D0*)(E12x6*), ABISELECT(52,36), "G12x6y1");
+ check_base_class_offset(lv, (E12x6*), ABISELECT(16,12), "G12x6y1");
+ check_base_class_offset(lv, (F1*), 0, "G12x6y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G12x6y1.ff");
+ test_class_info(&lv, &cd_G12x6y1);
+ dp->~G12x6y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x6y1(Test_G12x6y1, "G12x6y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G12x6y1C1Ev();
+extern void _ZN7G12x6y1D1Ev();
+Name_Map name_map_G12x6y1[] = {
+ NSPAIR(_ZN7G12x6y1C1Ev),
+ NSPAIR(_ZN7G12x6y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E12x6;
+extern VTBL_ENTRY _ZTI5E12x6[];
+extern VTBL_ENTRY _ZTV5E12x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G12x6y1[] = {
+ // 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E12x6, 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 _ZTI7G12x6y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G12x6y1[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x6y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G12x6y1[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G12x6y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x6y1[];
+static VTBL_ENTRY _tg__ZTV5E12x6__7G12x6y1[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C125E12x6__7G12x6y1[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C125E12x6__7G12x6y1[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x6__7G12x6y1[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E12x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x6y1[] = {
+ {&(_ZTV7G12x6y1[5]), 5,14},
+ {&(_ZTV7G12x6y1[10]), 10,14},
+ {&(_ZTV7G12x6y1[13]), 13,14},
+ {&(_tg__ZTV5E12x6__7G12x6y1[4]), 4,4},
+ {&(_tg__ZTV3C125E12x6__7G12x6y1[3]), 3,3},
+ {&(_tg__ZTV2B1__3C125E12x6__7G12x6y1[3]), 3,4},
+ {&(_tg__ZTV2B1__5E12x6__7G12x6y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G12x6y1[];
+extern VTBL_ENTRY _ZTV7G12x6y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x6y1[];
+Class_Descriptor cd_G12x6y1 = { "G12x6y1", // class name
+ bases_G12x6y1, 6,
+ &(vtc_G12x6y1[0]), // expected_vtbl_contents
+ &(vtt_G12x6y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G12x6y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x6y1),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x6y1),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 G12x6y2 : E12x6 , virtual F1 {
+ int ff;
+ ~G12x6y2(); // tgen
+ G12x6y2(); // tgen
+};
+//SIG(1 G12x6y2) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G12x6y2 ::~G12x6y2(){ note_dtor("G12x6y2", this);} // tgen
+G12x6y2 ::G12x6y2(){ note_ctor("G12x6y2", this);} // tgen
+
+static void Test_G12x6y2()
+{
+ extern Class_Descriptor cd_G12x6y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G12x6y2, buf);
+ G12x6y2 *dp, &lv = *(dp=new (buf) G12x6y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G12x6y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x6y2)");
+ check_base_class_offset(lv, (A0*)(C12*)(E12x6*), ABISELECT(8,4), "G12x6y2");
+ check_base_class_offset(lv, (B1*)(C12*)(E12x6*), ABISELECT(24,20), "G12x6y2");
+ check_base_class_offset(lv, (C12*)(E12x6*), 0, "G12x6y2");
+ check_base_class_offset(lv, (D0*)(E12x6*), ABISELECT(36,28), "G12x6y2");
+ check_base_class_offset(lv, (E12x6*), 0, "G12x6y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(40,32), "G12x6y2");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G12x6y2.ff");
+ test_class_info(&lv, &cd_G12x6y2);
+ dp->~G12x6y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x6y2(Test_G12x6y2, "G12x6y2", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G12x6y2C1Ev();
+extern void _ZN7G12x6y2D1Ev();
+Name_Map name_map_G12x6y2[] = {
+ NSPAIR(_ZN7G12x6y2C1Ev),
+ NSPAIR(_ZN7G12x6y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E12x6;
+extern VTBL_ENTRY _ZTI5E12x6[];
+extern VTBL_ENTRY _ZTV5E12x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G12x6y2[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E12x6, 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(40,32), //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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G12x6y2[];
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G12x6y2[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x6y2[0]),
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G12x6y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G12x6y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x6y2[];
+static VTBL_ENTRY _tg__ZTV5E12x6__7G12x6y2[] = {
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C125E12x6__7G12x6y2[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C125E12x6__7G12x6y2[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x6__7G12x6y2[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E12x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x6y2[] = {
+ {&(_ZTV7G12x6y2[5]), 5,13},
+ {&(_tg__ZTV5E12x6__7G12x6y2[4]), 4,4},
+ {&(_tg__ZTV3C125E12x6__7G12x6y2[3]), 3,3},
+ {&(_tg__ZTV2B1__3C125E12x6__7G12x6y2[3]), 3,4},
+ {&(_tg__ZTV2B1__5E12x6__7G12x6y2[3]), 3,4},
+ {&(_ZTV7G12x6y2[8]), 8,13},
+ {&(_ZTV7G12x6y2[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI7G12x6y2[];
+extern VTBL_ENTRY _ZTV7G12x6y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x6y2[];
+Class_Descriptor cd_G12x6y2 = { "G12x6y2", // class name
+ bases_G12x6y2, 6,
+ &(vtc_G12x6y2[0]), // expected_vtbl_contents
+ &(vtt_G12x6y2[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G12x6y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x6y2),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x6y2),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 G12x6y3 : virtual E12x6 , virtual F1 {
+ int ff;
+ ~G12x6y3(); // tgen
+ G12x6y3(); // tgen
+};
+//SIG(1 G12x6y3) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G12x6y3 ::~G12x6y3(){ note_dtor("G12x6y3", this);} // tgen
+G12x6y3 ::G12x6y3(){ note_ctor("G12x6y3", this);} // tgen
+
+static void Test_G12x6y3()
+{
+ extern Class_Descriptor cd_G12x6y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G12x6y3, buf);
+ G12x6y3 *dp, &lv = *(dp=new (buf) G12x6y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G12x6y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x6y3)");
+ check_base_class_offset(lv, (A0*)(C12*)(E12x6*), ABISELECT(24,12), "G12x6y3");
+ check_base_class_offset(lv, (B1*)(C12*)(E12x6*), ABISELECT(40,24), "G12x6y3");
+ check_base_class_offset(lv, (C12*)(E12x6*), ABISELECT(16,8), "G12x6y3");
+ check_base_class_offset(lv, (D0*)(E12x6*), ABISELECT(52,32), "G12x6y3");
+ check_base_class_offset(lv, (E12x6*), ABISELECT(16,8), "G12x6y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G12x6y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G12x6y3.ff");
+ test_class_info(&lv, &cd_G12x6y3);
+ dp->~G12x6y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x6y3(Test_G12x6y3, "G12x6y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G12x6y3C1Ev();
+extern void _ZN7G12x6y3D1Ev();
+Name_Map name_map_G12x6y3[] = {
+ NSPAIR(_ZN7G12x6y3C1Ev),
+ NSPAIR(_ZN7G12x6y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E12x6;
+extern VTBL_ENTRY _ZTI5E12x6[];
+extern VTBL_ENTRY _ZTV5E12x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G12x6y3[] = {
+ // 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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E12x6, 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 _ZTI7G12x6y3[];
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G12x6y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x6y3[0]),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G12x6y3[0]),
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G12x6y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G12x6y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x6y3[];
+static VTBL_ENTRY _tg__ZTV5E12x6__7G12x6y3[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C125E12x6__7G12x6y3[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C125E12x6__7G12x6y3[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x6__7G12x6y3[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E12x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x6y3[] = {
+ {&(_ZTV7G12x6y3[6]), 6,18},
+ {&(_ZTV7G12x6y3[10]), 10,18},
+ {&(_ZTV7G12x6y3[13]), 13,18},
+ {&(_ZTV7G12x6y3[17]), 17,18},
+ {&(_tg__ZTV5E12x6__7G12x6y3[4]), 4,4},
+ {&(_tg__ZTV3C125E12x6__7G12x6y3[3]), 3,3},
+ {&(_tg__ZTV2B1__3C125E12x6__7G12x6y3[3]), 3,4},
+ {&(_tg__ZTV2B1__5E12x6__7G12x6y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G12x6y3[];
+extern VTBL_ENTRY _ZTV7G12x6y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x6y3[];
+Class_Descriptor cd_G12x6y3 = { "G12x6y3", // class name
+ bases_G12x6y3, 6,
+ &(vtc_G12x6y3[0]), // expected_vtbl_contents
+ &(vtt_G12x6y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G12x6y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x6y3),18, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x6y3),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 G12x6y4 : E12x6 , F0 {
+ int ff;
+ ~G12x6y4(); // tgen
+ G12x6y4(); // tgen
+};
+//SIG(1 G12x6y4) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G12x6y4 ::~G12x6y4(){ note_dtor("G12x6y4", this);} // tgen
+G12x6y4 ::G12x6y4(){ note_ctor("G12x6y4", this);} // tgen
+
+static void Test_G12x6y4()
+{
+ extern Class_Descriptor cd_G12x6y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G12x6y4, buf);
+ G12x6y4 *dp, &lv = *(dp=new (buf) G12x6y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G12x6y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x6y4)");
+ check_base_class_offset(lv, (A0*)(C12*)(E12x6*), ABISELECT(8,4), "G12x6y4");
+ check_base_class_offset(lv, (B1*)(C12*)(E12x6*), ABISELECT(32,24), "G12x6y4");
+ check_base_class_offset(lv, (C12*)(E12x6*), 0, "G12x6y4");
+ check_base_class_offset(lv, (D0*)(E12x6*), ABISELECT(44,32), "G12x6y4");
+ check_base_class_offset(lv, (E12x6*), 0, "G12x6y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(20,16), "G12x6y4");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G12x6y4.ff");
+ test_class_info(&lv, &cd_G12x6y4);
+ dp->~G12x6y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x6y4(Test_G12x6y4, "G12x6y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G12x6y4C1Ev();
+extern void _ZN7G12x6y4D1Ev();
+Name_Map name_map_G12x6y4[] = {
+ NSPAIR(_ZN7G12x6y4C1Ev),
+ NSPAIR(_ZN7G12x6y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E12x6;
+extern VTBL_ENTRY _ZTI5E12x6[];
+extern VTBL_ENTRY _ZTV5E12x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G12x6y4[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E12x6, 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 _ZTI7G12x6y4[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G12x6y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x6y4[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G12x6y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x6y4[];
+static VTBL_ENTRY _tg__ZTV5E12x6__7G12x6y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C125E12x6__7G12x6y4[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C125E12x6__7G12x6y4[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x6__7G12x6y4[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E12x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x6y4[] = {
+ {&(_ZTV7G12x6y4[4]), 4,8},
+ {&(_tg__ZTV5E12x6__7G12x6y4[4]), 4,4},
+ {&(_tg__ZTV3C125E12x6__7G12x6y4[3]), 3,3},
+ {&(_tg__ZTV2B1__3C125E12x6__7G12x6y4[3]), 3,4},
+ {&(_tg__ZTV2B1__5E12x6__7G12x6y4[3]), 3,4},
+ {&(_ZTV7G12x6y4[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI7G12x6y4[];
+extern VTBL_ENTRY _ZTV7G12x6y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x6y4[];
+Class_Descriptor cd_G12x6y4 = { "G12x6y4", // class name
+ bases_G12x6y4, 6,
+ &(vtc_G12x6y4[0]), // expected_vtbl_contents
+ &(vtt_G12x6y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G12x6y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x6y4),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x6y4),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 G12x6y5 : virtual E12x6 , F0 {
+ int ff;
+ ~G12x6y5(); // tgen
+ G12x6y5(); // tgen
+};
+//SIG(1 G12x6y5) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G12x6y5 ::~G12x6y5(){ note_dtor("G12x6y5", this);} // tgen
+G12x6y5 ::G12x6y5(){ note_ctor("G12x6y5", this);} // tgen
+
+static void Test_G12x6y5()
+{
+ extern Class_Descriptor cd_G12x6y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G12x6y5, buf);
+ G12x6y5 *dp, &lv = *(dp=new (buf) G12x6y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G12x6y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x6y5)");
+ check_base_class_offset(lv, (A0*)(C12*)(E12x6*), ABISELECT(24,16), "G12x6y5");
+ check_base_class_offset(lv, (B1*)(C12*)(E12x6*), ABISELECT(40,28), "G12x6y5");
+ check_base_class_offset(lv, (C12*)(E12x6*), ABISELECT(16,12), "G12x6y5");
+ check_base_class_offset(lv, (D0*)(E12x6*), ABISELECT(52,36), "G12x6y5");
+ check_base_class_offset(lv, (E12x6*), ABISELECT(16,12), "G12x6y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G12x6y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G12x6y5.ff");
+ test_class_info(&lv, &cd_G12x6y5);
+ dp->~G12x6y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x6y5(Test_G12x6y5, "G12x6y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G12x6y5C1Ev();
+extern void _ZN7G12x6y5D1Ev();
+Name_Map name_map_G12x6y5[] = {
+ NSPAIR(_ZN7G12x6y5C1Ev),
+ NSPAIR(_ZN7G12x6y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E12x6;
+extern VTBL_ENTRY _ZTI5E12x6[];
+extern VTBL_ENTRY _ZTV5E12x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G12x6y5[] = {
+ // 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E12x6, 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 _ZTI7G12x6y5[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G12x6y5[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x6y5[0]),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G12x6y5[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G12x6y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x6y5[];
+static VTBL_ENTRY _tg__ZTV5E12x6__7G12x6y5[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C125E12x6__7G12x6y5[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C125E12x6__7G12x6y5[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x6__7G12x6y5[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E12x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x6y5[] = {
+ {&(_ZTV7G12x6y5[5]), 5,13},
+ {&(_ZTV7G12x6y5[9]), 9,13},
+ {&(_ZTV7G12x6y5[12]), 12,13},
+ {&(_tg__ZTV5E12x6__7G12x6y5[4]), 4,4},
+ {&(_tg__ZTV3C125E12x6__7G12x6y5[3]), 3,3},
+ {&(_tg__ZTV2B1__3C125E12x6__7G12x6y5[3]), 3,4},
+ {&(_tg__ZTV2B1__5E12x6__7G12x6y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G12x6y5[];
+extern VTBL_ENTRY _ZTV7G12x6y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x6y5[];
+Class_Descriptor cd_G12x6y5 = { "G12x6y5", // class name
+ bases_G12x6y5, 6,
+ &(vtc_G12x6y5[0]), // expected_vtbl_contents
+ &(vtt_G12x6y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G12x6y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x6y5),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x6y5),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 G12x6y6 : E12x6 , virtual F0 {
+ int ff;
+ ~G12x6y6(); // tgen
+ G12x6y6(); // tgen
+};
+//SIG(1 G12x6y6) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G12x6y6 ::~G12x6y6(){ note_dtor("G12x6y6", this);} // tgen
+G12x6y6 ::G12x6y6(){ note_ctor("G12x6y6", this);} // tgen
+
+static void Test_G12x6y6()
+{
+ extern Class_Descriptor cd_G12x6y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G12x6y6, buf);
+ G12x6y6 *dp, &lv = *(dp=new (buf) G12x6y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G12x6y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x6y6)");
+ check_base_class_offset(lv, (A0*)(C12*)(E12x6*), ABISELECT(8,4), "G12x6y6");
+ check_base_class_offset(lv, (B1*)(C12*)(E12x6*), ABISELECT(24,20), "G12x6y6");
+ check_base_class_offset(lv, (C12*)(E12x6*), 0, "G12x6y6");
+ check_base_class_offset(lv, (D0*)(E12x6*), ABISELECT(36,28), "G12x6y6");
+ check_base_class_offset(lv, (E12x6*), 0, "G12x6y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(40,32), "G12x6y6");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G12x6y6.ff");
+ test_class_info(&lv, &cd_G12x6y6);
+ dp->~G12x6y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x6y6(Test_G12x6y6, "G12x6y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G12x6y6C1Ev();
+extern void _ZN7G12x6y6D1Ev();
+Name_Map name_map_G12x6y6[] = {
+ NSPAIR(_ZN7G12x6y6C1Ev),
+ NSPAIR(_ZN7G12x6y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E12x6;
+extern VTBL_ENTRY _ZTI5E12x6[];
+extern VTBL_ENTRY _ZTV5E12x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G12x6y6[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E12x6, 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(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 _ZTI7G12x6y6[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G12x6y6[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x6y6[0]),
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G12x6y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x6y6[];
+static VTBL_ENTRY _tg__ZTV5E12x6__7G12x6y6[] = {
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C125E12x6__7G12x6y6[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C125E12x6__7G12x6y6[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x6__7G12x6y6[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E12x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x6y6[] = {
+ {&(_ZTV7G12x6y6[5]), 5,9},
+ {&(_tg__ZTV5E12x6__7G12x6y6[4]), 4,4},
+ {&(_tg__ZTV3C125E12x6__7G12x6y6[3]), 3,3},
+ {&(_tg__ZTV2B1__3C125E12x6__7G12x6y6[3]), 3,4},
+ {&(_tg__ZTV2B1__5E12x6__7G12x6y6[3]), 3,4},
+ {&(_ZTV7G12x6y6[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI7G12x6y6[];
+extern VTBL_ENTRY _ZTV7G12x6y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x6y6[];
+Class_Descriptor cd_G12x6y6 = { "G12x6y6", // class name
+ bases_G12x6y6, 6,
+ &(vtc_G12x6y6[0]), // expected_vtbl_contents
+ &(vtt_G12x6y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G12x6y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x6y6),9, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x6y6),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 G12x6y7 : virtual E12x6 , virtual F0 {
+ int ff;
+ ~G12x6y7(); // tgen
+ G12x6y7(); // tgen
+};
+//SIG(1 G12x6y7) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G12x6y7 ::~G12x6y7(){ note_dtor("G12x6y7", this);} // tgen
+G12x6y7 ::G12x6y7(){ note_ctor("G12x6y7", this);} // tgen
+
+static void Test_G12x6y7()
+{
+ extern Class_Descriptor cd_G12x6y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G12x6y7, buf);
+ G12x6y7 *dp, &lv = *(dp=new (buf) G12x6y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G12x6y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x6y7)");
+ check_base_class_offset(lv, (A0*)(C12*)(E12x6*), ABISELECT(24,12), "G12x6y7");
+ check_base_class_offset(lv, (B1*)(C12*)(E12x6*), ABISELECT(40,24), "G12x6y7");
+ check_base_class_offset(lv, (C12*)(E12x6*), ABISELECT(16,8), "G12x6y7");
+ check_base_class_offset(lv, (D0*)(E12x6*), ABISELECT(52,32), "G12x6y7");
+ check_base_class_offset(lv, (E12x6*), ABISELECT(16,8), "G12x6y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G12x6y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G12x6y7.ff");
+ test_class_info(&lv, &cd_G12x6y7);
+ dp->~G12x6y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x6y7(Test_G12x6y7, "G12x6y7", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G12x6y7C1Ev();
+extern void _ZN7G12x6y7D1Ev();
+Name_Map name_map_G12x6y7[] = {
+ NSPAIR(_ZN7G12x6y7C1Ev),
+ NSPAIR(_ZN7G12x6y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E12x6;
+extern VTBL_ENTRY _ZTI5E12x6[];
+extern VTBL_ENTRY _ZTV5E12x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G12x6y7[] = {
+ // 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E12x6, 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(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 _ZTI7G12x6y7[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G12x6y7[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x6y7[0]),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G12x6y7[0]),
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G12x6y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x6y7[];
+static VTBL_ENTRY _tg__ZTV5E12x6__7G12x6y7[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C125E12x6__7G12x6y7[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C125E12x6__7G12x6y7[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x6__7G12x6y7[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E12x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x6y7[] = {
+ {&(_ZTV7G12x6y7[6]), 6,14},
+ {&(_ZTV7G12x6y7[10]), 10,14},
+ {&(_ZTV7G12x6y7[13]), 13,14},
+ {&(_tg__ZTV5E12x6__7G12x6y7[4]), 4,4},
+ {&(_tg__ZTV3C125E12x6__7G12x6y7[3]), 3,3},
+ {&(_tg__ZTV2B1__3C125E12x6__7G12x6y7[3]), 3,4},
+ {&(_tg__ZTV2B1__5E12x6__7G12x6y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G12x6y7[];
+extern VTBL_ENTRY _ZTV7G12x6y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x6y7[];
+Class_Descriptor cd_G12x6y7 = { "G12x6y7", // class name
+ bases_G12x6y7, 6,
+ &(vtc_G12x6y7[0]), // expected_vtbl_contents
+ &(vtt_G12x6y7[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G12x6y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x6y7),14, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x6y7),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 E13x6 : C13 , virtual D0 {
+ int fd;
+ ~E13x6(); // tgen
+ E13x6(); // tgen
+};
+//SIG(-1 E13x6) C1{ BC2{ BC3{ v1 Fi} VBC4{ v2 Fi} Fi} VBC5{ Fi} Fi}
+
+
+E13x6 ::~E13x6(){ note_dtor("E13x6", this);} // tgen
+E13x6 ::E13x6(){ note_ctor("E13x6", this);} // tgen
+
+static void Test_E13x6()
+{
+ extern Class_Descriptor cd_E13x6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E13x6, buf);
+ E13x6 *dp, &lv = *(dp=new (buf) E13x6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E13x6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E13x6)");
+ check_base_class_offset(lv, (A1*)(C13*), 0, "E13x6");
+ check_base_class_offset(lv, (B1*)(C13*), ABISELECT(24,16), "E13x6");
+ check_base_class_offset(lv, (C13*), 0, "E13x6");
+ check_base_class_offset(lv, (D0*), ABISELECT(36,24), "E13x6");
+ check_field_offset(lv, fd, ABISELECT(16,12), "E13x6.fd");
+ test_class_info(&lv, &cd_E13x6);
+ dp->~E13x6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE13x6(Test_E13x6, "E13x6", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E13x6C1Ev();
+extern void _ZN5E13x6D1Ev();
+Name_Map name_map_E13x6[] = {
+ NSPAIR(_ZN5E13x6C1Ev),
+ NSPAIR(_ZN5E13x6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E13x6[] = {
+ // 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(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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D0, 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, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E13x6[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_E13x6[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E13x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E13x6[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__5E13x6[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C13__5E13x6[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_E13x6[] = {
+ {&(_ZTV5E13x6[4]), 4,9},
+ {&(_tg__ZTV3C13__5E13x6[3]), 3,4},
+ {&(_tg__ZTV2B1__3C13__5E13x6[3]), 3,4},
+ {&(_ZTV5E13x6[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI5E13x6[];
+extern VTBL_ENTRY _ZTV5E13x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x6[];
+Class_Descriptor cd_E13x6 = { "E13x6", // class name
+ bases_E13x6, 4,
+ &(vtc_E13x6[0]), // expected_vtbl_contents
+ &(vtt_E13x6[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E13x6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E13x6),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E13x6),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 G13x6y0 : E13x6 , F1 {
+ int ff;
+ ~G13x6y0(); // tgen
+ G13x6y0(); // tgen
+};
+//SIG(1 G13x6y0) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G13x6y0 ::~G13x6y0(){ note_dtor("G13x6y0", this);} // tgen
+G13x6y0 ::G13x6y0(){ note_ctor("G13x6y0", this);} // tgen
+
+static void Test_G13x6y0()
+{
+ extern Class_Descriptor cd_G13x6y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G13x6y0, buf);
+ G13x6y0 *dp, &lv = *(dp=new (buf) G13x6y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G13x6y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x6y0)");
+ check_base_class_offset(lv, (A1*)(C13*)(E13x6*), 0, "G13x6y0");
+ check_base_class_offset(lv, (B1*)(C13*)(E13x6*), ABISELECT(40,28), "G13x6y0");
+ check_base_class_offset(lv, (C13*)(E13x6*), 0, "G13x6y0");
+ check_base_class_offset(lv, (D0*)(E13x6*), ABISELECT(52,36), "G13x6y0");
+ check_base_class_offset(lv, (E13x6*), 0, "G13x6y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,16), "G13x6y0");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G13x6y0.ff");
+ test_class_info(&lv, &cd_G13x6y0);
+ dp->~G13x6y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x6y0(Test_G13x6y0, "G13x6y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G13x6y0C1Ev();
+extern void _ZN7G13x6y0D1Ev();
+Name_Map name_map_G13x6y0[] = {
+ NSPAIR(_ZN7G13x6y0C1Ev),
+ NSPAIR(_ZN7G13x6y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E13x6;
+extern VTBL_ENTRY _ZTI5E13x6[];
+extern VTBL_ENTRY _ZTV5E13x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G13x6y0[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E13x6, 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 _ZTI7G13x6y0[];
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G13x6y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x6y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G13x6y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G13x6y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x6y0[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV5E13x6__7G13x6y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C135E13x6__7G13x6y0[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C135E13x6__7G13x6y0[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x6__7G13x6y0[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E13x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x6y0[] = {
+ {&(_ZTV7G13x6y0[4]), 4,12},
+ {&(_tg__ZTV5E13x6__7G13x6y0[4]), 4,5},
+ {&(_tg__ZTV3C135E13x6__7G13x6y0[3]), 3,4},
+ {&(_tg__ZTV2B1__3C135E13x6__7G13x6y0[3]), 3,4},
+ {&(_tg__ZTV2B1__5E13x6__7G13x6y0[3]), 3,4},
+ {&(_ZTV7G13x6y0[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI7G13x6y0[];
+extern VTBL_ENTRY _ZTV7G13x6y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x6y0[];
+Class_Descriptor cd_G13x6y0 = { "G13x6y0", // class name
+ bases_G13x6y0, 6,
+ &(vtc_G13x6y0[0]), // expected_vtbl_contents
+ &(vtt_G13x6y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G13x6y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x6y0),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x6y0),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 G13x6y1 : virtual E13x6 , F1 {
+ int ff;
+ ~G13x6y1(); // tgen
+ G13x6y1(); // tgen
+};
+//SIG(1 G13x6y1) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G13x6y1 ::~G13x6y1(){ note_dtor("G13x6y1", this);} // tgen
+G13x6y1 ::G13x6y1(){ note_ctor("G13x6y1", this);} // tgen
+
+static void Test_G13x6y1()
+{
+ extern Class_Descriptor cd_G13x6y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G13x6y1, buf);
+ G13x6y1 *dp, &lv = *(dp=new (buf) G13x6y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G13x6y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x6y1)");
+ check_base_class_offset(lv, (A1*)(C13*)(E13x6*), ABISELECT(16,12), "G13x6y1");
+ check_base_class_offset(lv, (B1*)(C13*)(E13x6*), ABISELECT(40,28), "G13x6y1");
+ check_base_class_offset(lv, (C13*)(E13x6*), ABISELECT(16,12), "G13x6y1");
+ check_base_class_offset(lv, (D0*)(E13x6*), ABISELECT(52,36), "G13x6y1");
+ check_base_class_offset(lv, (E13x6*), ABISELECT(16,12), "G13x6y1");
+ check_base_class_offset(lv, (F1*), 0, "G13x6y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G13x6y1.ff");
+ test_class_info(&lv, &cd_G13x6y1);
+ dp->~G13x6y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x6y1(Test_G13x6y1, "G13x6y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G13x6y1C1Ev();
+extern void _ZN7G13x6y1D1Ev();
+Name_Map name_map_G13x6y1[] = {
+ NSPAIR(_ZN7G13x6y1C1Ev),
+ NSPAIR(_ZN7G13x6y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E13x6;
+extern VTBL_ENTRY _ZTI5E13x6[];
+extern VTBL_ENTRY _ZTV5E13x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G13x6y1[] = {
+ // 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(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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E13x6, 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 _ZTI7G13x6y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G13x6y1[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x6y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G13x6y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G13x6y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x6y1[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV5E13x6__7G13x6y1[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C135E13x6__7G13x6y1[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C135E13x6__7G13x6y1[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x6__7G13x6y1[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E13x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x6y1[] = {
+ {&(_ZTV7G13x6y1[5]), 5,16},
+ {&(_ZTV7G13x6y1[11]), 11,16},
+ {&(_ZTV7G13x6y1[15]), 15,16},
+ {&(_tg__ZTV5E13x6__7G13x6y1[4]), 4,5},
+ {&(_tg__ZTV3C135E13x6__7G13x6y1[3]), 3,4},
+ {&(_tg__ZTV2B1__3C135E13x6__7G13x6y1[3]), 3,4},
+ {&(_tg__ZTV2B1__5E13x6__7G13x6y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G13x6y1[];
+extern VTBL_ENTRY _ZTV7G13x6y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x6y1[];
+Class_Descriptor cd_G13x6y1 = { "G13x6y1", // class name
+ bases_G13x6y1, 6,
+ &(vtc_G13x6y1[0]), // expected_vtbl_contents
+ &(vtt_G13x6y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G13x6y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x6y1),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x6y1),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 G13x6y2 : E13x6 , virtual F1 {
+ int ff;
+ ~G13x6y2(); // tgen
+ G13x6y2(); // tgen
+};
+//SIG(1 G13x6y2) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G13x6y2 ::~G13x6y2(){ note_dtor("G13x6y2", this);} // tgen
+G13x6y2 ::G13x6y2(){ note_ctor("G13x6y2", this);} // tgen
+
+static void Test_G13x6y2()
+{
+ extern Class_Descriptor cd_G13x6y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G13x6y2, buf);
+ G13x6y2 *dp, &lv = *(dp=new (buf) G13x6y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G13x6y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x6y2)");
+ check_base_class_offset(lv, (A1*)(C13*)(E13x6*), 0, "G13x6y2");
+ check_base_class_offset(lv, (B1*)(C13*)(E13x6*), ABISELECT(24,20), "G13x6y2");
+ check_base_class_offset(lv, (C13*)(E13x6*), 0, "G13x6y2");
+ check_base_class_offset(lv, (D0*)(E13x6*), ABISELECT(36,28), "G13x6y2");
+ check_base_class_offset(lv, (E13x6*), 0, "G13x6y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(40,32), "G13x6y2");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G13x6y2.ff");
+ test_class_info(&lv, &cd_G13x6y2);
+ dp->~G13x6y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x6y2(Test_G13x6y2, "G13x6y2", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G13x6y2C1Ev();
+extern void _ZN7G13x6y2D1Ev();
+Name_Map name_map_G13x6y2[] = {
+ NSPAIR(_ZN7G13x6y2C1Ev),
+ NSPAIR(_ZN7G13x6y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E13x6;
+extern VTBL_ENTRY _ZTI5E13x6[];
+extern VTBL_ENTRY _ZTV5E13x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G13x6y2[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E13x6, 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(40,32), //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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G13x6y2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G13x6y2[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x6y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G13x6y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G13x6y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x6y2[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV5E13x6__7G13x6y2[] = {
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C135E13x6__7G13x6y2[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C135E13x6__7G13x6y2[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x6__7G13x6y2[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E13x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x6y2[] = {
+ {&(_ZTV7G13x6y2[5]), 5,14},
+ {&(_tg__ZTV5E13x6__7G13x6y2[4]), 4,5},
+ {&(_tg__ZTV3C135E13x6__7G13x6y2[3]), 3,4},
+ {&(_tg__ZTV2B1__3C135E13x6__7G13x6y2[3]), 3,4},
+ {&(_tg__ZTV2B1__5E13x6__7G13x6y2[3]), 3,4},
+ {&(_ZTV7G13x6y2[9]), 9,14},
+ {&(_ZTV7G13x6y2[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI7G13x6y2[];
+extern VTBL_ENTRY _ZTV7G13x6y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x6y2[];
+Class_Descriptor cd_G13x6y2 = { "G13x6y2", // class name
+ bases_G13x6y2, 6,
+ &(vtc_G13x6y2[0]), // expected_vtbl_contents
+ &(vtt_G13x6y2[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G13x6y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x6y2),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x6y2),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 G13x6y3 : virtual E13x6 , virtual F1 {
+ int ff;
+ ~G13x6y3(); // tgen
+ G13x6y3(); // tgen
+};
+//SIG(1 G13x6y3) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G13x6y3 ::~G13x6y3(){ note_dtor("G13x6y3", this);} // tgen
+G13x6y3 ::G13x6y3(){ note_ctor("G13x6y3", this);} // tgen
+
+static void Test_G13x6y3()
+{
+ extern Class_Descriptor cd_G13x6y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G13x6y3, buf);
+ G13x6y3 *dp, &lv = *(dp=new (buf) G13x6y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G13x6y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x6y3)");
+ check_base_class_offset(lv, (A1*)(C13*)(E13x6*), ABISELECT(16,8), "G13x6y3");
+ check_base_class_offset(lv, (B1*)(C13*)(E13x6*), ABISELECT(40,24), "G13x6y3");
+ check_base_class_offset(lv, (C13*)(E13x6*), ABISELECT(16,8), "G13x6y3");
+ check_base_class_offset(lv, (D0*)(E13x6*), ABISELECT(52,32), "G13x6y3");
+ check_base_class_offset(lv, (E13x6*), ABISELECT(16,8), "G13x6y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G13x6y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G13x6y3.ff");
+ test_class_info(&lv, &cd_G13x6y3);
+ dp->~G13x6y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x6y3(Test_G13x6y3, "G13x6y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G13x6y3C1Ev();
+extern void _ZN7G13x6y3D1Ev();
+Name_Map name_map_G13x6y3[] = {
+ NSPAIR(_ZN7G13x6y3C1Ev),
+ NSPAIR(_ZN7G13x6y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E13x6;
+extern VTBL_ENTRY _ZTI5E13x6[];
+extern VTBL_ENTRY _ZTV5E13x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G13x6y3[] = {
+ // 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(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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E13x6, 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 _ZTI7G13x6y3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G13x6y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x6y3[0]),
+ 0,
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G13x6y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G13x6y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G13x6y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x6y3[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV5E13x6__7G13x6y3[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C135E13x6__7G13x6y3[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C135E13x6__7G13x6y3[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x6__7G13x6y3[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E13x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x6y3[] = {
+ {&(_ZTV7G13x6y3[6]), 6,20},
+ {&(_ZTV7G13x6y3[11]), 11,20},
+ {&(_ZTV7G13x6y3[15]), 15,20},
+ {&(_ZTV7G13x6y3[19]), 19,20},
+ {&(_tg__ZTV5E13x6__7G13x6y3[4]), 4,5},
+ {&(_tg__ZTV3C135E13x6__7G13x6y3[3]), 3,4},
+ {&(_tg__ZTV2B1__3C135E13x6__7G13x6y3[3]), 3,4},
+ {&(_tg__ZTV2B1__5E13x6__7G13x6y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G13x6y3[];
+extern VTBL_ENTRY _ZTV7G13x6y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x6y3[];
+Class_Descriptor cd_G13x6y3 = { "G13x6y3", // class name
+ bases_G13x6y3, 6,
+ &(vtc_G13x6y3[0]), // expected_vtbl_contents
+ &(vtt_G13x6y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G13x6y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x6y3),20, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x6y3),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 G13x6y4 : E13x6 , F0 {
+ int ff;
+ ~G13x6y4(); // tgen
+ G13x6y4(); // tgen
+};
+//SIG(1 G13x6y4) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G13x6y4 ::~G13x6y4(){ note_dtor("G13x6y4", this);} // tgen
+G13x6y4 ::G13x6y4(){ note_ctor("G13x6y4", this);} // tgen
+
+static void Test_G13x6y4()
+{
+ extern Class_Descriptor cd_G13x6y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G13x6y4, buf);
+ G13x6y4 *dp, &lv = *(dp=new (buf) G13x6y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G13x6y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x6y4)");
+ check_base_class_offset(lv, (A1*)(C13*)(E13x6*), 0, "G13x6y4");
+ check_base_class_offset(lv, (B1*)(C13*)(E13x6*), ABISELECT(32,24), "G13x6y4");
+ check_base_class_offset(lv, (C13*)(E13x6*), 0, "G13x6y4");
+ check_base_class_offset(lv, (D0*)(E13x6*), ABISELECT(44,32), "G13x6y4");
+ check_base_class_offset(lv, (E13x6*), 0, "G13x6y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(20,16), "G13x6y4");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G13x6y4.ff");
+ test_class_info(&lv, &cd_G13x6y4);
+ dp->~G13x6y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x6y4(Test_G13x6y4, "G13x6y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G13x6y4C1Ev();
+extern void _ZN7G13x6y4D1Ev();
+Name_Map name_map_G13x6y4[] = {
+ NSPAIR(_ZN7G13x6y4C1Ev),
+ NSPAIR(_ZN7G13x6y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E13x6;
+extern VTBL_ENTRY _ZTI5E13x6[];
+extern VTBL_ENTRY _ZTV5E13x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G13x6y4[] = {
+ // 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
+ 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
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E13x6, 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 _ZTI7G13x6y4[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G13x6y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x6y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G13x6y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x6y4[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV5E13x6__7G13x6y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C135E13x6__7G13x6y4[] = {
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C135E13x6__7G13x6y4[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x6__7G13x6y4[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E13x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x6y4[] = {
+ {&(_ZTV7G13x6y4[4]), 4,9},
+ {&(_tg__ZTV5E13x6__7G13x6y4[4]), 4,5},
+ {&(_tg__ZTV3C135E13x6__7G13x6y4[3]), 3,4},
+ {&(_tg__ZTV2B1__3C135E13x6__7G13x6y4[3]), 3,4},
+ {&(_tg__ZTV2B1__5E13x6__7G13x6y4[3]), 3,4},
+ {&(_ZTV7G13x6y4[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI7G13x6y4[];
+extern VTBL_ENTRY _ZTV7G13x6y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x6y4[];
+Class_Descriptor cd_G13x6y4 = { "G13x6y4", // class name
+ bases_G13x6y4, 6,
+ &(vtc_G13x6y4[0]), // expected_vtbl_contents
+ &(vtt_G13x6y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G13x6y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x6y4),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x6y4),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 G13x6y5 : virtual E13x6 , F0 {
+ int ff;
+ ~G13x6y5(); // tgen
+ G13x6y5(); // tgen
+};
+//SIG(1 G13x6y5) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G13x6y5 ::~G13x6y5(){ note_dtor("G13x6y5", this);} // tgen
+G13x6y5 ::G13x6y5(){ note_ctor("G13x6y5", this);} // tgen
+
+static void Test_G13x6y5()
+{
+ extern Class_Descriptor cd_G13x6y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G13x6y5, buf);
+ G13x6y5 *dp, &lv = *(dp=new (buf) G13x6y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G13x6y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x6y5)");
+ check_base_class_offset(lv, (A1*)(C13*)(E13x6*), ABISELECT(16,12), "G13x6y5");
+ check_base_class_offset(lv, (B1*)(C13*)(E13x6*), ABISELECT(40,28), "G13x6y5");
+ check_base_class_offset(lv, (C13*)(E13x6*), ABISELECT(16,12), "G13x6y5");
+ check_base_class_offset(lv, (D0*)(E13x6*), ABISELECT(52,36), "G13x6y5");
+ check_base_class_offset(lv, (E13x6*), ABISELECT(16,12), "G13x6y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G13x6y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G13x6y5.ff");
+ test_class_info(&lv, &cd_G13x6y5);
+ dp->~G13x6y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x6y5(Test_G13x6y5, "G13x6y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G13x6y5C1Ev();
+extern void _ZN7G13x6y5D1Ev();
+Name_Map name_map_G13x6y5[] = {
+ NSPAIR(_ZN7G13x6y5C1Ev),
+ NSPAIR(_ZN7G13x6y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E13x6;
+extern VTBL_ENTRY _ZTI5E13x6[];
+extern VTBL_ENTRY _ZTV5E13x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G13x6y5[] = {
+ // 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(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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E13x6, 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 _ZTI7G13x6y5[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G13x6y5[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x6y5[0]),
+ 0,
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G13x6y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G13x6y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x6y5[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV5E13x6__7G13x6y5[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C135E13x6__7G13x6y5[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C135E13x6__7G13x6y5[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x6__7G13x6y5[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E13x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x6y5[] = {
+ {&(_ZTV7G13x6y5[5]), 5,15},
+ {&(_ZTV7G13x6y5[10]), 10,15},
+ {&(_ZTV7G13x6y5[14]), 14,15},
+ {&(_tg__ZTV5E13x6__7G13x6y5[4]), 4,5},
+ {&(_tg__ZTV3C135E13x6__7G13x6y5[3]), 3,4},
+ {&(_tg__ZTV2B1__3C135E13x6__7G13x6y5[3]), 3,4},
+ {&(_tg__ZTV2B1__5E13x6__7G13x6y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G13x6y5[];
+extern VTBL_ENTRY _ZTV7G13x6y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x6y5[];
+Class_Descriptor cd_G13x6y5 = { "G13x6y5", // class name
+ bases_G13x6y5, 6,
+ &(vtc_G13x6y5[0]), // expected_vtbl_contents
+ &(vtt_G13x6y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G13x6y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x6y5),15, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x6y5),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 G13x6y6 : E13x6 , virtual F0 {
+ int ff;
+ ~G13x6y6(); // tgen
+ G13x6y6(); // tgen
+};
+//SIG(1 G13x6y6) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G13x6y6 ::~G13x6y6(){ note_dtor("G13x6y6", this);} // tgen
+G13x6y6 ::G13x6y6(){ note_ctor("G13x6y6", this);} // tgen
+
+static void Test_G13x6y6()
+{
+ extern Class_Descriptor cd_G13x6y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G13x6y6, buf);
+ G13x6y6 *dp, &lv = *(dp=new (buf) G13x6y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G13x6y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x6y6)");
+ check_base_class_offset(lv, (A1*)(C13*)(E13x6*), 0, "G13x6y6");
+ check_base_class_offset(lv, (B1*)(C13*)(E13x6*), ABISELECT(24,20), "G13x6y6");
+ check_base_class_offset(lv, (C13*)(E13x6*), 0, "G13x6y6");
+ check_base_class_offset(lv, (D0*)(E13x6*), ABISELECT(36,28), "G13x6y6");
+ check_base_class_offset(lv, (E13x6*), 0, "G13x6y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(40,32), "G13x6y6");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G13x6y6.ff");
+ test_class_info(&lv, &cd_G13x6y6);
+ dp->~G13x6y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x6y6(Test_G13x6y6, "G13x6y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G13x6y6C1Ev();
+extern void _ZN7G13x6y6D1Ev();
+Name_Map name_map_G13x6y6[] = {
+ NSPAIR(_ZN7G13x6y6C1Ev),
+ NSPAIR(_ZN7G13x6y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E13x6;
+extern VTBL_ENTRY _ZTI5E13x6[];
+extern VTBL_ENTRY _ZTV5E13x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G13x6y6[] = {
+ // 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(24,20), //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_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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E13x6, 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(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 _ZTI7G13x6y6[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G13x6y6[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x6y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G13x6y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x6y6[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV5E13x6__7G13x6y6[] = {
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C135E13x6__7G13x6y6[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C135E13x6__7G13x6y6[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x6__7G13x6y6[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E13x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x6y6[] = {
+ {&(_ZTV7G13x6y6[5]), 5,10},
+ {&(_tg__ZTV5E13x6__7G13x6y6[4]), 4,5},
+ {&(_tg__ZTV3C135E13x6__7G13x6y6[3]), 3,4},
+ {&(_tg__ZTV2B1__3C135E13x6__7G13x6y6[3]), 3,4},
+ {&(_tg__ZTV2B1__5E13x6__7G13x6y6[3]), 3,4},
+ {&(_ZTV7G13x6y6[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI7G13x6y6[];
+extern VTBL_ENTRY _ZTV7G13x6y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x6y6[];
+Class_Descriptor cd_G13x6y6 = { "G13x6y6", // class name
+ bases_G13x6y6, 6,
+ &(vtc_G13x6y6[0]), // expected_vtbl_contents
+ &(vtt_G13x6y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G13x6y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x6y6),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x6y6),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 G13x6y7 : virtual E13x6 , virtual F0 {
+ int ff;
+ ~G13x6y7(); // tgen
+ G13x6y7(); // tgen
+};
+//SIG(1 G13x6y7) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G13x6y7 ::~G13x6y7(){ note_dtor("G13x6y7", this);} // tgen
+G13x6y7 ::G13x6y7(){ note_ctor("G13x6y7", this);} // tgen
+
+static void Test_G13x6y7()
+{
+ extern Class_Descriptor cd_G13x6y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G13x6y7, buf);
+ G13x6y7 *dp, &lv = *(dp=new (buf) G13x6y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G13x6y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x6y7)");
+ check_base_class_offset(lv, (A1*)(C13*)(E13x6*), ABISELECT(16,8), "G13x6y7");
+ check_base_class_offset(lv, (B1*)(C13*)(E13x6*), ABISELECT(40,24), "G13x6y7");
+ check_base_class_offset(lv, (C13*)(E13x6*), ABISELECT(16,8), "G13x6y7");
+ check_base_class_offset(lv, (D0*)(E13x6*), ABISELECT(52,32), "G13x6y7");
+ check_base_class_offset(lv, (E13x6*), ABISELECT(16,8), "G13x6y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G13x6y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G13x6y7.ff");
+ test_class_info(&lv, &cd_G13x6y7);
+ dp->~G13x6y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x6y7(Test_G13x6y7, "G13x6y7", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G13x6y7C1Ev();
+extern void _ZN7G13x6y7D1Ev();
+Name_Map name_map_G13x6y7[] = {
+ NSPAIR(_ZN7G13x6y7C1Ev),
+ NSPAIR(_ZN7G13x6y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E13x6;
+extern VTBL_ENTRY _ZTI5E13x6[];
+extern VTBL_ENTRY _ZTV5E13x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G13x6y7[] = {
+ // 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(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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E13x6, 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(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 _ZTI7G13x6y7[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G13x6y7[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x6y7[0]),
+ 0,
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G13x6y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G13x6y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x6y7[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV5E13x6__7G13x6y7[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C135E13x6__7G13x6y7[] = {
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C135E13x6__7G13x6y7[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x6__7G13x6y7[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E13x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x6y7[] = {
+ {&(_ZTV7G13x6y7[6]), 6,16},
+ {&(_ZTV7G13x6y7[11]), 11,16},
+ {&(_ZTV7G13x6y7[15]), 15,16},
+ {&(_tg__ZTV5E13x6__7G13x6y7[4]), 4,5},
+ {&(_tg__ZTV3C135E13x6__7G13x6y7[3]), 3,4},
+ {&(_tg__ZTV2B1__3C135E13x6__7G13x6y7[3]), 3,4},
+ {&(_tg__ZTV2B1__5E13x6__7G13x6y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G13x6y7[];
+extern VTBL_ENTRY _ZTV7G13x6y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x6y7[];
+Class_Descriptor cd_G13x6y7 = { "G13x6y7", // class name
+ bases_G13x6y7, 6,
+ &(vtc_G13x6y7[0]), // expected_vtbl_contents
+ &(vtt_G13x6y7[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G13x6y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x6y7),16, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x6y7),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 E14x6 : C14 , virtual D0 {
+ int fd;
+ ~E14x6(); // tgen
+ E14x6(); // tgen
+};
+//SIG(-1 E14x6) C1{ BC2{ VBC3{ Fi} VBC4{ v1 Fi} Fi} VBC5{ Fi} Fi}
+
+
+E14x6 ::~E14x6(){ note_dtor("E14x6", this);} // tgen
+E14x6 ::E14x6(){ note_ctor("E14x6", this);} // tgen
+
+static void Test_E14x6()
+{
+ extern Class_Descriptor cd_E14x6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E14x6, buf);
+ E14x6 *dp, &lv = *(dp=new (buf) E14x6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E14x6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E14x6)");
+ check_base_class_offset(lv, (A0*)(C14*), ABISELECT(16,12), "E14x6");
+ check_base_class_offset(lv, (B1*)(C14*), ABISELECT(24,16), "E14x6");
+ check_base_class_offset(lv, (C14*), 0, "E14x6");
+ check_base_class_offset(lv, (D0*), ABISELECT(36,24), "E14x6");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E14x6.fd");
+ test_class_info(&lv, &cd_E14x6);
+ dp->~E14x6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE14x6(Test_E14x6, "E14x6", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E14x6C1Ev();
+extern void _ZN5E14x6D1Ev();
+Name_Map name_map_E14x6[] = {
+ NSPAIR(_ZN5E14x6C1Ev),
+ NSPAIR(_ZN5E14x6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E14x6[] = {
+ // 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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D0, 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, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E14x6[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_E14x6[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x6[0]),
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E14x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E14x6[];
+static VTBL_ENTRY _tg__ZTV3C14__5E14x6[] = {
+ ABISELECT(24,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C14__5E14x6[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_E14x6[] = {
+ {&(_ZTV5E14x6[5]), 5,9},
+ {&(_tg__ZTV3C14__5E14x6[4]), 4,4},
+ {&(_tg__ZTV2B1__3C14__5E14x6[3]), 3,4},
+ {&(_ZTV5E14x6[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI5E14x6[];
+extern VTBL_ENTRY _ZTV5E14x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x6[];
+Class_Descriptor cd_E14x6 = { "E14x6", // class name
+ bases_E14x6, 4,
+ &(vtc_E14x6[0]), // expected_vtbl_contents
+ &(vtt_E14x6[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E14x6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E14x6),9, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E14x6),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 G14x6y0 : E14x6 , F1 {
+ int ff;
+ ~G14x6y0(); // tgen
+ G14x6y0(); // tgen
+};
+//SIG(1 G14x6y0) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G14x6y0 ::~G14x6y0(){ note_dtor("G14x6y0", this);} // tgen
+G14x6y0 ::G14x6y0(){ note_ctor("G14x6y0", this);} // tgen
+
+static void Test_G14x6y0()
+{
+ extern Class_Descriptor cd_G14x6y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G14x6y0, buf);
+ G14x6y0 *dp, &lv = *(dp=new (buf) G14x6y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G14x6y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x6y0)");
+ check_base_class_offset(lv, (A0*)(C14*)(E14x6*), ABISELECT(32,24), "G14x6y0");
+ check_base_class_offset(lv, (B1*)(C14*)(E14x6*), ABISELECT(40,28), "G14x6y0");
+ check_base_class_offset(lv, (C14*)(E14x6*), 0, "G14x6y0");
+ check_base_class_offset(lv, (D0*)(E14x6*), ABISELECT(52,36), "G14x6y0");
+ check_base_class_offset(lv, (E14x6*), 0, "G14x6y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G14x6y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G14x6y0.ff");
+ test_class_info(&lv, &cd_G14x6y0);
+ dp->~G14x6y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x6y0(Test_G14x6y0, "G14x6y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G14x6y0C1Ev();
+extern void _ZN7G14x6y0D1Ev();
+Name_Map name_map_G14x6y0[] = {
+ NSPAIR(_ZN7G14x6y0C1Ev),
+ NSPAIR(_ZN7G14x6y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E14x6;
+extern VTBL_ENTRY _ZTI5E14x6[];
+extern VTBL_ENTRY _ZTV5E14x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G14x6y0[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E14x6, 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 _ZTI7G14x6y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G14x6y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x6y0[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G14x6y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G14x6y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x6y0[];
+static VTBL_ENTRY _tg__ZTV5E14x6__7G14x6y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C145E14x6__7G14x6y0[] = {
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C145E14x6__7G14x6y0[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x6__7G14x6y0[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E14x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x6y0[] = {
+ {&(_ZTV7G14x6y0[5]), 5,12},
+ {&(_tg__ZTV5E14x6__7G14x6y0[5]), 5,5},
+ {&(_tg__ZTV3C145E14x6__7G14x6y0[4]), 4,4},
+ {&(_tg__ZTV2B1__3C145E14x6__7G14x6y0[3]), 3,4},
+ {&(_tg__ZTV2B1__5E14x6__7G14x6y0[3]), 3,4},
+ {&(_ZTV7G14x6y0[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI7G14x6y0[];
+extern VTBL_ENTRY _ZTV7G14x6y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x6y0[];
+Class_Descriptor cd_G14x6y0 = { "G14x6y0", // class name
+ bases_G14x6y0, 6,
+ &(vtc_G14x6y0[0]), // expected_vtbl_contents
+ &(vtt_G14x6y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G14x6y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x6y0),12, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x6y0),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 G14x6y1 : virtual E14x6 , F1 {
+ int ff;
+ ~G14x6y1(); // tgen
+ G14x6y1(); // tgen
+};
+//SIG(1 G14x6y1) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G14x6y1 ::~G14x6y1(){ note_dtor("G14x6y1", this);} // tgen
+G14x6y1 ::G14x6y1(){ note_ctor("G14x6y1", this);} // tgen
+
+static void Test_G14x6y1()
+{
+ extern Class_Descriptor cd_G14x6y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G14x6y1, buf);
+ G14x6y1 *dp, &lv = *(dp=new (buf) G14x6y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G14x6y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x6y1)");
+ check_base_class_offset(lv, (A0*)(C14*)(E14x6*), ABISELECT(32,24), "G14x6y1");
+ check_base_class_offset(lv, (B1*)(C14*)(E14x6*), ABISELECT(40,28), "G14x6y1");
+ check_base_class_offset(lv, (C14*)(E14x6*), ABISELECT(16,12), "G14x6y1");
+ check_base_class_offset(lv, (D0*)(E14x6*), ABISELECT(52,36), "G14x6y1");
+ check_base_class_offset(lv, (E14x6*), ABISELECT(16,12), "G14x6y1");
+ check_base_class_offset(lv, (F1*), 0, "G14x6y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G14x6y1.ff");
+ test_class_info(&lv, &cd_G14x6y1);
+ dp->~G14x6y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x6y1(Test_G14x6y1, "G14x6y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G14x6y1C1Ev();
+extern void _ZN7G14x6y1D1Ev();
+Name_Map name_map_G14x6y1[] = {
+ NSPAIR(_ZN7G14x6y1C1Ev),
+ NSPAIR(_ZN7G14x6y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E14x6;
+extern VTBL_ENTRY _ZTI5E14x6[];
+extern VTBL_ENTRY _ZTV5E14x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G14x6y1[] = {
+ // 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E14x6, 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 _ZTI7G14x6y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G14x6y1[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x6y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G14x6y1[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G14x6y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x6y1[];
+static VTBL_ENTRY _tg__ZTV5E14x6__7G14x6y1[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C145E14x6__7G14x6y1[] = {
+ ABISELECT(24,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C145E14x6__7G14x6y1[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x6__7G14x6y1[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E14x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x6y1[] = {
+ {&(_ZTV7G14x6y1[6]), 6,16},
+ {&(_ZTV7G14x6y1[12]), 12,16},
+ {&(_ZTV7G14x6y1[15]), 15,16},
+ {&(_tg__ZTV5E14x6__7G14x6y1[5]), 5,5},
+ {&(_tg__ZTV3C145E14x6__7G14x6y1[4]), 4,4},
+ {&(_tg__ZTV2B1__3C145E14x6__7G14x6y1[3]), 3,4},
+ {&(_tg__ZTV2B1__5E14x6__7G14x6y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G14x6y1[];
+extern VTBL_ENTRY _ZTV7G14x6y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x6y1[];
+Class_Descriptor cd_G14x6y1 = { "G14x6y1", // class name
+ bases_G14x6y1, 6,
+ &(vtc_G14x6y1[0]), // expected_vtbl_contents
+ &(vtt_G14x6y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G14x6y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x6y1),16, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x6y1),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 G14x6y2 : E14x6 , virtual F1 {
+ int ff;
+ ~G14x6y2(); // tgen
+ G14x6y2(); // tgen
+};
+//SIG(1 G14x6y2) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G14x6y2 ::~G14x6y2(){ note_dtor("G14x6y2", this);} // tgen
+G14x6y2 ::G14x6y2(){ note_ctor("G14x6y2", this);} // tgen
+
+static void Test_G14x6y2()
+{
+ extern Class_Descriptor cd_G14x6y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G14x6y2, buf);
+ G14x6y2 *dp, &lv = *(dp=new (buf) G14x6y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G14x6y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x6y2)");
+ check_base_class_offset(lv, (A0*)(C14*)(E14x6*), ABISELECT(20,16), "G14x6y2");
+ check_base_class_offset(lv, (B1*)(C14*)(E14x6*), ABISELECT(24,20), "G14x6y2");
+ check_base_class_offset(lv, (C14*)(E14x6*), 0, "G14x6y2");
+ check_base_class_offset(lv, (D0*)(E14x6*), ABISELECT(36,28), "G14x6y2");
+ check_base_class_offset(lv, (E14x6*), 0, "G14x6y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(40,32), "G14x6y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G14x6y2.ff");
+ test_class_info(&lv, &cd_G14x6y2);
+ dp->~G14x6y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x6y2(Test_G14x6y2, "G14x6y2", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G14x6y2C1Ev();
+extern void _ZN7G14x6y2D1Ev();
+Name_Map name_map_G14x6y2[] = {
+ NSPAIR(_ZN7G14x6y2C1Ev),
+ NSPAIR(_ZN7G14x6y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E14x6;
+extern VTBL_ENTRY _ZTI5E14x6[];
+extern VTBL_ENTRY _ZTV5E14x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G14x6y2[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E14x6, 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(40,32), //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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G14x6y2[];
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G14x6y2[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x6y2[0]),
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G14x6y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G14x6y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x6y2[];
+static VTBL_ENTRY _tg__ZTV5E14x6__7G14x6y2[] = {
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C145E14x6__7G14x6y2[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C145E14x6__7G14x6y2[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x6__7G14x6y2[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E14x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x6y2[] = {
+ {&(_ZTV7G14x6y2[6]), 6,14},
+ {&(_tg__ZTV5E14x6__7G14x6y2[5]), 5,5},
+ {&(_tg__ZTV3C145E14x6__7G14x6y2[4]), 4,4},
+ {&(_tg__ZTV2B1__3C145E14x6__7G14x6y2[3]), 3,4},
+ {&(_tg__ZTV2B1__5E14x6__7G14x6y2[3]), 3,4},
+ {&(_ZTV7G14x6y2[9]), 9,14},
+ {&(_ZTV7G14x6y2[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI7G14x6y2[];
+extern VTBL_ENTRY _ZTV7G14x6y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x6y2[];
+Class_Descriptor cd_G14x6y2 = { "G14x6y2", // class name
+ bases_G14x6y2, 6,
+ &(vtc_G14x6y2[0]), // expected_vtbl_contents
+ &(vtt_G14x6y2[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G14x6y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x6y2),14, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x6y2),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 G14x6y3 : virtual E14x6 , virtual F1 {
+ int ff;
+ ~G14x6y3(); // tgen
+ G14x6y3(); // tgen
+};
+//SIG(1 G14x6y3) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G14x6y3 ::~G14x6y3(){ note_dtor("G14x6y3", this);} // tgen
+G14x6y3 ::G14x6y3(){ note_ctor("G14x6y3", this);} // tgen
+
+static void Test_G14x6y3()
+{
+ extern Class_Descriptor cd_G14x6y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G14x6y3, buf);
+ G14x6y3 *dp, &lv = *(dp=new (buf) G14x6y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G14x6y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x6y3)");
+ check_base_class_offset(lv, (A0*)(C14*)(E14x6*), ABISELECT(32,20), "G14x6y3");
+ check_base_class_offset(lv, (B1*)(C14*)(E14x6*), ABISELECT(40,24), "G14x6y3");
+ check_base_class_offset(lv, (C14*)(E14x6*), ABISELECT(16,8), "G14x6y3");
+ check_base_class_offset(lv, (D0*)(E14x6*), ABISELECT(52,32), "G14x6y3");
+ check_base_class_offset(lv, (E14x6*), ABISELECT(16,8), "G14x6y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G14x6y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G14x6y3.ff");
+ test_class_info(&lv, &cd_G14x6y3);
+ dp->~G14x6y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x6y3(Test_G14x6y3, "G14x6y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G14x6y3C1Ev();
+extern void _ZN7G14x6y3D1Ev();
+Name_Map name_map_G14x6y3[] = {
+ NSPAIR(_ZN7G14x6y3C1Ev),
+ NSPAIR(_ZN7G14x6y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E14x6;
+extern VTBL_ENTRY _ZTI5E14x6[];
+extern VTBL_ENTRY _ZTV5E14x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G14x6y3[] = {
+ // 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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E14x6, 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 _ZTI7G14x6y3[];
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G14x6y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x6y3[0]),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G14x6y3[0]),
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G14x6y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G14x6y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x6y3[];
+static VTBL_ENTRY _tg__ZTV5E14x6__7G14x6y3[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C145E14x6__7G14x6y3[] = {
+ ABISELECT(24,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C145E14x6__7G14x6y3[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x6__7G14x6y3[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E14x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x6y3[] = {
+ {&(_ZTV7G14x6y3[7]), 7,20},
+ {&(_ZTV7G14x6y3[12]), 12,20},
+ {&(_ZTV7G14x6y3[15]), 15,20},
+ {&(_ZTV7G14x6y3[19]), 19,20},
+ {&(_tg__ZTV5E14x6__7G14x6y3[5]), 5,5},
+ {&(_tg__ZTV3C145E14x6__7G14x6y3[4]), 4,4},
+ {&(_tg__ZTV2B1__3C145E14x6__7G14x6y3[3]), 3,4},
+ {&(_tg__ZTV2B1__5E14x6__7G14x6y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G14x6y3[];
+extern VTBL_ENTRY _ZTV7G14x6y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x6y3[];
+Class_Descriptor cd_G14x6y3 = { "G14x6y3", // class name
+ bases_G14x6y3, 6,
+ &(vtc_G14x6y3[0]), // expected_vtbl_contents
+ &(vtt_G14x6y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G14x6y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x6y3),20, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x6y3),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 G14x6y4 : E14x6 , F0 {
+ int ff;
+ ~G14x6y4(); // tgen
+ G14x6y4(); // tgen
+};
+//SIG(1 G14x6y4) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G14x6y4 ::~G14x6y4(){ note_dtor("G14x6y4", this);} // tgen
+G14x6y4 ::G14x6y4(){ note_ctor("G14x6y4", this);} // tgen
+
+static void Test_G14x6y4()
+{
+ extern Class_Descriptor cd_G14x6y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G14x6y4, buf);
+ G14x6y4 *dp, &lv = *(dp=new (buf) G14x6y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G14x6y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x6y4)");
+ check_base_class_offset(lv, (A0*)(C14*)(E14x6*), ABISELECT(24,20), "G14x6y4");
+ check_base_class_offset(lv, (B1*)(C14*)(E14x6*), ABISELECT(32,24), "G14x6y4");
+ check_base_class_offset(lv, (C14*)(E14x6*), 0, "G14x6y4");
+ check_base_class_offset(lv, (D0*)(E14x6*), ABISELECT(44,32), "G14x6y4");
+ check_base_class_offset(lv, (E14x6*), 0, "G14x6y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G14x6y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G14x6y4.ff");
+ test_class_info(&lv, &cd_G14x6y4);
+ dp->~G14x6y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x6y4(Test_G14x6y4, "G14x6y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G14x6y4C1Ev();
+extern void _ZN7G14x6y4D1Ev();
+Name_Map name_map_G14x6y4[] = {
+ NSPAIR(_ZN7G14x6y4C1Ev),
+ NSPAIR(_ZN7G14x6y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E14x6;
+extern VTBL_ENTRY _ZTI5E14x6[];
+extern VTBL_ENTRY _ZTV5E14x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G14x6y4[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E14x6, 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 _ZTI7G14x6y4[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G14x6y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x6y4[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G14x6y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x6y4[];
+static VTBL_ENTRY _tg__ZTV5E14x6__7G14x6y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C145E14x6__7G14x6y4[] = {
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C145E14x6__7G14x6y4[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x6__7G14x6y4[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E14x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x6y4[] = {
+ {&(_ZTV7G14x6y4[5]), 5,9},
+ {&(_tg__ZTV5E14x6__7G14x6y4[5]), 5,5},
+ {&(_tg__ZTV3C145E14x6__7G14x6y4[4]), 4,4},
+ {&(_tg__ZTV2B1__3C145E14x6__7G14x6y4[3]), 3,4},
+ {&(_tg__ZTV2B1__5E14x6__7G14x6y4[3]), 3,4},
+ {&(_ZTV7G14x6y4[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI7G14x6y4[];
+extern VTBL_ENTRY _ZTV7G14x6y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x6y4[];
+Class_Descriptor cd_G14x6y4 = { "G14x6y4", // class name
+ bases_G14x6y4, 6,
+ &(vtc_G14x6y4[0]), // expected_vtbl_contents
+ &(vtt_G14x6y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G14x6y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x6y4),9, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x6y4),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 G14x6y5 : virtual E14x6 , F0 {
+ int ff;
+ ~G14x6y5(); // tgen
+ G14x6y5(); // tgen
+};
+//SIG(1 G14x6y5) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G14x6y5 ::~G14x6y5(){ note_dtor("G14x6y5", this);} // tgen
+G14x6y5 ::G14x6y5(){ note_ctor("G14x6y5", this);} // tgen
+
+static void Test_G14x6y5()
+{
+ extern Class_Descriptor cd_G14x6y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G14x6y5, buf);
+ G14x6y5 *dp, &lv = *(dp=new (buf) G14x6y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G14x6y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x6y5)");
+ check_base_class_offset(lv, (A0*)(C14*)(E14x6*), ABISELECT(32,24), "G14x6y5");
+ check_base_class_offset(lv, (B1*)(C14*)(E14x6*), ABISELECT(40,28), "G14x6y5");
+ check_base_class_offset(lv, (C14*)(E14x6*), ABISELECT(16,12), "G14x6y5");
+ check_base_class_offset(lv, (D0*)(E14x6*), ABISELECT(52,36), "G14x6y5");
+ check_base_class_offset(lv, (E14x6*), ABISELECT(16,12), "G14x6y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G14x6y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G14x6y5.ff");
+ test_class_info(&lv, &cd_G14x6y5);
+ dp->~G14x6y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x6y5(Test_G14x6y5, "G14x6y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G14x6y5C1Ev();
+extern void _ZN7G14x6y5D1Ev();
+Name_Map name_map_G14x6y5[] = {
+ NSPAIR(_ZN7G14x6y5C1Ev),
+ NSPAIR(_ZN7G14x6y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E14x6;
+extern VTBL_ENTRY _ZTI5E14x6[];
+extern VTBL_ENTRY _ZTV5E14x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G14x6y5[] = {
+ // 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E14x6, 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 _ZTI7G14x6y5[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G14x6y5[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x6y5[0]),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G14x6y5[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G14x6y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x6y5[];
+static VTBL_ENTRY _tg__ZTV5E14x6__7G14x6y5[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C145E14x6__7G14x6y5[] = {
+ ABISELECT(24,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C145E14x6__7G14x6y5[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x6__7G14x6y5[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E14x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x6y5[] = {
+ {&(_ZTV7G14x6y5[6]), 6,15},
+ {&(_ZTV7G14x6y5[11]), 11,15},
+ {&(_ZTV7G14x6y5[14]), 14,15},
+ {&(_tg__ZTV5E14x6__7G14x6y5[5]), 5,5},
+ {&(_tg__ZTV3C145E14x6__7G14x6y5[4]), 4,4},
+ {&(_tg__ZTV2B1__3C145E14x6__7G14x6y5[3]), 3,4},
+ {&(_tg__ZTV2B1__5E14x6__7G14x6y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G14x6y5[];
+extern VTBL_ENTRY _ZTV7G14x6y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x6y5[];
+Class_Descriptor cd_G14x6y5 = { "G14x6y5", // class name
+ bases_G14x6y5, 6,
+ &(vtc_G14x6y5[0]), // expected_vtbl_contents
+ &(vtt_G14x6y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G14x6y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x6y5),15, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x6y5),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 G14x6y6 : E14x6 , virtual F0 {
+ int ff;
+ ~G14x6y6(); // tgen
+ G14x6y6(); // tgen
+};
+//SIG(1 G14x6y6) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G14x6y6 ::~G14x6y6(){ note_dtor("G14x6y6", this);} // tgen
+G14x6y6 ::G14x6y6(){ note_ctor("G14x6y6", this);} // tgen
+
+static void Test_G14x6y6()
+{
+ extern Class_Descriptor cd_G14x6y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G14x6y6, buf);
+ G14x6y6 *dp, &lv = *(dp=new (buf) G14x6y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G14x6y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x6y6)");
+ check_base_class_offset(lv, (A0*)(C14*)(E14x6*), ABISELECT(20,16), "G14x6y6");
+ check_base_class_offset(lv, (B1*)(C14*)(E14x6*), ABISELECT(24,20), "G14x6y6");
+ check_base_class_offset(lv, (C14*)(E14x6*), 0, "G14x6y6");
+ check_base_class_offset(lv, (D0*)(E14x6*), ABISELECT(36,28), "G14x6y6");
+ check_base_class_offset(lv, (E14x6*), 0, "G14x6y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(40,32), "G14x6y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G14x6y6.ff");
+ test_class_info(&lv, &cd_G14x6y6);
+ dp->~G14x6y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x6y6(Test_G14x6y6, "G14x6y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G14x6y6C1Ev();
+extern void _ZN7G14x6y6D1Ev();
+Name_Map name_map_G14x6y6[] = {
+ NSPAIR(_ZN7G14x6y6C1Ev),
+ NSPAIR(_ZN7G14x6y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E14x6;
+extern VTBL_ENTRY _ZTI5E14x6[];
+extern VTBL_ENTRY _ZTV5E14x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G14x6y6[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E14x6, 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(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 _ZTI7G14x6y6[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G14x6y6[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x6y6[0]),
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G14x6y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x6y6[];
+static VTBL_ENTRY _tg__ZTV5E14x6__7G14x6y6[] = {
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C145E14x6__7G14x6y6[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C145E14x6__7G14x6y6[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x6__7G14x6y6[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E14x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x6y6[] = {
+ {&(_ZTV7G14x6y6[6]), 6,10},
+ {&(_tg__ZTV5E14x6__7G14x6y6[5]), 5,5},
+ {&(_tg__ZTV3C145E14x6__7G14x6y6[4]), 4,4},
+ {&(_tg__ZTV2B1__3C145E14x6__7G14x6y6[3]), 3,4},
+ {&(_tg__ZTV2B1__5E14x6__7G14x6y6[3]), 3,4},
+ {&(_ZTV7G14x6y6[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI7G14x6y6[];
+extern VTBL_ENTRY _ZTV7G14x6y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x6y6[];
+Class_Descriptor cd_G14x6y6 = { "G14x6y6", // class name
+ bases_G14x6y6, 6,
+ &(vtc_G14x6y6[0]), // expected_vtbl_contents
+ &(vtt_G14x6y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G14x6y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x6y6),10, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x6y6),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 G14x6y7 : virtual E14x6 , virtual F0 {
+ int ff;
+ ~G14x6y7(); // tgen
+ G14x6y7(); // tgen
+};
+//SIG(1 G14x6y7) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G14x6y7 ::~G14x6y7(){ note_dtor("G14x6y7", this);} // tgen
+G14x6y7 ::G14x6y7(){ note_ctor("G14x6y7", this);} // tgen
+
+static void Test_G14x6y7()
+{
+ extern Class_Descriptor cd_G14x6y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G14x6y7, buf);
+ G14x6y7 *dp, &lv = *(dp=new (buf) G14x6y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G14x6y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x6y7)");
+ check_base_class_offset(lv, (A0*)(C14*)(E14x6*), ABISELECT(32,20), "G14x6y7");
+ check_base_class_offset(lv, (B1*)(C14*)(E14x6*), ABISELECT(40,24), "G14x6y7");
+ check_base_class_offset(lv, (C14*)(E14x6*), ABISELECT(16,8), "G14x6y7");
+ check_base_class_offset(lv, (D0*)(E14x6*), ABISELECT(52,32), "G14x6y7");
+ check_base_class_offset(lv, (E14x6*), ABISELECT(16,8), "G14x6y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G14x6y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G14x6y7.ff");
+ test_class_info(&lv, &cd_G14x6y7);
+ dp->~G14x6y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x6y7(Test_G14x6y7, "G14x6y7", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G14x6y7C1Ev();
+extern void _ZN7G14x6y7D1Ev();
+Name_Map name_map_G14x6y7[] = {
+ NSPAIR(_ZN7G14x6y7C1Ev),
+ NSPAIR(_ZN7G14x6y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E14x6;
+extern VTBL_ENTRY _ZTI5E14x6[];
+extern VTBL_ENTRY _ZTV5E14x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G14x6y7[] = {
+ // 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E14x6, 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(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 _ZTI7G14x6y7[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G14x6y7[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x6y7[0]),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G14x6y7[0]),
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G14x6y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x6y7[];
+static VTBL_ENTRY _tg__ZTV5E14x6__7G14x6y7[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C145E14x6__7G14x6y7[] = {
+ ABISELECT(24,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C145E14x6__7G14x6y7[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x6__7G14x6y7[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E14x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x6y7[] = {
+ {&(_ZTV7G14x6y7[7]), 7,16},
+ {&(_ZTV7G14x6y7[12]), 12,16},
+ {&(_ZTV7G14x6y7[15]), 15,16},
+ {&(_tg__ZTV5E14x6__7G14x6y7[5]), 5,5},
+ {&(_tg__ZTV3C145E14x6__7G14x6y7[4]), 4,4},
+ {&(_tg__ZTV2B1__3C145E14x6__7G14x6y7[3]), 3,4},
+ {&(_tg__ZTV2B1__5E14x6__7G14x6y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G14x6y7[];
+extern VTBL_ENTRY _ZTV7G14x6y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x6y7[];
+Class_Descriptor cd_G14x6y7 = { "G14x6y7", // class name
+ bases_G14x6y7, 6,
+ &(vtc_G14x6y7[0]), // expected_vtbl_contents
+ &(vtt_G14x6y7[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G14x6y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x6y7),16, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x6y7),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 E15x6 : C15 , virtual D0 {
+ int fd;
+ ~E15x6(); // tgen
+ E15x6(); // tgen
+};
+//SIG(-1 E15x6) C1{ BC2{ VBC3{ v1 Fi} VBC4{ v2 Fi} Fi} VBC5{ Fi} Fi}
+
+
+E15x6 ::~E15x6(){ note_dtor("E15x6", this);} // tgen
+E15x6 ::E15x6(){ note_ctor("E15x6", this);} // tgen
+
+static void Test_E15x6()
+{
+ extern Class_Descriptor cd_E15x6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E15x6, buf);
+ E15x6 *dp, &lv = *(dp=new (buf) E15x6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E15x6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E15x6)");
+ check_base_class_offset(lv, (A1*)(C15*), ABISELECT(16,12), "E15x6");
+ check_base_class_offset(lv, (B1*)(C15*), ABISELECT(32,20), "E15x6");
+ check_base_class_offset(lv, (C15*), 0, "E15x6");
+ check_base_class_offset(lv, (D0*), ABISELECT(44,28), "E15x6");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E15x6.fd");
+ test_class_info(&lv, &cd_E15x6);
+ dp->~E15x6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE15x6(Test_E15x6, "E15x6", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN5E15x6C1Ev();
+extern void _ZN5E15x6D1Ev();
+Name_Map name_map_E15x6[] = {
+ NSPAIR(_ZN5E15x6C1Ev),
+ NSPAIR(_ZN5E15x6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E15x6[] = {
+ // 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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D0, 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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E15x6[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_E15x6[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x6[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E15x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E15x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E15x6[];
+static VTBL_ENTRY _tg__ZTV3C15__5E15x6[] = {
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C15__5E15x6[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C15__5E15x6[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_E15x6[] = {
+ {&(_ZTV5E15x6[5]), 5,13},
+ {&(_tg__ZTV3C15__5E15x6[4]), 4,4},
+ {&(_tg__ZTV2A1__3C15__5E15x6[3]), 3,4},
+ {&(_tg__ZTV2B1__3C15__5E15x6[3]), 3,4},
+ {&(_ZTV5E15x6[8]), 8,13},
+ {&(_ZTV5E15x6[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI5E15x6[];
+extern VTBL_ENTRY _ZTV5E15x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x6[];
+Class_Descriptor cd_E15x6 = { "E15x6", // class name
+ bases_E15x6, 4,
+ &(vtc_E15x6[0]), // expected_vtbl_contents
+ &(vtt_E15x6[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI5E15x6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E15x6),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E15x6),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 G15x6y0 : E15x6 , F1 {
+ int ff;
+ ~G15x6y0(); // tgen
+ G15x6y0(); // tgen
+};
+//SIG(1 G15x6y0) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G15x6y0 ::~G15x6y0(){ note_dtor("G15x6y0", this);} // tgen
+G15x6y0 ::G15x6y0(){ note_ctor("G15x6y0", this);} // tgen
+
+static void Test_G15x6y0()
+{
+ extern Class_Descriptor cd_G15x6y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G15x6y0, buf);
+ G15x6y0 *dp, &lv = *(dp=new (buf) G15x6y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G15x6y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x6y0)");
+ check_base_class_offset(lv, (A1*)(C15*)(E15x6*), ABISELECT(32,24), "G15x6y0");
+ check_base_class_offset(lv, (B1*)(C15*)(E15x6*), ABISELECT(48,32), "G15x6y0");
+ check_base_class_offset(lv, (C15*)(E15x6*), 0, "G15x6y0");
+ check_base_class_offset(lv, (D0*)(E15x6*), ABISELECT(60,40), "G15x6y0");
+ check_base_class_offset(lv, (E15x6*), 0, "G15x6y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G15x6y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G15x6y0.ff");
+ test_class_info(&lv, &cd_G15x6y0);
+ dp->~G15x6y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x6y0(Test_G15x6y0, "G15x6y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G15x6y0C1Ev();
+extern void _ZN7G15x6y0D1Ev();
+Name_Map name_map_G15x6y0[] = {
+ NSPAIR(_ZN7G15x6y0C1Ev),
+ NSPAIR(_ZN7G15x6y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E15x6;
+extern VTBL_ENTRY _ZTI5E15x6[];
+extern VTBL_ENTRY _ZTV5E15x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G15x6y0[] = {
+ // 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)
+ 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,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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E15x6, 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 _ZTI7G15x6y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G15x6y0[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x6y0[0]),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G15x6y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G15x6y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G15x6y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x6y0[];
+static VTBL_ENTRY _tg__ZTV5E15x6__7G15x6y0[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C155E15x6__7G15x6y0[] = {
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C155E15x6__7G15x6y0[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C155E15x6__7G15x6y0[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x6__7G15x6y0[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E15x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x6__7G15x6y0[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E15x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x6y0[] = {
+ {&(_ZTV7G15x6y0[5]), 5,16},
+ {&(_tg__ZTV5E15x6__7G15x6y0[5]), 5,5},
+ {&(_tg__ZTV3C155E15x6__7G15x6y0[4]), 4,4},
+ {&(_tg__ZTV2A1__3C155E15x6__7G15x6y0[3]), 3,4},
+ {&(_tg__ZTV2B1__3C155E15x6__7G15x6y0[3]), 3,4},
+ {&(_tg__ZTV2A1__5E15x6__7G15x6y0[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x6__7G15x6y0[3]), 3,4},
+ {&(_ZTV7G15x6y0[11]), 11,16},
+ {&(_ZTV7G15x6y0[15]), 15,16},
+};
+extern VTBL_ENTRY _ZTI7G15x6y0[];
+extern VTBL_ENTRY _ZTV7G15x6y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x6y0[];
+Class_Descriptor cd_G15x6y0 = { "G15x6y0", // class name
+ bases_G15x6y0, 6,
+ &(vtc_G15x6y0[0]), // expected_vtbl_contents
+ &(vtt_G15x6y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G15x6y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x6y0),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x6y0),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 G15x6y1 : virtual E15x6 , F1 {
+ int ff;
+ ~G15x6y1(); // tgen
+ G15x6y1(); // tgen
+};
+//SIG(1 G15x6y1) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G15x6y1 ::~G15x6y1(){ note_dtor("G15x6y1", this);} // tgen
+G15x6y1 ::G15x6y1(){ note_ctor("G15x6y1", this);} // tgen
+
+static void Test_G15x6y1()
+{
+ extern Class_Descriptor cd_G15x6y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G15x6y1, buf);
+ G15x6y1 *dp, &lv = *(dp=new (buf) G15x6y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G15x6y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x6y1)");
+ check_base_class_offset(lv, (A1*)(C15*)(E15x6*), ABISELECT(32,24), "G15x6y1");
+ check_base_class_offset(lv, (B1*)(C15*)(E15x6*), ABISELECT(48,32), "G15x6y1");
+ check_base_class_offset(lv, (C15*)(E15x6*), ABISELECT(16,12), "G15x6y1");
+ check_base_class_offset(lv, (D0*)(E15x6*), ABISELECT(60,40), "G15x6y1");
+ check_base_class_offset(lv, (E15x6*), ABISELECT(16,12), "G15x6y1");
+ check_base_class_offset(lv, (F1*), 0, "G15x6y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G15x6y1.ff");
+ test_class_info(&lv, &cd_G15x6y1);
+ dp->~G15x6y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x6y1(Test_G15x6y1, "G15x6y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G15x6y1C1Ev();
+extern void _ZN7G15x6y1D1Ev();
+Name_Map name_map_G15x6y1[] = {
+ NSPAIR(_ZN7G15x6y1C1Ev),
+ NSPAIR(_ZN7G15x6y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E15x6;
+extern VTBL_ENTRY _ZTI5E15x6[];
+extern VTBL_ENTRY _ZTV5E15x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G15x6y1[] = {
+ // 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
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E15x6, 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 _ZTI7G15x6y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G15x6y1[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x6y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G15x6y1[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G15x6y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G15x6y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x6y1[];
+static VTBL_ENTRY _tg__ZTV5E15x6__7G15x6y1[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C155E15x6__7G15x6y1[] = {
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C155E15x6__7G15x6y1[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C155E15x6__7G15x6y1[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x6__7G15x6y1[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E15x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x6__7G15x6y1[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E15x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x6y1[] = {
+ {&(_ZTV7G15x6y1[6]), 6,20},
+ {&(_ZTV7G15x6y1[12]), 12,20},
+ {&(_ZTV7G15x6y1[15]), 15,20},
+ {&(_ZTV7G15x6y1[19]), 19,20},
+ {&(_tg__ZTV5E15x6__7G15x6y1[5]), 5,5},
+ {&(_tg__ZTV3C155E15x6__7G15x6y1[4]), 4,4},
+ {&(_tg__ZTV2A1__3C155E15x6__7G15x6y1[3]), 3,4},
+ {&(_tg__ZTV2B1__3C155E15x6__7G15x6y1[3]), 3,4},
+ {&(_tg__ZTV2A1__5E15x6__7G15x6y1[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x6__7G15x6y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G15x6y1[];
+extern VTBL_ENTRY _ZTV7G15x6y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x6y1[];
+Class_Descriptor cd_G15x6y1 = { "G15x6y1", // class name
+ bases_G15x6y1, 6,
+ &(vtc_G15x6y1[0]), // expected_vtbl_contents
+ &(vtt_G15x6y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G15x6y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x6y1),20, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x6y1),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 G15x6y2 : E15x6 , virtual F1 {
+ int ff;
+ ~G15x6y2(); // tgen
+ G15x6y2(); // tgen
+};
+//SIG(1 G15x6y2) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G15x6y2 ::~G15x6y2(){ note_dtor("G15x6y2", this);} // tgen
+G15x6y2 ::G15x6y2(){ note_ctor("G15x6y2", this);} // tgen
+
+static void Test_G15x6y2()
+{
+ extern Class_Descriptor cd_G15x6y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G15x6y2, buf);
+ G15x6y2 *dp, &lv = *(dp=new (buf) G15x6y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G15x6y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x6y2)");
+ check_base_class_offset(lv, (A1*)(C15*)(E15x6*), ABISELECT(24,16), "G15x6y2");
+ check_base_class_offset(lv, (B1*)(C15*)(E15x6*), ABISELECT(40,24), "G15x6y2");
+ check_base_class_offset(lv, (C15*)(E15x6*), 0, "G15x6y2");
+ check_base_class_offset(lv, (D0*)(E15x6*), ABISELECT(52,32), "G15x6y2");
+ check_base_class_offset(lv, (E15x6*), 0, "G15x6y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G15x6y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G15x6y2.ff");
+ test_class_info(&lv, &cd_G15x6y2);
+ dp->~G15x6y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x6y2(Test_G15x6y2, "G15x6y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G15x6y2C1Ev();
+extern void _ZN7G15x6y2D1Ev();
+Name_Map name_map_G15x6y2[] = {
+ NSPAIR(_ZN7G15x6y2C1Ev),
+ NSPAIR(_ZN7G15x6y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E15x6;
+extern VTBL_ENTRY _ZTI5E15x6[];
+extern VTBL_ENTRY _ZTV5E15x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G15x6y2[] = {
+ // 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)
+ 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(40,24), //bcp->offset
+ 10, //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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E15x6, 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)
+ 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 _ZTI7G15x6y2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G15x6y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x6y2[0]),
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G15x6y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G15x6y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G15x6y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x6y2[];
+static VTBL_ENTRY _tg__ZTV5E15x6__7G15x6y2[] = {
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C155E15x6__7G15x6y2[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C155E15x6__7G15x6y2[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C155E15x6__7G15x6y2[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x6__7G15x6y2[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E15x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x6__7G15x6y2[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E15x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x6y2[] = {
+ {&(_ZTV7G15x6y2[6]), 6,18},
+ {&(_tg__ZTV5E15x6__7G15x6y2[5]), 5,5},
+ {&(_tg__ZTV3C155E15x6__7G15x6y2[4]), 4,4},
+ {&(_tg__ZTV2A1__3C155E15x6__7G15x6y2[3]), 3,4},
+ {&(_tg__ZTV2B1__3C155E15x6__7G15x6y2[3]), 3,4},
+ {&(_tg__ZTV2A1__5E15x6__7G15x6y2[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x6__7G15x6y2[3]), 3,4},
+ {&(_ZTV7G15x6y2[9]), 9,18},
+ {&(_ZTV7G15x6y2[13]), 13,18},
+ {&(_ZTV7G15x6y2[17]), 17,18},
+};
+extern VTBL_ENTRY _ZTI7G15x6y2[];
+extern VTBL_ENTRY _ZTV7G15x6y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x6y2[];
+Class_Descriptor cd_G15x6y2 = { "G15x6y2", // class name
+ bases_G15x6y2, 6,
+ &(vtc_G15x6y2[0]), // expected_vtbl_contents
+ &(vtt_G15x6y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G15x6y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x6y2),18, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x6y2),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 G15x6y3 : virtual E15x6 , virtual F1 {
+ int ff;
+ ~G15x6y3(); // tgen
+ G15x6y3(); // tgen
+};
+//SIG(1 G15x6y3) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G15x6y3 ::~G15x6y3(){ note_dtor("G15x6y3", this);} // tgen
+G15x6y3 ::G15x6y3(){ note_ctor("G15x6y3", this);} // tgen
+
+static void Test_G15x6y3()
+{
+ extern Class_Descriptor cd_G15x6y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G15x6y3, buf);
+ G15x6y3 *dp, &lv = *(dp=new (buf) G15x6y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G15x6y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x6y3)");
+ check_base_class_offset(lv, (A1*)(C15*)(E15x6*), ABISELECT(32,20), "G15x6y3");
+ check_base_class_offset(lv, (B1*)(C15*)(E15x6*), ABISELECT(48,28), "G15x6y3");
+ check_base_class_offset(lv, (C15*)(E15x6*), ABISELECT(16,8), "G15x6y3");
+ check_base_class_offset(lv, (D0*)(E15x6*), ABISELECT(60,36), "G15x6y3");
+ check_base_class_offset(lv, (E15x6*), ABISELECT(16,8), "G15x6y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G15x6y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G15x6y3.ff");
+ test_class_info(&lv, &cd_G15x6y3);
+ dp->~G15x6y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x6y3(Test_G15x6y3, "G15x6y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G15x6y3C1Ev();
+extern void _ZN7G15x6y3D1Ev();
+Name_Map name_map_G15x6y3[] = {
+ NSPAIR(_ZN7G15x6y3C1Ev),
+ NSPAIR(_ZN7G15x6y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E15x6;
+extern VTBL_ENTRY _ZTI5E15x6[];
+extern VTBL_ENTRY _ZTV5E15x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G15x6y3[] = {
+ // 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E15x6, 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 _ZTI7G15x6y3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G15x6y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x6y3[0]),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G15x6y3[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G15x6y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G15x6y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G15x6y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x6y3[];
+static VTBL_ENTRY _tg__ZTV5E15x6__7G15x6y3[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C155E15x6__7G15x6y3[] = {
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C155E15x6__7G15x6y3[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C155E15x6__7G15x6y3[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x6__7G15x6y3[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E15x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x6__7G15x6y3[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E15x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x6y3[] = {
+ {&(_ZTV7G15x6y3[7]), 7,24},
+ {&(_ZTV7G15x6y3[12]), 12,24},
+ {&(_ZTV7G15x6y3[15]), 15,24},
+ {&(_ZTV7G15x6y3[19]), 19,24},
+ {&(_ZTV7G15x6y3[23]), 23,24},
+ {&(_tg__ZTV5E15x6__7G15x6y3[5]), 5,5},
+ {&(_tg__ZTV3C155E15x6__7G15x6y3[4]), 4,4},
+ {&(_tg__ZTV2A1__3C155E15x6__7G15x6y3[3]), 3,4},
+ {&(_tg__ZTV2B1__3C155E15x6__7G15x6y3[3]), 3,4},
+ {&(_tg__ZTV2A1__5E15x6__7G15x6y3[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x6__7G15x6y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G15x6y3[];
+extern VTBL_ENTRY _ZTV7G15x6y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x6y3[];
+Class_Descriptor cd_G15x6y3 = { "G15x6y3", // class name
+ bases_G15x6y3, 6,
+ &(vtc_G15x6y3[0]), // expected_vtbl_contents
+ &(vtt_G15x6y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G15x6y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x6y3),24, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x6y3),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 G15x6y4 : E15x6 , F0 {
+ int ff;
+ ~G15x6y4(); // tgen
+ G15x6y4(); // tgen
+};
+//SIG(1 G15x6y4) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G15x6y4 ::~G15x6y4(){ note_dtor("G15x6y4", this);} // tgen
+G15x6y4 ::G15x6y4(){ note_ctor("G15x6y4", this);} // tgen
+
+static void Test_G15x6y4()
+{
+ extern Class_Descriptor cd_G15x6y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G15x6y4, buf);
+ G15x6y4 *dp, &lv = *(dp=new (buf) G15x6y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G15x6y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x6y4)");
+ check_base_class_offset(lv, (A1*)(C15*)(E15x6*), ABISELECT(24,20), "G15x6y4");
+ check_base_class_offset(lv, (B1*)(C15*)(E15x6*), ABISELECT(40,28), "G15x6y4");
+ check_base_class_offset(lv, (C15*)(E15x6*), 0, "G15x6y4");
+ check_base_class_offset(lv, (D0*)(E15x6*), ABISELECT(52,36), "G15x6y4");
+ check_base_class_offset(lv, (E15x6*), 0, "G15x6y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G15x6y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G15x6y4.ff");
+ test_class_info(&lv, &cd_G15x6y4);
+ dp->~G15x6y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x6y4(Test_G15x6y4, "G15x6y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G15x6y4C1Ev();
+extern void _ZN7G15x6y4D1Ev();
+Name_Map name_map_G15x6y4[] = {
+ NSPAIR(_ZN7G15x6y4C1Ev),
+ NSPAIR(_ZN7G15x6y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E15x6;
+extern VTBL_ENTRY _ZTI5E15x6[];
+extern VTBL_ENTRY _ZTV5E15x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G15x6y4[] = {
+ // 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)
+ 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(40,28), //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
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E15x6, 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 _ZTI7G15x6y4[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G15x6y4[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x6y4[0]),
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G15x6y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G15x6y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x6y4[];
+static VTBL_ENTRY _tg__ZTV5E15x6__7G15x6y4[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C155E15x6__7G15x6y4[] = {
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C155E15x6__7G15x6y4[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C155E15x6__7G15x6y4[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x6__7G15x6y4[] = {
+ 0,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E15x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x6__7G15x6y4[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E15x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x6y4[] = {
+ {&(_ZTV7G15x6y4[5]), 5,13},
+ {&(_tg__ZTV5E15x6__7G15x6y4[5]), 5,5},
+ {&(_tg__ZTV3C155E15x6__7G15x6y4[4]), 4,4},
+ {&(_tg__ZTV2A1__3C155E15x6__7G15x6y4[3]), 3,4},
+ {&(_tg__ZTV2B1__3C155E15x6__7G15x6y4[3]), 3,4},
+ {&(_tg__ZTV2A1__5E15x6__7G15x6y4[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x6__7G15x6y4[3]), 3,4},
+ {&(_ZTV7G15x6y4[8]), 8,13},
+ {&(_ZTV7G15x6y4[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI7G15x6y4[];
+extern VTBL_ENTRY _ZTV7G15x6y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x6y4[];
+Class_Descriptor cd_G15x6y4 = { "G15x6y4", // class name
+ bases_G15x6y4, 6,
+ &(vtc_G15x6y4[0]), // expected_vtbl_contents
+ &(vtt_G15x6y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G15x6y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x6y4),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x6y4),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 G15x6y5 : virtual E15x6 , F0 {
+ int ff;
+ ~G15x6y5(); // tgen
+ G15x6y5(); // tgen
+};
+//SIG(1 G15x6y5) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G15x6y5 ::~G15x6y5(){ note_dtor("G15x6y5", this);} // tgen
+G15x6y5 ::G15x6y5(){ note_ctor("G15x6y5", this);} // tgen
+
+static void Test_G15x6y5()
+{
+ extern Class_Descriptor cd_G15x6y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G15x6y5, buf);
+ G15x6y5 *dp, &lv = *(dp=new (buf) G15x6y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G15x6y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x6y5)");
+ check_base_class_offset(lv, (A1*)(C15*)(E15x6*), ABISELECT(32,24), "G15x6y5");
+ check_base_class_offset(lv, (B1*)(C15*)(E15x6*), ABISELECT(48,32), "G15x6y5");
+ check_base_class_offset(lv, (C15*)(E15x6*), ABISELECT(16,12), "G15x6y5");
+ check_base_class_offset(lv, (D0*)(E15x6*), ABISELECT(60,40), "G15x6y5");
+ check_base_class_offset(lv, (E15x6*), ABISELECT(16,12), "G15x6y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G15x6y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G15x6y5.ff");
+ test_class_info(&lv, &cd_G15x6y5);
+ dp->~G15x6y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x6y5(Test_G15x6y5, "G15x6y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G15x6y5C1Ev();
+extern void _ZN7G15x6y5D1Ev();
+Name_Map name_map_G15x6y5[] = {
+ NSPAIR(_ZN7G15x6y5C1Ev),
+ NSPAIR(_ZN7G15x6y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E15x6;
+extern VTBL_ENTRY _ZTI5E15x6[];
+extern VTBL_ENTRY _ZTV5E15x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G15x6y5[] = {
+ // 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
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E15x6, 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 _ZTI7G15x6y5[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G15x6y5[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x6y5[0]),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G15x6y5[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G15x6y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G15x6y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x6y5[];
+static VTBL_ENTRY _tg__ZTV5E15x6__7G15x6y5[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C155E15x6__7G15x6y5[] = {
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C155E15x6__7G15x6y5[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C155E15x6__7G15x6y5[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x6__7G15x6y5[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E15x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x6__7G15x6y5[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E15x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x6y5[] = {
+ {&(_ZTV7G15x6y5[6]), 6,19},
+ {&(_ZTV7G15x6y5[11]), 11,19},
+ {&(_ZTV7G15x6y5[14]), 14,19},
+ {&(_ZTV7G15x6y5[18]), 18,19},
+ {&(_tg__ZTV5E15x6__7G15x6y5[5]), 5,5},
+ {&(_tg__ZTV3C155E15x6__7G15x6y5[4]), 4,4},
+ {&(_tg__ZTV2A1__3C155E15x6__7G15x6y5[3]), 3,4},
+ {&(_tg__ZTV2B1__3C155E15x6__7G15x6y5[3]), 3,4},
+ {&(_tg__ZTV2A1__5E15x6__7G15x6y5[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x6__7G15x6y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G15x6y5[];
+extern VTBL_ENTRY _ZTV7G15x6y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x6y5[];
+Class_Descriptor cd_G15x6y5 = { "G15x6y5", // class name
+ bases_G15x6y5, 6,
+ &(vtc_G15x6y5[0]), // expected_vtbl_contents
+ &(vtt_G15x6y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G15x6y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x6y5),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x6y5),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 G15x6y6 : E15x6 , virtual F0 {
+ int ff;
+ ~G15x6y6(); // tgen
+ G15x6y6(); // tgen
+};
+//SIG(1 G15x6y6) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G15x6y6 ::~G15x6y6(){ note_dtor("G15x6y6", this);} // tgen
+G15x6y6 ::G15x6y6(){ note_ctor("G15x6y6", this);} // tgen
+
+static void Test_G15x6y6()
+{
+ extern Class_Descriptor cd_G15x6y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G15x6y6, buf);
+ G15x6y6 *dp, &lv = *(dp=new (buf) G15x6y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G15x6y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x6y6)");
+ check_base_class_offset(lv, (A1*)(C15*)(E15x6*), ABISELECT(24,16), "G15x6y6");
+ check_base_class_offset(lv, (B1*)(C15*)(E15x6*), ABISELECT(40,24), "G15x6y6");
+ check_base_class_offset(lv, (C15*)(E15x6*), 0, "G15x6y6");
+ check_base_class_offset(lv, (D0*)(E15x6*), ABISELECT(52,32), "G15x6y6");
+ check_base_class_offset(lv, (E15x6*), 0, "G15x6y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G15x6y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G15x6y6.ff");
+ test_class_info(&lv, &cd_G15x6y6);
+ dp->~G15x6y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x6y6(Test_G15x6y6, "G15x6y6", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G15x6y6C1Ev();
+extern void _ZN7G15x6y6D1Ev();
+Name_Map name_map_G15x6y6[] = {
+ NSPAIR(_ZN7G15x6y6C1Ev),
+ NSPAIR(_ZN7G15x6y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E15x6;
+extern VTBL_ENTRY _ZTI5E15x6[];
+extern VTBL_ENTRY _ZTV5E15x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G15x6y6[] = {
+ // 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)
+ 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(40,24), //bcp->offset
+ 10, //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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E15x6, 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 _ZTI7G15x6y6[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G15x6y6[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x6y6[0]),
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G15x6y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G15x6y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x6y6[];
+static VTBL_ENTRY _tg__ZTV5E15x6__7G15x6y6[] = {
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C155E15x6__7G15x6y6[] = {
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C155E15x6__7G15x6y6[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C155E15x6__7G15x6y6[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x6__7G15x6y6[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E15x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x6__7G15x6y6[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E15x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x6y6[] = {
+ {&(_ZTV7G15x6y6[6]), 6,14},
+ {&(_tg__ZTV5E15x6__7G15x6y6[5]), 5,5},
+ {&(_tg__ZTV3C155E15x6__7G15x6y6[4]), 4,4},
+ {&(_tg__ZTV2A1__3C155E15x6__7G15x6y6[3]), 3,4},
+ {&(_tg__ZTV2B1__3C155E15x6__7G15x6y6[3]), 3,4},
+ {&(_tg__ZTV2A1__5E15x6__7G15x6y6[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x6__7G15x6y6[3]), 3,4},
+ {&(_ZTV7G15x6y6[9]), 9,14},
+ {&(_ZTV7G15x6y6[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI7G15x6y6[];
+extern VTBL_ENTRY _ZTV7G15x6y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x6y6[];
+Class_Descriptor cd_G15x6y6 = { "G15x6y6", // class name
+ bases_G15x6y6, 6,
+ &(vtc_G15x6y6[0]), // expected_vtbl_contents
+ &(vtt_G15x6y6[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G15x6y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x6y6),14, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x6y6),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 G15x6y7 : virtual E15x6 , virtual F0 {
+ int ff;
+ ~G15x6y7(); // tgen
+ G15x6y7(); // tgen
+};
+//SIG(1 G15x6y7) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G15x6y7 ::~G15x6y7(){ note_dtor("G15x6y7", this);} // tgen
+G15x6y7 ::G15x6y7(){ note_ctor("G15x6y7", this);} // tgen
+
+static void Test_G15x6y7()
+{
+ extern Class_Descriptor cd_G15x6y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G15x6y7, buf);
+ G15x6y7 *dp, &lv = *(dp=new (buf) G15x6y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G15x6y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x6y7)");
+ check_base_class_offset(lv, (A1*)(C15*)(E15x6*), ABISELECT(32,20), "G15x6y7");
+ check_base_class_offset(lv, (B1*)(C15*)(E15x6*), ABISELECT(48,28), "G15x6y7");
+ check_base_class_offset(lv, (C15*)(E15x6*), ABISELECT(16,8), "G15x6y7");
+ check_base_class_offset(lv, (D0*)(E15x6*), ABISELECT(60,36), "G15x6y7");
+ check_base_class_offset(lv, (E15x6*), ABISELECT(16,8), "G15x6y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(64,40), "G15x6y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G15x6y7.ff");
+ test_class_info(&lv, &cd_G15x6y7);
+ dp->~G15x6y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x6y7(Test_G15x6y7, "G15x6y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G15x6y7C1Ev();
+extern void _ZN7G15x6y7D1Ev();
+Name_Map name_map_G15x6y7[] = {
+ NSPAIR(_ZN7G15x6y7C1Ev),
+ NSPAIR(_ZN7G15x6y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E15x6;
+extern VTBL_ENTRY _ZTI5E15x6[];
+extern VTBL_ENTRY _ZTV5E15x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G15x6y7[] = {
+ // 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
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E15x6, 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(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 _ZTI7G15x6y7[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G15x6y7[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x6y7[0]),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G15x6y7[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G15x6y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G15x6y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x6y7[];
+static VTBL_ENTRY _tg__ZTV5E15x6__7G15x6y7[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x6[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C155E15x6__7G15x6y7[] = {
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C155E15x6__7G15x6y7[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C155E15x6__7G15x6y7[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x6__7G15x6y7[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E15x6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x6__7G15x6y7[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E15x6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x6y7[] = {
+ {&(_ZTV7G15x6y7[7]), 7,20},
+ {&(_ZTV7G15x6y7[12]), 12,20},
+ {&(_ZTV7G15x6y7[15]), 15,20},
+ {&(_ZTV7G15x6y7[19]), 19,20},
+ {&(_tg__ZTV5E15x6__7G15x6y7[5]), 5,5},
+ {&(_tg__ZTV3C155E15x6__7G15x6y7[4]), 4,4},
+ {&(_tg__ZTV2A1__3C155E15x6__7G15x6y7[3]), 3,4},
+ {&(_tg__ZTV2B1__3C155E15x6__7G15x6y7[3]), 3,4},
+ {&(_tg__ZTV2A1__5E15x6__7G15x6y7[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x6__7G15x6y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G15x6y7[];
+extern VTBL_ENTRY _ZTV7G15x6y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x6y7[];
+Class_Descriptor cd_G15x6y7 = { "G15x6y7", // class name
+ bases_G15x6y7, 6,
+ &(vtc_G15x6y7[0]), // expected_vtbl_contents
+ &(vtt_G15x6y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G15x6y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x6y7),20, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x6y7),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 E16x6 : C16 , virtual D0 {
+ int fd;
+ ~E16x6(); // tgen
+ E16x6(); // tgen
+};
+//SIG(-1 E16x6) C1{ BC2{ BC3{ Fi} BC4{ Fi} v1 Fi} VBC5{ Fi} Fi}
+
+
+E16x6 ::~E16x6(){ note_dtor("E16x6", this);} // tgen
+E16x6 ::E16x6(){ note_ctor("E16x6", this);} // tgen
+
+static void Test_E16x6()
+{
+ extern Class_Descriptor cd_E16x6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(5,7)];
+ init_test(&cd_E16x6, buf);
+ E16x6 *dp, &lv = *(dp=new (buf) E16x6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(32,24), "sizeof(E16x6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E16x6)");
+ check_base_class_offset(lv, (A0*)(C16*), ABISELECT(8,4), "E16x6");
+ check_base_class_offset(lv, (B0*)(C16*), ABISELECT(12,8), "E16x6");
+ check_base_class_offset(lv, (C16*), 0, "E16x6");
+ check_base_class_offset(lv, (D0*), ABISELECT(24,20), "E16x6");
+ check_field_offset(lv, fd, ABISELECT(20,16), "E16x6.fd");
+ test_class_info(&lv, &cd_E16x6);
+ dp->~E16x6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE16x6(Test_E16x6, "E16x6", ABISELECT(32,24));
+
+#else // __cplusplus
+
+extern void _ZN5E16x6C1Ev();
+extern void _ZN5E16x6D1Ev();
+Name_Map name_map_E16x6[] = {
+ NSPAIR(_ZN5E16x6C1Ev),
+ NSPAIR(_ZN5E16x6D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E16x6[] = {
+ // 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
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D0, 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, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E16x6[];
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY vtc_E16x6[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x6[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+extern VTBL_ENTRY _ZTV5E16x6[];
+static VTT_ENTRY vtt_E16x6[] = {
+ {&(_ZTV5E16x6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E16x6[];
+extern VTBL_ENTRY _ZTV5E16x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x6[];
+Class_Descriptor cd_E16x6 = { "E16x6", // class name
+ bases_E16x6, 4,
+ &(vtc_E16x6[0]), // expected_vtbl_contents
+ &(vtt_E16x6[0]), // expected_vtt_contents
+ ABISELECT(32,24), // object size
+ NSPAIRA(_ZTI5E16x6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E16x6),4, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E16x6),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 G16x6y0 : E16x6 , F1 {
+ int ff;
+ ~G16x6y0(); // tgen
+ G16x6y0(); // tgen
+};
+//SIG(1 G16x6y0) C1{ BC2{ BC3{ BC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G16x6y0 ::~G16x6y0(){ note_dtor("G16x6y0", this);} // tgen
+G16x6y0 ::G16x6y0(){ note_ctor("G16x6y0", this);} // tgen
+
+static void Test_G16x6y0()
+{
+ extern Class_Descriptor cd_G16x6y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G16x6y0, buf);
+ G16x6y0 *dp, &lv = *(dp=new (buf) G16x6y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G16x6y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x6y0)");
+ check_base_class_offset(lv, (A0*)(C16*)(E16x6*), ABISELECT(8,4), "G16x6y0");
+ check_base_class_offset(lv, (B0*)(C16*)(E16x6*), ABISELECT(12,8), "G16x6y0");
+ check_base_class_offset(lv, (C16*)(E16x6*), 0, "G16x6y0");
+ check_base_class_offset(lv, (D0*)(E16x6*), ABISELECT(40,32), "G16x6y0");
+ check_base_class_offset(lv, (E16x6*), 0, "G16x6y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,20), "G16x6y0");
+ check_field_offset(lv, ff, ABISELECT(36,28), "G16x6y0.ff");
+ test_class_info(&lv, &cd_G16x6y0);
+ dp->~G16x6y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x6y0(Test_G16x6y0, "G16x6y0", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G16x6y0C1Ev();
+extern void _ZN7G16x6y0D1Ev();
+Name_Map name_map_G16x6y0[] = {
+ NSPAIR(_ZN7G16x6y0C1Ev),
+ NSPAIR(_ZN7G16x6y0D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E16x6;
+extern VTBL_ENTRY _ZTI5E16x6[];
+extern VTBL_ENTRY _ZTV5E16x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G16x6y0[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E16x6, 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
+ 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 _ZTI7G16x6y0[];
+extern void _ZN3C163fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G16x6y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x6y0[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G16x6y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x6y0[];
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY _tg__ZTV5E16x6__7G16x6y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x6[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+static VTT_ENTRY vtt_G16x6y0[] = {
+ {&(_ZTV7G16x6y0[3]), 3,7},
+ {&(_tg__ZTV5E16x6__7G16x6y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G16x6y0[];
+extern VTBL_ENTRY _ZTV7G16x6y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x6y0[];
+Class_Descriptor cd_G16x6y0 = { "G16x6y0", // class name
+ bases_G16x6y0, 6,
+ &(vtc_G16x6y0[0]), // expected_vtbl_contents
+ &(vtt_G16x6y0[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G16x6y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x6y0),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x6y0),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 G16x6y1 : virtual E16x6 , F1 {
+ int ff;
+ ~G16x6y1(); // tgen
+ G16x6y1(); // tgen
+};
+//SIG(1 G16x6y1) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G16x6y1 ::~G16x6y1(){ note_dtor("G16x6y1", this);} // tgen
+G16x6y1 ::G16x6y1(){ note_ctor("G16x6y1", this);} // tgen
+
+static void Test_G16x6y1()
+{
+ extern Class_Descriptor cd_G16x6y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G16x6y1, buf);
+ G16x6y1 *dp, &lv = *(dp=new (buf) G16x6y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G16x6y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x6y1)");
+ check_base_class_offset(lv, (A0*)(C16*)(E16x6*), ABISELECT(24,16), "G16x6y1");
+ check_base_class_offset(lv, (B0*)(C16*)(E16x6*), ABISELECT(28,20), "G16x6y1");
+ check_base_class_offset(lv, (C16*)(E16x6*), ABISELECT(16,12), "G16x6y1");
+ check_base_class_offset(lv, (D0*)(E16x6*), ABISELECT(40,32), "G16x6y1");
+ check_base_class_offset(lv, (E16x6*), ABISELECT(16,12), "G16x6y1");
+ check_base_class_offset(lv, (F1*), 0, "G16x6y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G16x6y1.ff");
+ test_class_info(&lv, &cd_G16x6y1);
+ dp->~G16x6y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x6y1(Test_G16x6y1, "G16x6y1", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G16x6y1C1Ev();
+extern void _ZN7G16x6y1D1Ev();
+Name_Map name_map_G16x6y1[] = {
+ NSPAIR(_ZN7G16x6y1C1Ev),
+ NSPAIR(_ZN7G16x6y1D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E16x6;
+extern VTBL_ENTRY _ZTI5E16x6[];
+extern VTBL_ENTRY _ZTV5E16x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G16x6y1[] = {
+ // 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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E16x6, 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 _ZTI7G16x6y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY vtc_G16x6y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x6y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G16x6y1[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x6y1[];
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY _tg__ZTV5E16x6__7G16x6y1[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x6[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+static VTT_ENTRY vtt_G16x6y1[] = {
+ {&(_ZTV7G16x6y1[4]), 4,10},
+ {&(_ZTV7G16x6y1[9]), 9,10},
+ {&(_tg__ZTV5E16x6__7G16x6y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G16x6y1[];
+extern VTBL_ENTRY _ZTV7G16x6y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x6y1[];
+Class_Descriptor cd_G16x6y1 = { "G16x6y1", // class name
+ bases_G16x6y1, 6,
+ &(vtc_G16x6y1[0]), // expected_vtbl_contents
+ &(vtt_G16x6y1[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G16x6y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x6y1),10, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x6y1),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 G16x6y2 : E16x6 , virtual F1 {
+ int ff;
+ ~G16x6y2(); // tgen
+ G16x6y2(); // tgen
+};
+//SIG(1 G16x6y2) C1{ BC2{ BC3{ BC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G16x6y2 ::~G16x6y2(){ note_dtor("G16x6y2", this);} // tgen
+G16x6y2 ::G16x6y2(){ note_ctor("G16x6y2", this);} // tgen
+
+static void Test_G16x6y2()
+{
+ extern Class_Descriptor cd_G16x6y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G16x6y2, buf);
+ G16x6y2 *dp, &lv = *(dp=new (buf) G16x6y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G16x6y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x6y2)");
+ check_base_class_offset(lv, (A0*)(C16*)(E16x6*), ABISELECT(8,4), "G16x6y2");
+ check_base_class_offset(lv, (B0*)(C16*)(E16x6*), ABISELECT(12,8), "G16x6y2");
+ check_base_class_offset(lv, (C16*)(E16x6*), 0, "G16x6y2");
+ check_base_class_offset(lv, (D0*)(E16x6*), ABISELECT(28,24), "G16x6y2");
+ check_base_class_offset(lv, (E16x6*), 0, "G16x6y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,28), "G16x6y2");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G16x6y2.ff");
+ test_class_info(&lv, &cd_G16x6y2);
+ dp->~G16x6y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x6y2(Test_G16x6y2, "G16x6y2", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G16x6y2C1Ev();
+extern void _ZN7G16x6y2D1Ev();
+Name_Map name_map_G16x6y2[] = {
+ NSPAIR(_ZN7G16x6y2C1Ev),
+ NSPAIR(_ZN7G16x6y2D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E16x6;
+extern VTBL_ENTRY _ZTI5E16x6[];
+extern VTBL_ENTRY _ZTV5E16x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G16x6y2[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E16x6, 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 _ZTI7G16x6y2[];
+extern void _ZN3C163fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G16x6y2[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x6y2[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI7G16x6y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x6y2[];
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY _tg__ZTV5E16x6__7G16x6y2[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x6[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+static VTT_ENTRY vtt_G16x6y2[] = {
+ {&(_ZTV7G16x6y2[4]), 4,9},
+ {&(_tg__ZTV5E16x6__7G16x6y2[3]), 3,4},
+ {&(_ZTV7G16x6y2[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI7G16x6y2[];
+extern VTBL_ENTRY _ZTV7G16x6y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x6y2[];
+Class_Descriptor cd_G16x6y2 = { "G16x6y2", // class name
+ bases_G16x6y2, 6,
+ &(vtc_G16x6y2[0]), // expected_vtbl_contents
+ &(vtt_G16x6y2[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G16x6y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x6y2),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x6y2),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 G16x6y3 : virtual E16x6 , virtual F1 {
+ int ff;
+ ~G16x6y3(); // tgen
+ G16x6y3(); // tgen
+};
+//SIG(1 G16x6y3) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G16x6y3 ::~G16x6y3(){ note_dtor("G16x6y3", this);} // tgen
+G16x6y3 ::G16x6y3(){ note_ctor("G16x6y3", this);} // tgen
+
+static void Test_G16x6y3()
+{
+ extern Class_Descriptor cd_G16x6y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G16x6y3, buf);
+ G16x6y3 *dp, &lv = *(dp=new (buf) G16x6y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G16x6y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x6y3)");
+ check_base_class_offset(lv, (A0*)(C16*)(E16x6*), ABISELECT(24,12), "G16x6y3");
+ check_base_class_offset(lv, (B0*)(C16*)(E16x6*), ABISELECT(28,16), "G16x6y3");
+ check_base_class_offset(lv, (C16*)(E16x6*), ABISELECT(16,8), "G16x6y3");
+ check_base_class_offset(lv, (D0*)(E16x6*), ABISELECT(40,28), "G16x6y3");
+ check_base_class_offset(lv, (E16x6*), ABISELECT(16,8), "G16x6y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G16x6y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G16x6y3.ff");
+ test_class_info(&lv, &cd_G16x6y3);
+ dp->~G16x6y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x6y3(Test_G16x6y3, "G16x6y3", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G16x6y3C1Ev();
+extern void _ZN7G16x6y3D1Ev();
+Name_Map name_map_G16x6y3[] = {
+ NSPAIR(_ZN7G16x6y3C1Ev),
+ NSPAIR(_ZN7G16x6y3D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E16x6;
+extern VTBL_ENTRY _ZTI5E16x6[];
+extern VTBL_ENTRY _ZTV5E16x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G16x6y3[] = {
+ // 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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E16x6, 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 _ZTI7G16x6y3[];
+extern void _ZN3C163fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G16x6y3[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x6y3[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G16x6y3[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G16x6y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x6y3[];
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY _tg__ZTV5E16x6__7G16x6y3[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x6[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+static VTT_ENTRY vtt_G16x6y3[] = {
+ {&(_ZTV7G16x6y3[5]), 5,14},
+ {&(_ZTV7G16x6y3[9]), 9,14},
+ {&(_ZTV7G16x6y3[13]), 13,14},
+ {&(_tg__ZTV5E16x6__7G16x6y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G16x6y3[];
+extern VTBL_ENTRY _ZTV7G16x6y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x6y3[];
+Class_Descriptor cd_G16x6y3 = { "G16x6y3", // class name
+ bases_G16x6y3, 6,
+ &(vtc_G16x6y3[0]), // expected_vtbl_contents
+ &(vtt_G16x6y3[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G16x6y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x6y3),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x6y3),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 G16x6y4 : E16x6 , F0 {
+ int ff;
+ ~G16x6y4(); // tgen
+ G16x6y4(); // tgen
+};
+//SIG(1 G16x6y4) C1{ BC2{ BC3{ BC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G16x6y4 ::~G16x6y4(){ note_dtor("G16x6y4", this);} // tgen
+G16x6y4 ::G16x6y4(){ note_ctor("G16x6y4", this);} // tgen
+
+static void Test_G16x6y4()
+{
+ extern Class_Descriptor cd_G16x6y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G16x6y4, buf);
+ G16x6y4 *dp, &lv = *(dp=new (buf) G16x6y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G16x6y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x6y4)");
+ check_base_class_offset(lv, (A0*)(C16*)(E16x6*), ABISELECT(8,4), "G16x6y4");
+ check_base_class_offset(lv, (B0*)(C16*)(E16x6*), ABISELECT(12,8), "G16x6y4");
+ check_base_class_offset(lv, (C16*)(E16x6*), 0, "G16x6y4");
+ check_base_class_offset(lv, (D0*)(E16x6*), ABISELECT(32,28), "G16x6y4");
+ check_base_class_offset(lv, (E16x6*), 0, "G16x6y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(24,20), "G16x6y4");
+ check_field_offset(lv, ff, ABISELECT(28,24), "G16x6y4.ff");
+ test_class_info(&lv, &cd_G16x6y4);
+ dp->~G16x6y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x6y4(Test_G16x6y4, "G16x6y4", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN7G16x6y4C1Ev();
+extern void _ZN7G16x6y4D1Ev();
+Name_Map name_map_G16x6y4[] = {
+ NSPAIR(_ZN7G16x6y4C1Ev),
+ NSPAIR(_ZN7G16x6y4D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E16x6;
+extern VTBL_ENTRY _ZTI5E16x6[];
+extern VTBL_ENTRY _ZTV5E16x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G16x6y4[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E16x6, 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 _ZTI7G16x6y4[];
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY vtc_G16x6y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x6y4[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x6y4[];
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY _tg__ZTV5E16x6__7G16x6y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x6[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+static VTT_ENTRY vtt_G16x6y4[] = {
+ {&(_ZTV7G16x6y4[3]), 3,4},
+ {&(_tg__ZTV5E16x6__7G16x6y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G16x6y4[];
+extern VTBL_ENTRY _ZTV7G16x6y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x6y4[];
+Class_Descriptor cd_G16x6y4 = { "G16x6y4", // class name
+ bases_G16x6y4, 6,
+ &(vtc_G16x6y4[0]), // expected_vtbl_contents
+ &(vtt_G16x6y4[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI7G16x6y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x6y4),4, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x6y4),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 G16x6y5 : virtual E16x6 , F0 {
+ int ff;
+ ~G16x6y5(); // tgen
+ G16x6y5(); // tgen
+};
+//SIG(1 G16x6y5) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G16x6y5 ::~G16x6y5(){ note_dtor("G16x6y5", this);} // tgen
+G16x6y5 ::G16x6y5(){ note_ctor("G16x6y5", this);} // tgen
+
+static void Test_G16x6y5()
+{
+ extern Class_Descriptor cd_G16x6y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G16x6y5, buf);
+ G16x6y5 *dp, &lv = *(dp=new (buf) G16x6y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G16x6y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x6y5)");
+ check_base_class_offset(lv, (A0*)(C16*)(E16x6*), ABISELECT(24,16), "G16x6y5");
+ check_base_class_offset(lv, (B0*)(C16*)(E16x6*), ABISELECT(28,20), "G16x6y5");
+ check_base_class_offset(lv, (C16*)(E16x6*), ABISELECT(16,12), "G16x6y5");
+ check_base_class_offset(lv, (D0*)(E16x6*), ABISELECT(40,32), "G16x6y5");
+ check_base_class_offset(lv, (E16x6*), ABISELECT(16,12), "G16x6y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G16x6y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G16x6y5.ff");
+ test_class_info(&lv, &cd_G16x6y5);
+ dp->~G16x6y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x6y5(Test_G16x6y5, "G16x6y5", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G16x6y5C1Ev();
+extern void _ZN7G16x6y5D1Ev();
+Name_Map name_map_G16x6y5[] = {
+ NSPAIR(_ZN7G16x6y5C1Ev),
+ NSPAIR(_ZN7G16x6y5D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E16x6;
+extern VTBL_ENTRY _ZTI5E16x6[];
+extern VTBL_ENTRY _ZTV5E16x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G16x6y5[] = {
+ // 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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E16x6, 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 _ZTI7G16x6y5[];
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY vtc_G16x6y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x6y5[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G16x6y5[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x6y5[];
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY _tg__ZTV5E16x6__7G16x6y5[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x6[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+static VTT_ENTRY vtt_G16x6y5[] = {
+ {&(_ZTV7G16x6y5[4]), 4,9},
+ {&(_ZTV7G16x6y5[8]), 8,9},
+ {&(_tg__ZTV5E16x6__7G16x6y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G16x6y5[];
+extern VTBL_ENTRY _ZTV7G16x6y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x6y5[];
+Class_Descriptor cd_G16x6y5 = { "G16x6y5", // class name
+ bases_G16x6y5, 6,
+ &(vtc_G16x6y5[0]), // expected_vtbl_contents
+ &(vtt_G16x6y5[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G16x6y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x6y5),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x6y5),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 G16x6y6 : E16x6 , virtual F0 {
+ int ff;
+ ~G16x6y6(); // tgen
+ G16x6y6(); // tgen
+};
+//SIG(1 G16x6y6) C1{ BC2{ BC3{ BC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G16x6y6 ::~G16x6y6(){ note_dtor("G16x6y6", this);} // tgen
+G16x6y6 ::G16x6y6(){ note_ctor("G16x6y6", this);} // tgen
+
+static void Test_G16x6y6()
+{
+ extern Class_Descriptor cd_G16x6y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G16x6y6, buf);
+ G16x6y6 *dp, &lv = *(dp=new (buf) G16x6y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G16x6y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x6y6)");
+ check_base_class_offset(lv, (A0*)(C16*)(E16x6*), ABISELECT(8,4), "G16x6y6");
+ check_base_class_offset(lv, (B0*)(C16*)(E16x6*), ABISELECT(12,8), "G16x6y6");
+ check_base_class_offset(lv, (C16*)(E16x6*), 0, "G16x6y6");
+ check_base_class_offset(lv, (D0*)(E16x6*), ABISELECT(28,24), "G16x6y6");
+ check_base_class_offset(lv, (E16x6*), 0, "G16x6y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,28), "G16x6y6");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G16x6y6.ff");
+ test_class_info(&lv, &cd_G16x6y6);
+ dp->~G16x6y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x6y6(Test_G16x6y6, "G16x6y6", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN7G16x6y6C1Ev();
+extern void _ZN7G16x6y6D1Ev();
+Name_Map name_map_G16x6y6[] = {
+ NSPAIR(_ZN7G16x6y6C1Ev),
+ NSPAIR(_ZN7G16x6y6D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E16x6;
+extern VTBL_ENTRY _ZTI5E16x6[];
+extern VTBL_ENTRY _ZTV5E16x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G16x6y6[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E16x6, 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 _ZTI7G16x6y6[];
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY vtc_G16x6y6[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x6y6[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x6y6[];
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY _tg__ZTV5E16x6__7G16x6y6[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x6[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+static VTT_ENTRY vtt_G16x6y6[] = {
+ {&(_ZTV7G16x6y6[4]), 4,5},
+ {&(_tg__ZTV5E16x6__7G16x6y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G16x6y6[];
+extern VTBL_ENTRY _ZTV7G16x6y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x6y6[];
+Class_Descriptor cd_G16x6y6 = { "G16x6y6", // class name
+ bases_G16x6y6, 6,
+ &(vtc_G16x6y6[0]), // expected_vtbl_contents
+ &(vtt_G16x6y6[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI7G16x6y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x6y6),5, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x6y6),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 G16x6y7 : virtual E16x6 , virtual F0 {
+ int ff;
+ ~G16x6y7(); // tgen
+ G16x6y7(); // tgen
+};
+//SIG(1 G16x6y7) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G16x6y7 ::~G16x6y7(){ note_dtor("G16x6y7", this);} // tgen
+G16x6y7 ::G16x6y7(){ note_ctor("G16x6y7", this);} // tgen
+
+static void Test_G16x6y7()
+{
+ extern Class_Descriptor cd_G16x6y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G16x6y7, buf);
+ G16x6y7 *dp, &lv = *(dp=new (buf) G16x6y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G16x6y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x6y7)");
+ check_base_class_offset(lv, (A0*)(C16*)(E16x6*), ABISELECT(24,12), "G16x6y7");
+ check_base_class_offset(lv, (B0*)(C16*)(E16x6*), ABISELECT(28,16), "G16x6y7");
+ check_base_class_offset(lv, (C16*)(E16x6*), ABISELECT(16,8), "G16x6y7");
+ check_base_class_offset(lv, (D0*)(E16x6*), ABISELECT(40,28), "G16x6y7");
+ check_base_class_offset(lv, (E16x6*), ABISELECT(16,8), "G16x6y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G16x6y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G16x6y7.ff");
+ test_class_info(&lv, &cd_G16x6y7);
+ dp->~G16x6y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x6y7(Test_G16x6y7, "G16x6y7", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G16x6y7C1Ev();
+extern void _ZN7G16x6y7D1Ev();
+Name_Map name_map_G16x6y7[] = {
+ NSPAIR(_ZN7G16x6y7C1Ev),
+ NSPAIR(_ZN7G16x6y7D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E16x6;
+extern VTBL_ENTRY _ZTI5E16x6[];
+extern VTBL_ENTRY _ZTV5E16x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G16x6y7[] = {
+ // 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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E16x6, 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 _ZTI7G16x6y7[];
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY vtc_G16x6y7[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x6y7[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G16x6y7[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x6y7[];
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY _tg__ZTV5E16x6__7G16x6y7[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x6[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+static VTT_ENTRY vtt_G16x6y7[] = {
+ {&(_ZTV7G16x6y7[5]), 5,10},
+ {&(_ZTV7G16x6y7[9]), 9,10},
+ {&(_tg__ZTV5E16x6__7G16x6y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G16x6y7[];
+extern VTBL_ENTRY _ZTV7G16x6y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x6y7[];
+Class_Descriptor cd_G16x6y7 = { "G16x6y7", // class name
+ bases_G16x6y7, 6,
+ &(vtc_G16x6y7[0]), // expected_vtbl_contents
+ &(vtt_G16x6y7[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G16x6y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x6y7),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x6y7),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 E17x6 : C17 , virtual D0 {
+ int fd;
+ ~E17x6(); // tgen
+ E17x6(); // tgen
+};
+//SIG(-1 E17x6) C1{ BC2{ BC3{ v1 Fi} BC4{ Fi} v1 Fi} VBC5{ Fi} Fi}
+
+
+E17x6 ::~E17x6(){ note_dtor("E17x6", this);} // tgen
+E17x6 ::E17x6(){ note_ctor("E17x6", this);} // tgen
+
+static void Test_E17x6()
+{
+ extern Class_Descriptor cd_E17x6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(5,7)];
+ init_test(&cd_E17x6, buf);
+ E17x6 *dp, &lv = *(dp=new (buf) E17x6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(32,24), "sizeof(E17x6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E17x6)");
+ check_base_class_offset(lv, (A1*)(C17*), 0, "E17x6");
+ check_base_class_offset(lv, (B0*)(C17*), ABISELECT(12,8), "E17x6");
+ check_base_class_offset(lv, (C17*), 0, "E17x6");
+ check_base_class_offset(lv, (D0*), ABISELECT(24,20), "E17x6");
+ check_field_offset(lv, fd, ABISELECT(20,16), "E17x6.fd");
+ test_class_info(&lv, &cd_E17x6);
+ dp->~E17x6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE17x6(Test_E17x6, "E17x6", ABISELECT(32,24));
+
+#else // __cplusplus
+
+extern void _ZN5E17x6C1Ev();
+extern void _ZN5E17x6D1Ev();
+Name_Map name_map_E17x6[] = {
+ NSPAIR(_ZN5E17x6C1Ev),
+ NSPAIR(_ZN5E17x6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E17x6[] = {
+ // 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
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D0, 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, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E17x6[];
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY vtc_E17x6[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x6[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+extern VTBL_ENTRY _ZTV5E17x6[];
+static VTT_ENTRY vtt_E17x6[] = {
+ {&(_ZTV5E17x6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E17x6[];
+extern VTBL_ENTRY _ZTV5E17x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x6[];
+Class_Descriptor cd_E17x6 = { "E17x6", // class name
+ bases_E17x6, 4,
+ &(vtc_E17x6[0]), // expected_vtbl_contents
+ &(vtt_E17x6[0]), // expected_vtt_contents
+ ABISELECT(32,24), // object size
+ NSPAIRA(_ZTI5E17x6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E17x6),4, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E17x6),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 G17x6y0 : E17x6 , F1 {
+ int ff;
+ ~G17x6y0(); // tgen
+ G17x6y0(); // tgen
+};
+//SIG(1 G17x6y0) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G17x6y0 ::~G17x6y0(){ note_dtor("G17x6y0", this);} // tgen
+G17x6y0 ::G17x6y0(){ note_ctor("G17x6y0", this);} // tgen
+
+static void Test_G17x6y0()
+{
+ extern Class_Descriptor cd_G17x6y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G17x6y0, buf);
+ G17x6y0 *dp, &lv = *(dp=new (buf) G17x6y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G17x6y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x6y0)");
+ check_base_class_offset(lv, (A1*)(C17*)(E17x6*), 0, "G17x6y0");
+ check_base_class_offset(lv, (B0*)(C17*)(E17x6*), ABISELECT(12,8), "G17x6y0");
+ check_base_class_offset(lv, (C17*)(E17x6*), 0, "G17x6y0");
+ check_base_class_offset(lv, (D0*)(E17x6*), ABISELECT(40,32), "G17x6y0");
+ check_base_class_offset(lv, (E17x6*), 0, "G17x6y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,20), "G17x6y0");
+ check_field_offset(lv, ff, ABISELECT(36,28), "G17x6y0.ff");
+ test_class_info(&lv, &cd_G17x6y0);
+ dp->~G17x6y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x6y0(Test_G17x6y0, "G17x6y0", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G17x6y0C1Ev();
+extern void _ZN7G17x6y0D1Ev();
+Name_Map name_map_G17x6y0[] = {
+ NSPAIR(_ZN7G17x6y0C1Ev),
+ NSPAIR(_ZN7G17x6y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E17x6;
+extern VTBL_ENTRY _ZTI5E17x6[];
+extern VTBL_ENTRY _ZTV5E17x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G17x6y0[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E17x6, 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 _ZTI7G17x6y0[];
+extern void _ZN3C173fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G17x6y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x6y0[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G17x6y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x6y0[];
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY _tg__ZTV5E17x6__7G17x6y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x6[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+static VTT_ENTRY vtt_G17x6y0[] = {
+ {&(_ZTV7G17x6y0[3]), 3,7},
+ {&(_tg__ZTV5E17x6__7G17x6y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G17x6y0[];
+extern VTBL_ENTRY _ZTV7G17x6y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x6y0[];
+Class_Descriptor cd_G17x6y0 = { "G17x6y0", // class name
+ bases_G17x6y0, 6,
+ &(vtc_G17x6y0[0]), // expected_vtbl_contents
+ &(vtt_G17x6y0[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G17x6y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x6y0),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x6y0),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 G17x6y1 : virtual E17x6 , F1 {
+ int ff;
+ ~G17x6y1(); // tgen
+ G17x6y1(); // tgen
+};
+//SIG(1 G17x6y1) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G17x6y1 ::~G17x6y1(){ note_dtor("G17x6y1", this);} // tgen
+G17x6y1 ::G17x6y1(){ note_ctor("G17x6y1", this);} // tgen
+
+static void Test_G17x6y1()
+{
+ extern Class_Descriptor cd_G17x6y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G17x6y1, buf);
+ G17x6y1 *dp, &lv = *(dp=new (buf) G17x6y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G17x6y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x6y1)");
+ check_base_class_offset(lv, (A1*)(C17*)(E17x6*), ABISELECT(16,12), "G17x6y1");
+ check_base_class_offset(lv, (B0*)(C17*)(E17x6*), ABISELECT(28,20), "G17x6y1");
+ check_base_class_offset(lv, (C17*)(E17x6*), ABISELECT(16,12), "G17x6y1");
+ check_base_class_offset(lv, (D0*)(E17x6*), ABISELECT(40,32), "G17x6y1");
+ check_base_class_offset(lv, (E17x6*), ABISELECT(16,12), "G17x6y1");
+ check_base_class_offset(lv, (F1*), 0, "G17x6y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G17x6y1.ff");
+ test_class_info(&lv, &cd_G17x6y1);
+ dp->~G17x6y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x6y1(Test_G17x6y1, "G17x6y1", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G17x6y1C1Ev();
+extern void _ZN7G17x6y1D1Ev();
+Name_Map name_map_G17x6y1[] = {
+ NSPAIR(_ZN7G17x6y1C1Ev),
+ NSPAIR(_ZN7G17x6y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E17x6;
+extern VTBL_ENTRY _ZTI5E17x6[];
+extern VTBL_ENTRY _ZTV5E17x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G17x6y1[] = {
+ // 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
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E17x6, 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
+ 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 _ZTI7G17x6y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY vtc_G17x6y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x6y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G17x6y1[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x6y1[];
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY _tg__ZTV5E17x6__7G17x6y1[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x6[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+static VTT_ENTRY vtt_G17x6y1[] = {
+ {&(_ZTV7G17x6y1[4]), 4,10},
+ {&(_ZTV7G17x6y1[9]), 9,10},
+ {&(_tg__ZTV5E17x6__7G17x6y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G17x6y1[];
+extern VTBL_ENTRY _ZTV7G17x6y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x6y1[];
+Class_Descriptor cd_G17x6y1 = { "G17x6y1", // class name
+ bases_G17x6y1, 6,
+ &(vtc_G17x6y1[0]), // expected_vtbl_contents
+ &(vtt_G17x6y1[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G17x6y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x6y1),10, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x6y1),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 G17x6y2 : E17x6 , virtual F1 {
+ int ff;
+ ~G17x6y2(); // tgen
+ G17x6y2(); // tgen
+};
+//SIG(1 G17x6y2) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G17x6y2 ::~G17x6y2(){ note_dtor("G17x6y2", this);} // tgen
+G17x6y2 ::G17x6y2(){ note_ctor("G17x6y2", this);} // tgen
+
+static void Test_G17x6y2()
+{
+ extern Class_Descriptor cd_G17x6y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G17x6y2, buf);
+ G17x6y2 *dp, &lv = *(dp=new (buf) G17x6y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G17x6y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x6y2)");
+ check_base_class_offset(lv, (A1*)(C17*)(E17x6*), 0, "G17x6y2");
+ check_base_class_offset(lv, (B0*)(C17*)(E17x6*), ABISELECT(12,8), "G17x6y2");
+ check_base_class_offset(lv, (C17*)(E17x6*), 0, "G17x6y2");
+ check_base_class_offset(lv, (D0*)(E17x6*), ABISELECT(28,24), "G17x6y2");
+ check_base_class_offset(lv, (E17x6*), 0, "G17x6y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,28), "G17x6y2");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G17x6y2.ff");
+ test_class_info(&lv, &cd_G17x6y2);
+ dp->~G17x6y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x6y2(Test_G17x6y2, "G17x6y2", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G17x6y2C1Ev();
+extern void _ZN7G17x6y2D1Ev();
+Name_Map name_map_G17x6y2[] = {
+ NSPAIR(_ZN7G17x6y2C1Ev),
+ NSPAIR(_ZN7G17x6y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E17x6;
+extern VTBL_ENTRY _ZTI5E17x6[];
+extern VTBL_ENTRY _ZTV5E17x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G17x6y2[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E17x6, 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,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 _ZTI7G17x6y2[];
+extern void _ZN3C173fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G17x6y2[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x6y2[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI7G17x6y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x6y2[];
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY _tg__ZTV5E17x6__7G17x6y2[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x6[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+static VTT_ENTRY vtt_G17x6y2[] = {
+ {&(_ZTV7G17x6y2[4]), 4,9},
+ {&(_tg__ZTV5E17x6__7G17x6y2[3]), 3,4},
+ {&(_ZTV7G17x6y2[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI7G17x6y2[];
+extern VTBL_ENTRY _ZTV7G17x6y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x6y2[];
+Class_Descriptor cd_G17x6y2 = { "G17x6y2", // class name
+ bases_G17x6y2, 6,
+ &(vtc_G17x6y2[0]), // expected_vtbl_contents
+ &(vtt_G17x6y2[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G17x6y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x6y2),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x6y2),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 G17x6y3 : virtual E17x6 , virtual F1 {
+ int ff;
+ ~G17x6y3(); // tgen
+ G17x6y3(); // tgen
+};
+//SIG(1 G17x6y3) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G17x6y3 ::~G17x6y3(){ note_dtor("G17x6y3", this);} // tgen
+G17x6y3 ::G17x6y3(){ note_ctor("G17x6y3", this);} // tgen
+
+static void Test_G17x6y3()
+{
+ extern Class_Descriptor cd_G17x6y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G17x6y3, buf);
+ G17x6y3 *dp, &lv = *(dp=new (buf) G17x6y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G17x6y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x6y3)");
+ check_base_class_offset(lv, (A1*)(C17*)(E17x6*), ABISELECT(16,8), "G17x6y3");
+ check_base_class_offset(lv, (B0*)(C17*)(E17x6*), ABISELECT(28,16), "G17x6y3");
+ check_base_class_offset(lv, (C17*)(E17x6*), ABISELECT(16,8), "G17x6y3");
+ check_base_class_offset(lv, (D0*)(E17x6*), ABISELECT(40,28), "G17x6y3");
+ check_base_class_offset(lv, (E17x6*), ABISELECT(16,8), "G17x6y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G17x6y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G17x6y3.ff");
+ test_class_info(&lv, &cd_G17x6y3);
+ dp->~G17x6y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x6y3(Test_G17x6y3, "G17x6y3", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G17x6y3C1Ev();
+extern void _ZN7G17x6y3D1Ev();
+Name_Map name_map_G17x6y3[] = {
+ NSPAIR(_ZN7G17x6y3C1Ev),
+ NSPAIR(_ZN7G17x6y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E17x6;
+extern VTBL_ENTRY _ZTI5E17x6[];
+extern VTBL_ENTRY _ZTV5E17x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G17x6y3[] = {
+ // 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
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E17x6, 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_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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G17x6y3[];
+extern void _ZN3C173fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G17x6y3[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x6y3[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G17x6y3[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G17x6y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x6y3[];
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY _tg__ZTV5E17x6__7G17x6y3[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x6[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+static VTT_ENTRY vtt_G17x6y3[] = {
+ {&(_ZTV7G17x6y3[5]), 5,14},
+ {&(_ZTV7G17x6y3[9]), 9,14},
+ {&(_ZTV7G17x6y3[13]), 13,14},
+ {&(_tg__ZTV5E17x6__7G17x6y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G17x6y3[];
+extern VTBL_ENTRY _ZTV7G17x6y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x6y3[];
+Class_Descriptor cd_G17x6y3 = { "G17x6y3", // class name
+ bases_G17x6y3, 6,
+ &(vtc_G17x6y3[0]), // expected_vtbl_contents
+ &(vtt_G17x6y3[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G17x6y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x6y3),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x6y3),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 G17x6y4 : E17x6 , F0 {
+ int ff;
+ ~G17x6y4(); // tgen
+ G17x6y4(); // tgen
+};
+//SIG(1 G17x6y4) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G17x6y4 ::~G17x6y4(){ note_dtor("G17x6y4", this);} // tgen
+G17x6y4 ::G17x6y4(){ note_ctor("G17x6y4", this);} // tgen
+
+static void Test_G17x6y4()
+{
+ extern Class_Descriptor cd_G17x6y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G17x6y4, buf);
+ G17x6y4 *dp, &lv = *(dp=new (buf) G17x6y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G17x6y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x6y4)");
+ check_base_class_offset(lv, (A1*)(C17*)(E17x6*), 0, "G17x6y4");
+ check_base_class_offset(lv, (B0*)(C17*)(E17x6*), ABISELECT(12,8), "G17x6y4");
+ check_base_class_offset(lv, (C17*)(E17x6*), 0, "G17x6y4");
+ check_base_class_offset(lv, (D0*)(E17x6*), ABISELECT(32,28), "G17x6y4");
+ check_base_class_offset(lv, (E17x6*), 0, "G17x6y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(24,20), "G17x6y4");
+ check_field_offset(lv, ff, ABISELECT(28,24), "G17x6y4.ff");
+ test_class_info(&lv, &cd_G17x6y4);
+ dp->~G17x6y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x6y4(Test_G17x6y4, "G17x6y4", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN7G17x6y4C1Ev();
+extern void _ZN7G17x6y4D1Ev();
+Name_Map name_map_G17x6y4[] = {
+ NSPAIR(_ZN7G17x6y4C1Ev),
+ NSPAIR(_ZN7G17x6y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E17x6;
+extern VTBL_ENTRY _ZTI5E17x6[];
+extern VTBL_ENTRY _ZTV5E17x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G17x6y4[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E17x6, 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 _ZTI7G17x6y4[];
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY vtc_G17x6y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x6y4[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x6y4[];
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY _tg__ZTV5E17x6__7G17x6y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x6[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+static VTT_ENTRY vtt_G17x6y4[] = {
+ {&(_ZTV7G17x6y4[3]), 3,4},
+ {&(_tg__ZTV5E17x6__7G17x6y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G17x6y4[];
+extern VTBL_ENTRY _ZTV7G17x6y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x6y4[];
+Class_Descriptor cd_G17x6y4 = { "G17x6y4", // class name
+ bases_G17x6y4, 6,
+ &(vtc_G17x6y4[0]), // expected_vtbl_contents
+ &(vtt_G17x6y4[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI7G17x6y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x6y4),4, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x6y4),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 G17x6y5 : virtual E17x6 , F0 {
+ int ff;
+ ~G17x6y5(); // tgen
+ G17x6y5(); // tgen
+};
+//SIG(1 G17x6y5) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G17x6y5 ::~G17x6y5(){ note_dtor("G17x6y5", this);} // tgen
+G17x6y5 ::G17x6y5(){ note_ctor("G17x6y5", this);} // tgen
+
+static void Test_G17x6y5()
+{
+ extern Class_Descriptor cd_G17x6y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G17x6y5, buf);
+ G17x6y5 *dp, &lv = *(dp=new (buf) G17x6y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G17x6y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x6y5)");
+ check_base_class_offset(lv, (A1*)(C17*)(E17x6*), ABISELECT(16,12), "G17x6y5");
+ check_base_class_offset(lv, (B0*)(C17*)(E17x6*), ABISELECT(28,20), "G17x6y5");
+ check_base_class_offset(lv, (C17*)(E17x6*), ABISELECT(16,12), "G17x6y5");
+ check_base_class_offset(lv, (D0*)(E17x6*), ABISELECT(40,32), "G17x6y5");
+ check_base_class_offset(lv, (E17x6*), ABISELECT(16,12), "G17x6y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G17x6y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G17x6y5.ff");
+ test_class_info(&lv, &cd_G17x6y5);
+ dp->~G17x6y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x6y5(Test_G17x6y5, "G17x6y5", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G17x6y5C1Ev();
+extern void _ZN7G17x6y5D1Ev();
+Name_Map name_map_G17x6y5[] = {
+ NSPAIR(_ZN7G17x6y5C1Ev),
+ NSPAIR(_ZN7G17x6y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E17x6;
+extern VTBL_ENTRY _ZTI5E17x6[];
+extern VTBL_ENTRY _ZTV5E17x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G17x6y5[] = {
+ // 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
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E17x6, 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
+ 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 _ZTI7G17x6y5[];
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY vtc_G17x6y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x6y5[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G17x6y5[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x6y5[];
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY _tg__ZTV5E17x6__7G17x6y5[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x6[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+static VTT_ENTRY vtt_G17x6y5[] = {
+ {&(_ZTV7G17x6y5[4]), 4,9},
+ {&(_ZTV7G17x6y5[8]), 8,9},
+ {&(_tg__ZTV5E17x6__7G17x6y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G17x6y5[];
+extern VTBL_ENTRY _ZTV7G17x6y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x6y5[];
+Class_Descriptor cd_G17x6y5 = { "G17x6y5", // class name
+ bases_G17x6y5, 6,
+ &(vtc_G17x6y5[0]), // expected_vtbl_contents
+ &(vtt_G17x6y5[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G17x6y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x6y5),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x6y5),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 G17x6y6 : E17x6 , virtual F0 {
+ int ff;
+ ~G17x6y6(); // tgen
+ G17x6y6(); // tgen
+};
+//SIG(1 G17x6y6) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G17x6y6 ::~G17x6y6(){ note_dtor("G17x6y6", this);} // tgen
+G17x6y6 ::G17x6y6(){ note_ctor("G17x6y6", this);} // tgen
+
+static void Test_G17x6y6()
+{
+ extern Class_Descriptor cd_G17x6y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G17x6y6, buf);
+ G17x6y6 *dp, &lv = *(dp=new (buf) G17x6y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G17x6y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x6y6)");
+ check_base_class_offset(lv, (A1*)(C17*)(E17x6*), 0, "G17x6y6");
+ check_base_class_offset(lv, (B0*)(C17*)(E17x6*), ABISELECT(12,8), "G17x6y6");
+ check_base_class_offset(lv, (C17*)(E17x6*), 0, "G17x6y6");
+ check_base_class_offset(lv, (D0*)(E17x6*), ABISELECT(28,24), "G17x6y6");
+ check_base_class_offset(lv, (E17x6*), 0, "G17x6y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,28), "G17x6y6");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G17x6y6.ff");
+ test_class_info(&lv, &cd_G17x6y6);
+ dp->~G17x6y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x6y6(Test_G17x6y6, "G17x6y6", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN7G17x6y6C1Ev();
+extern void _ZN7G17x6y6D1Ev();
+Name_Map name_map_G17x6y6[] = {
+ NSPAIR(_ZN7G17x6y6C1Ev),
+ NSPAIR(_ZN7G17x6y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E17x6;
+extern VTBL_ENTRY _ZTI5E17x6[];
+extern VTBL_ENTRY _ZTV5E17x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G17x6y6[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E17x6, 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,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 _ZTI7G17x6y6[];
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY vtc_G17x6y6[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x6y6[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x6y6[];
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY _tg__ZTV5E17x6__7G17x6y6[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x6[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+static VTT_ENTRY vtt_G17x6y6[] = {
+ {&(_ZTV7G17x6y6[4]), 4,5},
+ {&(_tg__ZTV5E17x6__7G17x6y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G17x6y6[];
+extern VTBL_ENTRY _ZTV7G17x6y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x6y6[];
+Class_Descriptor cd_G17x6y6 = { "G17x6y6", // class name
+ bases_G17x6y6, 6,
+ &(vtc_G17x6y6[0]), // expected_vtbl_contents
+ &(vtt_G17x6y6[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI7G17x6y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x6y6),5, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x6y6),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 G17x6y7 : virtual E17x6 , virtual F0 {
+ int ff;
+ ~G17x6y7(); // tgen
+ G17x6y7(); // tgen
+};
+//SIG(1 G17x6y7) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G17x6y7 ::~G17x6y7(){ note_dtor("G17x6y7", this);} // tgen
+G17x6y7 ::G17x6y7(){ note_ctor("G17x6y7", this);} // tgen
+
+static void Test_G17x6y7()
+{
+ extern Class_Descriptor cd_G17x6y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G17x6y7, buf);
+ G17x6y7 *dp, &lv = *(dp=new (buf) G17x6y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G17x6y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x6y7)");
+ check_base_class_offset(lv, (A1*)(C17*)(E17x6*), ABISELECT(16,8), "G17x6y7");
+ check_base_class_offset(lv, (B0*)(C17*)(E17x6*), ABISELECT(28,16), "G17x6y7");
+ check_base_class_offset(lv, (C17*)(E17x6*), ABISELECT(16,8), "G17x6y7");
+ check_base_class_offset(lv, (D0*)(E17x6*), ABISELECT(40,28), "G17x6y7");
+ check_base_class_offset(lv, (E17x6*), ABISELECT(16,8), "G17x6y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G17x6y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G17x6y7.ff");
+ test_class_info(&lv, &cd_G17x6y7);
+ dp->~G17x6y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x6y7(Test_G17x6y7, "G17x6y7", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G17x6y7C1Ev();
+extern void _ZN7G17x6y7D1Ev();
+Name_Map name_map_G17x6y7[] = {
+ NSPAIR(_ZN7G17x6y7C1Ev),
+ NSPAIR(_ZN7G17x6y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E17x6;
+extern VTBL_ENTRY _ZTI5E17x6[];
+extern VTBL_ENTRY _ZTV5E17x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G17x6y7[] = {
+ // 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
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E17x6, 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
+ 3, //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 _ZTI7G17x6y7[];
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY vtc_G17x6y7[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x6y7[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G17x6y7[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x6y7[];
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY _tg__ZTV5E17x6__7G17x6y7[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x6[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+static VTT_ENTRY vtt_G17x6y7[] = {
+ {&(_ZTV7G17x6y7[5]), 5,10},
+ {&(_ZTV7G17x6y7[9]), 9,10},
+ {&(_tg__ZTV5E17x6__7G17x6y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G17x6y7[];
+extern VTBL_ENTRY _ZTV7G17x6y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x6y7[];
+Class_Descriptor cd_G17x6y7 = { "G17x6y7", // class name
+ bases_G17x6y7, 6,
+ &(vtc_G17x6y7[0]), // expected_vtbl_contents
+ &(vtt_G17x6y7[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G17x6y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x6y7),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x6y7),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 E18x6 : C18 , virtual D0 {
+ int fd;
+ ~E18x6(); // tgen
+ E18x6(); // tgen
+};
+//SIG(-1 E18x6) C1{ BC2{ VBC3{ Fi} BC4{ Fi} v1 Fi} VBC5{ Fi} Fi}
+
+
+E18x6 ::~E18x6(){ note_dtor("E18x6", this);} // tgen
+E18x6 ::E18x6(){ note_ctor("E18x6", this);} // tgen
+
+static void Test_E18x6()
+{
+ extern Class_Descriptor cd_E18x6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(5,7)];
+ init_test(&cd_E18x6, buf);
+ E18x6 *dp, &lv = *(dp=new (buf) E18x6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(32,24), "sizeof(E18x6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E18x6)");
+ check_base_class_offset(lv, (A0*)(C18*), ABISELECT(20,16), "E18x6");
+ check_base_class_offset(lv, (B0*)(C18*), ABISELECT(8,4), "E18x6");
+ check_base_class_offset(lv, (C18*), 0, "E18x6");
+ check_base_class_offset(lv, (D0*), ABISELECT(24,20), "E18x6");
+ check_field_offset(lv, fd, ABISELECT(16,12), "E18x6.fd");
+ test_class_info(&lv, &cd_E18x6);
+ dp->~E18x6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE18x6(Test_E18x6, "E18x6", ABISELECT(32,24));
+
+#else // __cplusplus
+
+extern void _ZN5E18x6C1Ev();
+extern void _ZN5E18x6D1Ev();
+Name_Map name_map_E18x6[] = {
+ NSPAIR(_ZN5E18x6C1Ev),
+ NSPAIR(_ZN5E18x6D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E18x6[] = {
+ // 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
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D0, 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, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E18x6[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY vtc_E18x6[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x6[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern VTBL_ENTRY _ZTV5E18x6[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__5E18x6[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_E18x6[] = {
+ {&(_ZTV5E18x6[4]), 4,5},
+ {&(_tg__ZTV3C18__5E18x6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E18x6[];
+extern VTBL_ENTRY _ZTV5E18x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x6[];
+Class_Descriptor cd_E18x6 = { "E18x6", // class name
+ bases_E18x6, 4,
+ &(vtc_E18x6[0]), // expected_vtbl_contents
+ &(vtt_E18x6[0]), // expected_vtt_contents
+ ABISELECT(32,24), // object size
+ NSPAIRA(_ZTI5E18x6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E18x6),5, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E18x6),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 G18x6y0 : E18x6 , F1 {
+ int ff;
+ ~G18x6y0(); // tgen
+ G18x6y0(); // tgen
+};
+//SIG(1 G18x6y0) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G18x6y0 ::~G18x6y0(){ note_dtor("G18x6y0", this);} // tgen
+G18x6y0 ::G18x6y0(){ note_ctor("G18x6y0", this);} // tgen
+
+static void Test_G18x6y0()
+{
+ extern Class_Descriptor cd_G18x6y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G18x6y0, buf);
+ G18x6y0 *dp, &lv = *(dp=new (buf) G18x6y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G18x6y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x6y0)");
+ check_base_class_offset(lv, (A0*)(C18*)(E18x6*), ABISELECT(40,28), "G18x6y0");
+ check_base_class_offset(lv, (B0*)(C18*)(E18x6*), ABISELECT(8,4), "G18x6y0");
+ check_base_class_offset(lv, (C18*)(E18x6*), 0, "G18x6y0");
+ check_base_class_offset(lv, (D0*)(E18x6*), ABISELECT(44,32), "G18x6y0");
+ check_base_class_offset(lv, (E18x6*), 0, "G18x6y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,16), "G18x6y0");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G18x6y0.ff");
+ test_class_info(&lv, &cd_G18x6y0);
+ dp->~G18x6y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x6y0(Test_G18x6y0, "G18x6y0", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G18x6y0C1Ev();
+extern void _ZN7G18x6y0D1Ev();
+Name_Map name_map_G18x6y0[] = {
+ NSPAIR(_ZN7G18x6y0C1Ev),
+ NSPAIR(_ZN7G18x6y0D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E18x6;
+extern VTBL_ENTRY _ZTI5E18x6[];
+extern VTBL_ENTRY _ZTV5E18x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G18x6y0[] = {
+ // 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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E18x6, 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(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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G18x6y0[];
+extern void _ZN3C183fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G18x6y0[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x6y0[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G18x6y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x6y0[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV5E18x6__7G18x6y0[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x6[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C185E18x6__7G18x6y0[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x6y0[] = {
+ {&(_ZTV7G18x6y0[4]), 4,8},
+ {&(_tg__ZTV5E18x6__7G18x6y0[4]), 4,5},
+ {&(_tg__ZTV3C185E18x6__7G18x6y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x6y0[];
+extern VTBL_ENTRY _ZTV7G18x6y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x6y0[];
+Class_Descriptor cd_G18x6y0 = { "G18x6y0", // class name
+ bases_G18x6y0, 6,
+ &(vtc_G18x6y0[0]), // expected_vtbl_contents
+ &(vtt_G18x6y0[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G18x6y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x6y0),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x6y0),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 G18x6y1 : virtual E18x6 , F1 {
+ int ff;
+ ~G18x6y1(); // tgen
+ G18x6y1(); // tgen
+};
+//SIG(1 G18x6y1) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G18x6y1 ::~G18x6y1(){ note_dtor("G18x6y1", this);} // tgen
+G18x6y1 ::G18x6y1(){ note_ctor("G18x6y1", this);} // tgen
+
+static void Test_G18x6y1()
+{
+ extern Class_Descriptor cd_G18x6y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G18x6y1, buf);
+ G18x6y1 *dp, &lv = *(dp=new (buf) G18x6y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G18x6y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x6y1)");
+ check_base_class_offset(lv, (A0*)(C18*)(E18x6*), ABISELECT(36,28), "G18x6y1");
+ check_base_class_offset(lv, (B0*)(C18*)(E18x6*), ABISELECT(24,16), "G18x6y1");
+ check_base_class_offset(lv, (C18*)(E18x6*), ABISELECT(16,12), "G18x6y1");
+ check_base_class_offset(lv, (D0*)(E18x6*), ABISELECT(40,32), "G18x6y1");
+ check_base_class_offset(lv, (E18x6*), ABISELECT(16,12), "G18x6y1");
+ check_base_class_offset(lv, (F1*), 0, "G18x6y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G18x6y1.ff");
+ test_class_info(&lv, &cd_G18x6y1);
+ dp->~G18x6y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x6y1(Test_G18x6y1, "G18x6y1", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G18x6y1C1Ev();
+extern void _ZN7G18x6y1D1Ev();
+Name_Map name_map_G18x6y1[] = {
+ NSPAIR(_ZN7G18x6y1C1Ev),
+ NSPAIR(_ZN7G18x6y1D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E18x6;
+extern VTBL_ENTRY _ZTI5E18x6[];
+extern VTBL_ENTRY _ZTV5E18x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G18x6y1[] = {
+ // 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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E18x6, 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
+ 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 _ZTI7G18x6y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY vtc_G18x6y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x6y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G18x6y1[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x6y1[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV5E18x6__7G18x6y1[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x6[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C185E18x6__7G18x6y1[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x6y1[] = {
+ {&(_ZTV7G18x6y1[5]), 5,12},
+ {&(_ZTV7G18x6y1[11]), 11,12},
+ {&(_tg__ZTV5E18x6__7G18x6y1[4]), 4,5},
+ {&(_tg__ZTV3C185E18x6__7G18x6y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x6y1[];
+extern VTBL_ENTRY _ZTV7G18x6y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x6y1[];
+Class_Descriptor cd_G18x6y1 = { "G18x6y1", // class name
+ bases_G18x6y1, 6,
+ &(vtc_G18x6y1[0]), // expected_vtbl_contents
+ &(vtt_G18x6y1[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G18x6y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x6y1),12, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x6y1),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 G18x6y2 : E18x6 , virtual F1 {
+ int ff;
+ ~G18x6y2(); // tgen
+ G18x6y2(); // tgen
+};
+//SIG(1 G18x6y2) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G18x6y2 ::~G18x6y2(){ note_dtor("G18x6y2", this);} // tgen
+G18x6y2 ::G18x6y2(){ note_ctor("G18x6y2", this);} // tgen
+
+static void Test_G18x6y2()
+{
+ extern Class_Descriptor cd_G18x6y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G18x6y2, buf);
+ G18x6y2 *dp, &lv = *(dp=new (buf) G18x6y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G18x6y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x6y2)");
+ check_base_class_offset(lv, (A0*)(C18*)(E18x6*), ABISELECT(24,20), "G18x6y2");
+ check_base_class_offset(lv, (B0*)(C18*)(E18x6*), ABISELECT(8,4), "G18x6y2");
+ check_base_class_offset(lv, (C18*)(E18x6*), 0, "G18x6y2");
+ check_base_class_offset(lv, (D0*)(E18x6*), ABISELECT(28,24), "G18x6y2");
+ check_base_class_offset(lv, (E18x6*), 0, "G18x6y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,28), "G18x6y2");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G18x6y2.ff");
+ test_class_info(&lv, &cd_G18x6y2);
+ dp->~G18x6y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x6y2(Test_G18x6y2, "G18x6y2", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G18x6y2C1Ev();
+extern void _ZN7G18x6y2D1Ev();
+Name_Map name_map_G18x6y2[] = {
+ NSPAIR(_ZN7G18x6y2C1Ev),
+ NSPAIR(_ZN7G18x6y2D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E18x6;
+extern VTBL_ENTRY _ZTI5E18x6[];
+extern VTBL_ENTRY _ZTV5E18x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G18x6y2[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E18x6, 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,28), //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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G18x6y2[];
+extern void _ZN3C183fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G18x6y2[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x6y2[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI7G18x6y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x6y2[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV5E18x6__7G18x6y2[] = {
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x6[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C185E18x6__7G18x6y2[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x6y2[] = {
+ {&(_ZTV7G18x6y2[5]), 5,10},
+ {&(_tg__ZTV5E18x6__7G18x6y2[4]), 4,5},
+ {&(_tg__ZTV3C185E18x6__7G18x6y2[3]), 3,4},
+ {&(_ZTV7G18x6y2[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI7G18x6y2[];
+extern VTBL_ENTRY _ZTV7G18x6y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x6y2[];
+Class_Descriptor cd_G18x6y2 = { "G18x6y2", // class name
+ bases_G18x6y2, 6,
+ &(vtc_G18x6y2[0]), // expected_vtbl_contents
+ &(vtt_G18x6y2[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G18x6y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x6y2),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x6y2),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 G18x6y3 : virtual E18x6 , virtual F1 {
+ int ff;
+ ~G18x6y3(); // tgen
+ G18x6y3(); // tgen
+};
+//SIG(1 G18x6y3) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G18x6y3 ::~G18x6y3(){ note_dtor("G18x6y3", this);} // tgen
+G18x6y3 ::G18x6y3(){ note_ctor("G18x6y3", this);} // tgen
+
+static void Test_G18x6y3()
+{
+ extern Class_Descriptor cd_G18x6y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G18x6y3, buf);
+ G18x6y3 *dp, &lv = *(dp=new (buf) G18x6y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G18x6y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x6y3)");
+ check_base_class_offset(lv, (A0*)(C18*)(E18x6*), ABISELECT(36,24), "G18x6y3");
+ check_base_class_offset(lv, (B0*)(C18*)(E18x6*), ABISELECT(24,12), "G18x6y3");
+ check_base_class_offset(lv, (C18*)(E18x6*), ABISELECT(16,8), "G18x6y3");
+ check_base_class_offset(lv, (D0*)(E18x6*), ABISELECT(40,28), "G18x6y3");
+ check_base_class_offset(lv, (E18x6*), ABISELECT(16,8), "G18x6y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G18x6y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G18x6y3.ff");
+ test_class_info(&lv, &cd_G18x6y3);
+ dp->~G18x6y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x6y3(Test_G18x6y3, "G18x6y3", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G18x6y3C1Ev();
+extern void _ZN7G18x6y3D1Ev();
+Name_Map name_map_G18x6y3[] = {
+ NSPAIR(_ZN7G18x6y3C1Ev),
+ NSPAIR(_ZN7G18x6y3D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E18x6;
+extern VTBL_ENTRY _ZTI5E18x6[];
+extern VTBL_ENTRY _ZTV5E18x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G18x6y3[] = {
+ // 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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E18x6, 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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, 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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G18x6y3[];
+extern void _ZN3C183fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G18x6y3[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x6y3[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G18x6y3[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G18x6y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x6y3[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV5E18x6__7G18x6y3[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x6[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C185E18x6__7G18x6y3[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x6y3[] = {
+ {&(_ZTV7G18x6y3[6]), 6,16},
+ {&(_ZTV7G18x6y3[11]), 11,16},
+ {&(_ZTV7G18x6y3[15]), 15,16},
+ {&(_tg__ZTV5E18x6__7G18x6y3[4]), 4,5},
+ {&(_tg__ZTV3C185E18x6__7G18x6y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x6y3[];
+extern VTBL_ENTRY _ZTV7G18x6y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x6y3[];
+Class_Descriptor cd_G18x6y3 = { "G18x6y3", // class name
+ bases_G18x6y3, 6,
+ &(vtc_G18x6y3[0]), // expected_vtbl_contents
+ &(vtt_G18x6y3[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G18x6y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x6y3),16, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x6y3),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 G18x6y4 : E18x6 , F0 {
+ int ff;
+ ~G18x6y4(); // tgen
+ G18x6y4(); // tgen
+};
+//SIG(1 G18x6y4) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G18x6y4 ::~G18x6y4(){ note_dtor("G18x6y4", this);} // tgen
+G18x6y4 ::G18x6y4(){ note_ctor("G18x6y4", this);} // tgen
+
+static void Test_G18x6y4()
+{
+ extern Class_Descriptor cd_G18x6y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G18x6y4, buf);
+ G18x6y4 *dp, &lv = *(dp=new (buf) G18x6y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G18x6y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x6y4)");
+ check_base_class_offset(lv, (A0*)(C18*)(E18x6*), ABISELECT(28,24), "G18x6y4");
+ check_base_class_offset(lv, (B0*)(C18*)(E18x6*), ABISELECT(8,4), "G18x6y4");
+ check_base_class_offset(lv, (C18*)(E18x6*), 0, "G18x6y4");
+ check_base_class_offset(lv, (D0*)(E18x6*), ABISELECT(32,28), "G18x6y4");
+ check_base_class_offset(lv, (E18x6*), 0, "G18x6y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(20,16), "G18x6y4");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G18x6y4.ff");
+ test_class_info(&lv, &cd_G18x6y4);
+ dp->~G18x6y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x6y4(Test_G18x6y4, "G18x6y4", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN7G18x6y4C1Ev();
+extern void _ZN7G18x6y4D1Ev();
+Name_Map name_map_G18x6y4[] = {
+ NSPAIR(_ZN7G18x6y4C1Ev),
+ NSPAIR(_ZN7G18x6y4D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E18x6;
+extern VTBL_ENTRY _ZTI5E18x6[];
+extern VTBL_ENTRY _ZTV5E18x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G18x6y4[] = {
+ // 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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E18x6, 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(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 _ZTI7G18x6y4[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY vtc_G18x6y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x6y4[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x6y4[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV5E18x6__7G18x6y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x6[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C185E18x6__7G18x6y4[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x6y4[] = {
+ {&(_ZTV7G18x6y4[4]), 4,5},
+ {&(_tg__ZTV5E18x6__7G18x6y4[4]), 4,5},
+ {&(_tg__ZTV3C185E18x6__7G18x6y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x6y4[];
+extern VTBL_ENTRY _ZTV7G18x6y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x6y4[];
+Class_Descriptor cd_G18x6y4 = { "G18x6y4", // class name
+ bases_G18x6y4, 6,
+ &(vtc_G18x6y4[0]), // expected_vtbl_contents
+ &(vtt_G18x6y4[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI7G18x6y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x6y4),5, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x6y4),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 G18x6y5 : virtual E18x6 , F0 {
+ int ff;
+ ~G18x6y5(); // tgen
+ G18x6y5(); // tgen
+};
+//SIG(1 G18x6y5) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G18x6y5 ::~G18x6y5(){ note_dtor("G18x6y5", this);} // tgen
+G18x6y5 ::G18x6y5(){ note_ctor("G18x6y5", this);} // tgen
+
+static void Test_G18x6y5()
+{
+ extern Class_Descriptor cd_G18x6y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G18x6y5, buf);
+ G18x6y5 *dp, &lv = *(dp=new (buf) G18x6y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G18x6y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x6y5)");
+ check_base_class_offset(lv, (A0*)(C18*)(E18x6*), ABISELECT(36,28), "G18x6y5");
+ check_base_class_offset(lv, (B0*)(C18*)(E18x6*), ABISELECT(24,16), "G18x6y5");
+ check_base_class_offset(lv, (C18*)(E18x6*), ABISELECT(16,12), "G18x6y5");
+ check_base_class_offset(lv, (D0*)(E18x6*), ABISELECT(40,32), "G18x6y5");
+ check_base_class_offset(lv, (E18x6*), ABISELECT(16,12), "G18x6y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G18x6y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G18x6y5.ff");
+ test_class_info(&lv, &cd_G18x6y5);
+ dp->~G18x6y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x6y5(Test_G18x6y5, "G18x6y5", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G18x6y5C1Ev();
+extern void _ZN7G18x6y5D1Ev();
+Name_Map name_map_G18x6y5[] = {
+ NSPAIR(_ZN7G18x6y5C1Ev),
+ NSPAIR(_ZN7G18x6y5D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E18x6;
+extern VTBL_ENTRY _ZTI5E18x6[];
+extern VTBL_ENTRY _ZTV5E18x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G18x6y5[] = {
+ // 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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E18x6, 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
+ 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 _ZTI7G18x6y5[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY vtc_G18x6y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x6y5[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G18x6y5[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x6y5[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV5E18x6__7G18x6y5[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x6[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C185E18x6__7G18x6y5[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x6y5[] = {
+ {&(_ZTV7G18x6y5[5]), 5,11},
+ {&(_ZTV7G18x6y5[10]), 10,11},
+ {&(_tg__ZTV5E18x6__7G18x6y5[4]), 4,5},
+ {&(_tg__ZTV3C185E18x6__7G18x6y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x6y5[];
+extern VTBL_ENTRY _ZTV7G18x6y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x6y5[];
+Class_Descriptor cd_G18x6y5 = { "G18x6y5", // class name
+ bases_G18x6y5, 6,
+ &(vtc_G18x6y5[0]), // expected_vtbl_contents
+ &(vtt_G18x6y5[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G18x6y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x6y5),11, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x6y5),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 G18x6y6 : E18x6 , virtual F0 {
+ int ff;
+ ~G18x6y6(); // tgen
+ G18x6y6(); // tgen
+};
+//SIG(1 G18x6y6) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G18x6y6 ::~G18x6y6(){ note_dtor("G18x6y6", this);} // tgen
+G18x6y6 ::G18x6y6(){ note_ctor("G18x6y6", this);} // tgen
+
+static void Test_G18x6y6()
+{
+ extern Class_Descriptor cd_G18x6y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G18x6y6, buf);
+ G18x6y6 *dp, &lv = *(dp=new (buf) G18x6y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G18x6y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x6y6)");
+ check_base_class_offset(lv, (A0*)(C18*)(E18x6*), ABISELECT(24,20), "G18x6y6");
+ check_base_class_offset(lv, (B0*)(C18*)(E18x6*), ABISELECT(8,4), "G18x6y6");
+ check_base_class_offset(lv, (C18*)(E18x6*), 0, "G18x6y6");
+ check_base_class_offset(lv, (D0*)(E18x6*), ABISELECT(28,24), "G18x6y6");
+ check_base_class_offset(lv, (E18x6*), 0, "G18x6y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,28), "G18x6y6");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G18x6y6.ff");
+ test_class_info(&lv, &cd_G18x6y6);
+ dp->~G18x6y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x6y6(Test_G18x6y6, "G18x6y6", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN7G18x6y6C1Ev();
+extern void _ZN7G18x6y6D1Ev();
+Name_Map name_map_G18x6y6[] = {
+ NSPAIR(_ZN7G18x6y6C1Ev),
+ NSPAIR(_ZN7G18x6y6D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E18x6;
+extern VTBL_ENTRY _ZTI5E18x6[];
+extern VTBL_ENTRY _ZTV5E18x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G18x6y6[] = {
+ // 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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E18x6, 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(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 _ZTI7G18x6y6[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY vtc_G18x6y6[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x6y6[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x6y6[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV5E18x6__7G18x6y6[] = {
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x6[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C185E18x6__7G18x6y6[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x6y6[] = {
+ {&(_ZTV7G18x6y6[5]), 5,6},
+ {&(_tg__ZTV5E18x6__7G18x6y6[4]), 4,5},
+ {&(_tg__ZTV3C185E18x6__7G18x6y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x6y6[];
+extern VTBL_ENTRY _ZTV7G18x6y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x6y6[];
+Class_Descriptor cd_G18x6y6 = { "G18x6y6", // class name
+ bases_G18x6y6, 6,
+ &(vtc_G18x6y6[0]), // expected_vtbl_contents
+ &(vtt_G18x6y6[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI7G18x6y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x6y6),6, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x6y6),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 G18x6y7 : virtual E18x6 , virtual F0 {
+ int ff;
+ ~G18x6y7(); // tgen
+ G18x6y7(); // tgen
+};
+//SIG(1 G18x6y7) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G18x6y7 ::~G18x6y7(){ note_dtor("G18x6y7", this);} // tgen
+G18x6y7 ::G18x6y7(){ note_ctor("G18x6y7", this);} // tgen
+
+static void Test_G18x6y7()
+{
+ extern Class_Descriptor cd_G18x6y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G18x6y7, buf);
+ G18x6y7 *dp, &lv = *(dp=new (buf) G18x6y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G18x6y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x6y7)");
+ check_base_class_offset(lv, (A0*)(C18*)(E18x6*), ABISELECT(36,24), "G18x6y7");
+ check_base_class_offset(lv, (B0*)(C18*)(E18x6*), ABISELECT(24,12), "G18x6y7");
+ check_base_class_offset(lv, (C18*)(E18x6*), ABISELECT(16,8), "G18x6y7");
+ check_base_class_offset(lv, (D0*)(E18x6*), ABISELECT(40,28), "G18x6y7");
+ check_base_class_offset(lv, (E18x6*), ABISELECT(16,8), "G18x6y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G18x6y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G18x6y7.ff");
+ test_class_info(&lv, &cd_G18x6y7);
+ dp->~G18x6y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x6y7(Test_G18x6y7, "G18x6y7", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G18x6y7C1Ev();
+extern void _ZN7G18x6y7D1Ev();
+Name_Map name_map_G18x6y7[] = {
+ NSPAIR(_ZN7G18x6y7C1Ev),
+ NSPAIR(_ZN7G18x6y7D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E18x6;
+extern VTBL_ENTRY _ZTI5E18x6[];
+extern VTBL_ENTRY _ZTV5E18x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G18x6y7[] = {
+ // 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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E18x6, 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
+ 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 _ZTI7G18x6y7[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY vtc_G18x6y7[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x6y7[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G18x6y7[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x6y7[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV5E18x6__7G18x6y7[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x6[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C185E18x6__7G18x6y7[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x6y7[] = {
+ {&(_ZTV7G18x6y7[6]), 6,12},
+ {&(_ZTV7G18x6y7[11]), 11,12},
+ {&(_tg__ZTV5E18x6__7G18x6y7[4]), 4,5},
+ {&(_tg__ZTV3C185E18x6__7G18x6y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x6y7[];
+extern VTBL_ENTRY _ZTV7G18x6y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x6y7[];
+Class_Descriptor cd_G18x6y7 = { "G18x6y7", // class name
+ bases_G18x6y7, 6,
+ &(vtc_G18x6y7[0]), // expected_vtbl_contents
+ &(vtt_G18x6y7[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G18x6y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x6y7),12, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x6y7),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 E19x6 : C19 , virtual D0 {
+ int fd;
+ ~E19x6(); // tgen
+ E19x6(); // tgen
+};
+//SIG(-1 E19x6) C1{ BC2{ VBC3{ v1 Fi} BC4{ Fi} v1 Fi} VBC5{ Fi} Fi}
+
+
+E19x6 ::~E19x6(){ note_dtor("E19x6", this);} // tgen
+E19x6 ::E19x6(){ note_ctor("E19x6", this);} // tgen
+
+static void Test_E19x6()
+{
+ extern Class_Descriptor cd_E19x6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E19x6, buf);
+ E19x6 *dp, &lv = *(dp=new (buf) E19x6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E19x6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E19x6)");
+ check_base_class_offset(lv, (A1*)(C19*), ABISELECT(24,16), "E19x6");
+ check_base_class_offset(lv, (B0*)(C19*), ABISELECT(8,4), "E19x6");
+ check_base_class_offset(lv, (C19*), 0, "E19x6");
+ check_base_class_offset(lv, (D0*), ABISELECT(36,24), "E19x6");
+ check_field_offset(lv, fd, ABISELECT(16,12), "E19x6.fd");
+ test_class_info(&lv, &cd_E19x6);
+ dp->~E19x6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE19x6(Test_E19x6, "E19x6", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E19x6C1Ev();
+extern void _ZN5E19x6D1Ev();
+Name_Map name_map_E19x6[] = {
+ NSPAIR(_ZN5E19x6C1Ev),
+ NSPAIR(_ZN5E19x6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E19x6[] = {
+ // 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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D0, 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, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E19x6[];
+extern void _ZN3C193fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn24_N3C193fooEv,_ZThn16_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_E19x6[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x6[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E19x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern VTBL_ENTRY _ZTV5E19x6[];
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__5E19x6[] = {
+ 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__5E19x6[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_E19x6[] = {
+ {&(_ZTV5E19x6[4]), 4,9},
+ {&(_tg__ZTV3C19__5E19x6[3]), 3,4},
+ {&(_tg__ZTV2A1__3C19__5E19x6[3]), 3,4},
+ {&(_ZTV5E19x6[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI5E19x6[];
+extern VTBL_ENTRY _ZTV5E19x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x6[];
+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_E19x6 = { "E19x6", // class name
+ bases_E19x6, 4,
+ &(vtc_E19x6[0]), // expected_vtbl_contents
+ &(vtt_E19x6[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E19x6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E19x6),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E19x6),4, //virtual table table var
+ 2, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names134,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x6y0 : E19x6 , F1 {
+ int ff;
+ ~G19x6y0(); // tgen
+ G19x6y0(); // tgen
+};
+//SIG(1 G19x6y0) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G19x6y0 ::~G19x6y0(){ note_dtor("G19x6y0", this);} // tgen
+G19x6y0 ::G19x6y0(){ note_ctor("G19x6y0", this);} // tgen
+
+static void Test_G19x6y0()
+{
+ extern Class_Descriptor cd_G19x6y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G19x6y0, buf);
+ G19x6y0 *dp, &lv = *(dp=new (buf) G19x6y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G19x6y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x6y0)");
+ check_base_class_offset(lv, (A1*)(C19*)(E19x6*), ABISELECT(40,28), "G19x6y0");
+ check_base_class_offset(lv, (B0*)(C19*)(E19x6*), ABISELECT(8,4), "G19x6y0");
+ check_base_class_offset(lv, (C19*)(E19x6*), 0, "G19x6y0");
+ check_base_class_offset(lv, (D0*)(E19x6*), ABISELECT(52,36), "G19x6y0");
+ check_base_class_offset(lv, (E19x6*), 0, "G19x6y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,16), "G19x6y0");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G19x6y0.ff");
+ test_class_info(&lv, &cd_G19x6y0);
+ dp->~G19x6y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x6y0(Test_G19x6y0, "G19x6y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G19x6y0C1Ev();
+extern void _ZN7G19x6y0D1Ev();
+Name_Map name_map_G19x6y0[] = {
+ NSPAIR(_ZN7G19x6y0C1Ev),
+ NSPAIR(_ZN7G19x6y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E19x6;
+extern VTBL_ENTRY _ZTI5E19x6[];
+extern VTBL_ENTRY _ZTV5E19x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G19x6y0[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E19x6, 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 _ZTI7G19x6y0[];
+extern void _ZN3C193fooEv();
+extern void _ZN2F13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn40_N3C193fooEv,_ZThn28_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G19x6y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x6y0[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G19x6y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G19x6y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern VTBL_ENTRY _ZTV7G19x6y0[];
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV5E19x6__7G19x6y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x6[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C195E19x6__7G19x6y0[] = {
+ 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__3C195E19x6__7G19x6y0[] = {
+ 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__5E19x6__7G19x6y0[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E19x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x6y0[] = {
+ {&(_ZTV7G19x6y0[4]), 4,12},
+ {&(_tg__ZTV5E19x6__7G19x6y0[4]), 4,5},
+ {&(_tg__ZTV3C195E19x6__7G19x6y0[3]), 3,4},
+ {&(_tg__ZTV2A1__3C195E19x6__7G19x6y0[3]), 3,4},
+ {&(_tg__ZTV2A1__5E19x6__7G19x6y0[3]), 3,4},
+ {&(_ZTV7G19x6y0[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI7G19x6y0[];
+extern VTBL_ENTRY _ZTV7G19x6y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x6y0[];
+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_G19x6y0 = { "G19x6y0", // class name
+ bases_G19x6y0, 6,
+ &(vtc_G19x6y0[0]), // expected_vtbl_contents
+ &(vtt_G19x6y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G19x6y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x6y0),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x6y0),6, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names135,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x6y1 : virtual E19x6 , F1 {
+ int ff;
+ ~G19x6y1(); // tgen
+ G19x6y1(); // tgen
+};
+//SIG(1 G19x6y1) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G19x6y1 ::~G19x6y1(){ note_dtor("G19x6y1", this);} // tgen
+G19x6y1 ::G19x6y1(){ note_ctor("G19x6y1", this);} // tgen
+
+static void Test_G19x6y1()
+{
+ extern Class_Descriptor cd_G19x6y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G19x6y1, buf);
+ G19x6y1 *dp, &lv = *(dp=new (buf) G19x6y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G19x6y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x6y1)");
+ check_base_class_offset(lv, (A1*)(C19*)(E19x6*), ABISELECT(40,28), "G19x6y1");
+ check_base_class_offset(lv, (B0*)(C19*)(E19x6*), ABISELECT(24,16), "G19x6y1");
+ check_base_class_offset(lv, (C19*)(E19x6*), ABISELECT(16,12), "G19x6y1");
+ check_base_class_offset(lv, (D0*)(E19x6*), ABISELECT(52,36), "G19x6y1");
+ check_base_class_offset(lv, (E19x6*), ABISELECT(16,12), "G19x6y1");
+ check_base_class_offset(lv, (F1*), 0, "G19x6y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G19x6y1.ff");
+ test_class_info(&lv, &cd_G19x6y1);
+ dp->~G19x6y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x6y1(Test_G19x6y1, "G19x6y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G19x6y1C1Ev();
+extern void _ZN7G19x6y1D1Ev();
+Name_Map name_map_G19x6y1[] = {
+ NSPAIR(_ZN7G19x6y1C1Ev),
+ NSPAIR(_ZN7G19x6y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E19x6;
+extern VTBL_ENTRY _ZTI5E19x6[];
+extern VTBL_ENTRY _ZTV5E19x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G19x6y1[] = {
+ // 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E19x6, 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 _ZTI7G19x6y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C193fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn24_N3C193fooEv,_ZThn16_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G19x6y1[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x6y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G19x6y1[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G19x6y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern VTBL_ENTRY _ZTV7G19x6y1[];
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV5E19x6__7G19x6y1[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x6[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C195E19x6__7G19x6y1[] = {
+ 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__3C195E19x6__7G19x6y1[] = {
+ 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__5E19x6__7G19x6y1[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E19x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x6y1[] = {
+ {&(_ZTV7G19x6y1[5]), 5,16},
+ {&(_ZTV7G19x6y1[11]), 11,16},
+ {&(_ZTV7G19x6y1[15]), 15,16},
+ {&(_tg__ZTV5E19x6__7G19x6y1[4]), 4,5},
+ {&(_tg__ZTV3C195E19x6__7G19x6y1[3]), 3,4},
+ {&(_tg__ZTV2A1__3C195E19x6__7G19x6y1[3]), 3,4},
+ {&(_tg__ZTV2A1__5E19x6__7G19x6y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G19x6y1[];
+extern VTBL_ENTRY _ZTV7G19x6y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x6y1[];
+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_G19x6y1 = { "G19x6y1", // class name
+ bases_G19x6y1, 6,
+ &(vtc_G19x6y1[0]), // expected_vtbl_contents
+ &(vtt_G19x6y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G19x6y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x6y1),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x6y1),7, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names136,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x6y2 : E19x6 , virtual F1 {
+ int ff;
+ ~G19x6y2(); // tgen
+ G19x6y2(); // tgen
+};
+//SIG(1 G19x6y2) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G19x6y2 ::~G19x6y2(){ note_dtor("G19x6y2", this);} // tgen
+G19x6y2 ::G19x6y2(){ note_ctor("G19x6y2", this);} // tgen
+
+static void Test_G19x6y2()
+{
+ extern Class_Descriptor cd_G19x6y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G19x6y2, buf);
+ G19x6y2 *dp, &lv = *(dp=new (buf) G19x6y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G19x6y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x6y2)");
+ check_base_class_offset(lv, (A1*)(C19*)(E19x6*), ABISELECT(24,20), "G19x6y2");
+ check_base_class_offset(lv, (B0*)(C19*)(E19x6*), ABISELECT(8,4), "G19x6y2");
+ check_base_class_offset(lv, (C19*)(E19x6*), 0, "G19x6y2");
+ check_base_class_offset(lv, (D0*)(E19x6*), ABISELECT(36,28), "G19x6y2");
+ check_base_class_offset(lv, (E19x6*), 0, "G19x6y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(40,32), "G19x6y2");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G19x6y2.ff");
+ test_class_info(&lv, &cd_G19x6y2);
+ dp->~G19x6y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x6y2(Test_G19x6y2, "G19x6y2", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G19x6y2C1Ev();
+extern void _ZN7G19x6y2D1Ev();
+Name_Map name_map_G19x6y2[] = {
+ NSPAIR(_ZN7G19x6y2C1Ev),
+ NSPAIR(_ZN7G19x6y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E19x6;
+extern VTBL_ENTRY _ZTI5E19x6[];
+extern VTBL_ENTRY _ZTV5E19x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G19x6y2[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E19x6, 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(40,32), //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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G19x6y2[];
+extern void _ZN3C193fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn24_N3C193fooEv,_ZThn20_N3C193fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G19x6y2[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x6y2[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G19x6y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G19x6y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G19x6y2[];
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV5E19x6__7G19x6y2[] = {
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x6[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C195E19x6__7G19x6y2[] = {
+ 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__3C195E19x6__7G19x6y2[] = {
+ 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__5E19x6__7G19x6y2[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E19x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x6y2[] = {
+ {&(_ZTV7G19x6y2[5]), 5,14},
+ {&(_tg__ZTV5E19x6__7G19x6y2[4]), 4,5},
+ {&(_tg__ZTV3C195E19x6__7G19x6y2[3]), 3,4},
+ {&(_tg__ZTV2A1__3C195E19x6__7G19x6y2[3]), 3,4},
+ {&(_tg__ZTV2A1__5E19x6__7G19x6y2[3]), 3,4},
+ {&(_ZTV7G19x6y2[9]), 9,14},
+ {&(_ZTV7G19x6y2[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI7G19x6y2[];
+extern VTBL_ENTRY _ZTV7G19x6y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x6y2[];
+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_G19x6y2 = { "G19x6y2", // class name
+ bases_G19x6y2, 6,
+ &(vtc_G19x6y2[0]), // expected_vtbl_contents
+ &(vtt_G19x6y2[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G19x6y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x6y2),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x6y2),7, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names137,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x6y3 : virtual E19x6 , virtual F1 {
+ int ff;
+ ~G19x6y3(); // tgen
+ G19x6y3(); // tgen
+};
+//SIG(1 G19x6y3) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G19x6y3 ::~G19x6y3(){ note_dtor("G19x6y3", this);} // tgen
+G19x6y3 ::G19x6y3(){ note_ctor("G19x6y3", this);} // tgen
+
+static void Test_G19x6y3()
+{
+ extern Class_Descriptor cd_G19x6y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G19x6y3, buf);
+ G19x6y3 *dp, &lv = *(dp=new (buf) G19x6y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G19x6y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x6y3)");
+ check_base_class_offset(lv, (A1*)(C19*)(E19x6*), ABISELECT(40,24), "G19x6y3");
+ check_base_class_offset(lv, (B0*)(C19*)(E19x6*), ABISELECT(24,12), "G19x6y3");
+ check_base_class_offset(lv, (C19*)(E19x6*), ABISELECT(16,8), "G19x6y3");
+ check_base_class_offset(lv, (D0*)(E19x6*), ABISELECT(52,32), "G19x6y3");
+ check_base_class_offset(lv, (E19x6*), ABISELECT(16,8), "G19x6y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G19x6y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G19x6y3.ff");
+ test_class_info(&lv, &cd_G19x6y3);
+ dp->~G19x6y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x6y3(Test_G19x6y3, "G19x6y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G19x6y3C1Ev();
+extern void _ZN7G19x6y3D1Ev();
+Name_Map name_map_G19x6y3[] = {
+ NSPAIR(_ZN7G19x6y3C1Ev),
+ NSPAIR(_ZN7G19x6y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E19x6;
+extern VTBL_ENTRY _ZTI5E19x6[];
+extern VTBL_ENTRY _ZTV5E19x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G19x6y3[] = {
+ // 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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E19x6, 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 _ZTI7G19x6y3[];
+extern void _ZN3C193fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn24_N3C193fooEv,_ZThn16_N3C193fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G19x6y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x6y3[0]),
+ 0,
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G19x6y3[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G19x6y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G19x6y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G19x6y3[];
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV5E19x6__7G19x6y3[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x6[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C195E19x6__7G19x6y3[] = {
+ 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__3C195E19x6__7G19x6y3[] = {
+ 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__5E19x6__7G19x6y3[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E19x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x6y3[] = {
+ {&(_ZTV7G19x6y3[6]), 6,20},
+ {&(_ZTV7G19x6y3[11]), 11,20},
+ {&(_ZTV7G19x6y3[15]), 15,20},
+ {&(_ZTV7G19x6y3[19]), 19,20},
+ {&(_tg__ZTV5E19x6__7G19x6y3[4]), 4,5},
+ {&(_tg__ZTV3C195E19x6__7G19x6y3[3]), 3,4},
+ {&(_tg__ZTV2A1__3C195E19x6__7G19x6y3[3]), 3,4},
+ {&(_tg__ZTV2A1__5E19x6__7G19x6y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G19x6y3[];
+extern VTBL_ENTRY _ZTV7G19x6y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x6y3[];
+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_G19x6y3 = { "G19x6y3", // class name
+ bases_G19x6y3, 6,
+ &(vtc_G19x6y3[0]), // expected_vtbl_contents
+ &(vtt_G19x6y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G19x6y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x6y3),20, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x6y3),8, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names138,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x6y4 : E19x6 , F0 {
+ int ff;
+ ~G19x6y4(); // tgen
+ G19x6y4(); // tgen
+};
+//SIG(1 G19x6y4) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G19x6y4 ::~G19x6y4(){ note_dtor("G19x6y4", this);} // tgen
+G19x6y4 ::G19x6y4(){ note_ctor("G19x6y4", this);} // tgen
+
+static void Test_G19x6y4()
+{
+ extern Class_Descriptor cd_G19x6y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G19x6y4, buf);
+ G19x6y4 *dp, &lv = *(dp=new (buf) G19x6y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G19x6y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x6y4)");
+ check_base_class_offset(lv, (A1*)(C19*)(E19x6*), ABISELECT(32,24), "G19x6y4");
+ check_base_class_offset(lv, (B0*)(C19*)(E19x6*), ABISELECT(8,4), "G19x6y4");
+ check_base_class_offset(lv, (C19*)(E19x6*), 0, "G19x6y4");
+ check_base_class_offset(lv, (D0*)(E19x6*), ABISELECT(44,32), "G19x6y4");
+ check_base_class_offset(lv, (E19x6*), 0, "G19x6y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(20,16), "G19x6y4");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G19x6y4.ff");
+ test_class_info(&lv, &cd_G19x6y4);
+ dp->~G19x6y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x6y4(Test_G19x6y4, "G19x6y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G19x6y4C1Ev();
+extern void _ZN7G19x6y4D1Ev();
+Name_Map name_map_G19x6y4[] = {
+ NSPAIR(_ZN7G19x6y4C1Ev),
+ NSPAIR(_ZN7G19x6y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E19x6;
+extern VTBL_ENTRY _ZTI5E19x6[];
+extern VTBL_ENTRY _ZTV5E19x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G19x6y4[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E19x6, 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 _ZTI7G19x6y4[];
+extern void _ZN3C193fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn32_N3C193fooEv,_ZThn24_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G19x6y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x6y4[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G19x6y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern VTBL_ENTRY _ZTV7G19x6y4[];
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV5E19x6__7G19x6y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x6[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C195E19x6__7G19x6y4[] = {
+ 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__3C195E19x6__7G19x6y4[] = {
+ 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__5E19x6__7G19x6y4[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E19x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x6y4[] = {
+ {&(_ZTV7G19x6y4[4]), 4,9},
+ {&(_tg__ZTV5E19x6__7G19x6y4[4]), 4,5},
+ {&(_tg__ZTV3C195E19x6__7G19x6y4[3]), 3,4},
+ {&(_tg__ZTV2A1__3C195E19x6__7G19x6y4[3]), 3,4},
+ {&(_tg__ZTV2A1__5E19x6__7G19x6y4[3]), 3,4},
+ {&(_ZTV7G19x6y4[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI7G19x6y4[];
+extern VTBL_ENTRY _ZTV7G19x6y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x6y4[];
+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_G19x6y4 = { "G19x6y4", // class name
+ bases_G19x6y4, 6,
+ &(vtc_G19x6y4[0]), // expected_vtbl_contents
+ &(vtt_G19x6y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G19x6y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x6y4),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x6y4),6, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names139,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x6y5 : virtual E19x6 , F0 {
+ int ff;
+ ~G19x6y5(); // tgen
+ G19x6y5(); // tgen
+};
+//SIG(1 G19x6y5) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G19x6y5 ::~G19x6y5(){ note_dtor("G19x6y5", this);} // tgen
+G19x6y5 ::G19x6y5(){ note_ctor("G19x6y5", this);} // tgen
+
+static void Test_G19x6y5()
+{
+ extern Class_Descriptor cd_G19x6y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G19x6y5, buf);
+ G19x6y5 *dp, &lv = *(dp=new (buf) G19x6y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G19x6y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x6y5)");
+ check_base_class_offset(lv, (A1*)(C19*)(E19x6*), ABISELECT(40,28), "G19x6y5");
+ check_base_class_offset(lv, (B0*)(C19*)(E19x6*), ABISELECT(24,16), "G19x6y5");
+ check_base_class_offset(lv, (C19*)(E19x6*), ABISELECT(16,12), "G19x6y5");
+ check_base_class_offset(lv, (D0*)(E19x6*), ABISELECT(52,36), "G19x6y5");
+ check_base_class_offset(lv, (E19x6*), ABISELECT(16,12), "G19x6y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G19x6y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G19x6y5.ff");
+ test_class_info(&lv, &cd_G19x6y5);
+ dp->~G19x6y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x6y5(Test_G19x6y5, "G19x6y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G19x6y5C1Ev();
+extern void _ZN7G19x6y5D1Ev();
+Name_Map name_map_G19x6y5[] = {
+ NSPAIR(_ZN7G19x6y5C1Ev),
+ NSPAIR(_ZN7G19x6y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E19x6;
+extern VTBL_ENTRY _ZTI5E19x6[];
+extern VTBL_ENTRY _ZTV5E19x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G19x6y5[] = {
+ // 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E19x6, 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 _ZTI7G19x6y5[];
+extern void _ZN3C193fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn24_N3C193fooEv,_ZThn16_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G19x6y5[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x6y5[0]),
+ 0,
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G19x6y5[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G19x6y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern VTBL_ENTRY _ZTV7G19x6y5[];
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV5E19x6__7G19x6y5[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x6[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C195E19x6__7G19x6y5[] = {
+ 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__3C195E19x6__7G19x6y5[] = {
+ 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__5E19x6__7G19x6y5[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E19x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x6y5[] = {
+ {&(_ZTV7G19x6y5[5]), 5,15},
+ {&(_ZTV7G19x6y5[10]), 10,15},
+ {&(_ZTV7G19x6y5[14]), 14,15},
+ {&(_tg__ZTV5E19x6__7G19x6y5[4]), 4,5},
+ {&(_tg__ZTV3C195E19x6__7G19x6y5[3]), 3,4},
+ {&(_tg__ZTV2A1__3C195E19x6__7G19x6y5[3]), 3,4},
+ {&(_tg__ZTV2A1__5E19x6__7G19x6y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G19x6y5[];
+extern VTBL_ENTRY _ZTV7G19x6y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x6y5[];
+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_G19x6y5 = { "G19x6y5", // class name
+ bases_G19x6y5, 6,
+ &(vtc_G19x6y5[0]), // expected_vtbl_contents
+ &(vtt_G19x6y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G19x6y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x6y5),15, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x6y5),7, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names140,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x6y6 : E19x6 , virtual F0 {
+ int ff;
+ ~G19x6y6(); // tgen
+ G19x6y6(); // tgen
+};
+//SIG(1 G19x6y6) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G19x6y6 ::~G19x6y6(){ note_dtor("G19x6y6", this);} // tgen
+G19x6y6 ::G19x6y6(){ note_ctor("G19x6y6", this);} // tgen
+
+static void Test_G19x6y6()
+{
+ extern Class_Descriptor cd_G19x6y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G19x6y6, buf);
+ G19x6y6 *dp, &lv = *(dp=new (buf) G19x6y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G19x6y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x6y6)");
+ check_base_class_offset(lv, (A1*)(C19*)(E19x6*), ABISELECT(24,20), "G19x6y6");
+ check_base_class_offset(lv, (B0*)(C19*)(E19x6*), ABISELECT(8,4), "G19x6y6");
+ check_base_class_offset(lv, (C19*)(E19x6*), 0, "G19x6y6");
+ check_base_class_offset(lv, (D0*)(E19x6*), ABISELECT(36,28), "G19x6y6");
+ check_base_class_offset(lv, (E19x6*), 0, "G19x6y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(40,32), "G19x6y6");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G19x6y6.ff");
+ test_class_info(&lv, &cd_G19x6y6);
+ dp->~G19x6y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x6y6(Test_G19x6y6, "G19x6y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G19x6y6C1Ev();
+extern void _ZN7G19x6y6D1Ev();
+Name_Map name_map_G19x6y6[] = {
+ NSPAIR(_ZN7G19x6y6C1Ev),
+ NSPAIR(_ZN7G19x6y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E19x6;
+extern VTBL_ENTRY _ZTI5E19x6[];
+extern VTBL_ENTRY _ZTV5E19x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G19x6y6[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E19x6, 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(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 _ZTI7G19x6y6[];
+extern void _ZN3C193fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn24_N3C193fooEv,_ZThn20_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G19x6y6[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x6y6[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G19x6y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern VTBL_ENTRY _ZTV7G19x6y6[];
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV5E19x6__7G19x6y6[] = {
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x6[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C195E19x6__7G19x6y6[] = {
+ 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__3C195E19x6__7G19x6y6[] = {
+ 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__5E19x6__7G19x6y6[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E19x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x6y6[] = {
+ {&(_ZTV7G19x6y6[5]), 5,10},
+ {&(_tg__ZTV5E19x6__7G19x6y6[4]), 4,5},
+ {&(_tg__ZTV3C195E19x6__7G19x6y6[3]), 3,4},
+ {&(_tg__ZTV2A1__3C195E19x6__7G19x6y6[3]), 3,4},
+ {&(_tg__ZTV2A1__5E19x6__7G19x6y6[3]), 3,4},
+ {&(_ZTV7G19x6y6[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI7G19x6y6[];
+extern VTBL_ENTRY _ZTV7G19x6y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x6y6[];
+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_G19x6y6 = { "G19x6y6", // class name
+ bases_G19x6y6, 6,
+ &(vtc_G19x6y6[0]), // expected_vtbl_contents
+ &(vtt_G19x6y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G19x6y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x6y6),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x6y6),6, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names141,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x6y7 : virtual E19x6 , virtual F0 {
+ int ff;
+ ~G19x6y7(); // tgen
+ G19x6y7(); // tgen
+};
+//SIG(1 G19x6y7) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G19x6y7 ::~G19x6y7(){ note_dtor("G19x6y7", this);} // tgen
+G19x6y7 ::G19x6y7(){ note_ctor("G19x6y7", this);} // tgen
+
+static void Test_G19x6y7()
+{
+ extern Class_Descriptor cd_G19x6y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G19x6y7, buf);
+ G19x6y7 *dp, &lv = *(dp=new (buf) G19x6y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G19x6y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x6y7)");
+ check_base_class_offset(lv, (A1*)(C19*)(E19x6*), ABISELECT(40,24), "G19x6y7");
+ check_base_class_offset(lv, (B0*)(C19*)(E19x6*), ABISELECT(24,12), "G19x6y7");
+ check_base_class_offset(lv, (C19*)(E19x6*), ABISELECT(16,8), "G19x6y7");
+ check_base_class_offset(lv, (D0*)(E19x6*), ABISELECT(52,32), "G19x6y7");
+ check_base_class_offset(lv, (E19x6*), ABISELECT(16,8), "G19x6y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G19x6y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G19x6y7.ff");
+ test_class_info(&lv, &cd_G19x6y7);
+ dp->~G19x6y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x6y7(Test_G19x6y7, "G19x6y7", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G19x6y7C1Ev();
+extern void _ZN7G19x6y7D1Ev();
+Name_Map name_map_G19x6y7[] = {
+ NSPAIR(_ZN7G19x6y7C1Ev),
+ NSPAIR(_ZN7G19x6y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E19x6;
+extern VTBL_ENTRY _ZTI5E19x6[];
+extern VTBL_ENTRY _ZTV5E19x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G19x6y7[] = {
+ // 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E19x6, 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 _ZTI7G19x6y7[];
+extern void _ZN3C193fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv)();
+extern void ABISELECT(_ZThn24_N3C193fooEv,_ZThn16_N3C193fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G19x6y7[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x6y7[0]),
+ 0,
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G19x6y7[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G19x6y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern VTBL_ENTRY _ZTV7G19x6y7[];
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV5E19x6__7G19x6y7[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x6[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C195E19x6__7G19x6y7[] = {
+ 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__3C195E19x6__7G19x6y7[] = {
+ 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__5E19x6__7G19x6y7[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E19x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x6y7[] = {
+ {&(_ZTV7G19x6y7[6]), 6,16},
+ {&(_ZTV7G19x6y7[11]), 11,16},
+ {&(_ZTV7G19x6y7[15]), 15,16},
+ {&(_tg__ZTV5E19x6__7G19x6y7[4]), 4,5},
+ {&(_tg__ZTV3C195E19x6__7G19x6y7[3]), 3,4},
+ {&(_tg__ZTV2A1__3C195E19x6__7G19x6y7[3]), 3,4},
+ {&(_tg__ZTV2A1__5E19x6__7G19x6y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G19x6y7[];
+extern VTBL_ENTRY _ZTV7G19x6y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x6y7[];
+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_G19x6y7 = { "G19x6y7", // class name
+ bases_G19x6y7, 6,
+ &(vtc_G19x6y7[0]), // expected_vtbl_contents
+ &(vtt_G19x6y7[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G19x6y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x6y7),16, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x6y7),7, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names142,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E20x6 : C20 , virtual D0 {
+ int fd;
+ ~E20x6(); // tgen
+ E20x6(); // tgen
+};
+//SIG(-1 E20x6) C1{ BC2{ BC3{ Fi} BC4{ v1 Fi} v1 Fi} VBC5{ Fi} Fi}
+
+
+E20x6 ::~E20x6(){ note_dtor("E20x6", this);} // tgen
+E20x6 ::E20x6(){ note_ctor("E20x6", this);} // tgen
+
+static void Test_E20x6()
+{
+ extern Class_Descriptor cd_E20x6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(5,7)];
+ init_test(&cd_E20x6, buf);
+ E20x6 *dp, &lv = *(dp=new (buf) E20x6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(32,24), "sizeof(E20x6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E20x6)");
+ check_base_class_offset(lv, (A0*)(C20*), ABISELECT(12,8), "E20x6");
+ check_base_class_offset(lv, (B1*)(C20*), 0, "E20x6");
+ check_base_class_offset(lv, (C20*), 0, "E20x6");
+ check_base_class_offset(lv, (D0*), ABISELECT(24,20), "E20x6");
+ check_field_offset(lv, fd, ABISELECT(20,16), "E20x6.fd");
+ test_class_info(&lv, &cd_E20x6);
+ dp->~E20x6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE20x6(Test_E20x6, "E20x6", ABISELECT(32,24));
+
+#else // __cplusplus
+
+extern void _ZN5E20x6C1Ev();
+extern void _ZN5E20x6D1Ev();
+Name_Map name_map_E20x6[] = {
+ NSPAIR(_ZN5E20x6C1Ev),
+ NSPAIR(_ZN5E20x6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E20x6[] = {
+ // 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
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D0, 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, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E20x6[];
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY vtc_E20x6[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x6[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+extern VTBL_ENTRY _ZTV5E20x6[];
+static VTT_ENTRY vtt_E20x6[] = {
+ {&(_ZTV5E20x6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E20x6[];
+extern VTBL_ENTRY _ZTV5E20x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x6[];
+Class_Descriptor cd_E20x6 = { "E20x6", // class name
+ bases_E20x6, 4,
+ &(vtc_E20x6[0]), // expected_vtbl_contents
+ &(vtt_E20x6[0]), // expected_vtt_contents
+ ABISELECT(32,24), // object size
+ NSPAIRA(_ZTI5E20x6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E20x6),4, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E20x6),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 G20x6y0 : E20x6 , F1 {
+ int ff;
+ ~G20x6y0(); // tgen
+ G20x6y0(); // tgen
+};
+//SIG(1 G20x6y0) C1{ BC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G20x6y0 ::~G20x6y0(){ note_dtor("G20x6y0", this);} // tgen
+G20x6y0 ::G20x6y0(){ note_ctor("G20x6y0", this);} // tgen
+
+static void Test_G20x6y0()
+{
+ extern Class_Descriptor cd_G20x6y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G20x6y0, buf);
+ G20x6y0 *dp, &lv = *(dp=new (buf) G20x6y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G20x6y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x6y0)");
+ check_base_class_offset(lv, (A0*)(C20*)(E20x6*), ABISELECT(12,8), "G20x6y0");
+ check_base_class_offset(lv, (B1*)(C20*)(E20x6*), 0, "G20x6y0");
+ check_base_class_offset(lv, (C20*)(E20x6*), 0, "G20x6y0");
+ check_base_class_offset(lv, (D0*)(E20x6*), ABISELECT(40,32), "G20x6y0");
+ check_base_class_offset(lv, (E20x6*), 0, "G20x6y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,20), "G20x6y0");
+ check_field_offset(lv, ff, ABISELECT(36,28), "G20x6y0.ff");
+ test_class_info(&lv, &cd_G20x6y0);
+ dp->~G20x6y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x6y0(Test_G20x6y0, "G20x6y0", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G20x6y0C1Ev();
+extern void _ZN7G20x6y0D1Ev();
+Name_Map name_map_G20x6y0[] = {
+ NSPAIR(_ZN7G20x6y0C1Ev),
+ NSPAIR(_ZN7G20x6y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E20x6;
+extern VTBL_ENTRY _ZTI5E20x6[];
+extern VTBL_ENTRY _ZTV5E20x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G20x6y0[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E20x6, 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 _ZTI7G20x6y0[];
+extern void _ZN3C203fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G20x6y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x6y0[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G20x6y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x6y0[];
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY _tg__ZTV5E20x6__7G20x6y0[] = {
+ ABISELECT(40,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x6[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+static VTT_ENTRY vtt_G20x6y0[] = {
+ {&(_ZTV7G20x6y0[3]), 3,7},
+ {&(_tg__ZTV5E20x6__7G20x6y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G20x6y0[];
+extern VTBL_ENTRY _ZTV7G20x6y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x6y0[];
+Class_Descriptor cd_G20x6y0 = { "G20x6y0", // class name
+ bases_G20x6y0, 6,
+ &(vtc_G20x6y0[0]), // expected_vtbl_contents
+ &(vtt_G20x6y0[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G20x6y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x6y0),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x6y0),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 G20x6y1 : virtual E20x6 , F1 {
+ int ff;
+ ~G20x6y1(); // tgen
+ G20x6y1(); // tgen
+};
+//SIG(1 G20x6y1) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G20x6y1 ::~G20x6y1(){ note_dtor("G20x6y1", this);} // tgen
+G20x6y1 ::G20x6y1(){ note_ctor("G20x6y1", this);} // tgen
+
+static void Test_G20x6y1()
+{
+ extern Class_Descriptor cd_G20x6y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G20x6y1, buf);
+ G20x6y1 *dp, &lv = *(dp=new (buf) G20x6y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G20x6y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x6y1)");
+ check_base_class_offset(lv, (A0*)(C20*)(E20x6*), ABISELECT(28,20), "G20x6y1");
+ check_base_class_offset(lv, (B1*)(C20*)(E20x6*), ABISELECT(16,12), "G20x6y1");
+ check_base_class_offset(lv, (C20*)(E20x6*), ABISELECT(16,12), "G20x6y1");
+ check_base_class_offset(lv, (D0*)(E20x6*), ABISELECT(40,32), "G20x6y1");
+ check_base_class_offset(lv, (E20x6*), ABISELECT(16,12), "G20x6y1");
+ check_base_class_offset(lv, (F1*), 0, "G20x6y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G20x6y1.ff");
+ test_class_info(&lv, &cd_G20x6y1);
+ dp->~G20x6y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x6y1(Test_G20x6y1, "G20x6y1", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G20x6y1C1Ev();
+extern void _ZN7G20x6y1D1Ev();
+Name_Map name_map_G20x6y1[] = {
+ NSPAIR(_ZN7G20x6y1C1Ev),
+ NSPAIR(_ZN7G20x6y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E20x6;
+extern VTBL_ENTRY _ZTI5E20x6[];
+extern VTBL_ENTRY _ZTV5E20x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G20x6y1[] = {
+ // 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
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E20x6, 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
+ 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 _ZTI7G20x6y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY vtc_G20x6y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x6y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G20x6y1[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x6y1[];
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY _tg__ZTV5E20x6__7G20x6y1[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x6[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+static VTT_ENTRY vtt_G20x6y1[] = {
+ {&(_ZTV7G20x6y1[4]), 4,10},
+ {&(_ZTV7G20x6y1[9]), 9,10},
+ {&(_tg__ZTV5E20x6__7G20x6y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G20x6y1[];
+extern VTBL_ENTRY _ZTV7G20x6y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x6y1[];
+Class_Descriptor cd_G20x6y1 = { "G20x6y1", // class name
+ bases_G20x6y1, 6,
+ &(vtc_G20x6y1[0]), // expected_vtbl_contents
+ &(vtt_G20x6y1[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G20x6y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x6y1),10, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x6y1),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 G20x6y2 : E20x6 , virtual F1 {
+ int ff;
+ ~G20x6y2(); // tgen
+ G20x6y2(); // tgen
+};
+//SIG(1 G20x6y2) C1{ BC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G20x6y2 ::~G20x6y2(){ note_dtor("G20x6y2", this);} // tgen
+G20x6y2 ::G20x6y2(){ note_ctor("G20x6y2", this);} // tgen
+
+static void Test_G20x6y2()
+{
+ extern Class_Descriptor cd_G20x6y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G20x6y2, buf);
+ G20x6y2 *dp, &lv = *(dp=new (buf) G20x6y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G20x6y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x6y2)");
+ check_base_class_offset(lv, (A0*)(C20*)(E20x6*), ABISELECT(12,8), "G20x6y2");
+ check_base_class_offset(lv, (B1*)(C20*)(E20x6*), 0, "G20x6y2");
+ check_base_class_offset(lv, (C20*)(E20x6*), 0, "G20x6y2");
+ check_base_class_offset(lv, (D0*)(E20x6*), ABISELECT(28,24), "G20x6y2");
+ check_base_class_offset(lv, (E20x6*), 0, "G20x6y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,28), "G20x6y2");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G20x6y2.ff");
+ test_class_info(&lv, &cd_G20x6y2);
+ dp->~G20x6y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x6y2(Test_G20x6y2, "G20x6y2", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G20x6y2C1Ev();
+extern void _ZN7G20x6y2D1Ev();
+Name_Map name_map_G20x6y2[] = {
+ NSPAIR(_ZN7G20x6y2C1Ev),
+ NSPAIR(_ZN7G20x6y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E20x6;
+extern VTBL_ENTRY _ZTI5E20x6[];
+extern VTBL_ENTRY _ZTV5E20x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G20x6y2[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E20x6, 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,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 _ZTI7G20x6y2[];
+extern void _ZN3C203fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G20x6y2[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x6y2[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI7G20x6y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x6y2[];
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY _tg__ZTV5E20x6__7G20x6y2[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x6[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+static VTT_ENTRY vtt_G20x6y2[] = {
+ {&(_ZTV7G20x6y2[4]), 4,9},
+ {&(_tg__ZTV5E20x6__7G20x6y2[3]), 3,4},
+ {&(_ZTV7G20x6y2[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI7G20x6y2[];
+extern VTBL_ENTRY _ZTV7G20x6y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x6y2[];
+Class_Descriptor cd_G20x6y2 = { "G20x6y2", // class name
+ bases_G20x6y2, 6,
+ &(vtc_G20x6y2[0]), // expected_vtbl_contents
+ &(vtt_G20x6y2[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G20x6y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x6y2),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x6y2),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 G20x6y3 : virtual E20x6 , virtual F1 {
+ int ff;
+ ~G20x6y3(); // tgen
+ G20x6y3(); // tgen
+};
+//SIG(1 G20x6y3) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G20x6y3 ::~G20x6y3(){ note_dtor("G20x6y3", this);} // tgen
+G20x6y3 ::G20x6y3(){ note_ctor("G20x6y3", this);} // tgen
+
+static void Test_G20x6y3()
+{
+ extern Class_Descriptor cd_G20x6y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G20x6y3, buf);
+ G20x6y3 *dp, &lv = *(dp=new (buf) G20x6y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G20x6y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x6y3)");
+ check_base_class_offset(lv, (A0*)(C20*)(E20x6*), ABISELECT(28,16), "G20x6y3");
+ check_base_class_offset(lv, (B1*)(C20*)(E20x6*), ABISELECT(16,8), "G20x6y3");
+ check_base_class_offset(lv, (C20*)(E20x6*), ABISELECT(16,8), "G20x6y3");
+ check_base_class_offset(lv, (D0*)(E20x6*), ABISELECT(40,28), "G20x6y3");
+ check_base_class_offset(lv, (E20x6*), ABISELECT(16,8), "G20x6y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G20x6y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G20x6y3.ff");
+ test_class_info(&lv, &cd_G20x6y3);
+ dp->~G20x6y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x6y3(Test_G20x6y3, "G20x6y3", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G20x6y3C1Ev();
+extern void _ZN7G20x6y3D1Ev();
+Name_Map name_map_G20x6y3[] = {
+ NSPAIR(_ZN7G20x6y3C1Ev),
+ NSPAIR(_ZN7G20x6y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E20x6;
+extern VTBL_ENTRY _ZTI5E20x6[];
+extern VTBL_ENTRY _ZTV5E20x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G20x6y3[] = {
+ // 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
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E20x6, 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_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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G20x6y3[];
+extern void _ZN3C203fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G20x6y3[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x6y3[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G20x6y3[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G20x6y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x6y3[];
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY _tg__ZTV5E20x6__7G20x6y3[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x6[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+static VTT_ENTRY vtt_G20x6y3[] = {
+ {&(_ZTV7G20x6y3[5]), 5,14},
+ {&(_ZTV7G20x6y3[9]), 9,14},
+ {&(_ZTV7G20x6y3[13]), 13,14},
+ {&(_tg__ZTV5E20x6__7G20x6y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G20x6y3[];
+extern VTBL_ENTRY _ZTV7G20x6y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x6y3[];
+Class_Descriptor cd_G20x6y3 = { "G20x6y3", // class name
+ bases_G20x6y3, 6,
+ &(vtc_G20x6y3[0]), // expected_vtbl_contents
+ &(vtt_G20x6y3[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G20x6y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x6y3),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x6y3),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 G20x6y4 : E20x6 , F0 {
+ int ff;
+ ~G20x6y4(); // tgen
+ G20x6y4(); // tgen
+};
+//SIG(1 G20x6y4) C1{ BC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G20x6y4 ::~G20x6y4(){ note_dtor("G20x6y4", this);} // tgen
+G20x6y4 ::G20x6y4(){ note_ctor("G20x6y4", this);} // tgen
+
+static void Test_G20x6y4()
+{
+ extern Class_Descriptor cd_G20x6y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G20x6y4, buf);
+ G20x6y4 *dp, &lv = *(dp=new (buf) G20x6y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G20x6y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x6y4)");
+ check_base_class_offset(lv, (A0*)(C20*)(E20x6*), ABISELECT(12,8), "G20x6y4");
+ check_base_class_offset(lv, (B1*)(C20*)(E20x6*), 0, "G20x6y4");
+ check_base_class_offset(lv, (C20*)(E20x6*), 0, "G20x6y4");
+ check_base_class_offset(lv, (D0*)(E20x6*), ABISELECT(32,28), "G20x6y4");
+ check_base_class_offset(lv, (E20x6*), 0, "G20x6y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(24,20), "G20x6y4");
+ check_field_offset(lv, ff, ABISELECT(28,24), "G20x6y4.ff");
+ test_class_info(&lv, &cd_G20x6y4);
+ dp->~G20x6y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x6y4(Test_G20x6y4, "G20x6y4", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN7G20x6y4C1Ev();
+extern void _ZN7G20x6y4D1Ev();
+Name_Map name_map_G20x6y4[] = {
+ NSPAIR(_ZN7G20x6y4C1Ev),
+ NSPAIR(_ZN7G20x6y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E20x6;
+extern VTBL_ENTRY _ZTI5E20x6[];
+extern VTBL_ENTRY _ZTV5E20x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G20x6y4[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E20x6, 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 _ZTI7G20x6y4[];
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY vtc_G20x6y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x6y4[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x6y4[];
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY _tg__ZTV5E20x6__7G20x6y4[] = {
+ ABISELECT(32,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x6[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+static VTT_ENTRY vtt_G20x6y4[] = {
+ {&(_ZTV7G20x6y4[3]), 3,4},
+ {&(_tg__ZTV5E20x6__7G20x6y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G20x6y4[];
+extern VTBL_ENTRY _ZTV7G20x6y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x6y4[];
+Class_Descriptor cd_G20x6y4 = { "G20x6y4", // class name
+ bases_G20x6y4, 6,
+ &(vtc_G20x6y4[0]), // expected_vtbl_contents
+ &(vtt_G20x6y4[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI7G20x6y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x6y4),4, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x6y4),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 G20x6y5 : virtual E20x6 , F0 {
+ int ff;
+ ~G20x6y5(); // tgen
+ G20x6y5(); // tgen
+};
+//SIG(1 G20x6y5) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G20x6y5 ::~G20x6y5(){ note_dtor("G20x6y5", this);} // tgen
+G20x6y5 ::G20x6y5(){ note_ctor("G20x6y5", this);} // tgen
+
+static void Test_G20x6y5()
+{
+ extern Class_Descriptor cd_G20x6y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G20x6y5, buf);
+ G20x6y5 *dp, &lv = *(dp=new (buf) G20x6y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G20x6y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x6y5)");
+ check_base_class_offset(lv, (A0*)(C20*)(E20x6*), ABISELECT(28,20), "G20x6y5");
+ check_base_class_offset(lv, (B1*)(C20*)(E20x6*), ABISELECT(16,12), "G20x6y5");
+ check_base_class_offset(lv, (C20*)(E20x6*), ABISELECT(16,12), "G20x6y5");
+ check_base_class_offset(lv, (D0*)(E20x6*), ABISELECT(40,32), "G20x6y5");
+ check_base_class_offset(lv, (E20x6*), ABISELECT(16,12), "G20x6y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G20x6y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G20x6y5.ff");
+ test_class_info(&lv, &cd_G20x6y5);
+ dp->~G20x6y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x6y5(Test_G20x6y5, "G20x6y5", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G20x6y5C1Ev();
+extern void _ZN7G20x6y5D1Ev();
+Name_Map name_map_G20x6y5[] = {
+ NSPAIR(_ZN7G20x6y5C1Ev),
+ NSPAIR(_ZN7G20x6y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E20x6;
+extern VTBL_ENTRY _ZTI5E20x6[];
+extern VTBL_ENTRY _ZTV5E20x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G20x6y5[] = {
+ // 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
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E20x6, 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
+ 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 _ZTI7G20x6y5[];
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY vtc_G20x6y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x6y5[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G20x6y5[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x6y5[];
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY _tg__ZTV5E20x6__7G20x6y5[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x6[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+static VTT_ENTRY vtt_G20x6y5[] = {
+ {&(_ZTV7G20x6y5[4]), 4,9},
+ {&(_ZTV7G20x6y5[8]), 8,9},
+ {&(_tg__ZTV5E20x6__7G20x6y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G20x6y5[];
+extern VTBL_ENTRY _ZTV7G20x6y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x6y5[];
+Class_Descriptor cd_G20x6y5 = { "G20x6y5", // class name
+ bases_G20x6y5, 6,
+ &(vtc_G20x6y5[0]), // expected_vtbl_contents
+ &(vtt_G20x6y5[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G20x6y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x6y5),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x6y5),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 G20x6y6 : E20x6 , virtual F0 {
+ int ff;
+ ~G20x6y6(); // tgen
+ G20x6y6(); // tgen
+};
+//SIG(1 G20x6y6) C1{ BC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G20x6y6 ::~G20x6y6(){ note_dtor("G20x6y6", this);} // tgen
+G20x6y6 ::G20x6y6(){ note_ctor("G20x6y6", this);} // tgen
+
+static void Test_G20x6y6()
+{
+ extern Class_Descriptor cd_G20x6y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G20x6y6, buf);
+ G20x6y6 *dp, &lv = *(dp=new (buf) G20x6y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G20x6y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x6y6)");
+ check_base_class_offset(lv, (A0*)(C20*)(E20x6*), ABISELECT(12,8), "G20x6y6");
+ check_base_class_offset(lv, (B1*)(C20*)(E20x6*), 0, "G20x6y6");
+ check_base_class_offset(lv, (C20*)(E20x6*), 0, "G20x6y6");
+ check_base_class_offset(lv, (D0*)(E20x6*), ABISELECT(28,24), "G20x6y6");
+ check_base_class_offset(lv, (E20x6*), 0, "G20x6y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,28), "G20x6y6");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G20x6y6.ff");
+ test_class_info(&lv, &cd_G20x6y6);
+ dp->~G20x6y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x6y6(Test_G20x6y6, "G20x6y6", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN7G20x6y6C1Ev();
+extern void _ZN7G20x6y6D1Ev();
+Name_Map name_map_G20x6y6[] = {
+ NSPAIR(_ZN7G20x6y6C1Ev),
+ NSPAIR(_ZN7G20x6y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E20x6;
+extern VTBL_ENTRY _ZTI5E20x6[];
+extern VTBL_ENTRY _ZTV5E20x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G20x6y6[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E20x6, 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,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 _ZTI7G20x6y6[];
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY vtc_G20x6y6[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x6y6[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x6y6[];
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY _tg__ZTV5E20x6__7G20x6y6[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x6[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+static VTT_ENTRY vtt_G20x6y6[] = {
+ {&(_ZTV7G20x6y6[4]), 4,5},
+ {&(_tg__ZTV5E20x6__7G20x6y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G20x6y6[];
+extern VTBL_ENTRY _ZTV7G20x6y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x6y6[];
+Class_Descriptor cd_G20x6y6 = { "G20x6y6", // class name
+ bases_G20x6y6, 6,
+ &(vtc_G20x6y6[0]), // expected_vtbl_contents
+ &(vtt_G20x6y6[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI7G20x6y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x6y6),5, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x6y6),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 G20x6y7 : virtual E20x6 , virtual F0 {
+ int ff;
+ ~G20x6y7(); // tgen
+ G20x6y7(); // tgen
+};
+//SIG(1 G20x6y7) C1{ VBC2{ BC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G20x6y7 ::~G20x6y7(){ note_dtor("G20x6y7", this);} // tgen
+G20x6y7 ::G20x6y7(){ note_ctor("G20x6y7", this);} // tgen
+
+static void Test_G20x6y7()
+{
+ extern Class_Descriptor cd_G20x6y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G20x6y7, buf);
+ G20x6y7 *dp, &lv = *(dp=new (buf) G20x6y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G20x6y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x6y7)");
+ check_base_class_offset(lv, (A0*)(C20*)(E20x6*), ABISELECT(28,16), "G20x6y7");
+ check_base_class_offset(lv, (B1*)(C20*)(E20x6*), ABISELECT(16,8), "G20x6y7");
+ check_base_class_offset(lv, (C20*)(E20x6*), ABISELECT(16,8), "G20x6y7");
+ check_base_class_offset(lv, (D0*)(E20x6*), ABISELECT(40,28), "G20x6y7");
+ check_base_class_offset(lv, (E20x6*), ABISELECT(16,8), "G20x6y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G20x6y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G20x6y7.ff");
+ test_class_info(&lv, &cd_G20x6y7);
+ dp->~G20x6y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x6y7(Test_G20x6y7, "G20x6y7", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G20x6y7C1Ev();
+extern void _ZN7G20x6y7D1Ev();
+Name_Map name_map_G20x6y7[] = {
+ NSPAIR(_ZN7G20x6y7C1Ev),
+ NSPAIR(_ZN7G20x6y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E20x6;
+extern VTBL_ENTRY _ZTI5E20x6[];
+extern VTBL_ENTRY _ZTV5E20x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G20x6y7[] = {
+ // 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
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E20x6, 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
+ 3, //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 _ZTI7G20x6y7[];
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY vtc_G20x6y7[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x6y7[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G20x6y7[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x6y7[];
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY _tg__ZTV5E20x6__7G20x6y7[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x6[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+static VTT_ENTRY vtt_G20x6y7[] = {
+ {&(_ZTV7G20x6y7[5]), 5,10},
+ {&(_ZTV7G20x6y7[9]), 9,10},
+ {&(_tg__ZTV5E20x6__7G20x6y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G20x6y7[];
+extern VTBL_ENTRY _ZTV7G20x6y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x6y7[];
+Class_Descriptor cd_G20x6y7 = { "G20x6y7", // class name
+ bases_G20x6y7, 6,
+ &(vtc_G20x6y7[0]), // expected_vtbl_contents
+ &(vtt_G20x6y7[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G20x6y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x6y7),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x6y7),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 E21x6 : C21 , virtual D0 {
+ int fd;
+ ~E21x6(); // tgen
+ E21x6(); // tgen
+};
+//SIG(-1 E21x6) C1{ BC2{ BC3{ v1 Fi} BC4{ v1 Fi} v1 Fi} VBC5{ Fi} Fi}
+
+
+E21x6 ::~E21x6(){ note_dtor("E21x6", this);} // tgen
+E21x6 ::E21x6(){ note_ctor("E21x6", this);} // tgen
+
+static void Test_E21x6()
+{
+ extern Class_Descriptor cd_E21x6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E21x6, buf);
+ E21x6 *dp, &lv = *(dp=new (buf) E21x6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E21x6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E21x6)");
+ check_base_class_offset(lv, (A1*)(C21*), 0, "E21x6");
+ check_base_class_offset(lv, (B1*)(C21*), ABISELECT(16,8), "E21x6");
+ check_base_class_offset(lv, (C21*), 0, "E21x6");
+ check_base_class_offset(lv, (D0*), ABISELECT(36,24), "E21x6");
+ check_field_offset(lv, fd, ABISELECT(32,20), "E21x6.fd");
+ test_class_info(&lv, &cd_E21x6);
+ dp->~E21x6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE21x6(Test_E21x6, "E21x6", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E21x6C1Ev();
+extern void _ZN5E21x6D1Ev();
+Name_Map name_map_E21x6[] = {
+ NSPAIR(_ZN5E21x6C1Ev),
+ NSPAIR(_ZN5E21x6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E21x6[] = {
+ // 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
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D0, 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, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E21x6[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY vtc_E21x6[] = {
+ ABISELECT(36,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x6[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E21x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+extern VTBL_ENTRY _ZTV5E21x6[];
+static VTT_ENTRY vtt_E21x6[] = {
+ {&(_ZTV5E21x6[3]), 3,7},
+};
+extern VTBL_ENTRY _ZTI5E21x6[];
+extern VTBL_ENTRY _ZTV5E21x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x6[];
+Class_Descriptor cd_E21x6 = { "E21x6", // class name
+ bases_E21x6, 4,
+ &(vtc_E21x6[0]), // expected_vtbl_contents
+ &(vtt_E21x6[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E21x6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E21x6),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E21x6),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 G21x6y0 : E21x6 , F1 {
+ int ff;
+ ~G21x6y0(); // tgen
+ G21x6y0(); // tgen
+};
+//SIG(1 G21x6y0) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G21x6y0 ::~G21x6y0(){ note_dtor("G21x6y0", this);} // tgen
+G21x6y0 ::G21x6y0(){ note_ctor("G21x6y0", this);} // tgen
+
+static void Test_G21x6y0()
+{
+ extern Class_Descriptor cd_G21x6y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G21x6y0, buf);
+ G21x6y0 *dp, &lv = *(dp=new (buf) G21x6y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G21x6y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x6y0)");
+ check_base_class_offset(lv, (A1*)(C21*)(E21x6*), 0, "G21x6y0");
+ check_base_class_offset(lv, (B1*)(C21*)(E21x6*), ABISELECT(16,8), "G21x6y0");
+ check_base_class_offset(lv, (C21*)(E21x6*), 0, "G21x6y0");
+ check_base_class_offset(lv, (D0*)(E21x6*), ABISELECT(56,36), "G21x6y0");
+ check_base_class_offset(lv, (E21x6*), 0, "G21x6y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(40,24), "G21x6y0");
+ check_field_offset(lv, ff, ABISELECT(52,32), "G21x6y0.ff");
+ test_class_info(&lv, &cd_G21x6y0);
+ dp->~G21x6y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x6y0(Test_G21x6y0, "G21x6y0", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G21x6y0C1Ev();
+extern void _ZN7G21x6y0D1Ev();
+Name_Map name_map_G21x6y0[] = {
+ NSPAIR(_ZN7G21x6y0C1Ev),
+ NSPAIR(_ZN7G21x6y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E21x6;
+extern VTBL_ENTRY _ZTI5E21x6[];
+extern VTBL_ENTRY _ZTV5E21x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G21x6y0[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E21x6, 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,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 _ZTI7G21x6y0[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G21x6y0[] = {
+ ABISELECT(56,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x6y0[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G21x6y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G21x6y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G21x6y0[];
+extern void _ZN3C213fooEv();
+static VTBL_ENTRY _tg__ZTV5E21x6__7G21x6y0[] = {
+ ABISELECT(56,36),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x6[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+};
+static VTT_ENTRY vtt_G21x6y0[] = {
+ {&(_ZTV7G21x6y0[3]), 3,10},
+ {&(_tg__ZTV5E21x6__7G21x6y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G21x6y0[];
+extern VTBL_ENTRY _ZTV7G21x6y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x6y0[];
+Class_Descriptor cd_G21x6y0 = { "G21x6y0", // class name
+ bases_G21x6y0, 6,
+ &(vtc_G21x6y0[0]), // expected_vtbl_contents
+ &(vtt_G21x6y0[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G21x6y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x6y0),10, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x6y0),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 G21x6y1 : virtual E21x6 , F1 {
+ int ff;
+ ~G21x6y1(); // tgen
+ G21x6y1(); // tgen
+};
+//SIG(1 G21x6y1) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G21x6y1 ::~G21x6y1(){ note_dtor("G21x6y1", this);} // tgen
+G21x6y1 ::G21x6y1(){ note_ctor("G21x6y1", this);} // tgen
+
+static void Test_G21x6y1()
+{
+ extern Class_Descriptor cd_G21x6y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G21x6y1, buf);
+ G21x6y1 *dp, &lv = *(dp=new (buf) G21x6y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G21x6y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x6y1)");
+ check_base_class_offset(lv, (A1*)(C21*)(E21x6*), ABISELECT(16,12), "G21x6y1");
+ check_base_class_offset(lv, (B1*)(C21*)(E21x6*), ABISELECT(32,20), "G21x6y1");
+ check_base_class_offset(lv, (C21*)(E21x6*), ABISELECT(16,12), "G21x6y1");
+ check_base_class_offset(lv, (D0*)(E21x6*), ABISELECT(52,36), "G21x6y1");
+ check_base_class_offset(lv, (E21x6*), ABISELECT(16,12), "G21x6y1");
+ check_base_class_offset(lv, (F1*), 0, "G21x6y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G21x6y1.ff");
+ test_class_info(&lv, &cd_G21x6y1);
+ dp->~G21x6y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x6y1(Test_G21x6y1, "G21x6y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G21x6y1C1Ev();
+extern void _ZN7G21x6y1D1Ev();
+Name_Map name_map_G21x6y1[] = {
+ NSPAIR(_ZN7G21x6y1C1Ev),
+ NSPAIR(_ZN7G21x6y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E21x6;
+extern VTBL_ENTRY _ZTI5E21x6[];
+extern VTBL_ENTRY _ZTV5E21x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G21x6y1[] = {
+ // 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
+ 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
+ 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E21x6, 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 _ZTI7G21x6y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY vtc_G21x6y1[] = {
+ ABISELECT(52,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x6y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(36,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G21x6y1[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G21x6y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+extern VTBL_ENTRY _ZTV7G21x6y1[];
+extern void _ZN3C213fooEv();
+static VTBL_ENTRY _tg__ZTV5E21x6__7G21x6y1[] = {
+ ABISELECT(36,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x6[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+};
+static VTT_ENTRY vtt_G21x6y1[] = {
+ {&(_ZTV7G21x6y1[4]), 4,13},
+ {&(_ZTV7G21x6y1[9]), 9,13},
+ {&(_ZTV7G21x6y1[12]), 12,13},
+ {&(_tg__ZTV5E21x6__7G21x6y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G21x6y1[];
+extern VTBL_ENTRY _ZTV7G21x6y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x6y1[];
+Class_Descriptor cd_G21x6y1 = { "G21x6y1", // class name
+ bases_G21x6y1, 6,
+ &(vtc_G21x6y1[0]), // expected_vtbl_contents
+ &(vtt_G21x6y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G21x6y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x6y1),13, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x6y1),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 G21x6y2 : E21x6 , virtual F1 {
+ int ff;
+ ~G21x6y2(); // tgen
+ G21x6y2(); // tgen
+};
+//SIG(1 G21x6y2) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G21x6y2 ::~G21x6y2(){ note_dtor("G21x6y2", this);} // tgen
+G21x6y2 ::G21x6y2(){ note_ctor("G21x6y2", this);} // tgen
+
+static void Test_G21x6y2()
+{
+ extern Class_Descriptor cd_G21x6y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G21x6y2, buf);
+ G21x6y2 *dp, &lv = *(dp=new (buf) G21x6y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G21x6y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x6y2)");
+ check_base_class_offset(lv, (A1*)(C21*)(E21x6*), 0, "G21x6y2");
+ check_base_class_offset(lv, (B1*)(C21*)(E21x6*), ABISELECT(16,8), "G21x6y2");
+ check_base_class_offset(lv, (C21*)(E21x6*), 0, "G21x6y2");
+ check_base_class_offset(lv, (D0*)(E21x6*), ABISELECT(40,28), "G21x6y2");
+ check_base_class_offset(lv, (E21x6*), 0, "G21x6y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G21x6y2");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G21x6y2.ff");
+ test_class_info(&lv, &cd_G21x6y2);
+ dp->~G21x6y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x6y2(Test_G21x6y2, "G21x6y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G21x6y2C1Ev();
+extern void _ZN7G21x6y2D1Ev();
+Name_Map name_map_G21x6y2[] = {
+ NSPAIR(_ZN7G21x6y2C1Ev),
+ NSPAIR(_ZN7G21x6y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E21x6;
+extern VTBL_ENTRY _ZTI5E21x6[];
+extern VTBL_ENTRY _ZTV5E21x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G21x6y2[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E21x6, 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
+ 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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G21x6y2[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G21x6y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x6y2[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G21x6y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G21x6y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G21x6y2[];
+extern void _ZN3C213fooEv();
+static VTBL_ENTRY _tg__ZTV5E21x6__7G21x6y2[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x6[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+};
+static VTT_ENTRY vtt_G21x6y2[] = {
+ {&(_ZTV7G21x6y2[4]), 4,12},
+ {&(_tg__ZTV5E21x6__7G21x6y2[3]), 3,4},
+ {&(_ZTV7G21x6y2[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI7G21x6y2[];
+extern VTBL_ENTRY _ZTV7G21x6y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x6y2[];
+Class_Descriptor cd_G21x6y2 = { "G21x6y2", // class name
+ bases_G21x6y2, 6,
+ &(vtc_G21x6y2[0]), // expected_vtbl_contents
+ &(vtt_G21x6y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G21x6y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x6y2),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x6y2),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 G21x6y3 : virtual E21x6 , virtual F1 {
+ int ff;
+ ~G21x6y3(); // tgen
+ G21x6y3(); // tgen
+};
+//SIG(1 G21x6y3) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G21x6y3 ::~G21x6y3(){ note_dtor("G21x6y3", this);} // tgen
+G21x6y3 ::G21x6y3(){ note_ctor("G21x6y3", this);} // tgen
+
+static void Test_G21x6y3()
+{
+ extern Class_Descriptor cd_G21x6y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G21x6y3, buf);
+ G21x6y3 *dp, &lv = *(dp=new (buf) G21x6y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G21x6y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x6y3)");
+ check_base_class_offset(lv, (A1*)(C21*)(E21x6*), ABISELECT(16,8), "G21x6y3");
+ check_base_class_offset(lv, (B1*)(C21*)(E21x6*), ABISELECT(32,16), "G21x6y3");
+ check_base_class_offset(lv, (C21*)(E21x6*), ABISELECT(16,8), "G21x6y3");
+ check_base_class_offset(lv, (D0*)(E21x6*), ABISELECT(52,32), "G21x6y3");
+ check_base_class_offset(lv, (E21x6*), ABISELECT(16,8), "G21x6y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G21x6y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G21x6y3.ff");
+ test_class_info(&lv, &cd_G21x6y3);
+ dp->~G21x6y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x6y3(Test_G21x6y3, "G21x6y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G21x6y3C1Ev();
+extern void _ZN7G21x6y3D1Ev();
+Name_Map name_map_G21x6y3[] = {
+ NSPAIR(_ZN7G21x6y3C1Ev),
+ NSPAIR(_ZN7G21x6y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E21x6;
+extern VTBL_ENTRY _ZTI5E21x6[];
+extern VTBL_ENTRY _ZTV5E21x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G21x6y3[] = {
+ // 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
+ 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
+ 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E21x6, 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 _ZTI7G21x6y3[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G21x6y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x6y3[0]),
+ 0,
+ ABISELECT(36,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G21x6y3[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G21x6y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G21x6y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G21x6y3[];
+extern void _ZN3C213fooEv();
+static VTBL_ENTRY _tg__ZTV5E21x6__7G21x6y3[] = {
+ ABISELECT(36,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x6[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+};
+static VTT_ENTRY vtt_G21x6y3[] = {
+ {&(_ZTV7G21x6y3[5]), 5,17},
+ {&(_ZTV7G21x6y3[9]), 9,17},
+ {&(_ZTV7G21x6y3[12]), 12,17},
+ {&(_ZTV7G21x6y3[16]), 16,17},
+ {&(_tg__ZTV5E21x6__7G21x6y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G21x6y3[];
+extern VTBL_ENTRY _ZTV7G21x6y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x6y3[];
+Class_Descriptor cd_G21x6y3 = { "G21x6y3", // class name
+ bases_G21x6y3, 6,
+ &(vtc_G21x6y3[0]), // expected_vtbl_contents
+ &(vtt_G21x6y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G21x6y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x6y3),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x6y3),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 G21x6y4 : E21x6 , F0 {
+ int ff;
+ ~G21x6y4(); // tgen
+ G21x6y4(); // tgen
+};
+//SIG(1 G21x6y4) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G21x6y4 ::~G21x6y4(){ note_dtor("G21x6y4", this);} // tgen
+G21x6y4 ::G21x6y4(){ note_ctor("G21x6y4", this);} // tgen
+
+static void Test_G21x6y4()
+{
+ extern Class_Descriptor cd_G21x6y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G21x6y4, buf);
+ G21x6y4 *dp, &lv = *(dp=new (buf) G21x6y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G21x6y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x6y4)");
+ check_base_class_offset(lv, (A1*)(C21*)(E21x6*), 0, "G21x6y4");
+ check_base_class_offset(lv, (B1*)(C21*)(E21x6*), ABISELECT(16,8), "G21x6y4");
+ check_base_class_offset(lv, (C21*)(E21x6*), 0, "G21x6y4");
+ check_base_class_offset(lv, (D0*)(E21x6*), ABISELECT(44,32), "G21x6y4");
+ check_base_class_offset(lv, (E21x6*), 0, "G21x6y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(36,24), "G21x6y4");
+ check_field_offset(lv, ff, ABISELECT(40,28), "G21x6y4.ff");
+ test_class_info(&lv, &cd_G21x6y4);
+ dp->~G21x6y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x6y4(Test_G21x6y4, "G21x6y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G21x6y4C1Ev();
+extern void _ZN7G21x6y4D1Ev();
+Name_Map name_map_G21x6y4[] = {
+ NSPAIR(_ZN7G21x6y4C1Ev),
+ NSPAIR(_ZN7G21x6y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E21x6;
+extern VTBL_ENTRY _ZTI5E21x6[];
+extern VTBL_ENTRY _ZTV5E21x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G21x6y4[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E21x6, 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(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 _ZTI7G21x6y4[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY vtc_G21x6y4[] = {
+ ABISELECT(44,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x6y4[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G21x6y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+extern VTBL_ENTRY _ZTV7G21x6y4[];
+extern void _ZN3C213fooEv();
+static VTBL_ENTRY _tg__ZTV5E21x6__7G21x6y4[] = {
+ ABISELECT(44,32),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x6[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+};
+static VTT_ENTRY vtt_G21x6y4[] = {
+ {&(_ZTV7G21x6y4[3]), 3,7},
+ {&(_tg__ZTV5E21x6__7G21x6y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G21x6y4[];
+extern VTBL_ENTRY _ZTV7G21x6y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x6y4[];
+Class_Descriptor cd_G21x6y4 = { "G21x6y4", // class name
+ bases_G21x6y4, 6,
+ &(vtc_G21x6y4[0]), // expected_vtbl_contents
+ &(vtt_G21x6y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G21x6y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x6y4),7, //virtual function table var
+ 3, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x6y4),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 G21x6y5 : virtual E21x6 , F0 {
+ int ff;
+ ~G21x6y5(); // tgen
+ G21x6y5(); // tgen
+};
+//SIG(1 G21x6y5) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G21x6y5 ::~G21x6y5(){ note_dtor("G21x6y5", this);} // tgen
+G21x6y5 ::G21x6y5(){ note_ctor("G21x6y5", this);} // tgen
+
+static void Test_G21x6y5()
+{
+ extern Class_Descriptor cd_G21x6y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G21x6y5, buf);
+ G21x6y5 *dp, &lv = *(dp=new (buf) G21x6y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G21x6y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x6y5)");
+ check_base_class_offset(lv, (A1*)(C21*)(E21x6*), ABISELECT(16,12), "G21x6y5");
+ check_base_class_offset(lv, (B1*)(C21*)(E21x6*), ABISELECT(32,20), "G21x6y5");
+ check_base_class_offset(lv, (C21*)(E21x6*), ABISELECT(16,12), "G21x6y5");
+ check_base_class_offset(lv, (D0*)(E21x6*), ABISELECT(52,36), "G21x6y5");
+ check_base_class_offset(lv, (E21x6*), ABISELECT(16,12), "G21x6y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G21x6y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G21x6y5.ff");
+ test_class_info(&lv, &cd_G21x6y5);
+ dp->~G21x6y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x6y5(Test_G21x6y5, "G21x6y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G21x6y5C1Ev();
+extern void _ZN7G21x6y5D1Ev();
+Name_Map name_map_G21x6y5[] = {
+ NSPAIR(_ZN7G21x6y5C1Ev),
+ NSPAIR(_ZN7G21x6y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E21x6;
+extern VTBL_ENTRY _ZTI5E21x6[];
+extern VTBL_ENTRY _ZTV5E21x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G21x6y5[] = {
+ // 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)
+ 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
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_negative_vtable_entries(t, bcp)
+ 0, //bcp->index_in_construction_vtbl_array
+ 0, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E21x6, 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 _ZTI7G21x6y5[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY vtc_G21x6y5[] = {
+ ABISELECT(52,36),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x6y5[0]),
+ 0,
+ ABISELECT(36,24),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G21x6y5[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G21x6y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+extern VTBL_ENTRY _ZTV7G21x6y5[];
+extern void _ZN3C213fooEv();
+static VTBL_ENTRY _tg__ZTV5E21x6__7G21x6y5[] = {
+ ABISELECT(36,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x6[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+};
+static VTT_ENTRY vtt_G21x6y5[] = {
+ {&(_ZTV7G21x6y5[4]), 4,12},
+ {&(_ZTV7G21x6y5[8]), 8,12},
+ {&(_ZTV7G21x6y5[11]), 11,12},
+ {&(_tg__ZTV5E21x6__7G21x6y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G21x6y5[];
+extern VTBL_ENTRY _ZTV7G21x6y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x6y5[];
+Class_Descriptor cd_G21x6y5 = { "G21x6y5", // class name
+ bases_G21x6y5, 6,
+ &(vtc_G21x6y5[0]), // expected_vtbl_contents
+ &(vtt_G21x6y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G21x6y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x6y5),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x6y5),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 G21x6y6 : E21x6 , virtual F0 {
+ int ff;
+ ~G21x6y6(); // tgen
+ G21x6y6(); // tgen
+};
+//SIG(1 G21x6y6) C1{ BC2{ BC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G21x6y6 ::~G21x6y6(){ note_dtor("G21x6y6", this);} // tgen
+G21x6y6 ::G21x6y6(){ note_ctor("G21x6y6", this);} // tgen
+
+static void Test_G21x6y6()
+{
+ extern Class_Descriptor cd_G21x6y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G21x6y6, buf);
+ G21x6y6 *dp, &lv = *(dp=new (buf) G21x6y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G21x6y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x6y6)");
+ check_base_class_offset(lv, (A1*)(C21*)(E21x6*), 0, "G21x6y6");
+ check_base_class_offset(lv, (B1*)(C21*)(E21x6*), ABISELECT(16,8), "G21x6y6");
+ check_base_class_offset(lv, (C21*)(E21x6*), 0, "G21x6y6");
+ check_base_class_offset(lv, (D0*)(E21x6*), ABISELECT(40,28), "G21x6y6");
+ check_base_class_offset(lv, (E21x6*), 0, "G21x6y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G21x6y6");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G21x6y6.ff");
+ test_class_info(&lv, &cd_G21x6y6);
+ dp->~G21x6y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x6y6(Test_G21x6y6, "G21x6y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G21x6y6C1Ev();
+extern void _ZN7G21x6y6D1Ev();
+Name_Map name_map_G21x6y6[] = {
+ NSPAIR(_ZN7G21x6y6C1Ev),
+ NSPAIR(_ZN7G21x6y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E21x6;
+extern VTBL_ENTRY _ZTI5E21x6[];
+extern VTBL_ENTRY _ZTV5E21x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G21x6y6[] = {
+ // 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
+ 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
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E21x6, 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 _ZTI7G21x6y6[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY vtc_G21x6y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x6y6[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G21x6y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+extern VTBL_ENTRY _ZTV7G21x6y6[];
+extern void _ZN3C213fooEv();
+static VTBL_ENTRY _tg__ZTV5E21x6__7G21x6y6[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x6[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+};
+static VTT_ENTRY vtt_G21x6y6[] = {
+ {&(_ZTV7G21x6y6[4]), 4,8},
+ {&(_tg__ZTV5E21x6__7G21x6y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G21x6y6[];
+extern VTBL_ENTRY _ZTV7G21x6y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x6y6[];
+Class_Descriptor cd_G21x6y6 = { "G21x6y6", // class name
+ bases_G21x6y6, 6,
+ &(vtc_G21x6y6[0]), // expected_vtbl_contents
+ &(vtt_G21x6y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G21x6y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x6y6),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x6y6),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 G21x6y7 : virtual E21x6 , virtual F0 {
+ int ff;
+ ~G21x6y7(); // tgen
+ G21x6y7(); // tgen
+};
+//SIG(1 G21x6y7) C1{ VBC2{ BC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G21x6y7 ::~G21x6y7(){ note_dtor("G21x6y7", this);} // tgen
+G21x6y7 ::G21x6y7(){ note_ctor("G21x6y7", this);} // tgen
+
+static void Test_G21x6y7()
+{
+ extern Class_Descriptor cd_G21x6y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G21x6y7, buf);
+ G21x6y7 *dp, &lv = *(dp=new (buf) G21x6y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G21x6y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x6y7)");
+ check_base_class_offset(lv, (A1*)(C21*)(E21x6*), ABISELECT(16,8), "G21x6y7");
+ check_base_class_offset(lv, (B1*)(C21*)(E21x6*), ABISELECT(32,16), "G21x6y7");
+ check_base_class_offset(lv, (C21*)(E21x6*), ABISELECT(16,8), "G21x6y7");
+ check_base_class_offset(lv, (D0*)(E21x6*), ABISELECT(52,32), "G21x6y7");
+ check_base_class_offset(lv, (E21x6*), ABISELECT(16,8), "G21x6y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G21x6y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G21x6y7.ff");
+ test_class_info(&lv, &cd_G21x6y7);
+ dp->~G21x6y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x6y7(Test_G21x6y7, "G21x6y7", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G21x6y7C1Ev();
+extern void _ZN7G21x6y7D1Ev();
+Name_Map name_map_G21x6y7[] = {
+ NSPAIR(_ZN7G21x6y7C1Ev),
+ NSPAIR(_ZN7G21x6y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E21x6;
+extern VTBL_ENTRY _ZTI5E21x6[];
+extern VTBL_ENTRY _ZTV5E21x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G21x6y7[] = {
+ // 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
+ 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
+ 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E21x6, 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(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 _ZTI7G21x6y7[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY vtc_G21x6y7[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x6y7[0]),
+ 0,
+ ABISELECT(36,24),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G21x6y7[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G21x6y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+extern VTBL_ENTRY _ZTV7G21x6y7[];
+extern void _ZN3C213fooEv();
+static VTBL_ENTRY _tg__ZTV5E21x6__7G21x6y7[] = {
+ ABISELECT(36,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x6[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+};
+static VTT_ENTRY vtt_G21x6y7[] = {
+ {&(_ZTV7G21x6y7[5]), 5,13},
+ {&(_ZTV7G21x6y7[9]), 9,13},
+ {&(_ZTV7G21x6y7[12]), 12,13},
+ {&(_tg__ZTV5E21x6__7G21x6y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G21x6y7[];
+extern VTBL_ENTRY _ZTV7G21x6y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x6y7[];
+Class_Descriptor cd_G21x6y7 = { "G21x6y7", // class name
+ bases_G21x6y7, 6,
+ &(vtc_G21x6y7[0]), // expected_vtbl_contents
+ &(vtt_G21x6y7[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G21x6y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x6y7),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x6y7),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 E22x6 : C22 , virtual D0 {
+ int fd;
+ ~E22x6(); // tgen
+ E22x6(); // tgen
+};
+//SIG(-1 E22x6) C1{ BC2{ VBC3{ Fi} BC4{ v1 Fi} v1 Fi} VBC5{ Fi} Fi}
+
+
+E22x6 ::~E22x6(){ note_dtor("E22x6", this);} // tgen
+E22x6 ::E22x6(){ note_ctor("E22x6", this);} // tgen
+
+static void Test_E22x6()
+{
+ extern Class_Descriptor cd_E22x6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(5,7)];
+ init_test(&cd_E22x6, buf);
+ E22x6 *dp, &lv = *(dp=new (buf) E22x6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(32,24), "sizeof(E22x6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E22x6)");
+ check_base_class_offset(lv, (A0*)(C22*), ABISELECT(20,16), "E22x6");
+ check_base_class_offset(lv, (B1*)(C22*), 0, "E22x6");
+ check_base_class_offset(lv, (C22*), 0, "E22x6");
+ check_base_class_offset(lv, (D0*), ABISELECT(24,20), "E22x6");
+ check_field_offset(lv, fd, ABISELECT(16,12), "E22x6.fd");
+ test_class_info(&lv, &cd_E22x6);
+ dp->~E22x6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE22x6(Test_E22x6, "E22x6", ABISELECT(32,24));
+
+#else // __cplusplus
+
+extern void _ZN5E22x6C1Ev();
+extern void _ZN5E22x6D1Ev();
+Name_Map name_map_E22x6[] = {
+ NSPAIR(_ZN5E22x6C1Ev),
+ NSPAIR(_ZN5E22x6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E22x6[] = {
+ // 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
+ 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_D0, 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, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E22x6[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY vtc_E22x6[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x6[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern VTBL_ENTRY _ZTV5E22x6[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__5E22x6[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_E22x6[] = {
+ {&(_ZTV5E22x6[4]), 4,5},
+ {&(_tg__ZTV3C22__5E22x6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E22x6[];
+extern VTBL_ENTRY _ZTV5E22x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x6[];
+Class_Descriptor cd_E22x6 = { "E22x6", // class name
+ bases_E22x6, 4,
+ &(vtc_E22x6[0]), // expected_vtbl_contents
+ &(vtt_E22x6[0]), // expected_vtt_contents
+ ABISELECT(32,24), // object size
+ NSPAIRA(_ZTI5E22x6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E22x6),5, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E22x6),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 G22x6y0 : E22x6 , F1 {
+ int ff;
+ ~G22x6y0(); // tgen
+ G22x6y0(); // tgen
+};
+//SIG(1 G22x6y0) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G22x6y0 ::~G22x6y0(){ note_dtor("G22x6y0", this);} // tgen
+G22x6y0 ::G22x6y0(){ note_ctor("G22x6y0", this);} // tgen
+
+static void Test_G22x6y0()
+{
+ extern Class_Descriptor cd_G22x6y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G22x6y0, buf);
+ G22x6y0 *dp, &lv = *(dp=new (buf) G22x6y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G22x6y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x6y0)");
+ check_base_class_offset(lv, (A0*)(C22*)(E22x6*), ABISELECT(40,28), "G22x6y0");
+ check_base_class_offset(lv, (B1*)(C22*)(E22x6*), 0, "G22x6y0");
+ check_base_class_offset(lv, (C22*)(E22x6*), 0, "G22x6y0");
+ check_base_class_offset(lv, (D0*)(E22x6*), ABISELECT(44,32), "G22x6y0");
+ check_base_class_offset(lv, (E22x6*), 0, "G22x6y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,16), "G22x6y0");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G22x6y0.ff");
+ test_class_info(&lv, &cd_G22x6y0);
+ dp->~G22x6y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x6y0(Test_G22x6y0, "G22x6y0", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G22x6y0C1Ev();
+extern void _ZN7G22x6y0D1Ev();
+Name_Map name_map_G22x6y0[] = {
+ NSPAIR(_ZN7G22x6y0C1Ev),
+ NSPAIR(_ZN7G22x6y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E22x6;
+extern VTBL_ENTRY _ZTI5E22x6[];
+extern VTBL_ENTRY _ZTV5E22x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G22x6y0[] = {
+ // 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
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E22x6, 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 _ZTI7G22x6y0[];
+extern void _ZN3C223fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G22x6y0[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x6y0[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G22x6y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x6y0[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV5E22x6__7G22x6y0[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x6[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C225E22x6__7G22x6y0[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x6y0[] = {
+ {&(_ZTV7G22x6y0[4]), 4,8},
+ {&(_tg__ZTV5E22x6__7G22x6y0[4]), 4,5},
+ {&(_tg__ZTV3C225E22x6__7G22x6y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x6y0[];
+extern VTBL_ENTRY _ZTV7G22x6y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x6y0[];
+Class_Descriptor cd_G22x6y0 = { "G22x6y0", // class name
+ bases_G22x6y0, 6,
+ &(vtc_G22x6y0[0]), // expected_vtbl_contents
+ &(vtt_G22x6y0[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G22x6y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x6y0),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x6y0),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 G22x6y1 : virtual E22x6 , F1 {
+ int ff;
+ ~G22x6y1(); // tgen
+ G22x6y1(); // tgen
+};
+//SIG(1 G22x6y1) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G22x6y1 ::~G22x6y1(){ note_dtor("G22x6y1", this);} // tgen
+G22x6y1 ::G22x6y1(){ note_ctor("G22x6y1", this);} // tgen
+
+static void Test_G22x6y1()
+{
+ extern Class_Descriptor cd_G22x6y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G22x6y1, buf);
+ G22x6y1 *dp, &lv = *(dp=new (buf) G22x6y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G22x6y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x6y1)");
+ check_base_class_offset(lv, (A0*)(C22*)(E22x6*), ABISELECT(36,28), "G22x6y1");
+ check_base_class_offset(lv, (B1*)(C22*)(E22x6*), ABISELECT(16,12), "G22x6y1");
+ check_base_class_offset(lv, (C22*)(E22x6*), ABISELECT(16,12), "G22x6y1");
+ check_base_class_offset(lv, (D0*)(E22x6*), ABISELECT(40,32), "G22x6y1");
+ check_base_class_offset(lv, (E22x6*), ABISELECT(16,12), "G22x6y1");
+ check_base_class_offset(lv, (F1*), 0, "G22x6y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G22x6y1.ff");
+ test_class_info(&lv, &cd_G22x6y1);
+ dp->~G22x6y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x6y1(Test_G22x6y1, "G22x6y1", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G22x6y1C1Ev();
+extern void _ZN7G22x6y1D1Ev();
+Name_Map name_map_G22x6y1[] = {
+ NSPAIR(_ZN7G22x6y1C1Ev),
+ NSPAIR(_ZN7G22x6y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E22x6;
+extern VTBL_ENTRY _ZTI5E22x6[];
+extern VTBL_ENTRY _ZTV5E22x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G22x6y1[] = {
+ // 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
+ 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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E22x6, 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
+ 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 _ZTI7G22x6y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY vtc_G22x6y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x6y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G22x6y1[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x6y1[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV5E22x6__7G22x6y1[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x6[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C225E22x6__7G22x6y1[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x6y1[] = {
+ {&(_ZTV7G22x6y1[5]), 5,12},
+ {&(_ZTV7G22x6y1[11]), 11,12},
+ {&(_tg__ZTV5E22x6__7G22x6y1[4]), 4,5},
+ {&(_tg__ZTV3C225E22x6__7G22x6y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x6y1[];
+extern VTBL_ENTRY _ZTV7G22x6y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x6y1[];
+Class_Descriptor cd_G22x6y1 = { "G22x6y1", // class name
+ bases_G22x6y1, 6,
+ &(vtc_G22x6y1[0]), // expected_vtbl_contents
+ &(vtt_G22x6y1[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G22x6y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x6y1),12, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x6y1),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 G22x6y2 : E22x6 , virtual F1 {
+ int ff;
+ ~G22x6y2(); // tgen
+ G22x6y2(); // tgen
+};
+//SIG(1 G22x6y2) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G22x6y2 ::~G22x6y2(){ note_dtor("G22x6y2", this);} // tgen
+G22x6y2 ::G22x6y2(){ note_ctor("G22x6y2", this);} // tgen
+
+static void Test_G22x6y2()
+{
+ extern Class_Descriptor cd_G22x6y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G22x6y2, buf);
+ G22x6y2 *dp, &lv = *(dp=new (buf) G22x6y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G22x6y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x6y2)");
+ check_base_class_offset(lv, (A0*)(C22*)(E22x6*), ABISELECT(24,20), "G22x6y2");
+ check_base_class_offset(lv, (B1*)(C22*)(E22x6*), 0, "G22x6y2");
+ check_base_class_offset(lv, (C22*)(E22x6*), 0, "G22x6y2");
+ check_base_class_offset(lv, (D0*)(E22x6*), ABISELECT(28,24), "G22x6y2");
+ check_base_class_offset(lv, (E22x6*), 0, "G22x6y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,28), "G22x6y2");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G22x6y2.ff");
+ test_class_info(&lv, &cd_G22x6y2);
+ dp->~G22x6y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x6y2(Test_G22x6y2, "G22x6y2", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G22x6y2C1Ev();
+extern void _ZN7G22x6y2D1Ev();
+Name_Map name_map_G22x6y2[] = {
+ NSPAIR(_ZN7G22x6y2C1Ev),
+ NSPAIR(_ZN7G22x6y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E22x6;
+extern VTBL_ENTRY _ZTI5E22x6[];
+extern VTBL_ENTRY _ZTV5E22x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G22x6y2[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E22x6, 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,28), //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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G22x6y2[];
+extern void _ZN3C223fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G22x6y2[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x6y2[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI7G22x6y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x6y2[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV5E22x6__7G22x6y2[] = {
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x6[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C225E22x6__7G22x6y2[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x6y2[] = {
+ {&(_ZTV7G22x6y2[5]), 5,10},
+ {&(_tg__ZTV5E22x6__7G22x6y2[4]), 4,5},
+ {&(_tg__ZTV3C225E22x6__7G22x6y2[3]), 3,4},
+ {&(_ZTV7G22x6y2[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI7G22x6y2[];
+extern VTBL_ENTRY _ZTV7G22x6y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x6y2[];
+Class_Descriptor cd_G22x6y2 = { "G22x6y2", // class name
+ bases_G22x6y2, 6,
+ &(vtc_G22x6y2[0]), // expected_vtbl_contents
+ &(vtt_G22x6y2[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G22x6y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x6y2),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x6y2),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 G22x6y3 : virtual E22x6 , virtual F1 {
+ int ff;
+ ~G22x6y3(); // tgen
+ G22x6y3(); // tgen
+};
+//SIG(1 G22x6y3) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G22x6y3 ::~G22x6y3(){ note_dtor("G22x6y3", this);} // tgen
+G22x6y3 ::G22x6y3(){ note_ctor("G22x6y3", this);} // tgen
+
+static void Test_G22x6y3()
+{
+ extern Class_Descriptor cd_G22x6y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G22x6y3, buf);
+ G22x6y3 *dp, &lv = *(dp=new (buf) G22x6y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G22x6y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x6y3)");
+ check_base_class_offset(lv, (A0*)(C22*)(E22x6*), ABISELECT(36,24), "G22x6y3");
+ check_base_class_offset(lv, (B1*)(C22*)(E22x6*), ABISELECT(16,8), "G22x6y3");
+ check_base_class_offset(lv, (C22*)(E22x6*), ABISELECT(16,8), "G22x6y3");
+ check_base_class_offset(lv, (D0*)(E22x6*), ABISELECT(40,28), "G22x6y3");
+ check_base_class_offset(lv, (E22x6*), ABISELECT(16,8), "G22x6y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G22x6y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G22x6y3.ff");
+ test_class_info(&lv, &cd_G22x6y3);
+ dp->~G22x6y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x6y3(Test_G22x6y3, "G22x6y3", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G22x6y3C1Ev();
+extern void _ZN7G22x6y3D1Ev();
+Name_Map name_map_G22x6y3[] = {
+ NSPAIR(_ZN7G22x6y3C1Ev),
+ NSPAIR(_ZN7G22x6y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E22x6;
+extern VTBL_ENTRY _ZTI5E22x6[];
+extern VTBL_ENTRY _ZTV5E22x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G22x6y3[] = {
+ // 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
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E22x6, 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_F1, 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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G22x6y3[];
+extern void _ZN3C223fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G22x6y3[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x6y3[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G22x6y3[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G22x6y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x6y3[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV5E22x6__7G22x6y3[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x6[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C225E22x6__7G22x6y3[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x6y3[] = {
+ {&(_ZTV7G22x6y3[6]), 6,16},
+ {&(_ZTV7G22x6y3[11]), 11,16},
+ {&(_ZTV7G22x6y3[15]), 15,16},
+ {&(_tg__ZTV5E22x6__7G22x6y3[4]), 4,5},
+ {&(_tg__ZTV3C225E22x6__7G22x6y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x6y3[];
+extern VTBL_ENTRY _ZTV7G22x6y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x6y3[];
+Class_Descriptor cd_G22x6y3 = { "G22x6y3", // class name
+ bases_G22x6y3, 6,
+ &(vtc_G22x6y3[0]), // expected_vtbl_contents
+ &(vtt_G22x6y3[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G22x6y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x6y3),16, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x6y3),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 G22x6y4 : E22x6 , F0 {
+ int ff;
+ ~G22x6y4(); // tgen
+ G22x6y4(); // tgen
+};
+//SIG(1 G22x6y4) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G22x6y4 ::~G22x6y4(){ note_dtor("G22x6y4", this);} // tgen
+G22x6y4 ::G22x6y4(){ note_ctor("G22x6y4", this);} // tgen
+
+static void Test_G22x6y4()
+{
+ extern Class_Descriptor cd_G22x6y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G22x6y4, buf);
+ G22x6y4 *dp, &lv = *(dp=new (buf) G22x6y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G22x6y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x6y4)");
+ check_base_class_offset(lv, (A0*)(C22*)(E22x6*), ABISELECT(28,24), "G22x6y4");
+ check_base_class_offset(lv, (B1*)(C22*)(E22x6*), 0, "G22x6y4");
+ check_base_class_offset(lv, (C22*)(E22x6*), 0, "G22x6y4");
+ check_base_class_offset(lv, (D0*)(E22x6*), ABISELECT(32,28), "G22x6y4");
+ check_base_class_offset(lv, (E22x6*), 0, "G22x6y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(20,16), "G22x6y4");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G22x6y4.ff");
+ test_class_info(&lv, &cd_G22x6y4);
+ dp->~G22x6y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x6y4(Test_G22x6y4, "G22x6y4", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN7G22x6y4C1Ev();
+extern void _ZN7G22x6y4D1Ev();
+Name_Map name_map_G22x6y4[] = {
+ NSPAIR(_ZN7G22x6y4C1Ev),
+ NSPAIR(_ZN7G22x6y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E22x6;
+extern VTBL_ENTRY _ZTI5E22x6[];
+extern VTBL_ENTRY _ZTV5E22x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G22x6y4[] = {
+ // 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
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E22x6, 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 _ZTI7G22x6y4[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY vtc_G22x6y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x6y4[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x6y4[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV5E22x6__7G22x6y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x6[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C225E22x6__7G22x6y4[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x6y4[] = {
+ {&(_ZTV7G22x6y4[4]), 4,5},
+ {&(_tg__ZTV5E22x6__7G22x6y4[4]), 4,5},
+ {&(_tg__ZTV3C225E22x6__7G22x6y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x6y4[];
+extern VTBL_ENTRY _ZTV7G22x6y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x6y4[];
+Class_Descriptor cd_G22x6y4 = { "G22x6y4", // class name
+ bases_G22x6y4, 6,
+ &(vtc_G22x6y4[0]), // expected_vtbl_contents
+ &(vtt_G22x6y4[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI7G22x6y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x6y4),5, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x6y4),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 G22x6y5 : virtual E22x6 , F0 {
+ int ff;
+ ~G22x6y5(); // tgen
+ G22x6y5(); // tgen
+};
+//SIG(1 G22x6y5) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G22x6y5 ::~G22x6y5(){ note_dtor("G22x6y5", this);} // tgen
+G22x6y5 ::G22x6y5(){ note_ctor("G22x6y5", this);} // tgen
+
+static void Test_G22x6y5()
+{
+ extern Class_Descriptor cd_G22x6y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G22x6y5, buf);
+ G22x6y5 *dp, &lv = *(dp=new (buf) G22x6y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G22x6y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x6y5)");
+ check_base_class_offset(lv, (A0*)(C22*)(E22x6*), ABISELECT(36,28), "G22x6y5");
+ check_base_class_offset(lv, (B1*)(C22*)(E22x6*), ABISELECT(16,12), "G22x6y5");
+ check_base_class_offset(lv, (C22*)(E22x6*), ABISELECT(16,12), "G22x6y5");
+ check_base_class_offset(lv, (D0*)(E22x6*), ABISELECT(40,32), "G22x6y5");
+ check_base_class_offset(lv, (E22x6*), ABISELECT(16,12), "G22x6y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G22x6y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G22x6y5.ff");
+ test_class_info(&lv, &cd_G22x6y5);
+ dp->~G22x6y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x6y5(Test_G22x6y5, "G22x6y5", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G22x6y5C1Ev();
+extern void _ZN7G22x6y5D1Ev();
+Name_Map name_map_G22x6y5[] = {
+ NSPAIR(_ZN7G22x6y5C1Ev),
+ NSPAIR(_ZN7G22x6y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E22x6;
+extern VTBL_ENTRY _ZTI5E22x6[];
+extern VTBL_ENTRY _ZTV5E22x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G22x6y5[] = {
+ // 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
+ 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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E22x6, 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
+ 3, //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 _ZTI7G22x6y5[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY vtc_G22x6y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x6y5[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G22x6y5[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x6y5[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV5E22x6__7G22x6y5[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x6[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C225E22x6__7G22x6y5[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x6y5[] = {
+ {&(_ZTV7G22x6y5[5]), 5,11},
+ {&(_ZTV7G22x6y5[10]), 10,11},
+ {&(_tg__ZTV5E22x6__7G22x6y5[4]), 4,5},
+ {&(_tg__ZTV3C225E22x6__7G22x6y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x6y5[];
+extern VTBL_ENTRY _ZTV7G22x6y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x6y5[];
+Class_Descriptor cd_G22x6y5 = { "G22x6y5", // class name
+ bases_G22x6y5, 6,
+ &(vtc_G22x6y5[0]), // expected_vtbl_contents
+ &(vtt_G22x6y5[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G22x6y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x6y5),11, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x6y5),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 G22x6y6 : E22x6 , virtual F0 {
+ int ff;
+ ~G22x6y6(); // tgen
+ G22x6y6(); // tgen
+};
+//SIG(1 G22x6y6) C1{ BC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G22x6y6 ::~G22x6y6(){ note_dtor("G22x6y6", this);} // tgen
+G22x6y6 ::G22x6y6(){ note_ctor("G22x6y6", this);} // tgen
+
+static void Test_G22x6y6()
+{
+ extern Class_Descriptor cd_G22x6y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G22x6y6, buf);
+ G22x6y6 *dp, &lv = *(dp=new (buf) G22x6y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G22x6y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x6y6)");
+ check_base_class_offset(lv, (A0*)(C22*)(E22x6*), ABISELECT(24,20), "G22x6y6");
+ check_base_class_offset(lv, (B1*)(C22*)(E22x6*), 0, "G22x6y6");
+ check_base_class_offset(lv, (C22*)(E22x6*), 0, "G22x6y6");
+ check_base_class_offset(lv, (D0*)(E22x6*), ABISELECT(28,24), "G22x6y6");
+ check_base_class_offset(lv, (E22x6*), 0, "G22x6y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,28), "G22x6y6");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G22x6y6.ff");
+ test_class_info(&lv, &cd_G22x6y6);
+ dp->~G22x6y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x6y6(Test_G22x6y6, "G22x6y6", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN7G22x6y6C1Ev();
+extern void _ZN7G22x6y6D1Ev();
+Name_Map name_map_G22x6y6[] = {
+ NSPAIR(_ZN7G22x6y6C1Ev),
+ NSPAIR(_ZN7G22x6y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E22x6;
+extern VTBL_ENTRY _ZTI5E22x6[];
+extern VTBL_ENTRY _ZTV5E22x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G22x6y6[] = {
+ // 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
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E22x6, 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,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 _ZTI7G22x6y6[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY vtc_G22x6y6[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x6y6[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x6y6[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV5E22x6__7G22x6y6[] = {
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x6[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C225E22x6__7G22x6y6[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x6y6[] = {
+ {&(_ZTV7G22x6y6[5]), 5,6},
+ {&(_tg__ZTV5E22x6__7G22x6y6[4]), 4,5},
+ {&(_tg__ZTV3C225E22x6__7G22x6y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x6y6[];
+extern VTBL_ENTRY _ZTV7G22x6y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x6y6[];
+Class_Descriptor cd_G22x6y6 = { "G22x6y6", // class name
+ bases_G22x6y6, 6,
+ &(vtc_G22x6y6[0]), // expected_vtbl_contents
+ &(vtt_G22x6y6[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI7G22x6y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x6y6),6, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x6y6),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 G22x6y7 : virtual E22x6 , virtual F0 {
+ int ff;
+ ~G22x6y7(); // tgen
+ G22x6y7(); // tgen
+};
+//SIG(1 G22x6y7) C1{ VBC2{ BC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G22x6y7 ::~G22x6y7(){ note_dtor("G22x6y7", this);} // tgen
+G22x6y7 ::G22x6y7(){ note_ctor("G22x6y7", this);} // tgen
+
+static void Test_G22x6y7()
+{
+ extern Class_Descriptor cd_G22x6y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G22x6y7, buf);
+ G22x6y7 *dp, &lv = *(dp=new (buf) G22x6y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G22x6y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x6y7)");
+ check_base_class_offset(lv, (A0*)(C22*)(E22x6*), ABISELECT(36,24), "G22x6y7");
+ check_base_class_offset(lv, (B1*)(C22*)(E22x6*), ABISELECT(16,8), "G22x6y7");
+ check_base_class_offset(lv, (C22*)(E22x6*), ABISELECT(16,8), "G22x6y7");
+ check_base_class_offset(lv, (D0*)(E22x6*), ABISELECT(40,28), "G22x6y7");
+ check_base_class_offset(lv, (E22x6*), ABISELECT(16,8), "G22x6y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G22x6y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G22x6y7.ff");
+ test_class_info(&lv, &cd_G22x6y7);
+ dp->~G22x6y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x6y7(Test_G22x6y7, "G22x6y7", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G22x6y7C1Ev();
+extern void _ZN7G22x6y7D1Ev();
+Name_Map name_map_G22x6y7[] = {
+ NSPAIR(_ZN7G22x6y7C1Ev),
+ NSPAIR(_ZN7G22x6y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E22x6;
+extern VTBL_ENTRY _ZTI5E22x6[];
+extern VTBL_ENTRY _ZTV5E22x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G22x6y7[] = {
+ // 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
+ 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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E22x6, 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
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //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 _ZTI7G22x6y7[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY vtc_G22x6y7[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x6y7[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G22x6y7[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x6y7[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV5E22x6__7G22x6y7[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x6[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C225E22x6__7G22x6y7[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x6y7[] = {
+ {&(_ZTV7G22x6y7[6]), 6,12},
+ {&(_ZTV7G22x6y7[11]), 11,12},
+ {&(_tg__ZTV5E22x6__7G22x6y7[4]), 4,5},
+ {&(_tg__ZTV3C225E22x6__7G22x6y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x6y7[];
+extern VTBL_ENTRY _ZTV7G22x6y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x6y7[];
+Class_Descriptor cd_G22x6y7 = { "G22x6y7", // class name
+ bases_G22x6y7, 6,
+ &(vtc_G22x6y7[0]), // expected_vtbl_contents
+ &(vtt_G22x6y7[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G22x6y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x6y7),12, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x6y7),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 E23x6 : C23 , virtual D0 {
+ int fd;
+ ~E23x6(); // tgen
+ E23x6(); // tgen
+};
+//SIG(-1 E23x6) C1{ BC2{ VBC3{ v1 Fi} BC4{ v1 Fi} v1 Fi} VBC5{ Fi} Fi}
+
+
+E23x6 ::~E23x6(){ note_dtor("E23x6", this);} // tgen
+E23x6 ::E23x6(){ note_ctor("E23x6", this);} // tgen
+
+static void Test_E23x6()
+{
+ extern Class_Descriptor cd_E23x6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E23x6, buf);
+ E23x6 *dp, &lv = *(dp=new (buf) E23x6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E23x6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E23x6)");
+ check_base_class_offset(lv, (A1*)(C23*), ABISELECT(24,16), "E23x6");
+ check_base_class_offset(lv, (B1*)(C23*), 0, "E23x6");
+ check_base_class_offset(lv, (C23*), 0, "E23x6");
+ check_base_class_offset(lv, (D0*), ABISELECT(36,24), "E23x6");
+ check_field_offset(lv, fd, ABISELECT(16,12), "E23x6.fd");
+ test_class_info(&lv, &cd_E23x6);
+ dp->~E23x6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE23x6(Test_E23x6, "E23x6", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E23x6C1Ev();
+extern void _ZN5E23x6D1Ev();
+Name_Map name_map_E23x6[] = {
+ NSPAIR(_ZN5E23x6C1Ev),
+ NSPAIR(_ZN5E23x6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E23x6[] = {
+ // 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
+ 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_D0, 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, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E23x6[];
+extern void _ZN3C233fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn24_N3C233fooEv,_ZThn16_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_E23x6[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x6[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E23x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern VTBL_ENTRY _ZTV5E23x6[];
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__5E23x6[] = {
+ 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__5E23x6[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_E23x6[] = {
+ {&(_ZTV5E23x6[4]), 4,9},
+ {&(_tg__ZTV3C23__5E23x6[3]), 3,4},
+ {&(_tg__ZTV2A1__3C23__5E23x6[3]), 3,4},
+ {&(_ZTV5E23x6[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI5E23x6[];
+extern VTBL_ENTRY _ZTV5E23x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x6[];
+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_E23x6 = { "E23x6", // class name
+ bases_E23x6, 4,
+ &(vtc_E23x6[0]), // expected_vtbl_contents
+ &(vtt_E23x6[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E23x6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E23x6),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E23x6),4, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names143,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x6y0 : E23x6 , F1 {
+ int ff;
+ ~G23x6y0(); // tgen
+ G23x6y0(); // tgen
+};
+//SIG(1 G23x6y0) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G23x6y0 ::~G23x6y0(){ note_dtor("G23x6y0", this);} // tgen
+G23x6y0 ::G23x6y0(){ note_ctor("G23x6y0", this);} // tgen
+
+static void Test_G23x6y0()
+{
+ extern Class_Descriptor cd_G23x6y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G23x6y0, buf);
+ G23x6y0 *dp, &lv = *(dp=new (buf) G23x6y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G23x6y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x6y0)");
+ check_base_class_offset(lv, (A1*)(C23*)(E23x6*), ABISELECT(40,28), "G23x6y0");
+ check_base_class_offset(lv, (B1*)(C23*)(E23x6*), 0, "G23x6y0");
+ check_base_class_offset(lv, (C23*)(E23x6*), 0, "G23x6y0");
+ check_base_class_offset(lv, (D0*)(E23x6*), ABISELECT(52,36), "G23x6y0");
+ check_base_class_offset(lv, (E23x6*), 0, "G23x6y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,16), "G23x6y0");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G23x6y0.ff");
+ test_class_info(&lv, &cd_G23x6y0);
+ dp->~G23x6y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x6y0(Test_G23x6y0, "G23x6y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G23x6y0C1Ev();
+extern void _ZN7G23x6y0D1Ev();
+Name_Map name_map_G23x6y0[] = {
+ NSPAIR(_ZN7G23x6y0C1Ev),
+ NSPAIR(_ZN7G23x6y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E23x6;
+extern VTBL_ENTRY _ZTI5E23x6[];
+extern VTBL_ENTRY _ZTV5E23x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G23x6y0[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E23x6, 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 _ZTI7G23x6y0[];
+extern void _ZN3C233fooEv();
+extern void _ZN2F13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn40_N3C233fooEv,_ZThn28_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G23x6y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x6y0[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G23x6y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G23x6y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern VTBL_ENTRY _ZTV7G23x6y0[];
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV5E23x6__7G23x6y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x6[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C235E23x6__7G23x6y0[] = {
+ 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__3C235E23x6__7G23x6y0[] = {
+ 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__5E23x6__7G23x6y0[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E23x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x6y0[] = {
+ {&(_ZTV7G23x6y0[4]), 4,12},
+ {&(_tg__ZTV5E23x6__7G23x6y0[4]), 4,5},
+ {&(_tg__ZTV3C235E23x6__7G23x6y0[3]), 3,4},
+ {&(_tg__ZTV2A1__3C235E23x6__7G23x6y0[3]), 3,4},
+ {&(_tg__ZTV2A1__5E23x6__7G23x6y0[3]), 3,4},
+ {&(_ZTV7G23x6y0[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI7G23x6y0[];
+extern VTBL_ENTRY _ZTV7G23x6y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x6y0[];
+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_G23x6y0 = { "G23x6y0", // class name
+ bases_G23x6y0, 6,
+ &(vtc_G23x6y0[0]), // expected_vtbl_contents
+ &(vtt_G23x6y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G23x6y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x6y0),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x6y0),6, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names144,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x6y1 : virtual E23x6 , F1 {
+ int ff;
+ ~G23x6y1(); // tgen
+ G23x6y1(); // tgen
+};
+//SIG(1 G23x6y1) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G23x6y1 ::~G23x6y1(){ note_dtor("G23x6y1", this);} // tgen
+G23x6y1 ::G23x6y1(){ note_ctor("G23x6y1", this);} // tgen
+
+static void Test_G23x6y1()
+{
+ extern Class_Descriptor cd_G23x6y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G23x6y1, buf);
+ G23x6y1 *dp, &lv = *(dp=new (buf) G23x6y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G23x6y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x6y1)");
+ check_base_class_offset(lv, (A1*)(C23*)(E23x6*), ABISELECT(40,28), "G23x6y1");
+ check_base_class_offset(lv, (B1*)(C23*)(E23x6*), ABISELECT(16,12), "G23x6y1");
+ check_base_class_offset(lv, (C23*)(E23x6*), ABISELECT(16,12), "G23x6y1");
+ check_base_class_offset(lv, (D0*)(E23x6*), ABISELECT(52,36), "G23x6y1");
+ check_base_class_offset(lv, (E23x6*), ABISELECT(16,12), "G23x6y1");
+ check_base_class_offset(lv, (F1*), 0, "G23x6y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G23x6y1.ff");
+ test_class_info(&lv, &cd_G23x6y1);
+ dp->~G23x6y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x6y1(Test_G23x6y1, "G23x6y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G23x6y1C1Ev();
+extern void _ZN7G23x6y1D1Ev();
+Name_Map name_map_G23x6y1[] = {
+ NSPAIR(_ZN7G23x6y1C1Ev),
+ NSPAIR(_ZN7G23x6y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E23x6;
+extern VTBL_ENTRY _ZTI5E23x6[];
+extern VTBL_ENTRY _ZTV5E23x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G23x6y1[] = {
+ // 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
+ 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E23x6, 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 _ZTI7G23x6y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C233fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn24_N3C233fooEv,_ZThn16_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G23x6y1[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x6y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G23x6y1[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G23x6y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern VTBL_ENTRY _ZTV7G23x6y1[];
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV5E23x6__7G23x6y1[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x6[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C235E23x6__7G23x6y1[] = {
+ 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__3C235E23x6__7G23x6y1[] = {
+ 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__5E23x6__7G23x6y1[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E23x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x6y1[] = {
+ {&(_ZTV7G23x6y1[5]), 5,16},
+ {&(_ZTV7G23x6y1[11]), 11,16},
+ {&(_ZTV7G23x6y1[15]), 15,16},
+ {&(_tg__ZTV5E23x6__7G23x6y1[4]), 4,5},
+ {&(_tg__ZTV3C235E23x6__7G23x6y1[3]), 3,4},
+ {&(_tg__ZTV2A1__3C235E23x6__7G23x6y1[3]), 3,4},
+ {&(_tg__ZTV2A1__5E23x6__7G23x6y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G23x6y1[];
+extern VTBL_ENTRY _ZTV7G23x6y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x6y1[];
+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_G23x6y1 = { "G23x6y1", // class name
+ bases_G23x6y1, 6,
+ &(vtc_G23x6y1[0]), // expected_vtbl_contents
+ &(vtt_G23x6y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G23x6y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x6y1),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x6y1),7, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names145,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x6y2 : E23x6 , virtual F1 {
+ int ff;
+ ~G23x6y2(); // tgen
+ G23x6y2(); // tgen
+};
+//SIG(1 G23x6y2) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G23x6y2 ::~G23x6y2(){ note_dtor("G23x6y2", this);} // tgen
+G23x6y2 ::G23x6y2(){ note_ctor("G23x6y2", this);} // tgen
+
+static void Test_G23x6y2()
+{
+ extern Class_Descriptor cd_G23x6y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G23x6y2, buf);
+ G23x6y2 *dp, &lv = *(dp=new (buf) G23x6y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G23x6y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x6y2)");
+ check_base_class_offset(lv, (A1*)(C23*)(E23x6*), ABISELECT(24,20), "G23x6y2");
+ check_base_class_offset(lv, (B1*)(C23*)(E23x6*), 0, "G23x6y2");
+ check_base_class_offset(lv, (C23*)(E23x6*), 0, "G23x6y2");
+ check_base_class_offset(lv, (D0*)(E23x6*), ABISELECT(36,28), "G23x6y2");
+ check_base_class_offset(lv, (E23x6*), 0, "G23x6y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(40,32), "G23x6y2");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G23x6y2.ff");
+ test_class_info(&lv, &cd_G23x6y2);
+ dp->~G23x6y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x6y2(Test_G23x6y2, "G23x6y2", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G23x6y2C1Ev();
+extern void _ZN7G23x6y2D1Ev();
+Name_Map name_map_G23x6y2[] = {
+ NSPAIR(_ZN7G23x6y2C1Ev),
+ NSPAIR(_ZN7G23x6y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E23x6;
+extern VTBL_ENTRY _ZTI5E23x6[];
+extern VTBL_ENTRY _ZTV5E23x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G23x6y2[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E23x6, 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(40,32), //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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G23x6y2[];
+extern void _ZN3C233fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn24_N3C233fooEv,_ZThn20_N3C233fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G23x6y2[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x6y2[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G23x6y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G23x6y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G23x6y2[];
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV5E23x6__7G23x6y2[] = {
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x6[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C235E23x6__7G23x6y2[] = {
+ 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__3C235E23x6__7G23x6y2[] = {
+ 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__5E23x6__7G23x6y2[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E23x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x6y2[] = {
+ {&(_ZTV7G23x6y2[5]), 5,14},
+ {&(_tg__ZTV5E23x6__7G23x6y2[4]), 4,5},
+ {&(_tg__ZTV3C235E23x6__7G23x6y2[3]), 3,4},
+ {&(_tg__ZTV2A1__3C235E23x6__7G23x6y2[3]), 3,4},
+ {&(_tg__ZTV2A1__5E23x6__7G23x6y2[3]), 3,4},
+ {&(_ZTV7G23x6y2[9]), 9,14},
+ {&(_ZTV7G23x6y2[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI7G23x6y2[];
+extern VTBL_ENTRY _ZTV7G23x6y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x6y2[];
+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_G23x6y2 = { "G23x6y2", // class name
+ bases_G23x6y2, 6,
+ &(vtc_G23x6y2[0]), // expected_vtbl_contents
+ &(vtt_G23x6y2[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G23x6y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x6y2),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x6y2),7, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names146,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x6y3 : virtual E23x6 , virtual F1 {
+ int ff;
+ ~G23x6y3(); // tgen
+ G23x6y3(); // tgen
+};
+//SIG(1 G23x6y3) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G23x6y3 ::~G23x6y3(){ note_dtor("G23x6y3", this);} // tgen
+G23x6y3 ::G23x6y3(){ note_ctor("G23x6y3", this);} // tgen
+
+static void Test_G23x6y3()
+{
+ extern Class_Descriptor cd_G23x6y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G23x6y3, buf);
+ G23x6y3 *dp, &lv = *(dp=new (buf) G23x6y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G23x6y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x6y3)");
+ check_base_class_offset(lv, (A1*)(C23*)(E23x6*), ABISELECT(40,24), "G23x6y3");
+ check_base_class_offset(lv, (B1*)(C23*)(E23x6*), ABISELECT(16,8), "G23x6y3");
+ check_base_class_offset(lv, (C23*)(E23x6*), ABISELECT(16,8), "G23x6y3");
+ check_base_class_offset(lv, (D0*)(E23x6*), ABISELECT(52,32), "G23x6y3");
+ check_base_class_offset(lv, (E23x6*), ABISELECT(16,8), "G23x6y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G23x6y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G23x6y3.ff");
+ test_class_info(&lv, &cd_G23x6y3);
+ dp->~G23x6y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x6y3(Test_G23x6y3, "G23x6y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G23x6y3C1Ev();
+extern void _ZN7G23x6y3D1Ev();
+Name_Map name_map_G23x6y3[] = {
+ NSPAIR(_ZN7G23x6y3C1Ev),
+ NSPAIR(_ZN7G23x6y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E23x6;
+extern VTBL_ENTRY _ZTI5E23x6[];
+extern VTBL_ENTRY _ZTV5E23x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G23x6y3[] = {
+ // 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
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E23x6, 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 _ZTI7G23x6y3[];
+extern void _ZN3C233fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn24_N3C233fooEv,_ZThn16_N3C233fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G23x6y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x6y3[0]),
+ 0,
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G23x6y3[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G23x6y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G23x6y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G23x6y3[];
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV5E23x6__7G23x6y3[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x6[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C235E23x6__7G23x6y3[] = {
+ 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__3C235E23x6__7G23x6y3[] = {
+ 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__5E23x6__7G23x6y3[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E23x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x6y3[] = {
+ {&(_ZTV7G23x6y3[6]), 6,20},
+ {&(_ZTV7G23x6y3[11]), 11,20},
+ {&(_ZTV7G23x6y3[15]), 15,20},
+ {&(_ZTV7G23x6y3[19]), 19,20},
+ {&(_tg__ZTV5E23x6__7G23x6y3[4]), 4,5},
+ {&(_tg__ZTV3C235E23x6__7G23x6y3[3]), 3,4},
+ {&(_tg__ZTV2A1__3C235E23x6__7G23x6y3[3]), 3,4},
+ {&(_tg__ZTV2A1__5E23x6__7G23x6y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G23x6y3[];
+extern VTBL_ENTRY _ZTV7G23x6y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x6y3[];
+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_G23x6y3 = { "G23x6y3", // class name
+ bases_G23x6y3, 6,
+ &(vtc_G23x6y3[0]), // expected_vtbl_contents
+ &(vtt_G23x6y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G23x6y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x6y3),20, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x6y3),8, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names147,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x6y4 : E23x6 , F0 {
+ int ff;
+ ~G23x6y4(); // tgen
+ G23x6y4(); // tgen
+};
+//SIG(1 G23x6y4) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G23x6y4 ::~G23x6y4(){ note_dtor("G23x6y4", this);} // tgen
+G23x6y4 ::G23x6y4(){ note_ctor("G23x6y4", this);} // tgen
+
+static void Test_G23x6y4()
+{
+ extern Class_Descriptor cd_G23x6y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G23x6y4, buf);
+ G23x6y4 *dp, &lv = *(dp=new (buf) G23x6y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G23x6y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x6y4)");
+ check_base_class_offset(lv, (A1*)(C23*)(E23x6*), ABISELECT(32,24), "G23x6y4");
+ check_base_class_offset(lv, (B1*)(C23*)(E23x6*), 0, "G23x6y4");
+ check_base_class_offset(lv, (C23*)(E23x6*), 0, "G23x6y4");
+ check_base_class_offset(lv, (D0*)(E23x6*), ABISELECT(44,32), "G23x6y4");
+ check_base_class_offset(lv, (E23x6*), 0, "G23x6y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(20,16), "G23x6y4");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G23x6y4.ff");
+ test_class_info(&lv, &cd_G23x6y4);
+ dp->~G23x6y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x6y4(Test_G23x6y4, "G23x6y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G23x6y4C1Ev();
+extern void _ZN7G23x6y4D1Ev();
+Name_Map name_map_G23x6y4[] = {
+ NSPAIR(_ZN7G23x6y4C1Ev),
+ NSPAIR(_ZN7G23x6y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E23x6;
+extern VTBL_ENTRY _ZTI5E23x6[];
+extern VTBL_ENTRY _ZTV5E23x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G23x6y4[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E23x6, 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 _ZTI7G23x6y4[];
+extern void _ZN3C233fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn32_N3C233fooEv,_ZThn24_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G23x6y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x6y4[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G23x6y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern VTBL_ENTRY _ZTV7G23x6y4[];
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV5E23x6__7G23x6y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x6[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C235E23x6__7G23x6y4[] = {
+ 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__3C235E23x6__7G23x6y4[] = {
+ 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__5E23x6__7G23x6y4[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E23x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x6y4[] = {
+ {&(_ZTV7G23x6y4[4]), 4,9},
+ {&(_tg__ZTV5E23x6__7G23x6y4[4]), 4,5},
+ {&(_tg__ZTV3C235E23x6__7G23x6y4[3]), 3,4},
+ {&(_tg__ZTV2A1__3C235E23x6__7G23x6y4[3]), 3,4},
+ {&(_tg__ZTV2A1__5E23x6__7G23x6y4[3]), 3,4},
+ {&(_ZTV7G23x6y4[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI7G23x6y4[];
+extern VTBL_ENTRY _ZTV7G23x6y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x6y4[];
+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_G23x6y4 = { "G23x6y4", // class name
+ bases_G23x6y4, 6,
+ &(vtc_G23x6y4[0]), // expected_vtbl_contents
+ &(vtt_G23x6y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G23x6y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x6y4),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x6y4),6, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names148,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x6y5 : virtual E23x6 , F0 {
+ int ff;
+ ~G23x6y5(); // tgen
+ G23x6y5(); // tgen
+};
+//SIG(1 G23x6y5) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G23x6y5 ::~G23x6y5(){ note_dtor("G23x6y5", this);} // tgen
+G23x6y5 ::G23x6y5(){ note_ctor("G23x6y5", this);} // tgen
+
+static void Test_G23x6y5()
+{
+ extern Class_Descriptor cd_G23x6y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G23x6y5, buf);
+ G23x6y5 *dp, &lv = *(dp=new (buf) G23x6y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G23x6y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x6y5)");
+ check_base_class_offset(lv, (A1*)(C23*)(E23x6*), ABISELECT(40,28), "G23x6y5");
+ check_base_class_offset(lv, (B1*)(C23*)(E23x6*), ABISELECT(16,12), "G23x6y5");
+ check_base_class_offset(lv, (C23*)(E23x6*), ABISELECT(16,12), "G23x6y5");
+ check_base_class_offset(lv, (D0*)(E23x6*), ABISELECT(52,36), "G23x6y5");
+ check_base_class_offset(lv, (E23x6*), ABISELECT(16,12), "G23x6y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G23x6y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G23x6y5.ff");
+ test_class_info(&lv, &cd_G23x6y5);
+ dp->~G23x6y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x6y5(Test_G23x6y5, "G23x6y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G23x6y5C1Ev();
+extern void _ZN7G23x6y5D1Ev();
+Name_Map name_map_G23x6y5[] = {
+ NSPAIR(_ZN7G23x6y5C1Ev),
+ NSPAIR(_ZN7G23x6y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E23x6;
+extern VTBL_ENTRY _ZTI5E23x6[];
+extern VTBL_ENTRY _ZTV5E23x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G23x6y5[] = {
+ // 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
+ 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E23x6, 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 _ZTI7G23x6y5[];
+extern void _ZN3C233fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn24_N3C233fooEv,_ZThn16_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G23x6y5[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x6y5[0]),
+ 0,
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G23x6y5[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G23x6y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern VTBL_ENTRY _ZTV7G23x6y5[];
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV5E23x6__7G23x6y5[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x6[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C235E23x6__7G23x6y5[] = {
+ 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__3C235E23x6__7G23x6y5[] = {
+ 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__5E23x6__7G23x6y5[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E23x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x6y5[] = {
+ {&(_ZTV7G23x6y5[5]), 5,15},
+ {&(_ZTV7G23x6y5[10]), 10,15},
+ {&(_ZTV7G23x6y5[14]), 14,15},
+ {&(_tg__ZTV5E23x6__7G23x6y5[4]), 4,5},
+ {&(_tg__ZTV3C235E23x6__7G23x6y5[3]), 3,4},
+ {&(_tg__ZTV2A1__3C235E23x6__7G23x6y5[3]), 3,4},
+ {&(_tg__ZTV2A1__5E23x6__7G23x6y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G23x6y5[];
+extern VTBL_ENTRY _ZTV7G23x6y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x6y5[];
+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_G23x6y5 = { "G23x6y5", // class name
+ bases_G23x6y5, 6,
+ &(vtc_G23x6y5[0]), // expected_vtbl_contents
+ &(vtt_G23x6y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G23x6y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x6y5),15, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x6y5),7, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names149,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x6y6 : E23x6 , virtual F0 {
+ int ff;
+ ~G23x6y6(); // tgen
+ G23x6y6(); // tgen
+};
+//SIG(1 G23x6y6) C1{ BC2{ BC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G23x6y6 ::~G23x6y6(){ note_dtor("G23x6y6", this);} // tgen
+G23x6y6 ::G23x6y6(){ note_ctor("G23x6y6", this);} // tgen
+
+static void Test_G23x6y6()
+{
+ extern Class_Descriptor cd_G23x6y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G23x6y6, buf);
+ G23x6y6 *dp, &lv = *(dp=new (buf) G23x6y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G23x6y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x6y6)");
+ check_base_class_offset(lv, (A1*)(C23*)(E23x6*), ABISELECT(24,20), "G23x6y6");
+ check_base_class_offset(lv, (B1*)(C23*)(E23x6*), 0, "G23x6y6");
+ check_base_class_offset(lv, (C23*)(E23x6*), 0, "G23x6y6");
+ check_base_class_offset(lv, (D0*)(E23x6*), ABISELECT(36,28), "G23x6y6");
+ check_base_class_offset(lv, (E23x6*), 0, "G23x6y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(40,32), "G23x6y6");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G23x6y6.ff");
+ test_class_info(&lv, &cd_G23x6y6);
+ dp->~G23x6y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x6y6(Test_G23x6y6, "G23x6y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G23x6y6C1Ev();
+extern void _ZN7G23x6y6D1Ev();
+Name_Map name_map_G23x6y6[] = {
+ NSPAIR(_ZN7G23x6y6C1Ev),
+ NSPAIR(_ZN7G23x6y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E23x6;
+extern VTBL_ENTRY _ZTI5E23x6[];
+extern VTBL_ENTRY _ZTV5E23x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G23x6y6[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E23x6, 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(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 _ZTI7G23x6y6[];
+extern void _ZN3C233fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn24_N3C233fooEv,_ZThn20_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G23x6y6[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x6y6[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G23x6y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern VTBL_ENTRY _ZTV7G23x6y6[];
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV5E23x6__7G23x6y6[] = {
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x6[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C235E23x6__7G23x6y6[] = {
+ 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__3C235E23x6__7G23x6y6[] = {
+ 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__5E23x6__7G23x6y6[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E23x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x6y6[] = {
+ {&(_ZTV7G23x6y6[5]), 5,10},
+ {&(_tg__ZTV5E23x6__7G23x6y6[4]), 4,5},
+ {&(_tg__ZTV3C235E23x6__7G23x6y6[3]), 3,4},
+ {&(_tg__ZTV2A1__3C235E23x6__7G23x6y6[3]), 3,4},
+ {&(_tg__ZTV2A1__5E23x6__7G23x6y6[3]), 3,4},
+ {&(_ZTV7G23x6y6[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI7G23x6y6[];
+extern VTBL_ENTRY _ZTV7G23x6y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x6y6[];
+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_G23x6y6 = { "G23x6y6", // class name
+ bases_G23x6y6, 6,
+ &(vtc_G23x6y6[0]), // expected_vtbl_contents
+ &(vtt_G23x6y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G23x6y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x6y6),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x6y6),6, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names150,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x6y7 : virtual E23x6 , virtual F0 {
+ int ff;
+ ~G23x6y7(); // tgen
+ G23x6y7(); // tgen
+};
+//SIG(1 G23x6y7) C1{ VBC2{ BC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G23x6y7 ::~G23x6y7(){ note_dtor("G23x6y7", this);} // tgen
+G23x6y7 ::G23x6y7(){ note_ctor("G23x6y7", this);} // tgen
+
+static void Test_G23x6y7()
+{
+ extern Class_Descriptor cd_G23x6y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G23x6y7, buf);
+ G23x6y7 *dp, &lv = *(dp=new (buf) G23x6y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G23x6y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x6y7)");
+ check_base_class_offset(lv, (A1*)(C23*)(E23x6*), ABISELECT(40,24), "G23x6y7");
+ check_base_class_offset(lv, (B1*)(C23*)(E23x6*), ABISELECT(16,8), "G23x6y7");
+ check_base_class_offset(lv, (C23*)(E23x6*), ABISELECT(16,8), "G23x6y7");
+ check_base_class_offset(lv, (D0*)(E23x6*), ABISELECT(52,32), "G23x6y7");
+ check_base_class_offset(lv, (E23x6*), ABISELECT(16,8), "G23x6y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G23x6y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G23x6y7.ff");
+ test_class_info(&lv, &cd_G23x6y7);
+ dp->~G23x6y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x6y7(Test_G23x6y7, "G23x6y7", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G23x6y7C1Ev();
+extern void _ZN7G23x6y7D1Ev();
+Name_Map name_map_G23x6y7[] = {
+ NSPAIR(_ZN7G23x6y7C1Ev),
+ NSPAIR(_ZN7G23x6y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E23x6;
+extern VTBL_ENTRY _ZTI5E23x6[];
+extern VTBL_ENTRY _ZTV5E23x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G23x6y7[] = {
+ // 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
+ 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E23x6, 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(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 _ZTI7G23x6y7[];
+extern void _ZN3C233fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv)();
+extern void ABISELECT(_ZThn24_N3C233fooEv,_ZThn16_N3C233fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G23x6y7[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x6y7[0]),
+ 0,
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G23x6y7[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G23x6y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern VTBL_ENTRY _ZTV7G23x6y7[];
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV5E23x6__7G23x6y7[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x6[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C235E23x6__7G23x6y7[] = {
+ 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__3C235E23x6__7G23x6y7[] = {
+ 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__5E23x6__7G23x6y7[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E23x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x6y7[] = {
+ {&(_ZTV7G23x6y7[6]), 6,16},
+ {&(_ZTV7G23x6y7[11]), 11,16},
+ {&(_ZTV7G23x6y7[15]), 15,16},
+ {&(_tg__ZTV5E23x6__7G23x6y7[4]), 4,5},
+ {&(_tg__ZTV3C235E23x6__7G23x6y7[3]), 3,4},
+ {&(_tg__ZTV2A1__3C235E23x6__7G23x6y7[3]), 3,4},
+ {&(_tg__ZTV2A1__5E23x6__7G23x6y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G23x6y7[];
+extern VTBL_ENTRY _ZTV7G23x6y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x6y7[];
+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_G23x6y7 = { "G23x6y7", // class name
+ bases_G23x6y7, 6,
+ &(vtc_G23x6y7[0]), // expected_vtbl_contents
+ &(vtt_G23x6y7[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G23x6y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x6y7),16, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x6y7),7, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names151,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E24x6 : C24 , virtual D0 {
+ int fd;
+ ~E24x6(); // tgen
+ E24x6(); // tgen
+};
+//SIG(-1 E24x6) C1{ BC2{ BC3{ Fi} VBC4{ Fi} v1 Fi} VBC5{ Fi} Fi}
+
+
+E24x6 ::~E24x6(){ note_dtor("E24x6", this);} // tgen
+E24x6 ::E24x6(){ note_ctor("E24x6", this);} // tgen
+
+static void Test_E24x6()
+{
+ extern Class_Descriptor cd_E24x6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(5,7)];
+ init_test(&cd_E24x6, buf);
+ E24x6 *dp, &lv = *(dp=new (buf) E24x6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(32,24), "sizeof(E24x6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E24x6)");
+ check_base_class_offset(lv, (A0*)(C24*), ABISELECT(8,4), "E24x6");
+ check_base_class_offset(lv, (B0*)(C24*), ABISELECT(20,16), "E24x6");
+ check_base_class_offset(lv, (C24*), 0, "E24x6");
+ check_base_class_offset(lv, (D0*), ABISELECT(24,20), "E24x6");
+ check_field_offset(lv, fd, ABISELECT(16,12), "E24x6.fd");
+ test_class_info(&lv, &cd_E24x6);
+ dp->~E24x6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE24x6(Test_E24x6, "E24x6", ABISELECT(32,24));
+
+#else // __cplusplus
+
+extern void _ZN5E24x6C1Ev();
+extern void _ZN5E24x6D1Ev();
+Name_Map name_map_E24x6[] = {
+ NSPAIR(_ZN5E24x6C1Ev),
+ NSPAIR(_ZN5E24x6D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E24x6[] = {
+ // 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
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D0, 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, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E24x6[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY vtc_E24x6[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x6[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern VTBL_ENTRY _ZTV5E24x6[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__5E24x6[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_E24x6[] = {
+ {&(_ZTV5E24x6[4]), 4,5},
+ {&(_tg__ZTV3C24__5E24x6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E24x6[];
+extern VTBL_ENTRY _ZTV5E24x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x6[];
+Class_Descriptor cd_E24x6 = { "E24x6", // class name
+ bases_E24x6, 4,
+ &(vtc_E24x6[0]), // expected_vtbl_contents
+ &(vtt_E24x6[0]), // expected_vtt_contents
+ ABISELECT(32,24), // object size
+ NSPAIRA(_ZTI5E24x6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E24x6),5, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E24x6),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 G24x6y0 : E24x6 , F1 {
+ int ff;
+ ~G24x6y0(); // tgen
+ G24x6y0(); // tgen
+};
+//SIG(1 G24x6y0) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G24x6y0 ::~G24x6y0(){ note_dtor("G24x6y0", this);} // tgen
+G24x6y0 ::G24x6y0(){ note_ctor("G24x6y0", this);} // tgen
+
+static void Test_G24x6y0()
+{
+ extern Class_Descriptor cd_G24x6y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G24x6y0, buf);
+ G24x6y0 *dp, &lv = *(dp=new (buf) G24x6y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G24x6y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x6y0)");
+ check_base_class_offset(lv, (A0*)(C24*)(E24x6*), ABISELECT(8,4), "G24x6y0");
+ check_base_class_offset(lv, (B0*)(C24*)(E24x6*), ABISELECT(40,28), "G24x6y0");
+ check_base_class_offset(lv, (C24*)(E24x6*), 0, "G24x6y0");
+ check_base_class_offset(lv, (D0*)(E24x6*), ABISELECT(44,32), "G24x6y0");
+ check_base_class_offset(lv, (E24x6*), 0, "G24x6y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,16), "G24x6y0");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G24x6y0.ff");
+ test_class_info(&lv, &cd_G24x6y0);
+ dp->~G24x6y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x6y0(Test_G24x6y0, "G24x6y0", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G24x6y0C1Ev();
+extern void _ZN7G24x6y0D1Ev();
+Name_Map name_map_G24x6y0[] = {
+ NSPAIR(_ZN7G24x6y0C1Ev),
+ NSPAIR(_ZN7G24x6y0D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E24x6;
+extern VTBL_ENTRY _ZTI5E24x6[];
+extern VTBL_ENTRY _ZTV5E24x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G24x6y0[] = {
+ // 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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E24x6, 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(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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G24x6y0[];
+extern void _ZN3C243fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G24x6y0[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x6y0[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G24x6y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x6y0[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV5E24x6__7G24x6y0[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x6[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C245E24x6__7G24x6y0[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x6y0[] = {
+ {&(_ZTV7G24x6y0[4]), 4,8},
+ {&(_tg__ZTV5E24x6__7G24x6y0[4]), 4,5},
+ {&(_tg__ZTV3C245E24x6__7G24x6y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x6y0[];
+extern VTBL_ENTRY _ZTV7G24x6y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x6y0[];
+Class_Descriptor cd_G24x6y0 = { "G24x6y0", // class name
+ bases_G24x6y0, 6,
+ &(vtc_G24x6y0[0]), // expected_vtbl_contents
+ &(vtt_G24x6y0[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G24x6y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x6y0),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x6y0),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 G24x6y1 : virtual E24x6 , F1 {
+ int ff;
+ ~G24x6y1(); // tgen
+ G24x6y1(); // tgen
+};
+//SIG(1 G24x6y1) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G24x6y1 ::~G24x6y1(){ note_dtor("G24x6y1", this);} // tgen
+G24x6y1 ::G24x6y1(){ note_ctor("G24x6y1", this);} // tgen
+
+static void Test_G24x6y1()
+{
+ extern Class_Descriptor cd_G24x6y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G24x6y1, buf);
+ G24x6y1 *dp, &lv = *(dp=new (buf) G24x6y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G24x6y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x6y1)");
+ check_base_class_offset(lv, (A0*)(C24*)(E24x6*), ABISELECT(24,16), "G24x6y1");
+ check_base_class_offset(lv, (B0*)(C24*)(E24x6*), ABISELECT(36,28), "G24x6y1");
+ check_base_class_offset(lv, (C24*)(E24x6*), ABISELECT(16,12), "G24x6y1");
+ check_base_class_offset(lv, (D0*)(E24x6*), ABISELECT(40,32), "G24x6y1");
+ check_base_class_offset(lv, (E24x6*), ABISELECT(16,12), "G24x6y1");
+ check_base_class_offset(lv, (F1*), 0, "G24x6y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G24x6y1.ff");
+ test_class_info(&lv, &cd_G24x6y1);
+ dp->~G24x6y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x6y1(Test_G24x6y1, "G24x6y1", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G24x6y1C1Ev();
+extern void _ZN7G24x6y1D1Ev();
+Name_Map name_map_G24x6y1[] = {
+ NSPAIR(_ZN7G24x6y1C1Ev),
+ NSPAIR(_ZN7G24x6y1D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E24x6;
+extern VTBL_ENTRY _ZTI5E24x6[];
+extern VTBL_ENTRY _ZTV5E24x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G24x6y1[] = {
+ // 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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E24x6, 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
+ 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 _ZTI7G24x6y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY vtc_G24x6y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x6y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G24x6y1[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x6y1[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV5E24x6__7G24x6y1[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x6[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C245E24x6__7G24x6y1[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x6y1[] = {
+ {&(_ZTV7G24x6y1[5]), 5,12},
+ {&(_ZTV7G24x6y1[11]), 11,12},
+ {&(_tg__ZTV5E24x6__7G24x6y1[4]), 4,5},
+ {&(_tg__ZTV3C245E24x6__7G24x6y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x6y1[];
+extern VTBL_ENTRY _ZTV7G24x6y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x6y1[];
+Class_Descriptor cd_G24x6y1 = { "G24x6y1", // class name
+ bases_G24x6y1, 6,
+ &(vtc_G24x6y1[0]), // expected_vtbl_contents
+ &(vtt_G24x6y1[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G24x6y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x6y1),12, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x6y1),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 G24x6y2 : E24x6 , virtual F1 {
+ int ff;
+ ~G24x6y2(); // tgen
+ G24x6y2(); // tgen
+};
+//SIG(1 G24x6y2) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G24x6y2 ::~G24x6y2(){ note_dtor("G24x6y2", this);} // tgen
+G24x6y2 ::G24x6y2(){ note_ctor("G24x6y2", this);} // tgen
+
+static void Test_G24x6y2()
+{
+ extern Class_Descriptor cd_G24x6y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G24x6y2, buf);
+ G24x6y2 *dp, &lv = *(dp=new (buf) G24x6y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G24x6y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x6y2)");
+ check_base_class_offset(lv, (A0*)(C24*)(E24x6*), ABISELECT(8,4), "G24x6y2");
+ check_base_class_offset(lv, (B0*)(C24*)(E24x6*), ABISELECT(24,20), "G24x6y2");
+ check_base_class_offset(lv, (C24*)(E24x6*), 0, "G24x6y2");
+ check_base_class_offset(lv, (D0*)(E24x6*), ABISELECT(28,24), "G24x6y2");
+ check_base_class_offset(lv, (E24x6*), 0, "G24x6y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,28), "G24x6y2");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G24x6y2.ff");
+ test_class_info(&lv, &cd_G24x6y2);
+ dp->~G24x6y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x6y2(Test_G24x6y2, "G24x6y2", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G24x6y2C1Ev();
+extern void _ZN7G24x6y2D1Ev();
+Name_Map name_map_G24x6y2[] = {
+ NSPAIR(_ZN7G24x6y2C1Ev),
+ NSPAIR(_ZN7G24x6y2D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E24x6;
+extern VTBL_ENTRY _ZTI5E24x6[];
+extern VTBL_ENTRY _ZTV5E24x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G24x6y2[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E24x6, 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,28), //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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G24x6y2[];
+extern void _ZN3C243fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G24x6y2[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x6y2[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI7G24x6y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x6y2[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV5E24x6__7G24x6y2[] = {
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x6[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C245E24x6__7G24x6y2[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x6y2[] = {
+ {&(_ZTV7G24x6y2[5]), 5,10},
+ {&(_tg__ZTV5E24x6__7G24x6y2[4]), 4,5},
+ {&(_tg__ZTV3C245E24x6__7G24x6y2[3]), 3,4},
+ {&(_ZTV7G24x6y2[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI7G24x6y2[];
+extern VTBL_ENTRY _ZTV7G24x6y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x6y2[];
+Class_Descriptor cd_G24x6y2 = { "G24x6y2", // class name
+ bases_G24x6y2, 6,
+ &(vtc_G24x6y2[0]), // expected_vtbl_contents
+ &(vtt_G24x6y2[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G24x6y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x6y2),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x6y2),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 G24x6y3 : virtual E24x6 , virtual F1 {
+ int ff;
+ ~G24x6y3(); // tgen
+ G24x6y3(); // tgen
+};
+//SIG(1 G24x6y3) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G24x6y3 ::~G24x6y3(){ note_dtor("G24x6y3", this);} // tgen
+G24x6y3 ::G24x6y3(){ note_ctor("G24x6y3", this);} // tgen
+
+static void Test_G24x6y3()
+{
+ extern Class_Descriptor cd_G24x6y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G24x6y3, buf);
+ G24x6y3 *dp, &lv = *(dp=new (buf) G24x6y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G24x6y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x6y3)");
+ check_base_class_offset(lv, (A0*)(C24*)(E24x6*), ABISELECT(24,12), "G24x6y3");
+ check_base_class_offset(lv, (B0*)(C24*)(E24x6*), ABISELECT(36,24), "G24x6y3");
+ check_base_class_offset(lv, (C24*)(E24x6*), ABISELECT(16,8), "G24x6y3");
+ check_base_class_offset(lv, (D0*)(E24x6*), ABISELECT(40,28), "G24x6y3");
+ check_base_class_offset(lv, (E24x6*), ABISELECT(16,8), "G24x6y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G24x6y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G24x6y3.ff");
+ test_class_info(&lv, &cd_G24x6y3);
+ dp->~G24x6y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x6y3(Test_G24x6y3, "G24x6y3", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G24x6y3C1Ev();
+extern void _ZN7G24x6y3D1Ev();
+Name_Map name_map_G24x6y3[] = {
+ NSPAIR(_ZN7G24x6y3C1Ev),
+ NSPAIR(_ZN7G24x6y3D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E24x6;
+extern VTBL_ENTRY _ZTI5E24x6[];
+extern VTBL_ENTRY _ZTV5E24x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G24x6y3[] = {
+ // 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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E24x6, 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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, 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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G24x6y3[];
+extern void _ZN3C243fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G24x6y3[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x6y3[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G24x6y3[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G24x6y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x6y3[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV5E24x6__7G24x6y3[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x6[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C245E24x6__7G24x6y3[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x6y3[] = {
+ {&(_ZTV7G24x6y3[6]), 6,16},
+ {&(_ZTV7G24x6y3[11]), 11,16},
+ {&(_ZTV7G24x6y3[15]), 15,16},
+ {&(_tg__ZTV5E24x6__7G24x6y3[4]), 4,5},
+ {&(_tg__ZTV3C245E24x6__7G24x6y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x6y3[];
+extern VTBL_ENTRY _ZTV7G24x6y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x6y3[];
+Class_Descriptor cd_G24x6y3 = { "G24x6y3", // class name
+ bases_G24x6y3, 6,
+ &(vtc_G24x6y3[0]), // expected_vtbl_contents
+ &(vtt_G24x6y3[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G24x6y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x6y3),16, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x6y3),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 G24x6y4 : E24x6 , F0 {
+ int ff;
+ ~G24x6y4(); // tgen
+ G24x6y4(); // tgen
+};
+//SIG(1 G24x6y4) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G24x6y4 ::~G24x6y4(){ note_dtor("G24x6y4", this);} // tgen
+G24x6y4 ::G24x6y4(){ note_ctor("G24x6y4", this);} // tgen
+
+static void Test_G24x6y4()
+{
+ extern Class_Descriptor cd_G24x6y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G24x6y4, buf);
+ G24x6y4 *dp, &lv = *(dp=new (buf) G24x6y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G24x6y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x6y4)");
+ check_base_class_offset(lv, (A0*)(C24*)(E24x6*), ABISELECT(8,4), "G24x6y4");
+ check_base_class_offset(lv, (B0*)(C24*)(E24x6*), ABISELECT(28,24), "G24x6y4");
+ check_base_class_offset(lv, (C24*)(E24x6*), 0, "G24x6y4");
+ check_base_class_offset(lv, (D0*)(E24x6*), ABISELECT(32,28), "G24x6y4");
+ check_base_class_offset(lv, (E24x6*), 0, "G24x6y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(20,16), "G24x6y4");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G24x6y4.ff");
+ test_class_info(&lv, &cd_G24x6y4);
+ dp->~G24x6y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x6y4(Test_G24x6y4, "G24x6y4", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN7G24x6y4C1Ev();
+extern void _ZN7G24x6y4D1Ev();
+Name_Map name_map_G24x6y4[] = {
+ NSPAIR(_ZN7G24x6y4C1Ev),
+ NSPAIR(_ZN7G24x6y4D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E24x6;
+extern VTBL_ENTRY _ZTI5E24x6[];
+extern VTBL_ENTRY _ZTV5E24x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G24x6y4[] = {
+ // 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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E24x6, 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(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 _ZTI7G24x6y4[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY vtc_G24x6y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x6y4[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x6y4[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV5E24x6__7G24x6y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x6[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C245E24x6__7G24x6y4[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x6y4[] = {
+ {&(_ZTV7G24x6y4[4]), 4,5},
+ {&(_tg__ZTV5E24x6__7G24x6y4[4]), 4,5},
+ {&(_tg__ZTV3C245E24x6__7G24x6y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x6y4[];
+extern VTBL_ENTRY _ZTV7G24x6y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x6y4[];
+Class_Descriptor cd_G24x6y4 = { "G24x6y4", // class name
+ bases_G24x6y4, 6,
+ &(vtc_G24x6y4[0]), // expected_vtbl_contents
+ &(vtt_G24x6y4[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI7G24x6y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x6y4),5, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x6y4),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 G24x6y5 : virtual E24x6 , F0 {
+ int ff;
+ ~G24x6y5(); // tgen
+ G24x6y5(); // tgen
+};
+//SIG(1 G24x6y5) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G24x6y5 ::~G24x6y5(){ note_dtor("G24x6y5", this);} // tgen
+G24x6y5 ::G24x6y5(){ note_ctor("G24x6y5", this);} // tgen
+
+static void Test_G24x6y5()
+{
+ extern Class_Descriptor cd_G24x6y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G24x6y5, buf);
+ G24x6y5 *dp, &lv = *(dp=new (buf) G24x6y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G24x6y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x6y5)");
+ check_base_class_offset(lv, (A0*)(C24*)(E24x6*), ABISELECT(24,16), "G24x6y5");
+ check_base_class_offset(lv, (B0*)(C24*)(E24x6*), ABISELECT(36,28), "G24x6y5");
+ check_base_class_offset(lv, (C24*)(E24x6*), ABISELECT(16,12), "G24x6y5");
+ check_base_class_offset(lv, (D0*)(E24x6*), ABISELECT(40,32), "G24x6y5");
+ check_base_class_offset(lv, (E24x6*), ABISELECT(16,12), "G24x6y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G24x6y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G24x6y5.ff");
+ test_class_info(&lv, &cd_G24x6y5);
+ dp->~G24x6y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x6y5(Test_G24x6y5, "G24x6y5", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G24x6y5C1Ev();
+extern void _ZN7G24x6y5D1Ev();
+Name_Map name_map_G24x6y5[] = {
+ NSPAIR(_ZN7G24x6y5C1Ev),
+ NSPAIR(_ZN7G24x6y5D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E24x6;
+extern VTBL_ENTRY _ZTI5E24x6[];
+extern VTBL_ENTRY _ZTV5E24x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G24x6y5[] = {
+ // 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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E24x6, 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
+ 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 _ZTI7G24x6y5[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY vtc_G24x6y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x6y5[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G24x6y5[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x6y5[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV5E24x6__7G24x6y5[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x6[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C245E24x6__7G24x6y5[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x6y5[] = {
+ {&(_ZTV7G24x6y5[5]), 5,11},
+ {&(_ZTV7G24x6y5[10]), 10,11},
+ {&(_tg__ZTV5E24x6__7G24x6y5[4]), 4,5},
+ {&(_tg__ZTV3C245E24x6__7G24x6y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x6y5[];
+extern VTBL_ENTRY _ZTV7G24x6y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x6y5[];
+Class_Descriptor cd_G24x6y5 = { "G24x6y5", // class name
+ bases_G24x6y5, 6,
+ &(vtc_G24x6y5[0]), // expected_vtbl_contents
+ &(vtt_G24x6y5[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G24x6y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x6y5),11, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x6y5),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 G24x6y6 : E24x6 , virtual F0 {
+ int ff;
+ ~G24x6y6(); // tgen
+ G24x6y6(); // tgen
+};
+//SIG(1 G24x6y6) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G24x6y6 ::~G24x6y6(){ note_dtor("G24x6y6", this);} // tgen
+G24x6y6 ::G24x6y6(){ note_ctor("G24x6y6", this);} // tgen
+
+static void Test_G24x6y6()
+{
+ extern Class_Descriptor cd_G24x6y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G24x6y6, buf);
+ G24x6y6 *dp, &lv = *(dp=new (buf) G24x6y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G24x6y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x6y6)");
+ check_base_class_offset(lv, (A0*)(C24*)(E24x6*), ABISELECT(8,4), "G24x6y6");
+ check_base_class_offset(lv, (B0*)(C24*)(E24x6*), ABISELECT(24,20), "G24x6y6");
+ check_base_class_offset(lv, (C24*)(E24x6*), 0, "G24x6y6");
+ check_base_class_offset(lv, (D0*)(E24x6*), ABISELECT(28,24), "G24x6y6");
+ check_base_class_offset(lv, (E24x6*), 0, "G24x6y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,28), "G24x6y6");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G24x6y6.ff");
+ test_class_info(&lv, &cd_G24x6y6);
+ dp->~G24x6y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x6y6(Test_G24x6y6, "G24x6y6", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN7G24x6y6C1Ev();
+extern void _ZN7G24x6y6D1Ev();
+Name_Map name_map_G24x6y6[] = {
+ NSPAIR(_ZN7G24x6y6C1Ev),
+ NSPAIR(_ZN7G24x6y6D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E24x6;
+extern VTBL_ENTRY _ZTI5E24x6[];
+extern VTBL_ENTRY _ZTV5E24x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G24x6y6[] = {
+ // 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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E24x6, 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(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 _ZTI7G24x6y6[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY vtc_G24x6y6[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x6y6[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x6y6[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV5E24x6__7G24x6y6[] = {
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x6[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C245E24x6__7G24x6y6[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x6y6[] = {
+ {&(_ZTV7G24x6y6[5]), 5,6},
+ {&(_tg__ZTV5E24x6__7G24x6y6[4]), 4,5},
+ {&(_tg__ZTV3C245E24x6__7G24x6y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x6y6[];
+extern VTBL_ENTRY _ZTV7G24x6y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x6y6[];
+Class_Descriptor cd_G24x6y6 = { "G24x6y6", // class name
+ bases_G24x6y6, 6,
+ &(vtc_G24x6y6[0]), // expected_vtbl_contents
+ &(vtt_G24x6y6[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI7G24x6y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x6y6),6, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x6y6),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 G24x6y7 : virtual E24x6 , virtual F0 {
+ int ff;
+ ~G24x6y7(); // tgen
+ G24x6y7(); // tgen
+};
+//SIG(1 G24x6y7) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G24x6y7 ::~G24x6y7(){ note_dtor("G24x6y7", this);} // tgen
+G24x6y7 ::G24x6y7(){ note_ctor("G24x6y7", this);} // tgen
+
+static void Test_G24x6y7()
+{
+ extern Class_Descriptor cd_G24x6y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G24x6y7, buf);
+ G24x6y7 *dp, &lv = *(dp=new (buf) G24x6y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G24x6y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x6y7)");
+ check_base_class_offset(lv, (A0*)(C24*)(E24x6*), ABISELECT(24,12), "G24x6y7");
+ check_base_class_offset(lv, (B0*)(C24*)(E24x6*), ABISELECT(36,24), "G24x6y7");
+ check_base_class_offset(lv, (C24*)(E24x6*), ABISELECT(16,8), "G24x6y7");
+ check_base_class_offset(lv, (D0*)(E24x6*), ABISELECT(40,28), "G24x6y7");
+ check_base_class_offset(lv, (E24x6*), ABISELECT(16,8), "G24x6y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G24x6y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G24x6y7.ff");
+ test_class_info(&lv, &cd_G24x6y7);
+ dp->~G24x6y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x6y7(Test_G24x6y7, "G24x6y7", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G24x6y7C1Ev();
+extern void _ZN7G24x6y7D1Ev();
+Name_Map name_map_G24x6y7[] = {
+ NSPAIR(_ZN7G24x6y7C1Ev),
+ NSPAIR(_ZN7G24x6y7D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E24x6;
+extern VTBL_ENTRY _ZTI5E24x6[];
+extern VTBL_ENTRY _ZTV5E24x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G24x6y7[] = {
+ // 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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E24x6, 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
+ 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 _ZTI7G24x6y7[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY vtc_G24x6y7[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x6y7[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G24x6y7[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x6y7[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV5E24x6__7G24x6y7[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x6[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C245E24x6__7G24x6y7[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x6y7[] = {
+ {&(_ZTV7G24x6y7[6]), 6,12},
+ {&(_ZTV7G24x6y7[11]), 11,12},
+ {&(_tg__ZTV5E24x6__7G24x6y7[4]), 4,5},
+ {&(_tg__ZTV3C245E24x6__7G24x6y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x6y7[];
+extern VTBL_ENTRY _ZTV7G24x6y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x6y7[];
+Class_Descriptor cd_G24x6y7 = { "G24x6y7", // class name
+ bases_G24x6y7, 6,
+ &(vtc_G24x6y7[0]), // expected_vtbl_contents
+ &(vtt_G24x6y7[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G24x6y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x6y7),12, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x6y7),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 E25x6 : C25 , virtual D0 {
+ int fd;
+ ~E25x6(); // tgen
+ E25x6(); // tgen
+};
+//SIG(-1 E25x6) C1{ BC2{ BC3{ v1 Fi} VBC4{ Fi} v1 Fi} VBC5{ Fi} Fi}
+
+
+E25x6 ::~E25x6(){ note_dtor("E25x6", this);} // tgen
+E25x6 ::E25x6(){ note_ctor("E25x6", this);} // tgen
+
+static void Test_E25x6()
+{
+ extern Class_Descriptor cd_E25x6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(5,7)];
+ init_test(&cd_E25x6, buf);
+ E25x6 *dp, &lv = *(dp=new (buf) E25x6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(32,24), "sizeof(E25x6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E25x6)");
+ check_base_class_offset(lv, (A1*)(C25*), 0, "E25x6");
+ check_base_class_offset(lv, (B0*)(C25*), ABISELECT(20,16), "E25x6");
+ check_base_class_offset(lv, (C25*), 0, "E25x6");
+ check_base_class_offset(lv, (D0*), ABISELECT(24,20), "E25x6");
+ check_field_offset(lv, fd, ABISELECT(16,12), "E25x6.fd");
+ test_class_info(&lv, &cd_E25x6);
+ dp->~E25x6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE25x6(Test_E25x6, "E25x6", ABISELECT(32,24));
+
+#else // __cplusplus
+
+extern void _ZN5E25x6C1Ev();
+extern void _ZN5E25x6D1Ev();
+Name_Map name_map_E25x6[] = {
+ NSPAIR(_ZN5E25x6C1Ev),
+ NSPAIR(_ZN5E25x6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E25x6[] = {
+ // 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(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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D0, 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, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E25x6[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY vtc_E25x6[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x6[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern VTBL_ENTRY _ZTV5E25x6[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__5E25x6[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_E25x6[] = {
+ {&(_ZTV5E25x6[4]), 4,5},
+ {&(_tg__ZTV3C25__5E25x6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E25x6[];
+extern VTBL_ENTRY _ZTV5E25x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x6[];
+Class_Descriptor cd_E25x6 = { "E25x6", // class name
+ bases_E25x6, 4,
+ &(vtc_E25x6[0]), // expected_vtbl_contents
+ &(vtt_E25x6[0]), // expected_vtt_contents
+ ABISELECT(32,24), // object size
+ NSPAIRA(_ZTI5E25x6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E25x6),5, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E25x6),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 G25x6y0 : E25x6 , F1 {
+ int ff;
+ ~G25x6y0(); // tgen
+ G25x6y0(); // tgen
+};
+//SIG(1 G25x6y0) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G25x6y0 ::~G25x6y0(){ note_dtor("G25x6y0", this);} // tgen
+G25x6y0 ::G25x6y0(){ note_ctor("G25x6y0", this);} // tgen
+
+static void Test_G25x6y0()
+{
+ extern Class_Descriptor cd_G25x6y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G25x6y0, buf);
+ G25x6y0 *dp, &lv = *(dp=new (buf) G25x6y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G25x6y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x6y0)");
+ check_base_class_offset(lv, (A1*)(C25*)(E25x6*), 0, "G25x6y0");
+ check_base_class_offset(lv, (B0*)(C25*)(E25x6*), ABISELECT(40,28), "G25x6y0");
+ check_base_class_offset(lv, (C25*)(E25x6*), 0, "G25x6y0");
+ check_base_class_offset(lv, (D0*)(E25x6*), ABISELECT(44,32), "G25x6y0");
+ check_base_class_offset(lv, (E25x6*), 0, "G25x6y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,16), "G25x6y0");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G25x6y0.ff");
+ test_class_info(&lv, &cd_G25x6y0);
+ dp->~G25x6y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x6y0(Test_G25x6y0, "G25x6y0", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G25x6y0C1Ev();
+extern void _ZN7G25x6y0D1Ev();
+Name_Map name_map_G25x6y0[] = {
+ NSPAIR(_ZN7G25x6y0C1Ev),
+ NSPAIR(_ZN7G25x6y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E25x6;
+extern VTBL_ENTRY _ZTI5E25x6[];
+extern VTBL_ENTRY _ZTV5E25x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G25x6y0[] = {
+ // 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,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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E25x6, 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 _ZTI7G25x6y0[];
+extern void _ZN3C253fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G25x6y0[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x6y0[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G25x6y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x6y0[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV5E25x6__7G25x6y0[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x6[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C255E25x6__7G25x6y0[] = {
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x6y0[] = {
+ {&(_ZTV7G25x6y0[4]), 4,8},
+ {&(_tg__ZTV5E25x6__7G25x6y0[4]), 4,5},
+ {&(_tg__ZTV3C255E25x6__7G25x6y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x6y0[];
+extern VTBL_ENTRY _ZTV7G25x6y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x6y0[];
+Class_Descriptor cd_G25x6y0 = { "G25x6y0", // class name
+ bases_G25x6y0, 6,
+ &(vtc_G25x6y0[0]), // expected_vtbl_contents
+ &(vtt_G25x6y0[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G25x6y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x6y0),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x6y0),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 G25x6y1 : virtual E25x6 , F1 {
+ int ff;
+ ~G25x6y1(); // tgen
+ G25x6y1(); // tgen
+};
+//SIG(1 G25x6y1) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G25x6y1 ::~G25x6y1(){ note_dtor("G25x6y1", this);} // tgen
+G25x6y1 ::G25x6y1(){ note_ctor("G25x6y1", this);} // tgen
+
+static void Test_G25x6y1()
+{
+ extern Class_Descriptor cd_G25x6y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G25x6y1, buf);
+ G25x6y1 *dp, &lv = *(dp=new (buf) G25x6y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G25x6y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x6y1)");
+ check_base_class_offset(lv, (A1*)(C25*)(E25x6*), ABISELECT(16,12), "G25x6y1");
+ check_base_class_offset(lv, (B0*)(C25*)(E25x6*), ABISELECT(36,28), "G25x6y1");
+ check_base_class_offset(lv, (C25*)(E25x6*), ABISELECT(16,12), "G25x6y1");
+ check_base_class_offset(lv, (D0*)(E25x6*), ABISELECT(40,32), "G25x6y1");
+ check_base_class_offset(lv, (E25x6*), ABISELECT(16,12), "G25x6y1");
+ check_base_class_offset(lv, (F1*), 0, "G25x6y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G25x6y1.ff");
+ test_class_info(&lv, &cd_G25x6y1);
+ dp->~G25x6y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x6y1(Test_G25x6y1, "G25x6y1", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G25x6y1C1Ev();
+extern void _ZN7G25x6y1D1Ev();
+Name_Map name_map_G25x6y1[] = {
+ NSPAIR(_ZN7G25x6y1C1Ev),
+ NSPAIR(_ZN7G25x6y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E25x6;
+extern VTBL_ENTRY _ZTI5E25x6[];
+extern VTBL_ENTRY _ZTV5E25x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G25x6y1[] = {
+ // 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(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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E25x6, 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
+ 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 _ZTI7G25x6y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY vtc_G25x6y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x6y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G25x6y1[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x6y1[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV5E25x6__7G25x6y1[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x6[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C255E25x6__7G25x6y1[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x6y1[] = {
+ {&(_ZTV7G25x6y1[5]), 5,12},
+ {&(_ZTV7G25x6y1[11]), 11,12},
+ {&(_tg__ZTV5E25x6__7G25x6y1[4]), 4,5},
+ {&(_tg__ZTV3C255E25x6__7G25x6y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x6y1[];
+extern VTBL_ENTRY _ZTV7G25x6y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x6y1[];
+Class_Descriptor cd_G25x6y1 = { "G25x6y1", // class name
+ bases_G25x6y1, 6,
+ &(vtc_G25x6y1[0]), // expected_vtbl_contents
+ &(vtt_G25x6y1[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G25x6y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x6y1),12, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x6y1),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 G25x6y2 : E25x6 , virtual F1 {
+ int ff;
+ ~G25x6y2(); // tgen
+ G25x6y2(); // tgen
+};
+//SIG(1 G25x6y2) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G25x6y2 ::~G25x6y2(){ note_dtor("G25x6y2", this);} // tgen
+G25x6y2 ::G25x6y2(){ note_ctor("G25x6y2", this);} // tgen
+
+static void Test_G25x6y2()
+{
+ extern Class_Descriptor cd_G25x6y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G25x6y2, buf);
+ G25x6y2 *dp, &lv = *(dp=new (buf) G25x6y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G25x6y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x6y2)");
+ check_base_class_offset(lv, (A1*)(C25*)(E25x6*), 0, "G25x6y2");
+ check_base_class_offset(lv, (B0*)(C25*)(E25x6*), ABISELECT(24,20), "G25x6y2");
+ check_base_class_offset(lv, (C25*)(E25x6*), 0, "G25x6y2");
+ check_base_class_offset(lv, (D0*)(E25x6*), ABISELECT(28,24), "G25x6y2");
+ check_base_class_offset(lv, (E25x6*), 0, "G25x6y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,28), "G25x6y2");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G25x6y2.ff");
+ test_class_info(&lv, &cd_G25x6y2);
+ dp->~G25x6y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x6y2(Test_G25x6y2, "G25x6y2", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G25x6y2C1Ev();
+extern void _ZN7G25x6y2D1Ev();
+Name_Map name_map_G25x6y2[] = {
+ NSPAIR(_ZN7G25x6y2C1Ev),
+ NSPAIR(_ZN7G25x6y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E25x6;
+extern VTBL_ENTRY _ZTI5E25x6[];
+extern VTBL_ENTRY _ZTV5E25x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G25x6y2[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E25x6, 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,28), //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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G25x6y2[];
+extern void _ZN3C253fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G25x6y2[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x6y2[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI7G25x6y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x6y2[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV5E25x6__7G25x6y2[] = {
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x6[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C255E25x6__7G25x6y2[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x6y2[] = {
+ {&(_ZTV7G25x6y2[5]), 5,10},
+ {&(_tg__ZTV5E25x6__7G25x6y2[4]), 4,5},
+ {&(_tg__ZTV3C255E25x6__7G25x6y2[3]), 3,4},
+ {&(_ZTV7G25x6y2[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI7G25x6y2[];
+extern VTBL_ENTRY _ZTV7G25x6y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x6y2[];
+Class_Descriptor cd_G25x6y2 = { "G25x6y2", // class name
+ bases_G25x6y2, 6,
+ &(vtc_G25x6y2[0]), // expected_vtbl_contents
+ &(vtt_G25x6y2[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G25x6y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x6y2),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x6y2),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 G25x6y3 : virtual E25x6 , virtual F1 {
+ int ff;
+ ~G25x6y3(); // tgen
+ G25x6y3(); // tgen
+};
+//SIG(1 G25x6y3) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G25x6y3 ::~G25x6y3(){ note_dtor("G25x6y3", this);} // tgen
+G25x6y3 ::G25x6y3(){ note_ctor("G25x6y3", this);} // tgen
+
+static void Test_G25x6y3()
+{
+ extern Class_Descriptor cd_G25x6y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G25x6y3, buf);
+ G25x6y3 *dp, &lv = *(dp=new (buf) G25x6y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G25x6y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x6y3)");
+ check_base_class_offset(lv, (A1*)(C25*)(E25x6*), ABISELECT(16,8), "G25x6y3");
+ check_base_class_offset(lv, (B0*)(C25*)(E25x6*), ABISELECT(36,24), "G25x6y3");
+ check_base_class_offset(lv, (C25*)(E25x6*), ABISELECT(16,8), "G25x6y3");
+ check_base_class_offset(lv, (D0*)(E25x6*), ABISELECT(40,28), "G25x6y3");
+ check_base_class_offset(lv, (E25x6*), ABISELECT(16,8), "G25x6y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G25x6y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G25x6y3.ff");
+ test_class_info(&lv, &cd_G25x6y3);
+ dp->~G25x6y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x6y3(Test_G25x6y3, "G25x6y3", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G25x6y3C1Ev();
+extern void _ZN7G25x6y3D1Ev();
+Name_Map name_map_G25x6y3[] = {
+ NSPAIR(_ZN7G25x6y3C1Ev),
+ NSPAIR(_ZN7G25x6y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E25x6;
+extern VTBL_ENTRY _ZTI5E25x6[];
+extern VTBL_ENTRY _ZTV5E25x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G25x6y3[] = {
+ // 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(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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E25x6, 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_F1, 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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G25x6y3[];
+extern void _ZN3C253fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G25x6y3[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x6y3[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G25x6y3[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G25x6y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x6y3[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV5E25x6__7G25x6y3[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x6[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C255E25x6__7G25x6y3[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x6y3[] = {
+ {&(_ZTV7G25x6y3[6]), 6,16},
+ {&(_ZTV7G25x6y3[11]), 11,16},
+ {&(_ZTV7G25x6y3[15]), 15,16},
+ {&(_tg__ZTV5E25x6__7G25x6y3[4]), 4,5},
+ {&(_tg__ZTV3C255E25x6__7G25x6y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x6y3[];
+extern VTBL_ENTRY _ZTV7G25x6y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x6y3[];
+Class_Descriptor cd_G25x6y3 = { "G25x6y3", // class name
+ bases_G25x6y3, 6,
+ &(vtc_G25x6y3[0]), // expected_vtbl_contents
+ &(vtt_G25x6y3[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G25x6y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x6y3),16, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x6y3),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 G25x6y4 : E25x6 , F0 {
+ int ff;
+ ~G25x6y4(); // tgen
+ G25x6y4(); // tgen
+};
+//SIG(1 G25x6y4) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G25x6y4 ::~G25x6y4(){ note_dtor("G25x6y4", this);} // tgen
+G25x6y4 ::G25x6y4(){ note_ctor("G25x6y4", this);} // tgen
+
+static void Test_G25x6y4()
+{
+ extern Class_Descriptor cd_G25x6y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G25x6y4, buf);
+ G25x6y4 *dp, &lv = *(dp=new (buf) G25x6y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G25x6y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x6y4)");
+ check_base_class_offset(lv, (A1*)(C25*)(E25x6*), 0, "G25x6y4");
+ check_base_class_offset(lv, (B0*)(C25*)(E25x6*), ABISELECT(28,24), "G25x6y4");
+ check_base_class_offset(lv, (C25*)(E25x6*), 0, "G25x6y4");
+ check_base_class_offset(lv, (D0*)(E25x6*), ABISELECT(32,28), "G25x6y4");
+ check_base_class_offset(lv, (E25x6*), 0, "G25x6y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(20,16), "G25x6y4");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G25x6y4.ff");
+ test_class_info(&lv, &cd_G25x6y4);
+ dp->~G25x6y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x6y4(Test_G25x6y4, "G25x6y4", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN7G25x6y4C1Ev();
+extern void _ZN7G25x6y4D1Ev();
+Name_Map name_map_G25x6y4[] = {
+ NSPAIR(_ZN7G25x6y4C1Ev),
+ NSPAIR(_ZN7G25x6y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E25x6;
+extern VTBL_ENTRY _ZTI5E25x6[];
+extern VTBL_ENTRY _ZTV5E25x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G25x6y4[] = {
+ // 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(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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E25x6, 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 _ZTI7G25x6y4[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY vtc_G25x6y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x6y4[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x6y4[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV5E25x6__7G25x6y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x6[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C255E25x6__7G25x6y4[] = {
+ ABISELECT(28,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x6y4[] = {
+ {&(_ZTV7G25x6y4[4]), 4,5},
+ {&(_tg__ZTV5E25x6__7G25x6y4[4]), 4,5},
+ {&(_tg__ZTV3C255E25x6__7G25x6y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x6y4[];
+extern VTBL_ENTRY _ZTV7G25x6y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x6y4[];
+Class_Descriptor cd_G25x6y4 = { "G25x6y4", // class name
+ bases_G25x6y4, 6,
+ &(vtc_G25x6y4[0]), // expected_vtbl_contents
+ &(vtt_G25x6y4[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI7G25x6y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x6y4),5, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x6y4),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 G25x6y5 : virtual E25x6 , F0 {
+ int ff;
+ ~G25x6y5(); // tgen
+ G25x6y5(); // tgen
+};
+//SIG(1 G25x6y5) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G25x6y5 ::~G25x6y5(){ note_dtor("G25x6y5", this);} // tgen
+G25x6y5 ::G25x6y5(){ note_ctor("G25x6y5", this);} // tgen
+
+static void Test_G25x6y5()
+{
+ extern Class_Descriptor cd_G25x6y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G25x6y5, buf);
+ G25x6y5 *dp, &lv = *(dp=new (buf) G25x6y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G25x6y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x6y5)");
+ check_base_class_offset(lv, (A1*)(C25*)(E25x6*), ABISELECT(16,12), "G25x6y5");
+ check_base_class_offset(lv, (B0*)(C25*)(E25x6*), ABISELECT(36,28), "G25x6y5");
+ check_base_class_offset(lv, (C25*)(E25x6*), ABISELECT(16,12), "G25x6y5");
+ check_base_class_offset(lv, (D0*)(E25x6*), ABISELECT(40,32), "G25x6y5");
+ check_base_class_offset(lv, (E25x6*), ABISELECT(16,12), "G25x6y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G25x6y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G25x6y5.ff");
+ test_class_info(&lv, &cd_G25x6y5);
+ dp->~G25x6y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x6y5(Test_G25x6y5, "G25x6y5", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G25x6y5C1Ev();
+extern void _ZN7G25x6y5D1Ev();
+Name_Map name_map_G25x6y5[] = {
+ NSPAIR(_ZN7G25x6y5C1Ev),
+ NSPAIR(_ZN7G25x6y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E25x6;
+extern VTBL_ENTRY _ZTI5E25x6[];
+extern VTBL_ENTRY _ZTV5E25x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G25x6y5[] = {
+ // 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(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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E25x6, 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
+ 3, //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 _ZTI7G25x6y5[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY vtc_G25x6y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x6y5[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G25x6y5[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x6y5[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV5E25x6__7G25x6y5[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x6[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C255E25x6__7G25x6y5[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x6y5[] = {
+ {&(_ZTV7G25x6y5[5]), 5,11},
+ {&(_ZTV7G25x6y5[10]), 10,11},
+ {&(_tg__ZTV5E25x6__7G25x6y5[4]), 4,5},
+ {&(_tg__ZTV3C255E25x6__7G25x6y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x6y5[];
+extern VTBL_ENTRY _ZTV7G25x6y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x6y5[];
+Class_Descriptor cd_G25x6y5 = { "G25x6y5", // class name
+ bases_G25x6y5, 6,
+ &(vtc_G25x6y5[0]), // expected_vtbl_contents
+ &(vtt_G25x6y5[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G25x6y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x6y5),11, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x6y5),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 G25x6y6 : E25x6 , virtual F0 {
+ int ff;
+ ~G25x6y6(); // tgen
+ G25x6y6(); // tgen
+};
+//SIG(1 G25x6y6) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G25x6y6 ::~G25x6y6(){ note_dtor("G25x6y6", this);} // tgen
+G25x6y6 ::G25x6y6(){ note_ctor("G25x6y6", this);} // tgen
+
+static void Test_G25x6y6()
+{
+ extern Class_Descriptor cd_G25x6y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G25x6y6, buf);
+ G25x6y6 *dp, &lv = *(dp=new (buf) G25x6y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G25x6y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x6y6)");
+ check_base_class_offset(lv, (A1*)(C25*)(E25x6*), 0, "G25x6y6");
+ check_base_class_offset(lv, (B0*)(C25*)(E25x6*), ABISELECT(24,20), "G25x6y6");
+ check_base_class_offset(lv, (C25*)(E25x6*), 0, "G25x6y6");
+ check_base_class_offset(lv, (D0*)(E25x6*), ABISELECT(28,24), "G25x6y6");
+ check_base_class_offset(lv, (E25x6*), 0, "G25x6y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,28), "G25x6y6");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G25x6y6.ff");
+ test_class_info(&lv, &cd_G25x6y6);
+ dp->~G25x6y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x6y6(Test_G25x6y6, "G25x6y6", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN7G25x6y6C1Ev();
+extern void _ZN7G25x6y6D1Ev();
+Name_Map name_map_G25x6y6[] = {
+ NSPAIR(_ZN7G25x6y6C1Ev),
+ NSPAIR(_ZN7G25x6y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E25x6;
+extern VTBL_ENTRY _ZTI5E25x6[];
+extern VTBL_ENTRY _ZTV5E25x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G25x6y6[] = {
+ // 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(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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E25x6, 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,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 _ZTI7G25x6y6[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY vtc_G25x6y6[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x6y6[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x6y6[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV5E25x6__7G25x6y6[] = {
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x6[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C255E25x6__7G25x6y6[] = {
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x6y6[] = {
+ {&(_ZTV7G25x6y6[5]), 5,6},
+ {&(_tg__ZTV5E25x6__7G25x6y6[4]), 4,5},
+ {&(_tg__ZTV3C255E25x6__7G25x6y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x6y6[];
+extern VTBL_ENTRY _ZTV7G25x6y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x6y6[];
+Class_Descriptor cd_G25x6y6 = { "G25x6y6", // class name
+ bases_G25x6y6, 6,
+ &(vtc_G25x6y6[0]), // expected_vtbl_contents
+ &(vtt_G25x6y6[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI7G25x6y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x6y6),6, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x6y6),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 G25x6y7 : virtual E25x6 , virtual F0 {
+ int ff;
+ ~G25x6y7(); // tgen
+ G25x6y7(); // tgen
+};
+//SIG(1 G25x6y7) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G25x6y7 ::~G25x6y7(){ note_dtor("G25x6y7", this);} // tgen
+G25x6y7 ::G25x6y7(){ note_ctor("G25x6y7", this);} // tgen
+
+static void Test_G25x6y7()
+{
+ extern Class_Descriptor cd_G25x6y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G25x6y7, buf);
+ G25x6y7 *dp, &lv = *(dp=new (buf) G25x6y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G25x6y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x6y7)");
+ check_base_class_offset(lv, (A1*)(C25*)(E25x6*), ABISELECT(16,8), "G25x6y7");
+ check_base_class_offset(lv, (B0*)(C25*)(E25x6*), ABISELECT(36,24), "G25x6y7");
+ check_base_class_offset(lv, (C25*)(E25x6*), ABISELECT(16,8), "G25x6y7");
+ check_base_class_offset(lv, (D0*)(E25x6*), ABISELECT(40,28), "G25x6y7");
+ check_base_class_offset(lv, (E25x6*), ABISELECT(16,8), "G25x6y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G25x6y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G25x6y7.ff");
+ test_class_info(&lv, &cd_G25x6y7);
+ dp->~G25x6y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x6y7(Test_G25x6y7, "G25x6y7", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G25x6y7C1Ev();
+extern void _ZN7G25x6y7D1Ev();
+Name_Map name_map_G25x6y7[] = {
+ NSPAIR(_ZN7G25x6y7C1Ev),
+ NSPAIR(_ZN7G25x6y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E25x6;
+extern VTBL_ENTRY _ZTI5E25x6[];
+extern VTBL_ENTRY _ZTV5E25x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G25x6y7[] = {
+ // 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(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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E25x6, 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
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //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 _ZTI7G25x6y7[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY vtc_G25x6y7[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x6y7[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G25x6y7[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x6y7[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV5E25x6__7G25x6y7[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x6[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C255E25x6__7G25x6y7[] = {
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x6y7[] = {
+ {&(_ZTV7G25x6y7[6]), 6,12},
+ {&(_ZTV7G25x6y7[11]), 11,12},
+ {&(_tg__ZTV5E25x6__7G25x6y7[4]), 4,5},
+ {&(_tg__ZTV3C255E25x6__7G25x6y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x6y7[];
+extern VTBL_ENTRY _ZTV7G25x6y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x6y7[];
+Class_Descriptor cd_G25x6y7 = { "G25x6y7", // class name
+ bases_G25x6y7, 6,
+ &(vtc_G25x6y7[0]), // expected_vtbl_contents
+ &(vtt_G25x6y7[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G25x6y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x6y7),12, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x6y7),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 E26x6 : C26 , virtual D0 {
+ int fd;
+ ~E26x6(); // tgen
+ E26x6(); // tgen
+};
+//SIG(-1 E26x6) C1{ BC2{ VBC3{ Fi} VBC4{ Fi} v1 Fi} VBC5{ Fi} Fi}
+
+
+E26x6 ::~E26x6(){ note_dtor("E26x6", this);} // tgen
+E26x6 ::E26x6(){ note_ctor("E26x6", this);} // tgen
+
+static void Test_E26x6()
+{
+ extern Class_Descriptor cd_E26x6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(5,7)];
+ init_test(&cd_E26x6, buf);
+ E26x6 *dp, &lv = *(dp=new (buf) E26x6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(32,24), "sizeof(E26x6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E26x6)");
+ check_base_class_offset(lv, (A0*)(C26*), ABISELECT(16,12), "E26x6");
+ check_base_class_offset(lv, (B0*)(C26*), ABISELECT(20,16), "E26x6");
+ check_base_class_offset(lv, (C26*), 0, "E26x6");
+ check_base_class_offset(lv, (D0*), ABISELECT(24,20), "E26x6");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E26x6.fd");
+ test_class_info(&lv, &cd_E26x6);
+ dp->~E26x6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE26x6(Test_E26x6, "E26x6", ABISELECT(32,24));
+
+#else // __cplusplus
+
+extern void _ZN5E26x6C1Ev();
+extern void _ZN5E26x6D1Ev();
+Name_Map name_map_E26x6[] = {
+ NSPAIR(_ZN5E26x6C1Ev),
+ NSPAIR(_ZN5E26x6D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E26x6[] = {
+ // 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
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D0, 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, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E26x6[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY vtc_E26x6[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x6[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern VTBL_ENTRY _ZTV5E26x6[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__5E26x6[] = {
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_E26x6[] = {
+ {&(_ZTV5E26x6[5]), 5,6},
+ {&(_tg__ZTV3C26__5E26x6[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI5E26x6[];
+extern VTBL_ENTRY _ZTV5E26x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x6[];
+Class_Descriptor cd_E26x6 = { "E26x6", // class name
+ bases_E26x6, 4,
+ &(vtc_E26x6[0]), // expected_vtbl_contents
+ &(vtt_E26x6[0]), // expected_vtt_contents
+ ABISELECT(32,24), // object size
+ NSPAIRA(_ZTI5E26x6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E26x6),6, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E26x6),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 G26x6y0 : E26x6 , F1 {
+ int ff;
+ ~G26x6y0(); // tgen
+ G26x6y0(); // tgen
+};
+//SIG(1 G26x6y0) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G26x6y0 ::~G26x6y0(){ note_dtor("G26x6y0", this);} // tgen
+G26x6y0 ::G26x6y0(){ note_ctor("G26x6y0", this);} // tgen
+
+static void Test_G26x6y0()
+{
+ extern Class_Descriptor cd_G26x6y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G26x6y0, buf);
+ G26x6y0 *dp, &lv = *(dp=new (buf) G26x6y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G26x6y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x6y0)");
+ check_base_class_offset(lv, (A0*)(C26*)(E26x6*), ABISELECT(32,24), "G26x6y0");
+ check_base_class_offset(lv, (B0*)(C26*)(E26x6*), ABISELECT(36,28), "G26x6y0");
+ check_base_class_offset(lv, (C26*)(E26x6*), 0, "G26x6y0");
+ check_base_class_offset(lv, (D0*)(E26x6*), ABISELECT(40,32), "G26x6y0");
+ check_base_class_offset(lv, (E26x6*), 0, "G26x6y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G26x6y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G26x6y0.ff");
+ test_class_info(&lv, &cd_G26x6y0);
+ dp->~G26x6y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x6y0(Test_G26x6y0, "G26x6y0", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G26x6y0C1Ev();
+extern void _ZN7G26x6y0D1Ev();
+Name_Map name_map_G26x6y0[] = {
+ NSPAIR(_ZN7G26x6y0C1Ev),
+ NSPAIR(_ZN7G26x6y0D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E26x6;
+extern VTBL_ENTRY _ZTI5E26x6[];
+extern VTBL_ENTRY _ZTV5E26x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G26x6y0[] = {
+ // 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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E26x6, 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
+ 2, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G26x6y0[];
+extern void _ZN3C263fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G26x6y0[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x6y0[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G26x6y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x6y0[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV5E26x6__7G26x6y0[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x6[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C265E26x6__7G26x6y0[] = {
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x6y0[] = {
+ {&(_ZTV7G26x6y0[5]), 5,9},
+ {&(_tg__ZTV5E26x6__7G26x6y0[5]), 5,6},
+ {&(_tg__ZTV3C265E26x6__7G26x6y0[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x6y0[];
+extern VTBL_ENTRY _ZTV7G26x6y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x6y0[];
+Class_Descriptor cd_G26x6y0 = { "G26x6y0", // class name
+ bases_G26x6y0, 6,
+ &(vtc_G26x6y0[0]), // expected_vtbl_contents
+ &(vtt_G26x6y0[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G26x6y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x6y0),9, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x6y0),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 G26x6y1 : virtual E26x6 , F1 {
+ int ff;
+ ~G26x6y1(); // tgen
+ G26x6y1(); // tgen
+};
+//SIG(1 G26x6y1) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G26x6y1 ::~G26x6y1(){ note_dtor("G26x6y1", this);} // tgen
+G26x6y1 ::G26x6y1(){ note_ctor("G26x6y1", this);} // tgen
+
+static void Test_G26x6y1()
+{
+ extern Class_Descriptor cd_G26x6y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G26x6y1, buf);
+ G26x6y1 *dp, &lv = *(dp=new (buf) G26x6y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G26x6y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x6y1)");
+ check_base_class_offset(lv, (A0*)(C26*)(E26x6*), ABISELECT(32,24), "G26x6y1");
+ check_base_class_offset(lv, (B0*)(C26*)(E26x6*), ABISELECT(36,28), "G26x6y1");
+ check_base_class_offset(lv, (C26*)(E26x6*), ABISELECT(16,12), "G26x6y1");
+ check_base_class_offset(lv, (D0*)(E26x6*), ABISELECT(40,32), "G26x6y1");
+ check_base_class_offset(lv, (E26x6*), ABISELECT(16,12), "G26x6y1");
+ check_base_class_offset(lv, (F1*), 0, "G26x6y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G26x6y1.ff");
+ test_class_info(&lv, &cd_G26x6y1);
+ dp->~G26x6y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x6y1(Test_G26x6y1, "G26x6y1", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G26x6y1C1Ev();
+extern void _ZN7G26x6y1D1Ev();
+Name_Map name_map_G26x6y1[] = {
+ NSPAIR(_ZN7G26x6y1C1Ev),
+ NSPAIR(_ZN7G26x6y1D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E26x6;
+extern VTBL_ENTRY _ZTI5E26x6[];
+extern VTBL_ENTRY _ZTV5E26x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G26x6y1[] = {
+ // 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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E26x6, 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
+ 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 _ZTI7G26x6y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY vtc_G26x6y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x6y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G26x6y1[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x6y1[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV5E26x6__7G26x6y1[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x6[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C265E26x6__7G26x6y1[] = {
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x6y1[] = {
+ {&(_ZTV7G26x6y1[6]), 6,14},
+ {&(_ZTV7G26x6y1[13]), 13,14},
+ {&(_tg__ZTV5E26x6__7G26x6y1[5]), 5,6},
+ {&(_tg__ZTV3C265E26x6__7G26x6y1[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x6y1[];
+extern VTBL_ENTRY _ZTV7G26x6y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x6y1[];
+Class_Descriptor cd_G26x6y1 = { "G26x6y1", // class name
+ bases_G26x6y1, 6,
+ &(vtc_G26x6y1[0]), // expected_vtbl_contents
+ &(vtt_G26x6y1[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G26x6y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x6y1),14, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x6y1),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 G26x6y2 : E26x6 , virtual F1 {
+ int ff;
+ ~G26x6y2(); // tgen
+ G26x6y2(); // tgen
+};
+//SIG(1 G26x6y2) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G26x6y2 ::~G26x6y2(){ note_dtor("G26x6y2", this);} // tgen
+G26x6y2 ::G26x6y2(){ note_ctor("G26x6y2", this);} // tgen
+
+static void Test_G26x6y2()
+{
+ extern Class_Descriptor cd_G26x6y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G26x6y2, buf);
+ G26x6y2 *dp, &lv = *(dp=new (buf) G26x6y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G26x6y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x6y2)");
+ check_base_class_offset(lv, (A0*)(C26*)(E26x6*), ABISELECT(20,16), "G26x6y2");
+ check_base_class_offset(lv, (B0*)(C26*)(E26x6*), ABISELECT(24,20), "G26x6y2");
+ check_base_class_offset(lv, (C26*)(E26x6*), 0, "G26x6y2");
+ check_base_class_offset(lv, (D0*)(E26x6*), ABISELECT(28,24), "G26x6y2");
+ check_base_class_offset(lv, (E26x6*), 0, "G26x6y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,28), "G26x6y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G26x6y2.ff");
+ test_class_info(&lv, &cd_G26x6y2);
+ dp->~G26x6y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x6y2(Test_G26x6y2, "G26x6y2", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G26x6y2C1Ev();
+extern void _ZN7G26x6y2D1Ev();
+Name_Map name_map_G26x6y2[] = {
+ NSPAIR(_ZN7G26x6y2C1Ev),
+ NSPAIR(_ZN7G26x6y2D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E26x6;
+extern VTBL_ENTRY _ZTI5E26x6[];
+extern VTBL_ENTRY _ZTV5E26x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G26x6y2[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E26x6, 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(32,28), //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 _ZTI7G26x6y2[];
+extern void _ZN3C263fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G26x6y2[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x6y2[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI7G26x6y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x6y2[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV5E26x6__7G26x6y2[] = {
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x6[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C265E26x6__7G26x6y2[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x6y2[] = {
+ {&(_ZTV7G26x6y2[6]), 6,11},
+ {&(_tg__ZTV5E26x6__7G26x6y2[5]), 5,6},
+ {&(_tg__ZTV3C265E26x6__7G26x6y2[4]), 4,5},
+ {&(_ZTV7G26x6y2[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI7G26x6y2[];
+extern VTBL_ENTRY _ZTV7G26x6y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x6y2[];
+Class_Descriptor cd_G26x6y2 = { "G26x6y2", // class name
+ bases_G26x6y2, 6,
+ &(vtc_G26x6y2[0]), // expected_vtbl_contents
+ &(vtt_G26x6y2[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G26x6y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x6y2),11, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x6y2),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 G26x6y3 : virtual E26x6 , virtual F1 {
+ int ff;
+ ~G26x6y3(); // tgen
+ G26x6y3(); // tgen
+};
+//SIG(1 G26x6y3) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G26x6y3 ::~G26x6y3(){ note_dtor("G26x6y3", this);} // tgen
+G26x6y3 ::G26x6y3(){ note_ctor("G26x6y3", this);} // tgen
+
+static void Test_G26x6y3()
+{
+ extern Class_Descriptor cd_G26x6y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G26x6y3, buf);
+ G26x6y3 *dp, &lv = *(dp=new (buf) G26x6y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G26x6y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x6y3)");
+ check_base_class_offset(lv, (A0*)(C26*)(E26x6*), ABISELECT(32,20), "G26x6y3");
+ check_base_class_offset(lv, (B0*)(C26*)(E26x6*), ABISELECT(36,24), "G26x6y3");
+ check_base_class_offset(lv, (C26*)(E26x6*), ABISELECT(16,8), "G26x6y3");
+ check_base_class_offset(lv, (D0*)(E26x6*), ABISELECT(40,28), "G26x6y3");
+ check_base_class_offset(lv, (E26x6*), ABISELECT(16,8), "G26x6y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G26x6y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G26x6y3.ff");
+ test_class_info(&lv, &cd_G26x6y3);
+ dp->~G26x6y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x6y3(Test_G26x6y3, "G26x6y3", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G26x6y3C1Ev();
+extern void _ZN7G26x6y3D1Ev();
+Name_Map name_map_G26x6y3[] = {
+ NSPAIR(_ZN7G26x6y3C1Ev),
+ NSPAIR(_ZN7G26x6y3D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E26x6;
+extern VTBL_ENTRY _ZTI5E26x6[];
+extern VTBL_ENTRY _ZTV5E26x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G26x6y3[] = {
+ // 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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E26x6, 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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_F1, 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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G26x6y3[];
+extern void _ZN3C263fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G26x6y3[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x6y3[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G26x6y3[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G26x6y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x6y3[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV5E26x6__7G26x6y3[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x6[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C265E26x6__7G26x6y3[] = {
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x6y3[] = {
+ {&(_ZTV7G26x6y3[7]), 7,18},
+ {&(_ZTV7G26x6y3[13]), 13,18},
+ {&(_ZTV7G26x6y3[17]), 17,18},
+ {&(_tg__ZTV5E26x6__7G26x6y3[5]), 5,6},
+ {&(_tg__ZTV3C265E26x6__7G26x6y3[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x6y3[];
+extern VTBL_ENTRY _ZTV7G26x6y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x6y3[];
+Class_Descriptor cd_G26x6y3 = { "G26x6y3", // class name
+ bases_G26x6y3, 6,
+ &(vtc_G26x6y3[0]), // expected_vtbl_contents
+ &(vtt_G26x6y3[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G26x6y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x6y3),18, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x6y3),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 G26x6y4 : E26x6 , F0 {
+ int ff;
+ ~G26x6y4(); // tgen
+ G26x6y4(); // tgen
+};
+//SIG(1 G26x6y4) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G26x6y4 ::~G26x6y4(){ note_dtor("G26x6y4", this);} // tgen
+G26x6y4 ::G26x6y4(){ note_ctor("G26x6y4", this);} // tgen
+
+static void Test_G26x6y4()
+{
+ extern Class_Descriptor cd_G26x6y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G26x6y4, buf);
+ G26x6y4 *dp, &lv = *(dp=new (buf) G26x6y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G26x6y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x6y4)");
+ check_base_class_offset(lv, (A0*)(C26*)(E26x6*), ABISELECT(24,20), "G26x6y4");
+ check_base_class_offset(lv, (B0*)(C26*)(E26x6*), ABISELECT(28,24), "G26x6y4");
+ check_base_class_offset(lv, (C26*)(E26x6*), 0, "G26x6y4");
+ check_base_class_offset(lv, (D0*)(E26x6*), ABISELECT(32,28), "G26x6y4");
+ check_base_class_offset(lv, (E26x6*), 0, "G26x6y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G26x6y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G26x6y4.ff");
+ test_class_info(&lv, &cd_G26x6y4);
+ dp->~G26x6y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x6y4(Test_G26x6y4, "G26x6y4", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN7G26x6y4C1Ev();
+extern void _ZN7G26x6y4D1Ev();
+Name_Map name_map_G26x6y4[] = {
+ NSPAIR(_ZN7G26x6y4C1Ev),
+ NSPAIR(_ZN7G26x6y4D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E26x6;
+extern VTBL_ENTRY _ZTI5E26x6[];
+extern VTBL_ENTRY _ZTV5E26x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G26x6y4[] = {
+ // 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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E26x6, 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
+ 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 _ZTI7G26x6y4[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY vtc_G26x6y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x6y4[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x6y4[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV5E26x6__7G26x6y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x6[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C265E26x6__7G26x6y4[] = {
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x6y4[] = {
+ {&(_ZTV7G26x6y4[5]), 5,6},
+ {&(_tg__ZTV5E26x6__7G26x6y4[5]), 5,6},
+ {&(_tg__ZTV3C265E26x6__7G26x6y4[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x6y4[];
+extern VTBL_ENTRY _ZTV7G26x6y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x6y4[];
+Class_Descriptor cd_G26x6y4 = { "G26x6y4", // class name
+ bases_G26x6y4, 6,
+ &(vtc_G26x6y4[0]), // expected_vtbl_contents
+ &(vtt_G26x6y4[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI7G26x6y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x6y4),6, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x6y4),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 G26x6y5 : virtual E26x6 , F0 {
+ int ff;
+ ~G26x6y5(); // tgen
+ G26x6y5(); // tgen
+};
+//SIG(1 G26x6y5) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G26x6y5 ::~G26x6y5(){ note_dtor("G26x6y5", this);} // tgen
+G26x6y5 ::G26x6y5(){ note_ctor("G26x6y5", this);} // tgen
+
+static void Test_G26x6y5()
+{
+ extern Class_Descriptor cd_G26x6y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G26x6y5, buf);
+ G26x6y5 *dp, &lv = *(dp=new (buf) G26x6y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G26x6y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x6y5)");
+ check_base_class_offset(lv, (A0*)(C26*)(E26x6*), ABISELECT(32,24), "G26x6y5");
+ check_base_class_offset(lv, (B0*)(C26*)(E26x6*), ABISELECT(36,28), "G26x6y5");
+ check_base_class_offset(lv, (C26*)(E26x6*), ABISELECT(16,12), "G26x6y5");
+ check_base_class_offset(lv, (D0*)(E26x6*), ABISELECT(40,32), "G26x6y5");
+ check_base_class_offset(lv, (E26x6*), ABISELECT(16,12), "G26x6y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G26x6y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G26x6y5.ff");
+ test_class_info(&lv, &cd_G26x6y5);
+ dp->~G26x6y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x6y5(Test_G26x6y5, "G26x6y5", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G26x6y5C1Ev();
+extern void _ZN7G26x6y5D1Ev();
+Name_Map name_map_G26x6y5[] = {
+ NSPAIR(_ZN7G26x6y5C1Ev),
+ NSPAIR(_ZN7G26x6y5D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E26x6;
+extern VTBL_ENTRY _ZTI5E26x6[];
+extern VTBL_ENTRY _ZTV5E26x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G26x6y5[] = {
+ // 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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E26x6, 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
+ 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 _ZTI7G26x6y5[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY vtc_G26x6y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x6y5[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G26x6y5[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x6y5[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV5E26x6__7G26x6y5[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x6[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C265E26x6__7G26x6y5[] = {
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x6y5[] = {
+ {&(_ZTV7G26x6y5[6]), 6,13},
+ {&(_ZTV7G26x6y5[12]), 12,13},
+ {&(_tg__ZTV5E26x6__7G26x6y5[5]), 5,6},
+ {&(_tg__ZTV3C265E26x6__7G26x6y5[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x6y5[];
+extern VTBL_ENTRY _ZTV7G26x6y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x6y5[];
+Class_Descriptor cd_G26x6y5 = { "G26x6y5", // class name
+ bases_G26x6y5, 6,
+ &(vtc_G26x6y5[0]), // expected_vtbl_contents
+ &(vtt_G26x6y5[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G26x6y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x6y5),13, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x6y5),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 G26x6y6 : E26x6 , virtual F0 {
+ int ff;
+ ~G26x6y6(); // tgen
+ G26x6y6(); // tgen
+};
+//SIG(1 G26x6y6) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G26x6y6 ::~G26x6y6(){ note_dtor("G26x6y6", this);} // tgen
+G26x6y6 ::G26x6y6(){ note_ctor("G26x6y6", this);} // tgen
+
+static void Test_G26x6y6()
+{
+ extern Class_Descriptor cd_G26x6y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G26x6y6, buf);
+ G26x6y6 *dp, &lv = *(dp=new (buf) G26x6y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G26x6y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x6y6)");
+ check_base_class_offset(lv, (A0*)(C26*)(E26x6*), ABISELECT(20,16), "G26x6y6");
+ check_base_class_offset(lv, (B0*)(C26*)(E26x6*), ABISELECT(24,20), "G26x6y6");
+ check_base_class_offset(lv, (C26*)(E26x6*), 0, "G26x6y6");
+ check_base_class_offset(lv, (D0*)(E26x6*), ABISELECT(28,24), "G26x6y6");
+ check_base_class_offset(lv, (E26x6*), 0, "G26x6y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,28), "G26x6y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G26x6y6.ff");
+ test_class_info(&lv, &cd_G26x6y6);
+ dp->~G26x6y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x6y6(Test_G26x6y6, "G26x6y6", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN7G26x6y6C1Ev();
+extern void _ZN7G26x6y6D1Ev();
+Name_Map name_map_G26x6y6[] = {
+ NSPAIR(_ZN7G26x6y6C1Ev),
+ NSPAIR(_ZN7G26x6y6D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E26x6;
+extern VTBL_ENTRY _ZTI5E26x6[];
+extern VTBL_ENTRY _ZTV5E26x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G26x6y6[] = {
+ // 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
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E26x6, 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
+ 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 _ZTI7G26x6y6[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY vtc_G26x6y6[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x6y6[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x6y6[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV5E26x6__7G26x6y6[] = {
+ ABISELECT(28,24),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x6[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C265E26x6__7G26x6y6[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x6y6[] = {
+ {&(_ZTV7G26x6y6[6]), 6,7},
+ {&(_tg__ZTV5E26x6__7G26x6y6[5]), 5,6},
+ {&(_tg__ZTV3C265E26x6__7G26x6y6[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x6y6[];
+extern VTBL_ENTRY _ZTV7G26x6y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x6y6[];
+Class_Descriptor cd_G26x6y6 = { "G26x6y6", // class name
+ bases_G26x6y6, 6,
+ &(vtc_G26x6y6[0]), // expected_vtbl_contents
+ &(vtt_G26x6y6[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI7G26x6y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x6y6),7, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x6y6),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 G26x6y7 : virtual E26x6 , virtual F0 {
+ int ff;
+ ~G26x6y7(); // tgen
+ G26x6y7(); // tgen
+};
+//SIG(1 G26x6y7) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G26x6y7 ::~G26x6y7(){ note_dtor("G26x6y7", this);} // tgen
+G26x6y7 ::G26x6y7(){ note_ctor("G26x6y7", this);} // tgen
+
+static void Test_G26x6y7()
+{
+ extern Class_Descriptor cd_G26x6y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G26x6y7, buf);
+ G26x6y7 *dp, &lv = *(dp=new (buf) G26x6y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G26x6y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x6y7)");
+ check_base_class_offset(lv, (A0*)(C26*)(E26x6*), ABISELECT(32,20), "G26x6y7");
+ check_base_class_offset(lv, (B0*)(C26*)(E26x6*), ABISELECT(36,24), "G26x6y7");
+ check_base_class_offset(lv, (C26*)(E26x6*), ABISELECT(16,8), "G26x6y7");
+ check_base_class_offset(lv, (D0*)(E26x6*), ABISELECT(40,28), "G26x6y7");
+ check_base_class_offset(lv, (E26x6*), ABISELECT(16,8), "G26x6y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G26x6y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G26x6y7.ff");
+ test_class_info(&lv, &cd_G26x6y7);
+ dp->~G26x6y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x6y7(Test_G26x6y7, "G26x6y7", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G26x6y7C1Ev();
+extern void _ZN7G26x6y7D1Ev();
+Name_Map name_map_G26x6y7[] = {
+ NSPAIR(_ZN7G26x6y7C1Ev),
+ NSPAIR(_ZN7G26x6y7D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E26x6;
+extern VTBL_ENTRY _ZTI5E26x6[];
+extern VTBL_ENTRY _ZTV5E26x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G26x6y7[] = {
+ // 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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E26x6, 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
+ 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 _ZTI7G26x6y7[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY vtc_G26x6y7[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x6y7[0]),
+ 0,
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G26x6y7[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x6y7[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV5E26x6__7G26x6y7[] = {
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x6[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C265E26x6__7G26x6y7[] = {
+ ABISELECT(20,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x6y7[] = {
+ {&(_ZTV7G26x6y7[7]), 7,14},
+ {&(_ZTV7G26x6y7[13]), 13,14},
+ {&(_tg__ZTV5E26x6__7G26x6y7[5]), 5,6},
+ {&(_tg__ZTV3C265E26x6__7G26x6y7[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x6y7[];
+extern VTBL_ENTRY _ZTV7G26x6y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x6y7[];
+Class_Descriptor cd_G26x6y7 = { "G26x6y7", // class name
+ bases_G26x6y7, 6,
+ &(vtc_G26x6y7[0]), // expected_vtbl_contents
+ &(vtt_G26x6y7[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G26x6y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x6y7),14, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x6y7),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 E27x6 : C27 , virtual D0 {
+ int fd;
+ ~E27x6(); // tgen
+ E27x6(); // tgen
+};
+//SIG(-1 E27x6) C1{ BC2{ VBC3{ v1 Fi} VBC4{ Fi} v1 Fi} VBC5{ Fi} Fi}
+
+
+E27x6 ::~E27x6(){ note_dtor("E27x6", this);} // tgen
+E27x6 ::E27x6(){ note_ctor("E27x6", this);} // tgen
+
+static void Test_E27x6()
+{
+ extern Class_Descriptor cd_E27x6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E27x6, buf);
+ E27x6 *dp, &lv = *(dp=new (buf) E27x6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E27x6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E27x6)");
+ check_base_class_offset(lv, (A1*)(C27*), ABISELECT(16,12), "E27x6");
+ check_base_class_offset(lv, (B0*)(C27*), ABISELECT(28,20), "E27x6");
+ check_base_class_offset(lv, (C27*), 0, "E27x6");
+ check_base_class_offset(lv, (D0*), ABISELECT(32,24), "E27x6");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E27x6.fd");
+ test_class_info(&lv, &cd_E27x6);
+ dp->~E27x6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE27x6(Test_E27x6, "E27x6", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E27x6C1Ev();
+extern void _ZN5E27x6D1Ev();
+Name_Map name_map_E27x6[] = {
+ NSPAIR(_ZN5E27x6C1Ev),
+ NSPAIR(_ZN5E27x6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E27x6[] = {
+ // 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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D0, 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, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E27x6[];
+extern void _ZN3C273fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn12_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_E27x6[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x6[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E27x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern VTBL_ENTRY _ZTV5E27x6[];
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__5E27x6[] = {
+ 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__5E27x6[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_E27x6[] = {
+ {&(_ZTV5E27x6[5]), 5,10},
+ {&(_tg__ZTV3C27__5E27x6[4]), 4,5},
+ {&(_tg__ZTV2A1__3C27__5E27x6[3]), 3,4},
+ {&(_ZTV5E27x6[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI5E27x6[];
+extern VTBL_ENTRY _ZTV5E27x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x6[];
+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_E27x6 = { "E27x6", // class name
+ bases_E27x6, 4,
+ &(vtc_E27x6[0]), // expected_vtbl_contents
+ &(vtt_E27x6[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E27x6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E27x6),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E27x6),4, //virtual table table var
+ 2, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names152,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x6y0 : E27x6 , F1 {
+ int ff;
+ ~G27x6y0(); // tgen
+ G27x6y0(); // tgen
+};
+//SIG(1 G27x6y0) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G27x6y0 ::~G27x6y0(){ note_dtor("G27x6y0", this);} // tgen
+G27x6y0 ::G27x6y0(){ note_ctor("G27x6y0", this);} // tgen
+
+static void Test_G27x6y0()
+{
+ extern Class_Descriptor cd_G27x6y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G27x6y0, buf);
+ G27x6y0 *dp, &lv = *(dp=new (buf) G27x6y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G27x6y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x6y0)");
+ check_base_class_offset(lv, (A1*)(C27*)(E27x6*), ABISELECT(32,24), "G27x6y0");
+ check_base_class_offset(lv, (B0*)(C27*)(E27x6*), ABISELECT(44,32), "G27x6y0");
+ check_base_class_offset(lv, (C27*)(E27x6*), 0, "G27x6y0");
+ check_base_class_offset(lv, (D0*)(E27x6*), ABISELECT(48,36), "G27x6y0");
+ check_base_class_offset(lv, (E27x6*), 0, "G27x6y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G27x6y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G27x6y0.ff");
+ test_class_info(&lv, &cd_G27x6y0);
+ dp->~G27x6y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x6y0(Test_G27x6y0, "G27x6y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G27x6y0C1Ev();
+extern void _ZN7G27x6y0D1Ev();
+Name_Map name_map_G27x6y0[] = {
+ NSPAIR(_ZN7G27x6y0C1Ev),
+ NSPAIR(_ZN7G27x6y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E27x6;
+extern VTBL_ENTRY _ZTI5E27x6[];
+extern VTBL_ENTRY _ZTV5E27x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G27x6y0[] = {
+ // 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)
+ 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(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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E27x6, 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 _ZTI7G27x6y0[];
+extern void _ZN3C273fooEv();
+extern void _ZN2F13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn32_N3C273fooEv,_ZThn24_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G27x6y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x6y0[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G27x6y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G27x6y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern VTBL_ENTRY _ZTV7G27x6y0[];
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV5E27x6__7G27x6y0[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x6[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C275E27x6__7G27x6y0[] = {
+ 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__3C275E27x6__7G27x6y0[] = {
+ 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__5E27x6__7G27x6y0[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E27x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x6y0[] = {
+ {&(_ZTV7G27x6y0[5]), 5,13},
+ {&(_tg__ZTV5E27x6__7G27x6y0[5]), 5,6},
+ {&(_tg__ZTV3C275E27x6__7G27x6y0[4]), 4,5},
+ {&(_tg__ZTV2A1__3C275E27x6__7G27x6y0[3]), 3,4},
+ {&(_tg__ZTV2A1__5E27x6__7G27x6y0[3]), 3,4},
+ {&(_ZTV7G27x6y0[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI7G27x6y0[];
+extern VTBL_ENTRY _ZTV7G27x6y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x6y0[];
+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_G27x6y0 = { "G27x6y0", // class name
+ bases_G27x6y0, 6,
+ &(vtc_G27x6y0[0]), // expected_vtbl_contents
+ &(vtt_G27x6y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G27x6y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x6y0),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x6y0),6, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names153,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x6y1 : virtual E27x6 , F1 {
+ int ff;
+ ~G27x6y1(); // tgen
+ G27x6y1(); // tgen
+};
+//SIG(1 G27x6y1) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G27x6y1 ::~G27x6y1(){ note_dtor("G27x6y1", this);} // tgen
+G27x6y1 ::G27x6y1(){ note_ctor("G27x6y1", this);} // tgen
+
+static void Test_G27x6y1()
+{
+ extern Class_Descriptor cd_G27x6y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G27x6y1, buf);
+ G27x6y1 *dp, &lv = *(dp=new (buf) G27x6y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G27x6y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x6y1)");
+ check_base_class_offset(lv, (A1*)(C27*)(E27x6*), ABISELECT(32,24), "G27x6y1");
+ check_base_class_offset(lv, (B0*)(C27*)(E27x6*), ABISELECT(44,32), "G27x6y1");
+ check_base_class_offset(lv, (C27*)(E27x6*), ABISELECT(16,12), "G27x6y1");
+ check_base_class_offset(lv, (D0*)(E27x6*), ABISELECT(48,36), "G27x6y1");
+ check_base_class_offset(lv, (E27x6*), ABISELECT(16,12), "G27x6y1");
+ check_base_class_offset(lv, (F1*), 0, "G27x6y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G27x6y1.ff");
+ test_class_info(&lv, &cd_G27x6y1);
+ dp->~G27x6y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x6y1(Test_G27x6y1, "G27x6y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G27x6y1C1Ev();
+extern void _ZN7G27x6y1D1Ev();
+Name_Map name_map_G27x6y1[] = {
+ NSPAIR(_ZN7G27x6y1C1Ev),
+ NSPAIR(_ZN7G27x6y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E27x6;
+extern VTBL_ENTRY _ZTI5E27x6[];
+extern VTBL_ENTRY _ZTV5E27x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G27x6y1[] = {
+ // 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E27x6, 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 _ZTI7G27x6y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C273fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn12_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G27x6y1[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x6y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G27x6y1[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G27x6y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern VTBL_ENTRY _ZTV7G27x6y1[];
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV5E27x6__7G27x6y1[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x6[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C275E27x6__7G27x6y1[] = {
+ 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__3C275E27x6__7G27x6y1[] = {
+ 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__5E27x6__7G27x6y1[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E27x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x6y1[] = {
+ {&(_ZTV7G27x6y1[6]), 6,18},
+ {&(_ZTV7G27x6y1[13]), 13,18},
+ {&(_ZTV7G27x6y1[17]), 17,18},
+ {&(_tg__ZTV5E27x6__7G27x6y1[5]), 5,6},
+ {&(_tg__ZTV3C275E27x6__7G27x6y1[4]), 4,5},
+ {&(_tg__ZTV2A1__3C275E27x6__7G27x6y1[3]), 3,4},
+ {&(_tg__ZTV2A1__5E27x6__7G27x6y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G27x6y1[];
+extern VTBL_ENTRY _ZTV7G27x6y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x6y1[];
+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_G27x6y1 = { "G27x6y1", // class name
+ bases_G27x6y1, 6,
+ &(vtc_G27x6y1[0]), // expected_vtbl_contents
+ &(vtt_G27x6y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G27x6y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x6y1),18, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x6y1),7, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names154,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x6y2 : E27x6 , virtual F1 {
+ int ff;
+ ~G27x6y2(); // tgen
+ G27x6y2(); // tgen
+};
+//SIG(1 G27x6y2) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G27x6y2 ::~G27x6y2(){ note_dtor("G27x6y2", this);} // tgen
+G27x6y2 ::G27x6y2(){ note_ctor("G27x6y2", this);} // tgen
+
+static void Test_G27x6y2()
+{
+ extern Class_Descriptor cd_G27x6y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G27x6y2, buf);
+ G27x6y2 *dp, &lv = *(dp=new (buf) G27x6y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G27x6y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x6y2)");
+ check_base_class_offset(lv, (A1*)(C27*)(E27x6*), ABISELECT(24,16), "G27x6y2");
+ check_base_class_offset(lv, (B0*)(C27*)(E27x6*), ABISELECT(36,24), "G27x6y2");
+ check_base_class_offset(lv, (C27*)(E27x6*), 0, "G27x6y2");
+ check_base_class_offset(lv, (D0*)(E27x6*), ABISELECT(40,28), "G27x6y2");
+ check_base_class_offset(lv, (E27x6*), 0, "G27x6y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G27x6y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G27x6y2.ff");
+ test_class_info(&lv, &cd_G27x6y2);
+ dp->~G27x6y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x6y2(Test_G27x6y2, "G27x6y2", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G27x6y2C1Ev();
+extern void _ZN7G27x6y2D1Ev();
+Name_Map name_map_G27x6y2[] = {
+ NSPAIR(_ZN7G27x6y2C1Ev),
+ NSPAIR(_ZN7G27x6y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E27x6;
+extern VTBL_ENTRY _ZTI5E27x6[];
+extern VTBL_ENTRY _ZTV5E27x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G27x6y2[] = {
+ // 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)
+ 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(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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E27x6, 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)
+ 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 _ZTI7G27x6y2[];
+extern void _ZN3C273fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn24_N3C273fooEv,_ZThn16_N3C273fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G27x6y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x6y2[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G27x6y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G27x6y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G27x6y2[];
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV5E27x6__7G27x6y2[] = {
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x6[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C275E27x6__7G27x6y2[] = {
+ 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__3C275E27x6__7G27x6y2[] = {
+ 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__5E27x6__7G27x6y2[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E27x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x6y2[] = {
+ {&(_ZTV7G27x6y2[6]), 6,15},
+ {&(_tg__ZTV5E27x6__7G27x6y2[5]), 5,6},
+ {&(_tg__ZTV3C275E27x6__7G27x6y2[4]), 4,5},
+ {&(_tg__ZTV2A1__3C275E27x6__7G27x6y2[3]), 3,4},
+ {&(_tg__ZTV2A1__5E27x6__7G27x6y2[3]), 3,4},
+ {&(_ZTV7G27x6y2[10]), 10,15},
+ {&(_ZTV7G27x6y2[14]), 14,15},
+};
+extern VTBL_ENTRY _ZTI7G27x6y2[];
+extern VTBL_ENTRY _ZTV7G27x6y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x6y2[];
+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_G27x6y2 = { "G27x6y2", // class name
+ bases_G27x6y2, 6,
+ &(vtc_G27x6y2[0]), // expected_vtbl_contents
+ &(vtt_G27x6y2[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G27x6y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x6y2),15, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x6y2),7, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names155,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x6y3 : virtual E27x6 , virtual F1 {
+ int ff;
+ ~G27x6y3(); // tgen
+ G27x6y3(); // tgen
+};
+//SIG(1 G27x6y3) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G27x6y3 ::~G27x6y3(){ note_dtor("G27x6y3", this);} // tgen
+G27x6y3 ::G27x6y3(){ note_ctor("G27x6y3", this);} // tgen
+
+static void Test_G27x6y3()
+{
+ extern Class_Descriptor cd_G27x6y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G27x6y3, buf);
+ G27x6y3 *dp, &lv = *(dp=new (buf) G27x6y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G27x6y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x6y3)");
+ check_base_class_offset(lv, (A1*)(C27*)(E27x6*), ABISELECT(32,20), "G27x6y3");
+ check_base_class_offset(lv, (B0*)(C27*)(E27x6*), ABISELECT(44,28), "G27x6y3");
+ check_base_class_offset(lv, (C27*)(E27x6*), ABISELECT(16,8), "G27x6y3");
+ check_base_class_offset(lv, (D0*)(E27x6*), ABISELECT(48,32), "G27x6y3");
+ check_base_class_offset(lv, (E27x6*), ABISELECT(16,8), "G27x6y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G27x6y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G27x6y3.ff");
+ test_class_info(&lv, &cd_G27x6y3);
+ dp->~G27x6y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x6y3(Test_G27x6y3, "G27x6y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G27x6y3C1Ev();
+extern void _ZN7G27x6y3D1Ev();
+Name_Map name_map_G27x6y3[] = {
+ NSPAIR(_ZN7G27x6y3C1Ev),
+ NSPAIR(_ZN7G27x6y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E27x6;
+extern VTBL_ENTRY _ZTI5E27x6[];
+extern VTBL_ENTRY _ZTV5E27x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G27x6y3[] = {
+ // 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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E27x6, 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 _ZTI7G27x6y3[];
+extern void _ZN3C273fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn12_N3C273fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G27x6y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x6y3[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G27x6y3[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G27x6y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G27x6y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G27x6y3[];
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV5E27x6__7G27x6y3[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x6[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C275E27x6__7G27x6y3[] = {
+ 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__3C275E27x6__7G27x6y3[] = {
+ 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__5E27x6__7G27x6y3[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E27x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x6y3[] = {
+ {&(_ZTV7G27x6y3[7]), 7,22},
+ {&(_ZTV7G27x6y3[13]), 13,22},
+ {&(_ZTV7G27x6y3[17]), 17,22},
+ {&(_ZTV7G27x6y3[21]), 21,22},
+ {&(_tg__ZTV5E27x6__7G27x6y3[5]), 5,6},
+ {&(_tg__ZTV3C275E27x6__7G27x6y3[4]), 4,5},
+ {&(_tg__ZTV2A1__3C275E27x6__7G27x6y3[3]), 3,4},
+ {&(_tg__ZTV2A1__5E27x6__7G27x6y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G27x6y3[];
+extern VTBL_ENTRY _ZTV7G27x6y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x6y3[];
+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_G27x6y3 = { "G27x6y3", // class name
+ bases_G27x6y3, 6,
+ &(vtc_G27x6y3[0]), // expected_vtbl_contents
+ &(vtt_G27x6y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G27x6y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x6y3),22, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x6y3),8, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names156,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x6y4 : E27x6 , F0 {
+ int ff;
+ ~G27x6y4(); // tgen
+ G27x6y4(); // tgen
+};
+//SIG(1 G27x6y4) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G27x6y4 ::~G27x6y4(){ note_dtor("G27x6y4", this);} // tgen
+G27x6y4 ::G27x6y4(){ note_ctor("G27x6y4", this);} // tgen
+
+static void Test_G27x6y4()
+{
+ extern Class_Descriptor cd_G27x6y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G27x6y4, buf);
+ G27x6y4 *dp, &lv = *(dp=new (buf) G27x6y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G27x6y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x6y4)");
+ check_base_class_offset(lv, (A1*)(C27*)(E27x6*), ABISELECT(24,20), "G27x6y4");
+ check_base_class_offset(lv, (B0*)(C27*)(E27x6*), ABISELECT(36,28), "G27x6y4");
+ check_base_class_offset(lv, (C27*)(E27x6*), 0, "G27x6y4");
+ check_base_class_offset(lv, (D0*)(E27x6*), ABISELECT(40,32), "G27x6y4");
+ check_base_class_offset(lv, (E27x6*), 0, "G27x6y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G27x6y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G27x6y4.ff");
+ test_class_info(&lv, &cd_G27x6y4);
+ dp->~G27x6y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x6y4(Test_G27x6y4, "G27x6y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G27x6y4C1Ev();
+extern void _ZN7G27x6y4D1Ev();
+Name_Map name_map_G27x6y4[] = {
+ NSPAIR(_ZN7G27x6y4C1Ev),
+ NSPAIR(_ZN7G27x6y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E27x6;
+extern VTBL_ENTRY _ZTI5E27x6[];
+extern VTBL_ENTRY _ZTV5E27x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G27x6y4[] = {
+ // 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)
+ 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(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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E27x6, 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 _ZTI7G27x6y4[];
+extern void _ZN3C273fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn24_N3C273fooEv,_ZThn20_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G27x6y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x6y4[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G27x6y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern VTBL_ENTRY _ZTV7G27x6y4[];
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV5E27x6__7G27x6y4[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x6[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C275E27x6__7G27x6y4[] = {
+ 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__3C275E27x6__7G27x6y4[] = {
+ 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__5E27x6__7G27x6y4[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E27x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x6y4[] = {
+ {&(_ZTV7G27x6y4[5]), 5,10},
+ {&(_tg__ZTV5E27x6__7G27x6y4[5]), 5,6},
+ {&(_tg__ZTV3C275E27x6__7G27x6y4[4]), 4,5},
+ {&(_tg__ZTV2A1__3C275E27x6__7G27x6y4[3]), 3,4},
+ {&(_tg__ZTV2A1__5E27x6__7G27x6y4[3]), 3,4},
+ {&(_ZTV7G27x6y4[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI7G27x6y4[];
+extern VTBL_ENTRY _ZTV7G27x6y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x6y4[];
+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_G27x6y4 = { "G27x6y4", // class name
+ bases_G27x6y4, 6,
+ &(vtc_G27x6y4[0]), // expected_vtbl_contents
+ &(vtt_G27x6y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G27x6y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x6y4),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x6y4),6, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names157,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x6y5 : virtual E27x6 , F0 {
+ int ff;
+ ~G27x6y5(); // tgen
+ G27x6y5(); // tgen
+};
+//SIG(1 G27x6y5) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G27x6y5 ::~G27x6y5(){ note_dtor("G27x6y5", this);} // tgen
+G27x6y5 ::G27x6y5(){ note_ctor("G27x6y5", this);} // tgen
+
+static void Test_G27x6y5()
+{
+ extern Class_Descriptor cd_G27x6y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G27x6y5, buf);
+ G27x6y5 *dp, &lv = *(dp=new (buf) G27x6y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G27x6y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x6y5)");
+ check_base_class_offset(lv, (A1*)(C27*)(E27x6*), ABISELECT(32,24), "G27x6y5");
+ check_base_class_offset(lv, (B0*)(C27*)(E27x6*), ABISELECT(44,32), "G27x6y5");
+ check_base_class_offset(lv, (C27*)(E27x6*), ABISELECT(16,12), "G27x6y5");
+ check_base_class_offset(lv, (D0*)(E27x6*), ABISELECT(48,36), "G27x6y5");
+ check_base_class_offset(lv, (E27x6*), ABISELECT(16,12), "G27x6y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G27x6y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G27x6y5.ff");
+ test_class_info(&lv, &cd_G27x6y5);
+ dp->~G27x6y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x6y5(Test_G27x6y5, "G27x6y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G27x6y5C1Ev();
+extern void _ZN7G27x6y5D1Ev();
+Name_Map name_map_G27x6y5[] = {
+ NSPAIR(_ZN7G27x6y5C1Ev),
+ NSPAIR(_ZN7G27x6y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E27x6;
+extern VTBL_ENTRY _ZTI5E27x6[];
+extern VTBL_ENTRY _ZTV5E27x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G27x6y5[] = {
+ // 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E27x6, 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 _ZTI7G27x6y5[];
+extern void _ZN3C273fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn12_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G27x6y5[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x6y5[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G27x6y5[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G27x6y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern VTBL_ENTRY _ZTV7G27x6y5[];
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV5E27x6__7G27x6y5[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x6[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C275E27x6__7G27x6y5[] = {
+ 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__3C275E27x6__7G27x6y5[] = {
+ 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__5E27x6__7G27x6y5[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E27x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x6y5[] = {
+ {&(_ZTV7G27x6y5[6]), 6,17},
+ {&(_ZTV7G27x6y5[12]), 12,17},
+ {&(_ZTV7G27x6y5[16]), 16,17},
+ {&(_tg__ZTV5E27x6__7G27x6y5[5]), 5,6},
+ {&(_tg__ZTV3C275E27x6__7G27x6y5[4]), 4,5},
+ {&(_tg__ZTV2A1__3C275E27x6__7G27x6y5[3]), 3,4},
+ {&(_tg__ZTV2A1__5E27x6__7G27x6y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G27x6y5[];
+extern VTBL_ENTRY _ZTV7G27x6y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x6y5[];
+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_G27x6y5 = { "G27x6y5", // class name
+ bases_G27x6y5, 6,
+ &(vtc_G27x6y5[0]), // expected_vtbl_contents
+ &(vtt_G27x6y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G27x6y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x6y5),17, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x6y5),7, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names158,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x6y6 : E27x6 , virtual F0 {
+ int ff;
+ ~G27x6y6(); // tgen
+ G27x6y6(); // tgen
+};
+//SIG(1 G27x6y6) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G27x6y6 ::~G27x6y6(){ note_dtor("G27x6y6", this);} // tgen
+G27x6y6 ::G27x6y6(){ note_ctor("G27x6y6", this);} // tgen
+
+static void Test_G27x6y6()
+{
+ extern Class_Descriptor cd_G27x6y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G27x6y6, buf);
+ G27x6y6 *dp, &lv = *(dp=new (buf) G27x6y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G27x6y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x6y6)");
+ check_base_class_offset(lv, (A1*)(C27*)(E27x6*), ABISELECT(24,16), "G27x6y6");
+ check_base_class_offset(lv, (B0*)(C27*)(E27x6*), ABISELECT(36,24), "G27x6y6");
+ check_base_class_offset(lv, (C27*)(E27x6*), 0, "G27x6y6");
+ check_base_class_offset(lv, (D0*)(E27x6*), ABISELECT(40,28), "G27x6y6");
+ check_base_class_offset(lv, (E27x6*), 0, "G27x6y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G27x6y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G27x6y6.ff");
+ test_class_info(&lv, &cd_G27x6y6);
+ dp->~G27x6y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x6y6(Test_G27x6y6, "G27x6y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G27x6y6C1Ev();
+extern void _ZN7G27x6y6D1Ev();
+Name_Map name_map_G27x6y6[] = {
+ NSPAIR(_ZN7G27x6y6C1Ev),
+ NSPAIR(_ZN7G27x6y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E27x6;
+extern VTBL_ENTRY _ZTI5E27x6[];
+extern VTBL_ENTRY _ZTV5E27x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G27x6y6[] = {
+ // 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)
+ 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(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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E27x6, 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 _ZTI7G27x6y6[];
+extern void _ZN3C273fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn24_N3C273fooEv,_ZThn16_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G27x6y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x6y6[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G27x6y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern VTBL_ENTRY _ZTV7G27x6y6[];
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV5E27x6__7G27x6y6[] = {
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x6[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C275E27x6__7G27x6y6[] = {
+ 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__3C275E27x6__7G27x6y6[] = {
+ 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__5E27x6__7G27x6y6[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E27x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x6y6[] = {
+ {&(_ZTV7G27x6y6[6]), 6,11},
+ {&(_tg__ZTV5E27x6__7G27x6y6[5]), 5,6},
+ {&(_tg__ZTV3C275E27x6__7G27x6y6[4]), 4,5},
+ {&(_tg__ZTV2A1__3C275E27x6__7G27x6y6[3]), 3,4},
+ {&(_tg__ZTV2A1__5E27x6__7G27x6y6[3]), 3,4},
+ {&(_ZTV7G27x6y6[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI7G27x6y6[];
+extern VTBL_ENTRY _ZTV7G27x6y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x6y6[];
+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_G27x6y6 = { "G27x6y6", // class name
+ bases_G27x6y6, 6,
+ &(vtc_G27x6y6[0]), // expected_vtbl_contents
+ &(vtt_G27x6y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G27x6y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x6y6),11, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x6y6),6, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names159,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x6y7 : virtual E27x6 , virtual F0 {
+ int ff;
+ ~G27x6y7(); // tgen
+ G27x6y7(); // tgen
+};
+//SIG(1 G27x6y7) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G27x6y7 ::~G27x6y7(){ note_dtor("G27x6y7", this);} // tgen
+G27x6y7 ::G27x6y7(){ note_ctor("G27x6y7", this);} // tgen
+
+static void Test_G27x6y7()
+{
+ extern Class_Descriptor cd_G27x6y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G27x6y7, buf);
+ G27x6y7 *dp, &lv = *(dp=new (buf) G27x6y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G27x6y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x6y7)");
+ check_base_class_offset(lv, (A1*)(C27*)(E27x6*), ABISELECT(32,20), "G27x6y7");
+ check_base_class_offset(lv, (B0*)(C27*)(E27x6*), ABISELECT(44,28), "G27x6y7");
+ check_base_class_offset(lv, (C27*)(E27x6*), ABISELECT(16,8), "G27x6y7");
+ check_base_class_offset(lv, (D0*)(E27x6*), ABISELECT(48,32), "G27x6y7");
+ check_base_class_offset(lv, (E27x6*), ABISELECT(16,8), "G27x6y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G27x6y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G27x6y7.ff");
+ test_class_info(&lv, &cd_G27x6y7);
+ dp->~G27x6y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x6y7(Test_G27x6y7, "G27x6y7", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G27x6y7C1Ev();
+extern void _ZN7G27x6y7D1Ev();
+Name_Map name_map_G27x6y7[] = {
+ NSPAIR(_ZN7G27x6y7C1Ev),
+ NSPAIR(_ZN7G27x6y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E27x6;
+extern VTBL_ENTRY _ZTI5E27x6[];
+extern VTBL_ENTRY _ZTV5E27x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G27x6y7[] = {
+ // 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E27x6, 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 _ZTI7G27x6y7[];
+extern void _ZN3C273fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv)();
+extern void ABISELECT(_ZThn16_N3C273fooEv,_ZThn12_N3C273fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G27x6y7[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x6y7[0]),
+ 0,
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G27x6y7[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G27x6y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern VTBL_ENTRY _ZTV7G27x6y7[];
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV5E27x6__7G27x6y7[] = {
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x6[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C275E27x6__7G27x6y7[] = {
+ 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__3C275E27x6__7G27x6y7[] = {
+ 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__5E27x6__7G27x6y7[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E27x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x6y7[] = {
+ {&(_ZTV7G27x6y7[7]), 7,18},
+ {&(_ZTV7G27x6y7[13]), 13,18},
+ {&(_ZTV7G27x6y7[17]), 17,18},
+ {&(_tg__ZTV5E27x6__7G27x6y7[5]), 5,6},
+ {&(_tg__ZTV3C275E27x6__7G27x6y7[4]), 4,5},
+ {&(_tg__ZTV2A1__3C275E27x6__7G27x6y7[3]), 3,4},
+ {&(_tg__ZTV2A1__5E27x6__7G27x6y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G27x6y7[];
+extern VTBL_ENTRY _ZTV7G27x6y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x6y7[];
+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_G27x6y7 = { "G27x6y7", // class name
+ bases_G27x6y7, 6,
+ &(vtc_G27x6y7[0]), // expected_vtbl_contents
+ &(vtt_G27x6y7[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G27x6y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x6y7),18, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x6y7),7, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names160,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E28x6 : C28 , virtual D0 {
+ int fd;
+ ~E28x6(); // tgen
+ E28x6(); // tgen
+};
+//SIG(-1 E28x6) C1{ BC2{ BC3{ Fi} VBC4{ v1 Fi} v1 Fi} VBC5{ Fi} Fi}
+
+
+E28x6 ::~E28x6(){ note_dtor("E28x6", this);} // tgen
+E28x6 ::E28x6(){ note_ctor("E28x6", this);} // tgen
+
+static void Test_E28x6()
+{
+ extern Class_Descriptor cd_E28x6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E28x6, buf);
+ E28x6 *dp, &lv = *(dp=new (buf) E28x6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E28x6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E28x6)");
+ check_base_class_offset(lv, (A0*)(C28*), ABISELECT(8,4), "E28x6");
+ check_base_class_offset(lv, (B1*)(C28*), ABISELECT(24,16), "E28x6");
+ check_base_class_offset(lv, (C28*), 0, "E28x6");
+ check_base_class_offset(lv, (D0*), ABISELECT(36,24), "E28x6");
+ check_field_offset(lv, fd, ABISELECT(16,12), "E28x6.fd");
+ test_class_info(&lv, &cd_E28x6);
+ dp->~E28x6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE28x6(Test_E28x6, "E28x6", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E28x6C1Ev();
+extern void _ZN5E28x6D1Ev();
+Name_Map name_map_E28x6[] = {
+ NSPAIR(_ZN5E28x6C1Ev),
+ NSPAIR(_ZN5E28x6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E28x6[] = {
+ // 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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D0, 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, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E28x6[];
+extern void _ZN3C283fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn24_N3C283fooEv,_ZThn16_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_E28x6[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x6[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E28x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern VTBL_ENTRY _ZTV5E28x6[];
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__5E28x6[] = {
+ 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__5E28x6[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_E28x6[] = {
+ {&(_ZTV5E28x6[4]), 4,9},
+ {&(_tg__ZTV3C28__5E28x6[3]), 3,4},
+ {&(_tg__ZTV2B1__3C28__5E28x6[3]), 3,4},
+ {&(_ZTV5E28x6[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI5E28x6[];
+extern VTBL_ENTRY _ZTV5E28x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x6[];
+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_E28x6 = { "E28x6", // class name
+ bases_E28x6, 4,
+ &(vtc_E28x6[0]), // expected_vtbl_contents
+ &(vtt_E28x6[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E28x6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E28x6),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E28x6),4, //virtual table table var
+ 2, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names161,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x6y0 : E28x6 , F1 {
+ int ff;
+ ~G28x6y0(); // tgen
+ G28x6y0(); // tgen
+};
+//SIG(1 G28x6y0) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G28x6y0 ::~G28x6y0(){ note_dtor("G28x6y0", this);} // tgen
+G28x6y0 ::G28x6y0(){ note_ctor("G28x6y0", this);} // tgen
+
+static void Test_G28x6y0()
+{
+ extern Class_Descriptor cd_G28x6y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G28x6y0, buf);
+ G28x6y0 *dp, &lv = *(dp=new (buf) G28x6y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G28x6y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x6y0)");
+ check_base_class_offset(lv, (A0*)(C28*)(E28x6*), ABISELECT(8,4), "G28x6y0");
+ check_base_class_offset(lv, (B1*)(C28*)(E28x6*), ABISELECT(40,28), "G28x6y0");
+ check_base_class_offset(lv, (C28*)(E28x6*), 0, "G28x6y0");
+ check_base_class_offset(lv, (D0*)(E28x6*), ABISELECT(52,36), "G28x6y0");
+ check_base_class_offset(lv, (E28x6*), 0, "G28x6y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,16), "G28x6y0");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G28x6y0.ff");
+ test_class_info(&lv, &cd_G28x6y0);
+ dp->~G28x6y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x6y0(Test_G28x6y0, "G28x6y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G28x6y0C1Ev();
+extern void _ZN7G28x6y0D1Ev();
+Name_Map name_map_G28x6y0[] = {
+ NSPAIR(_ZN7G28x6y0C1Ev),
+ NSPAIR(_ZN7G28x6y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E28x6;
+extern VTBL_ENTRY _ZTI5E28x6[];
+extern VTBL_ENTRY _ZTV5E28x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G28x6y0[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E28x6, 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 _ZTI7G28x6y0[];
+extern void _ZN3C283fooEv();
+extern void _ZN2F13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn40_N3C283fooEv,_ZThn28_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G28x6y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x6y0[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G28x6y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G28x6y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern VTBL_ENTRY _ZTV7G28x6y0[];
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV5E28x6__7G28x6y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x6[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C285E28x6__7G28x6y0[] = {
+ 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__3C285E28x6__7G28x6y0[] = {
+ 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__5E28x6__7G28x6y0[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E28x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x6y0[] = {
+ {&(_ZTV7G28x6y0[4]), 4,12},
+ {&(_tg__ZTV5E28x6__7G28x6y0[4]), 4,5},
+ {&(_tg__ZTV3C285E28x6__7G28x6y0[3]), 3,4},
+ {&(_tg__ZTV2B1__3C285E28x6__7G28x6y0[3]), 3,4},
+ {&(_tg__ZTV2B1__5E28x6__7G28x6y0[3]), 3,4},
+ {&(_ZTV7G28x6y0[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI7G28x6y0[];
+extern VTBL_ENTRY _ZTV7G28x6y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x6y0[];
+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_G28x6y0 = { "G28x6y0", // class name
+ bases_G28x6y0, 6,
+ &(vtc_G28x6y0[0]), // expected_vtbl_contents
+ &(vtt_G28x6y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G28x6y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x6y0),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x6y0),6, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names162,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x6y1 : virtual E28x6 , F1 {
+ int ff;
+ ~G28x6y1(); // tgen
+ G28x6y1(); // tgen
+};
+//SIG(1 G28x6y1) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G28x6y1 ::~G28x6y1(){ note_dtor("G28x6y1", this);} // tgen
+G28x6y1 ::G28x6y1(){ note_ctor("G28x6y1", this);} // tgen
+
+static void Test_G28x6y1()
+{
+ extern Class_Descriptor cd_G28x6y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G28x6y1, buf);
+ G28x6y1 *dp, &lv = *(dp=new (buf) G28x6y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G28x6y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x6y1)");
+ check_base_class_offset(lv, (A0*)(C28*)(E28x6*), ABISELECT(24,16), "G28x6y1");
+ check_base_class_offset(lv, (B1*)(C28*)(E28x6*), ABISELECT(40,28), "G28x6y1");
+ check_base_class_offset(lv, (C28*)(E28x6*), ABISELECT(16,12), "G28x6y1");
+ check_base_class_offset(lv, (D0*)(E28x6*), ABISELECT(52,36), "G28x6y1");
+ check_base_class_offset(lv, (E28x6*), ABISELECT(16,12), "G28x6y1");
+ check_base_class_offset(lv, (F1*), 0, "G28x6y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G28x6y1.ff");
+ test_class_info(&lv, &cd_G28x6y1);
+ dp->~G28x6y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x6y1(Test_G28x6y1, "G28x6y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G28x6y1C1Ev();
+extern void _ZN7G28x6y1D1Ev();
+Name_Map name_map_G28x6y1[] = {
+ NSPAIR(_ZN7G28x6y1C1Ev),
+ NSPAIR(_ZN7G28x6y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E28x6;
+extern VTBL_ENTRY _ZTI5E28x6[];
+extern VTBL_ENTRY _ZTV5E28x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G28x6y1[] = {
+ // 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E28x6, 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 _ZTI7G28x6y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C283fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn24_N3C283fooEv,_ZThn16_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G28x6y1[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x6y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G28x6y1[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G28x6y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern VTBL_ENTRY _ZTV7G28x6y1[];
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV5E28x6__7G28x6y1[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x6[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C285E28x6__7G28x6y1[] = {
+ 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__3C285E28x6__7G28x6y1[] = {
+ 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__5E28x6__7G28x6y1[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E28x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x6y1[] = {
+ {&(_ZTV7G28x6y1[5]), 5,16},
+ {&(_ZTV7G28x6y1[11]), 11,16},
+ {&(_ZTV7G28x6y1[15]), 15,16},
+ {&(_tg__ZTV5E28x6__7G28x6y1[4]), 4,5},
+ {&(_tg__ZTV3C285E28x6__7G28x6y1[3]), 3,4},
+ {&(_tg__ZTV2B1__3C285E28x6__7G28x6y1[3]), 3,4},
+ {&(_tg__ZTV2B1__5E28x6__7G28x6y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G28x6y1[];
+extern VTBL_ENTRY _ZTV7G28x6y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x6y1[];
+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_G28x6y1 = { "G28x6y1", // class name
+ bases_G28x6y1, 6,
+ &(vtc_G28x6y1[0]), // expected_vtbl_contents
+ &(vtt_G28x6y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G28x6y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x6y1),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x6y1),7, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names163,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x6y2 : E28x6 , virtual F1 {
+ int ff;
+ ~G28x6y2(); // tgen
+ G28x6y2(); // tgen
+};
+//SIG(1 G28x6y2) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G28x6y2 ::~G28x6y2(){ note_dtor("G28x6y2", this);} // tgen
+G28x6y2 ::G28x6y2(){ note_ctor("G28x6y2", this);} // tgen
+
+static void Test_G28x6y2()
+{
+ extern Class_Descriptor cd_G28x6y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G28x6y2, buf);
+ G28x6y2 *dp, &lv = *(dp=new (buf) G28x6y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G28x6y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x6y2)");
+ check_base_class_offset(lv, (A0*)(C28*)(E28x6*), ABISELECT(8,4), "G28x6y2");
+ check_base_class_offset(lv, (B1*)(C28*)(E28x6*), ABISELECT(24,20), "G28x6y2");
+ check_base_class_offset(lv, (C28*)(E28x6*), 0, "G28x6y2");
+ check_base_class_offset(lv, (D0*)(E28x6*), ABISELECT(36,28), "G28x6y2");
+ check_base_class_offset(lv, (E28x6*), 0, "G28x6y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(40,32), "G28x6y2");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G28x6y2.ff");
+ test_class_info(&lv, &cd_G28x6y2);
+ dp->~G28x6y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x6y2(Test_G28x6y2, "G28x6y2", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G28x6y2C1Ev();
+extern void _ZN7G28x6y2D1Ev();
+Name_Map name_map_G28x6y2[] = {
+ NSPAIR(_ZN7G28x6y2C1Ev),
+ NSPAIR(_ZN7G28x6y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E28x6;
+extern VTBL_ENTRY _ZTI5E28x6[];
+extern VTBL_ENTRY _ZTV5E28x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G28x6y2[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E28x6, 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(40,32), //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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G28x6y2[];
+extern void _ZN3C283fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn24_N3C283fooEv,_ZThn20_N3C283fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G28x6y2[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x6y2[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G28x6y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G28x6y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G28x6y2[];
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV5E28x6__7G28x6y2[] = {
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x6[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C285E28x6__7G28x6y2[] = {
+ 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__3C285E28x6__7G28x6y2[] = {
+ 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__5E28x6__7G28x6y2[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E28x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x6y2[] = {
+ {&(_ZTV7G28x6y2[5]), 5,14},
+ {&(_tg__ZTV5E28x6__7G28x6y2[4]), 4,5},
+ {&(_tg__ZTV3C285E28x6__7G28x6y2[3]), 3,4},
+ {&(_tg__ZTV2B1__3C285E28x6__7G28x6y2[3]), 3,4},
+ {&(_tg__ZTV2B1__5E28x6__7G28x6y2[3]), 3,4},
+ {&(_ZTV7G28x6y2[9]), 9,14},
+ {&(_ZTV7G28x6y2[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI7G28x6y2[];
+extern VTBL_ENTRY _ZTV7G28x6y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x6y2[];
+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_G28x6y2 = { "G28x6y2", // class name
+ bases_G28x6y2, 6,
+ &(vtc_G28x6y2[0]), // expected_vtbl_contents
+ &(vtt_G28x6y2[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G28x6y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x6y2),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x6y2),7, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names164,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x6y3 : virtual E28x6 , virtual F1 {
+ int ff;
+ ~G28x6y3(); // tgen
+ G28x6y3(); // tgen
+};
+//SIG(1 G28x6y3) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G28x6y3 ::~G28x6y3(){ note_dtor("G28x6y3", this);} // tgen
+G28x6y3 ::G28x6y3(){ note_ctor("G28x6y3", this);} // tgen
+
+static void Test_G28x6y3()
+{
+ extern Class_Descriptor cd_G28x6y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G28x6y3, buf);
+ G28x6y3 *dp, &lv = *(dp=new (buf) G28x6y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G28x6y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x6y3)");
+ check_base_class_offset(lv, (A0*)(C28*)(E28x6*), ABISELECT(24,12), "G28x6y3");
+ check_base_class_offset(lv, (B1*)(C28*)(E28x6*), ABISELECT(40,24), "G28x6y3");
+ check_base_class_offset(lv, (C28*)(E28x6*), ABISELECT(16,8), "G28x6y3");
+ check_base_class_offset(lv, (D0*)(E28x6*), ABISELECT(52,32), "G28x6y3");
+ check_base_class_offset(lv, (E28x6*), ABISELECT(16,8), "G28x6y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G28x6y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G28x6y3.ff");
+ test_class_info(&lv, &cd_G28x6y3);
+ dp->~G28x6y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x6y3(Test_G28x6y3, "G28x6y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G28x6y3C1Ev();
+extern void _ZN7G28x6y3D1Ev();
+Name_Map name_map_G28x6y3[] = {
+ NSPAIR(_ZN7G28x6y3C1Ev),
+ NSPAIR(_ZN7G28x6y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E28x6;
+extern VTBL_ENTRY _ZTI5E28x6[];
+extern VTBL_ENTRY _ZTV5E28x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G28x6y3[] = {
+ // 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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E28x6, 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 _ZTI7G28x6y3[];
+extern void _ZN3C283fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn24_N3C283fooEv,_ZThn16_N3C283fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G28x6y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x6y3[0]),
+ 0,
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G28x6y3[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G28x6y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G28x6y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G28x6y3[];
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV5E28x6__7G28x6y3[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x6[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C285E28x6__7G28x6y3[] = {
+ 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__3C285E28x6__7G28x6y3[] = {
+ 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__5E28x6__7G28x6y3[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E28x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x6y3[] = {
+ {&(_ZTV7G28x6y3[6]), 6,20},
+ {&(_ZTV7G28x6y3[11]), 11,20},
+ {&(_ZTV7G28x6y3[15]), 15,20},
+ {&(_ZTV7G28x6y3[19]), 19,20},
+ {&(_tg__ZTV5E28x6__7G28x6y3[4]), 4,5},
+ {&(_tg__ZTV3C285E28x6__7G28x6y3[3]), 3,4},
+ {&(_tg__ZTV2B1__3C285E28x6__7G28x6y3[3]), 3,4},
+ {&(_tg__ZTV2B1__5E28x6__7G28x6y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G28x6y3[];
+extern VTBL_ENTRY _ZTV7G28x6y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x6y3[];
+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_G28x6y3 = { "G28x6y3", // class name
+ bases_G28x6y3, 6,
+ &(vtc_G28x6y3[0]), // expected_vtbl_contents
+ &(vtt_G28x6y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G28x6y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x6y3),20, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x6y3),8, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names165,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x6y4 : E28x6 , F0 {
+ int ff;
+ ~G28x6y4(); // tgen
+ G28x6y4(); // tgen
+};
+//SIG(1 G28x6y4) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G28x6y4 ::~G28x6y4(){ note_dtor("G28x6y4", this);} // tgen
+G28x6y4 ::G28x6y4(){ note_ctor("G28x6y4", this);} // tgen
+
+static void Test_G28x6y4()
+{
+ extern Class_Descriptor cd_G28x6y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G28x6y4, buf);
+ G28x6y4 *dp, &lv = *(dp=new (buf) G28x6y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G28x6y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x6y4)");
+ check_base_class_offset(lv, (A0*)(C28*)(E28x6*), ABISELECT(8,4), "G28x6y4");
+ check_base_class_offset(lv, (B1*)(C28*)(E28x6*), ABISELECT(32,24), "G28x6y4");
+ check_base_class_offset(lv, (C28*)(E28x6*), 0, "G28x6y4");
+ check_base_class_offset(lv, (D0*)(E28x6*), ABISELECT(44,32), "G28x6y4");
+ check_base_class_offset(lv, (E28x6*), 0, "G28x6y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(20,16), "G28x6y4");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G28x6y4.ff");
+ test_class_info(&lv, &cd_G28x6y4);
+ dp->~G28x6y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x6y4(Test_G28x6y4, "G28x6y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G28x6y4C1Ev();
+extern void _ZN7G28x6y4D1Ev();
+Name_Map name_map_G28x6y4[] = {
+ NSPAIR(_ZN7G28x6y4C1Ev),
+ NSPAIR(_ZN7G28x6y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E28x6;
+extern VTBL_ENTRY _ZTI5E28x6[];
+extern VTBL_ENTRY _ZTV5E28x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G28x6y4[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E28x6, 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 _ZTI7G28x6y4[];
+extern void _ZN3C283fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn32_N3C283fooEv,_ZThn24_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G28x6y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x6y4[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G28x6y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern VTBL_ENTRY _ZTV7G28x6y4[];
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV5E28x6__7G28x6y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x6[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C285E28x6__7G28x6y4[] = {
+ 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__3C285E28x6__7G28x6y4[] = {
+ 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__5E28x6__7G28x6y4[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E28x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x6y4[] = {
+ {&(_ZTV7G28x6y4[4]), 4,9},
+ {&(_tg__ZTV5E28x6__7G28x6y4[4]), 4,5},
+ {&(_tg__ZTV3C285E28x6__7G28x6y4[3]), 3,4},
+ {&(_tg__ZTV2B1__3C285E28x6__7G28x6y4[3]), 3,4},
+ {&(_tg__ZTV2B1__5E28x6__7G28x6y4[3]), 3,4},
+ {&(_ZTV7G28x6y4[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI7G28x6y4[];
+extern VTBL_ENTRY _ZTV7G28x6y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x6y4[];
+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_G28x6y4 = { "G28x6y4", // class name
+ bases_G28x6y4, 6,
+ &(vtc_G28x6y4[0]), // expected_vtbl_contents
+ &(vtt_G28x6y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G28x6y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x6y4),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x6y4),6, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names166,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x6y5 : virtual E28x6 , F0 {
+ int ff;
+ ~G28x6y5(); // tgen
+ G28x6y5(); // tgen
+};
+//SIG(1 G28x6y5) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G28x6y5 ::~G28x6y5(){ note_dtor("G28x6y5", this);} // tgen
+G28x6y5 ::G28x6y5(){ note_ctor("G28x6y5", this);} // tgen
+
+static void Test_G28x6y5()
+{
+ extern Class_Descriptor cd_G28x6y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G28x6y5, buf);
+ G28x6y5 *dp, &lv = *(dp=new (buf) G28x6y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G28x6y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x6y5)");
+ check_base_class_offset(lv, (A0*)(C28*)(E28x6*), ABISELECT(24,16), "G28x6y5");
+ check_base_class_offset(lv, (B1*)(C28*)(E28x6*), ABISELECT(40,28), "G28x6y5");
+ check_base_class_offset(lv, (C28*)(E28x6*), ABISELECT(16,12), "G28x6y5");
+ check_base_class_offset(lv, (D0*)(E28x6*), ABISELECT(52,36), "G28x6y5");
+ check_base_class_offset(lv, (E28x6*), ABISELECT(16,12), "G28x6y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G28x6y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G28x6y5.ff");
+ test_class_info(&lv, &cd_G28x6y5);
+ dp->~G28x6y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x6y5(Test_G28x6y5, "G28x6y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G28x6y5C1Ev();
+extern void _ZN7G28x6y5D1Ev();
+Name_Map name_map_G28x6y5[] = {
+ NSPAIR(_ZN7G28x6y5C1Ev),
+ NSPAIR(_ZN7G28x6y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E28x6;
+extern VTBL_ENTRY _ZTI5E28x6[];
+extern VTBL_ENTRY _ZTV5E28x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G28x6y5[] = {
+ // 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E28x6, 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 _ZTI7G28x6y5[];
+extern void _ZN3C283fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn24_N3C283fooEv,_ZThn16_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G28x6y5[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x6y5[0]),
+ 0,
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G28x6y5[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G28x6y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern VTBL_ENTRY _ZTV7G28x6y5[];
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV5E28x6__7G28x6y5[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x6[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C285E28x6__7G28x6y5[] = {
+ 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__3C285E28x6__7G28x6y5[] = {
+ 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__5E28x6__7G28x6y5[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E28x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x6y5[] = {
+ {&(_ZTV7G28x6y5[5]), 5,15},
+ {&(_ZTV7G28x6y5[10]), 10,15},
+ {&(_ZTV7G28x6y5[14]), 14,15},
+ {&(_tg__ZTV5E28x6__7G28x6y5[4]), 4,5},
+ {&(_tg__ZTV3C285E28x6__7G28x6y5[3]), 3,4},
+ {&(_tg__ZTV2B1__3C285E28x6__7G28x6y5[3]), 3,4},
+ {&(_tg__ZTV2B1__5E28x6__7G28x6y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G28x6y5[];
+extern VTBL_ENTRY _ZTV7G28x6y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x6y5[];
+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_G28x6y5 = { "G28x6y5", // class name
+ bases_G28x6y5, 6,
+ &(vtc_G28x6y5[0]), // expected_vtbl_contents
+ &(vtt_G28x6y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G28x6y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x6y5),15, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x6y5),7, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names167,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x6y6 : E28x6 , virtual F0 {
+ int ff;
+ ~G28x6y6(); // tgen
+ G28x6y6(); // tgen
+};
+//SIG(1 G28x6y6) C1{ BC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G28x6y6 ::~G28x6y6(){ note_dtor("G28x6y6", this);} // tgen
+G28x6y6 ::G28x6y6(){ note_ctor("G28x6y6", this);} // tgen
+
+static void Test_G28x6y6()
+{
+ extern Class_Descriptor cd_G28x6y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G28x6y6, buf);
+ G28x6y6 *dp, &lv = *(dp=new (buf) G28x6y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G28x6y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x6y6)");
+ check_base_class_offset(lv, (A0*)(C28*)(E28x6*), ABISELECT(8,4), "G28x6y6");
+ check_base_class_offset(lv, (B1*)(C28*)(E28x6*), ABISELECT(24,20), "G28x6y6");
+ check_base_class_offset(lv, (C28*)(E28x6*), 0, "G28x6y6");
+ check_base_class_offset(lv, (D0*)(E28x6*), ABISELECT(36,28), "G28x6y6");
+ check_base_class_offset(lv, (E28x6*), 0, "G28x6y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(40,32), "G28x6y6");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G28x6y6.ff");
+ test_class_info(&lv, &cd_G28x6y6);
+ dp->~G28x6y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x6y6(Test_G28x6y6, "G28x6y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G28x6y6C1Ev();
+extern void _ZN7G28x6y6D1Ev();
+Name_Map name_map_G28x6y6[] = {
+ NSPAIR(_ZN7G28x6y6C1Ev),
+ NSPAIR(_ZN7G28x6y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E28x6;
+extern VTBL_ENTRY _ZTI5E28x6[];
+extern VTBL_ENTRY _ZTV5E28x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G28x6y6[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E28x6, 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(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 _ZTI7G28x6y6[];
+extern void _ZN3C283fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn24_N3C283fooEv,_ZThn20_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G28x6y6[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x6y6[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G28x6y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern VTBL_ENTRY _ZTV7G28x6y6[];
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV5E28x6__7G28x6y6[] = {
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x6[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C285E28x6__7G28x6y6[] = {
+ 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__3C285E28x6__7G28x6y6[] = {
+ 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__5E28x6__7G28x6y6[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E28x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x6y6[] = {
+ {&(_ZTV7G28x6y6[5]), 5,10},
+ {&(_tg__ZTV5E28x6__7G28x6y6[4]), 4,5},
+ {&(_tg__ZTV3C285E28x6__7G28x6y6[3]), 3,4},
+ {&(_tg__ZTV2B1__3C285E28x6__7G28x6y6[3]), 3,4},
+ {&(_tg__ZTV2B1__5E28x6__7G28x6y6[3]), 3,4},
+ {&(_ZTV7G28x6y6[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI7G28x6y6[];
+extern VTBL_ENTRY _ZTV7G28x6y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x6y6[];
+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_G28x6y6 = { "G28x6y6", // class name
+ bases_G28x6y6, 6,
+ &(vtc_G28x6y6[0]), // expected_vtbl_contents
+ &(vtt_G28x6y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G28x6y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x6y6),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x6y6),6, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names168,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x6y7 : virtual E28x6 , virtual F0 {
+ int ff;
+ ~G28x6y7(); // tgen
+ G28x6y7(); // tgen
+};
+//SIG(1 G28x6y7) C1{ VBC2{ BC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G28x6y7 ::~G28x6y7(){ note_dtor("G28x6y7", this);} // tgen
+G28x6y7 ::G28x6y7(){ note_ctor("G28x6y7", this);} // tgen
+
+static void Test_G28x6y7()
+{
+ extern Class_Descriptor cd_G28x6y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G28x6y7, buf);
+ G28x6y7 *dp, &lv = *(dp=new (buf) G28x6y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G28x6y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x6y7)");
+ check_base_class_offset(lv, (A0*)(C28*)(E28x6*), ABISELECT(24,12), "G28x6y7");
+ check_base_class_offset(lv, (B1*)(C28*)(E28x6*), ABISELECT(40,24), "G28x6y7");
+ check_base_class_offset(lv, (C28*)(E28x6*), ABISELECT(16,8), "G28x6y7");
+ check_base_class_offset(lv, (D0*)(E28x6*), ABISELECT(52,32), "G28x6y7");
+ check_base_class_offset(lv, (E28x6*), ABISELECT(16,8), "G28x6y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G28x6y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G28x6y7.ff");
+ test_class_info(&lv, &cd_G28x6y7);
+ dp->~G28x6y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x6y7(Test_G28x6y7, "G28x6y7", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G28x6y7C1Ev();
+extern void _ZN7G28x6y7D1Ev();
+Name_Map name_map_G28x6y7[] = {
+ NSPAIR(_ZN7G28x6y7C1Ev),
+ NSPAIR(_ZN7G28x6y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E28x6;
+extern VTBL_ENTRY _ZTI5E28x6[];
+extern VTBL_ENTRY _ZTV5E28x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G28x6y7[] = {
+ // 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E28x6, 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 _ZTI7G28x6y7[];
+extern void _ZN3C283fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv)();
+extern void ABISELECT(_ZThn24_N3C283fooEv,_ZThn16_N3C283fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G28x6y7[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x6y7[0]),
+ 0,
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G28x6y7[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G28x6y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern VTBL_ENTRY _ZTV7G28x6y7[];
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV5E28x6__7G28x6y7[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x6[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C285E28x6__7G28x6y7[] = {
+ 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__3C285E28x6__7G28x6y7[] = {
+ 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__5E28x6__7G28x6y7[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E28x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x6y7[] = {
+ {&(_ZTV7G28x6y7[6]), 6,16},
+ {&(_ZTV7G28x6y7[11]), 11,16},
+ {&(_ZTV7G28x6y7[15]), 15,16},
+ {&(_tg__ZTV5E28x6__7G28x6y7[4]), 4,5},
+ {&(_tg__ZTV3C285E28x6__7G28x6y7[3]), 3,4},
+ {&(_tg__ZTV2B1__3C285E28x6__7G28x6y7[3]), 3,4},
+ {&(_tg__ZTV2B1__5E28x6__7G28x6y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G28x6y7[];
+extern VTBL_ENTRY _ZTV7G28x6y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x6y7[];
+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_G28x6y7 = { "G28x6y7", // class name
+ bases_G28x6y7, 6,
+ &(vtc_G28x6y7[0]), // expected_vtbl_contents
+ &(vtt_G28x6y7[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G28x6y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x6y7),16, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x6y7),7, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names169,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E29x6 : C29 , virtual D0 {
+ int fd;
+ ~E29x6(); // tgen
+ E29x6(); // tgen
+};
+//SIG(-1 E29x6) C1{ BC2{ BC3{ v1 Fi} VBC4{ v1 Fi} v1 Fi} VBC5{ Fi} Fi}
+
+
+E29x6 ::~E29x6(){ note_dtor("E29x6", this);} // tgen
+E29x6 ::E29x6(){ note_ctor("E29x6", this);} // tgen
+
+static void Test_E29x6()
+{
+ extern Class_Descriptor cd_E29x6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E29x6, buf);
+ E29x6 *dp, &lv = *(dp=new (buf) E29x6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E29x6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E29x6)");
+ check_base_class_offset(lv, (A1*)(C29*), 0, "E29x6");
+ check_base_class_offset(lv, (B1*)(C29*), ABISELECT(24,16), "E29x6");
+ check_base_class_offset(lv, (C29*), 0, "E29x6");
+ check_base_class_offset(lv, (D0*), ABISELECT(36,24), "E29x6");
+ check_field_offset(lv, fd, ABISELECT(16,12), "E29x6.fd");
+ test_class_info(&lv, &cd_E29x6);
+ dp->~E29x6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE29x6(Test_E29x6, "E29x6", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E29x6C1Ev();
+extern void _ZN5E29x6D1Ev();
+Name_Map name_map_E29x6[] = {
+ NSPAIR(_ZN5E29x6C1Ev),
+ NSPAIR(_ZN5E29x6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E29x6[] = {
+ // 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(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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D0, 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, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E29x6[];
+extern void _ZN3C293fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn24_N3C293fooEv,_ZThn16_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_E29x6[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x6[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E29x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern VTBL_ENTRY _ZTV5E29x6[];
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__5E29x6[] = {
+ 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__5E29x6[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_E29x6[] = {
+ {&(_ZTV5E29x6[4]), 4,9},
+ {&(_tg__ZTV3C29__5E29x6[3]), 3,4},
+ {&(_tg__ZTV2B1__3C29__5E29x6[3]), 3,4},
+ {&(_ZTV5E29x6[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI5E29x6[];
+extern VTBL_ENTRY _ZTV5E29x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x6[];
+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_E29x6 = { "E29x6", // class name
+ bases_E29x6, 4,
+ &(vtc_E29x6[0]), // expected_vtbl_contents
+ &(vtt_E29x6[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E29x6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E29x6),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E29x6),4, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names170,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x6y0 : E29x6 , F1 {
+ int ff;
+ ~G29x6y0(); // tgen
+ G29x6y0(); // tgen
+};
+//SIG(1 G29x6y0) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G29x6y0 ::~G29x6y0(){ note_dtor("G29x6y0", this);} // tgen
+G29x6y0 ::G29x6y0(){ note_ctor("G29x6y0", this);} // tgen
+
+static void Test_G29x6y0()
+{
+ extern Class_Descriptor cd_G29x6y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G29x6y0, buf);
+ G29x6y0 *dp, &lv = *(dp=new (buf) G29x6y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G29x6y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x6y0)");
+ check_base_class_offset(lv, (A1*)(C29*)(E29x6*), 0, "G29x6y0");
+ check_base_class_offset(lv, (B1*)(C29*)(E29x6*), ABISELECT(40,28), "G29x6y0");
+ check_base_class_offset(lv, (C29*)(E29x6*), 0, "G29x6y0");
+ check_base_class_offset(lv, (D0*)(E29x6*), ABISELECT(52,36), "G29x6y0");
+ check_base_class_offset(lv, (E29x6*), 0, "G29x6y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(24,16), "G29x6y0");
+ check_field_offset(lv, ff, ABISELECT(36,24), "G29x6y0.ff");
+ test_class_info(&lv, &cd_G29x6y0);
+ dp->~G29x6y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x6y0(Test_G29x6y0, "G29x6y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G29x6y0C1Ev();
+extern void _ZN7G29x6y0D1Ev();
+Name_Map name_map_G29x6y0[] = {
+ NSPAIR(_ZN7G29x6y0C1Ev),
+ NSPAIR(_ZN7G29x6y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E29x6;
+extern VTBL_ENTRY _ZTI5E29x6[];
+extern VTBL_ENTRY _ZTV5E29x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G29x6y0[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E29x6, 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 _ZTI7G29x6y0[];
+extern void _ZN3C293fooEv();
+extern void _ZN2F13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn40_N3C293fooEv,_ZThn28_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G29x6y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x6y0[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G29x6y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G29x6y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern VTBL_ENTRY _ZTV7G29x6y0[];
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV5E29x6__7G29x6y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x6[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C295E29x6__7G29x6y0[] = {
+ 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__3C295E29x6__7G29x6y0[] = {
+ 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__5E29x6__7G29x6y0[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E29x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x6y0[] = {
+ {&(_ZTV7G29x6y0[4]), 4,12},
+ {&(_tg__ZTV5E29x6__7G29x6y0[4]), 4,5},
+ {&(_tg__ZTV3C295E29x6__7G29x6y0[3]), 3,4},
+ {&(_tg__ZTV2B1__3C295E29x6__7G29x6y0[3]), 3,4},
+ {&(_tg__ZTV2B1__5E29x6__7G29x6y0[3]), 3,4},
+ {&(_ZTV7G29x6y0[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI7G29x6y0[];
+extern VTBL_ENTRY _ZTV7G29x6y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x6y0[];
+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_G29x6y0 = { "G29x6y0", // class name
+ bases_G29x6y0, 6,
+ &(vtc_G29x6y0[0]), // expected_vtbl_contents
+ &(vtt_G29x6y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G29x6y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x6y0),12, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x6y0),6, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names171,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x6y1 : virtual E29x6 , F1 {
+ int ff;
+ ~G29x6y1(); // tgen
+ G29x6y1(); // tgen
+};
+//SIG(1 G29x6y1) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G29x6y1 ::~G29x6y1(){ note_dtor("G29x6y1", this);} // tgen
+G29x6y1 ::G29x6y1(){ note_ctor("G29x6y1", this);} // tgen
+
+static void Test_G29x6y1()
+{
+ extern Class_Descriptor cd_G29x6y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G29x6y1, buf);
+ G29x6y1 *dp, &lv = *(dp=new (buf) G29x6y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G29x6y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x6y1)");
+ check_base_class_offset(lv, (A1*)(C29*)(E29x6*), ABISELECT(16,12), "G29x6y1");
+ check_base_class_offset(lv, (B1*)(C29*)(E29x6*), ABISELECT(40,28), "G29x6y1");
+ check_base_class_offset(lv, (C29*)(E29x6*), ABISELECT(16,12), "G29x6y1");
+ check_base_class_offset(lv, (D0*)(E29x6*), ABISELECT(52,36), "G29x6y1");
+ check_base_class_offset(lv, (E29x6*), ABISELECT(16,12), "G29x6y1");
+ check_base_class_offset(lv, (F1*), 0, "G29x6y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G29x6y1.ff");
+ test_class_info(&lv, &cd_G29x6y1);
+ dp->~G29x6y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x6y1(Test_G29x6y1, "G29x6y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G29x6y1C1Ev();
+extern void _ZN7G29x6y1D1Ev();
+Name_Map name_map_G29x6y1[] = {
+ NSPAIR(_ZN7G29x6y1C1Ev),
+ NSPAIR(_ZN7G29x6y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E29x6;
+extern VTBL_ENTRY _ZTI5E29x6[];
+extern VTBL_ENTRY _ZTV5E29x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G29x6y1[] = {
+ // 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(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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E29x6, 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 _ZTI7G29x6y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C293fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn24_N3C293fooEv,_ZThn16_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G29x6y1[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x6y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G29x6y1[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G29x6y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern VTBL_ENTRY _ZTV7G29x6y1[];
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV5E29x6__7G29x6y1[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x6[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C295E29x6__7G29x6y1[] = {
+ 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__3C295E29x6__7G29x6y1[] = {
+ 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__5E29x6__7G29x6y1[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E29x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x6y1[] = {
+ {&(_ZTV7G29x6y1[5]), 5,16},
+ {&(_ZTV7G29x6y1[11]), 11,16},
+ {&(_ZTV7G29x6y1[15]), 15,16},
+ {&(_tg__ZTV5E29x6__7G29x6y1[4]), 4,5},
+ {&(_tg__ZTV3C295E29x6__7G29x6y1[3]), 3,4},
+ {&(_tg__ZTV2B1__3C295E29x6__7G29x6y1[3]), 3,4},
+ {&(_tg__ZTV2B1__5E29x6__7G29x6y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G29x6y1[];
+extern VTBL_ENTRY _ZTV7G29x6y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x6y1[];
+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_G29x6y1 = { "G29x6y1", // class name
+ bases_G29x6y1, 6,
+ &(vtc_G29x6y1[0]), // expected_vtbl_contents
+ &(vtt_G29x6y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G29x6y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x6y1),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x6y1),7, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names172,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x6y2 : E29x6 , virtual F1 {
+ int ff;
+ ~G29x6y2(); // tgen
+ G29x6y2(); // tgen
+};
+//SIG(1 G29x6y2) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G29x6y2 ::~G29x6y2(){ note_dtor("G29x6y2", this);} // tgen
+G29x6y2 ::G29x6y2(){ note_ctor("G29x6y2", this);} // tgen
+
+static void Test_G29x6y2()
+{
+ extern Class_Descriptor cd_G29x6y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G29x6y2, buf);
+ G29x6y2 *dp, &lv = *(dp=new (buf) G29x6y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G29x6y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x6y2)");
+ check_base_class_offset(lv, (A1*)(C29*)(E29x6*), 0, "G29x6y2");
+ check_base_class_offset(lv, (B1*)(C29*)(E29x6*), ABISELECT(24,20), "G29x6y2");
+ check_base_class_offset(lv, (C29*)(E29x6*), 0, "G29x6y2");
+ check_base_class_offset(lv, (D0*)(E29x6*), ABISELECT(36,28), "G29x6y2");
+ check_base_class_offset(lv, (E29x6*), 0, "G29x6y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(40,32), "G29x6y2");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G29x6y2.ff");
+ test_class_info(&lv, &cd_G29x6y2);
+ dp->~G29x6y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x6y2(Test_G29x6y2, "G29x6y2", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G29x6y2C1Ev();
+extern void _ZN7G29x6y2D1Ev();
+Name_Map name_map_G29x6y2[] = {
+ NSPAIR(_ZN7G29x6y2C1Ev),
+ NSPAIR(_ZN7G29x6y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E29x6;
+extern VTBL_ENTRY _ZTI5E29x6[];
+extern VTBL_ENTRY _ZTV5E29x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G29x6y2[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E29x6, 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(40,32), //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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G29x6y2[];
+extern void _ZN3C293fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn24_N3C293fooEv,_ZThn20_N3C293fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G29x6y2[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x6y2[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G29x6y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G29x6y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G29x6y2[];
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV5E29x6__7G29x6y2[] = {
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x6[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C295E29x6__7G29x6y2[] = {
+ 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__3C295E29x6__7G29x6y2[] = {
+ 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__5E29x6__7G29x6y2[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E29x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x6y2[] = {
+ {&(_ZTV7G29x6y2[5]), 5,14},
+ {&(_tg__ZTV5E29x6__7G29x6y2[4]), 4,5},
+ {&(_tg__ZTV3C295E29x6__7G29x6y2[3]), 3,4},
+ {&(_tg__ZTV2B1__3C295E29x6__7G29x6y2[3]), 3,4},
+ {&(_tg__ZTV2B1__5E29x6__7G29x6y2[3]), 3,4},
+ {&(_ZTV7G29x6y2[9]), 9,14},
+ {&(_ZTV7G29x6y2[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI7G29x6y2[];
+extern VTBL_ENTRY _ZTV7G29x6y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x6y2[];
+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_G29x6y2 = { "G29x6y2", // class name
+ bases_G29x6y2, 6,
+ &(vtc_G29x6y2[0]), // expected_vtbl_contents
+ &(vtt_G29x6y2[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G29x6y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x6y2),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x6y2),7, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names173,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x6y3 : virtual E29x6 , virtual F1 {
+ int ff;
+ ~G29x6y3(); // tgen
+ G29x6y3(); // tgen
+};
+//SIG(1 G29x6y3) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G29x6y3 ::~G29x6y3(){ note_dtor("G29x6y3", this);} // tgen
+G29x6y3 ::G29x6y3(){ note_ctor("G29x6y3", this);} // tgen
+
+static void Test_G29x6y3()
+{
+ extern Class_Descriptor cd_G29x6y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G29x6y3, buf);
+ G29x6y3 *dp, &lv = *(dp=new (buf) G29x6y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G29x6y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x6y3)");
+ check_base_class_offset(lv, (A1*)(C29*)(E29x6*), ABISELECT(16,8), "G29x6y3");
+ check_base_class_offset(lv, (B1*)(C29*)(E29x6*), ABISELECT(40,24), "G29x6y3");
+ check_base_class_offset(lv, (C29*)(E29x6*), ABISELECT(16,8), "G29x6y3");
+ check_base_class_offset(lv, (D0*)(E29x6*), ABISELECT(52,32), "G29x6y3");
+ check_base_class_offset(lv, (E29x6*), ABISELECT(16,8), "G29x6y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G29x6y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G29x6y3.ff");
+ test_class_info(&lv, &cd_G29x6y3);
+ dp->~G29x6y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x6y3(Test_G29x6y3, "G29x6y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G29x6y3C1Ev();
+extern void _ZN7G29x6y3D1Ev();
+Name_Map name_map_G29x6y3[] = {
+ NSPAIR(_ZN7G29x6y3C1Ev),
+ NSPAIR(_ZN7G29x6y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E29x6;
+extern VTBL_ENTRY _ZTI5E29x6[];
+extern VTBL_ENTRY _ZTV5E29x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G29x6y3[] = {
+ // 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(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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E29x6, 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 _ZTI7G29x6y3[];
+extern void _ZN3C293fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn24_N3C293fooEv,_ZThn16_N3C293fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G29x6y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x6y3[0]),
+ 0,
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G29x6y3[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G29x6y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G29x6y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G29x6y3[];
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV5E29x6__7G29x6y3[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x6[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C295E29x6__7G29x6y3[] = {
+ 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__3C295E29x6__7G29x6y3[] = {
+ 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__5E29x6__7G29x6y3[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E29x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x6y3[] = {
+ {&(_ZTV7G29x6y3[6]), 6,20},
+ {&(_ZTV7G29x6y3[11]), 11,20},
+ {&(_ZTV7G29x6y3[15]), 15,20},
+ {&(_ZTV7G29x6y3[19]), 19,20},
+ {&(_tg__ZTV5E29x6__7G29x6y3[4]), 4,5},
+ {&(_tg__ZTV3C295E29x6__7G29x6y3[3]), 3,4},
+ {&(_tg__ZTV2B1__3C295E29x6__7G29x6y3[3]), 3,4},
+ {&(_tg__ZTV2B1__5E29x6__7G29x6y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G29x6y3[];
+extern VTBL_ENTRY _ZTV7G29x6y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x6y3[];
+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_G29x6y3 = { "G29x6y3", // class name
+ bases_G29x6y3, 6,
+ &(vtc_G29x6y3[0]), // expected_vtbl_contents
+ &(vtt_G29x6y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G29x6y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x6y3),20, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x6y3),8, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names174,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x6y4 : E29x6 , F0 {
+ int ff;
+ ~G29x6y4(); // tgen
+ G29x6y4(); // tgen
+};
+//SIG(1 G29x6y4) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G29x6y4 ::~G29x6y4(){ note_dtor("G29x6y4", this);} // tgen
+G29x6y4 ::G29x6y4(){ note_ctor("G29x6y4", this);} // tgen
+
+static void Test_G29x6y4()
+{
+ extern Class_Descriptor cd_G29x6y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G29x6y4, buf);
+ G29x6y4 *dp, &lv = *(dp=new (buf) G29x6y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G29x6y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x6y4)");
+ check_base_class_offset(lv, (A1*)(C29*)(E29x6*), 0, "G29x6y4");
+ check_base_class_offset(lv, (B1*)(C29*)(E29x6*), ABISELECT(32,24), "G29x6y4");
+ check_base_class_offset(lv, (C29*)(E29x6*), 0, "G29x6y4");
+ check_base_class_offset(lv, (D0*)(E29x6*), ABISELECT(44,32), "G29x6y4");
+ check_base_class_offset(lv, (E29x6*), 0, "G29x6y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(20,16), "G29x6y4");
+ check_field_offset(lv, ff, ABISELECT(24,20), "G29x6y4.ff");
+ test_class_info(&lv, &cd_G29x6y4);
+ dp->~G29x6y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x6y4(Test_G29x6y4, "G29x6y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G29x6y4C1Ev();
+extern void _ZN7G29x6y4D1Ev();
+Name_Map name_map_G29x6y4[] = {
+ NSPAIR(_ZN7G29x6y4C1Ev),
+ NSPAIR(_ZN7G29x6y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E29x6;
+extern VTBL_ENTRY _ZTI5E29x6[];
+extern VTBL_ENTRY _ZTV5E29x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G29x6y4[] = {
+ // 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
+ 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
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E29x6, 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 _ZTI7G29x6y4[];
+extern void _ZN3C293fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn32_N3C293fooEv,_ZThn24_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G29x6y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x6y4[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G29x6y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern VTBL_ENTRY _ZTV7G29x6y4[];
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV5E29x6__7G29x6y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x6[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C295E29x6__7G29x6y4[] = {
+ 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__3C295E29x6__7G29x6y4[] = {
+ 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__5E29x6__7G29x6y4[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E29x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x6y4[] = {
+ {&(_ZTV7G29x6y4[4]), 4,9},
+ {&(_tg__ZTV5E29x6__7G29x6y4[4]), 4,5},
+ {&(_tg__ZTV3C295E29x6__7G29x6y4[3]), 3,4},
+ {&(_tg__ZTV2B1__3C295E29x6__7G29x6y4[3]), 3,4},
+ {&(_tg__ZTV2B1__5E29x6__7G29x6y4[3]), 3,4},
+ {&(_ZTV7G29x6y4[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI7G29x6y4[];
+extern VTBL_ENTRY _ZTV7G29x6y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x6y4[];
+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_G29x6y4 = { "G29x6y4", // class name
+ bases_G29x6y4, 6,
+ &(vtc_G29x6y4[0]), // expected_vtbl_contents
+ &(vtt_G29x6y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G29x6y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x6y4),9, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x6y4),6, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names175,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x6y5 : virtual E29x6 , F0 {
+ int ff;
+ ~G29x6y5(); // tgen
+ G29x6y5(); // tgen
+};
+//SIG(1 G29x6y5) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G29x6y5 ::~G29x6y5(){ note_dtor("G29x6y5", this);} // tgen
+G29x6y5 ::G29x6y5(){ note_ctor("G29x6y5", this);} // tgen
+
+static void Test_G29x6y5()
+{
+ extern Class_Descriptor cd_G29x6y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G29x6y5, buf);
+ G29x6y5 *dp, &lv = *(dp=new (buf) G29x6y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G29x6y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x6y5)");
+ check_base_class_offset(lv, (A1*)(C29*)(E29x6*), ABISELECT(16,12), "G29x6y5");
+ check_base_class_offset(lv, (B1*)(C29*)(E29x6*), ABISELECT(40,28), "G29x6y5");
+ check_base_class_offset(lv, (C29*)(E29x6*), ABISELECT(16,12), "G29x6y5");
+ check_base_class_offset(lv, (D0*)(E29x6*), ABISELECT(52,36), "G29x6y5");
+ check_base_class_offset(lv, (E29x6*), ABISELECT(16,12), "G29x6y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G29x6y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G29x6y5.ff");
+ test_class_info(&lv, &cd_G29x6y5);
+ dp->~G29x6y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x6y5(Test_G29x6y5, "G29x6y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G29x6y5C1Ev();
+extern void _ZN7G29x6y5D1Ev();
+Name_Map name_map_G29x6y5[] = {
+ NSPAIR(_ZN7G29x6y5C1Ev),
+ NSPAIR(_ZN7G29x6y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E29x6;
+extern VTBL_ENTRY _ZTI5E29x6[];
+extern VTBL_ENTRY _ZTV5E29x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G29x6y5[] = {
+ // 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(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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E29x6, 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 _ZTI7G29x6y5[];
+extern void _ZN3C293fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn24_N3C293fooEv,_ZThn16_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G29x6y5[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x6y5[0]),
+ 0,
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G29x6y5[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G29x6y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern VTBL_ENTRY _ZTV7G29x6y5[];
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV5E29x6__7G29x6y5[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x6[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C295E29x6__7G29x6y5[] = {
+ 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__3C295E29x6__7G29x6y5[] = {
+ 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__5E29x6__7G29x6y5[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E29x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x6y5[] = {
+ {&(_ZTV7G29x6y5[5]), 5,15},
+ {&(_ZTV7G29x6y5[10]), 10,15},
+ {&(_ZTV7G29x6y5[14]), 14,15},
+ {&(_tg__ZTV5E29x6__7G29x6y5[4]), 4,5},
+ {&(_tg__ZTV3C295E29x6__7G29x6y5[3]), 3,4},
+ {&(_tg__ZTV2B1__3C295E29x6__7G29x6y5[3]), 3,4},
+ {&(_tg__ZTV2B1__5E29x6__7G29x6y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G29x6y5[];
+extern VTBL_ENTRY _ZTV7G29x6y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x6y5[];
+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_G29x6y5 = { "G29x6y5", // class name
+ bases_G29x6y5, 6,
+ &(vtc_G29x6y5[0]), // expected_vtbl_contents
+ &(vtt_G29x6y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G29x6y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x6y5),15, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x6y5),7, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names176,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x6y6 : E29x6 , virtual F0 {
+ int ff;
+ ~G29x6y6(); // tgen
+ G29x6y6(); // tgen
+};
+//SIG(1 G29x6y6) C1{ BC2{ BC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G29x6y6 ::~G29x6y6(){ note_dtor("G29x6y6", this);} // tgen
+G29x6y6 ::G29x6y6(){ note_ctor("G29x6y6", this);} // tgen
+
+static void Test_G29x6y6()
+{
+ extern Class_Descriptor cd_G29x6y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G29x6y6, buf);
+ G29x6y6 *dp, &lv = *(dp=new (buf) G29x6y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G29x6y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x6y6)");
+ check_base_class_offset(lv, (A1*)(C29*)(E29x6*), 0, "G29x6y6");
+ check_base_class_offset(lv, (B1*)(C29*)(E29x6*), ABISELECT(24,20), "G29x6y6");
+ check_base_class_offset(lv, (C29*)(E29x6*), 0, "G29x6y6");
+ check_base_class_offset(lv, (D0*)(E29x6*), ABISELECT(36,28), "G29x6y6");
+ check_base_class_offset(lv, (E29x6*), 0, "G29x6y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(40,32), "G29x6y6");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G29x6y6.ff");
+ test_class_info(&lv, &cd_G29x6y6);
+ dp->~G29x6y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x6y6(Test_G29x6y6, "G29x6y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G29x6y6C1Ev();
+extern void _ZN7G29x6y6D1Ev();
+Name_Map name_map_G29x6y6[] = {
+ NSPAIR(_ZN7G29x6y6C1Ev),
+ NSPAIR(_ZN7G29x6y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E29x6;
+extern VTBL_ENTRY _ZTI5E29x6[];
+extern VTBL_ENTRY _ZTV5E29x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G29x6y6[] = {
+ // 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(24,20), //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_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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E29x6, 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(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 _ZTI7G29x6y6[];
+extern void _ZN3C293fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn24_N3C293fooEv,_ZThn20_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G29x6y6[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x6y6[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G29x6y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern VTBL_ENTRY _ZTV7G29x6y6[];
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV5E29x6__7G29x6y6[] = {
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x6[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C295E29x6__7G29x6y6[] = {
+ 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__3C295E29x6__7G29x6y6[] = {
+ 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__5E29x6__7G29x6y6[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E29x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x6y6[] = {
+ {&(_ZTV7G29x6y6[5]), 5,10},
+ {&(_tg__ZTV5E29x6__7G29x6y6[4]), 4,5},
+ {&(_tg__ZTV3C295E29x6__7G29x6y6[3]), 3,4},
+ {&(_tg__ZTV2B1__3C295E29x6__7G29x6y6[3]), 3,4},
+ {&(_tg__ZTV2B1__5E29x6__7G29x6y6[3]), 3,4},
+ {&(_ZTV7G29x6y6[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI7G29x6y6[];
+extern VTBL_ENTRY _ZTV7G29x6y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x6y6[];
+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_G29x6y6 = { "G29x6y6", // class name
+ bases_G29x6y6, 6,
+ &(vtc_G29x6y6[0]), // expected_vtbl_contents
+ &(vtt_G29x6y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G29x6y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x6y6),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x6y6),6, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names177,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x6y7 : virtual E29x6 , virtual F0 {
+ int ff;
+ ~G29x6y7(); // tgen
+ G29x6y7(); // tgen
+};
+//SIG(1 G29x6y7) C1{ VBC2{ BC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G29x6y7 ::~G29x6y7(){ note_dtor("G29x6y7", this);} // tgen
+G29x6y7 ::G29x6y7(){ note_ctor("G29x6y7", this);} // tgen
+
+static void Test_G29x6y7()
+{
+ extern Class_Descriptor cd_G29x6y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G29x6y7, buf);
+ G29x6y7 *dp, &lv = *(dp=new (buf) G29x6y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G29x6y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x6y7)");
+ check_base_class_offset(lv, (A1*)(C29*)(E29x6*), ABISELECT(16,8), "G29x6y7");
+ check_base_class_offset(lv, (B1*)(C29*)(E29x6*), ABISELECT(40,24), "G29x6y7");
+ check_base_class_offset(lv, (C29*)(E29x6*), ABISELECT(16,8), "G29x6y7");
+ check_base_class_offset(lv, (D0*)(E29x6*), ABISELECT(52,32), "G29x6y7");
+ check_base_class_offset(lv, (E29x6*), ABISELECT(16,8), "G29x6y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G29x6y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G29x6y7.ff");
+ test_class_info(&lv, &cd_G29x6y7);
+ dp->~G29x6y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x6y7(Test_G29x6y7, "G29x6y7", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G29x6y7C1Ev();
+extern void _ZN7G29x6y7D1Ev();
+Name_Map name_map_G29x6y7[] = {
+ NSPAIR(_ZN7G29x6y7C1Ev),
+ NSPAIR(_ZN7G29x6y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E29x6;
+extern VTBL_ENTRY _ZTI5E29x6[];
+extern VTBL_ENTRY _ZTV5E29x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G29x6y7[] = {
+ // 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(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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E29x6, 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(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 _ZTI7G29x6y7[];
+extern void _ZN3C293fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv)();
+extern void ABISELECT(_ZThn24_N3C293fooEv,_ZThn16_N3C293fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G29x6y7[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x6y7[0]),
+ 0,
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G29x6y7[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G29x6y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern VTBL_ENTRY _ZTV7G29x6y7[];
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV5E29x6__7G29x6y7[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x6[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C295E29x6__7G29x6y7[] = {
+ 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__3C295E29x6__7G29x6y7[] = {
+ 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__5E29x6__7G29x6y7[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E29x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x6y7[] = {
+ {&(_ZTV7G29x6y7[6]), 6,16},
+ {&(_ZTV7G29x6y7[11]), 11,16},
+ {&(_ZTV7G29x6y7[15]), 15,16},
+ {&(_tg__ZTV5E29x6__7G29x6y7[4]), 4,5},
+ {&(_tg__ZTV3C295E29x6__7G29x6y7[3]), 3,4},
+ {&(_tg__ZTV2B1__3C295E29x6__7G29x6y7[3]), 3,4},
+ {&(_tg__ZTV2B1__5E29x6__7G29x6y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G29x6y7[];
+extern VTBL_ENTRY _ZTV7G29x6y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x6y7[];
+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_G29x6y7 = { "G29x6y7", // class name
+ bases_G29x6y7, 6,
+ &(vtc_G29x6y7[0]), // expected_vtbl_contents
+ &(vtt_G29x6y7[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G29x6y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x6y7),16, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x6y7),7, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names178,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E30x6 : C30 , virtual D0 {
+ int fd;
+ ~E30x6(); // tgen
+ E30x6(); // tgen
+};
+//SIG(-1 E30x6) C1{ BC2{ VBC3{ Fi} VBC4{ v1 Fi} v1 Fi} VBC5{ Fi} Fi}
+
+
+E30x6 ::~E30x6(){ note_dtor("E30x6", this);} // tgen
+E30x6 ::E30x6(){ note_ctor("E30x6", this);} // tgen
+
+static void Test_E30x6()
+{
+ extern Class_Descriptor cd_E30x6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E30x6, buf);
+ E30x6 *dp, &lv = *(dp=new (buf) E30x6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E30x6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E30x6)");
+ check_base_class_offset(lv, (A0*)(C30*), ABISELECT(16,12), "E30x6");
+ check_base_class_offset(lv, (B1*)(C30*), ABISELECT(24,16), "E30x6");
+ check_base_class_offset(lv, (C30*), 0, "E30x6");
+ check_base_class_offset(lv, (D0*), ABISELECT(36,24), "E30x6");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E30x6.fd");
+ test_class_info(&lv, &cd_E30x6);
+ dp->~E30x6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE30x6(Test_E30x6, "E30x6", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E30x6C1Ev();
+extern void _ZN5E30x6D1Ev();
+Name_Map name_map_E30x6[] = {
+ NSPAIR(_ZN5E30x6C1Ev),
+ NSPAIR(_ZN5E30x6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E30x6[] = {
+ // 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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D0, 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, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E30x6[];
+extern void _ZN3C303fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn24_N3C303fooEv,_ZThn16_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_E30x6[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x6[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E30x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern VTBL_ENTRY _ZTV5E30x6[];
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__5E30x6[] = {
+ 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__5E30x6[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_E30x6[] = {
+ {&(_ZTV5E30x6[5]), 5,10},
+ {&(_tg__ZTV3C30__5E30x6[4]), 4,5},
+ {&(_tg__ZTV2B1__3C30__5E30x6[3]), 3,4},
+ {&(_ZTV5E30x6[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI5E30x6[];
+extern VTBL_ENTRY _ZTV5E30x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x6[];
+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_E30x6 = { "E30x6", // class name
+ bases_E30x6, 4,
+ &(vtc_E30x6[0]), // expected_vtbl_contents
+ &(vtt_E30x6[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E30x6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E30x6),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E30x6),4, //virtual table table var
+ 2, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names179,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x6y0 : E30x6 , F1 {
+ int ff;
+ ~G30x6y0(); // tgen
+ G30x6y0(); // tgen
+};
+//SIG(1 G30x6y0) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G30x6y0 ::~G30x6y0(){ note_dtor("G30x6y0", this);} // tgen
+G30x6y0 ::G30x6y0(){ note_ctor("G30x6y0", this);} // tgen
+
+static void Test_G30x6y0()
+{
+ extern Class_Descriptor cd_G30x6y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G30x6y0, buf);
+ G30x6y0 *dp, &lv = *(dp=new (buf) G30x6y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G30x6y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x6y0)");
+ check_base_class_offset(lv, (A0*)(C30*)(E30x6*), ABISELECT(32,24), "G30x6y0");
+ check_base_class_offset(lv, (B1*)(C30*)(E30x6*), ABISELECT(40,28), "G30x6y0");
+ check_base_class_offset(lv, (C30*)(E30x6*), 0, "G30x6y0");
+ check_base_class_offset(lv, (D0*)(E30x6*), ABISELECT(52,36), "G30x6y0");
+ check_base_class_offset(lv, (E30x6*), 0, "G30x6y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G30x6y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G30x6y0.ff");
+ test_class_info(&lv, &cd_G30x6y0);
+ dp->~G30x6y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x6y0(Test_G30x6y0, "G30x6y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G30x6y0C1Ev();
+extern void _ZN7G30x6y0D1Ev();
+Name_Map name_map_G30x6y0[] = {
+ NSPAIR(_ZN7G30x6y0C1Ev),
+ NSPAIR(_ZN7G30x6y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E30x6;
+extern VTBL_ENTRY _ZTI5E30x6[];
+extern VTBL_ENTRY _ZTV5E30x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G30x6y0[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E30x6, 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 _ZTI7G30x6y0[];
+extern void _ZN3C303fooEv();
+extern void _ZN2F13fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn40_N3C303fooEv,_ZThn28_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G30x6y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x6y0[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G30x6y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G30x6y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern VTBL_ENTRY _ZTV7G30x6y0[];
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV5E30x6__7G30x6y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x6[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C305E30x6__7G30x6y0[] = {
+ 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__3C305E30x6__7G30x6y0[] = {
+ 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__5E30x6__7G30x6y0[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E30x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x6y0[] = {
+ {&(_ZTV7G30x6y0[5]), 5,13},
+ {&(_tg__ZTV5E30x6__7G30x6y0[5]), 5,6},
+ {&(_tg__ZTV3C305E30x6__7G30x6y0[4]), 4,5},
+ {&(_tg__ZTV2B1__3C305E30x6__7G30x6y0[3]), 3,4},
+ {&(_tg__ZTV2B1__5E30x6__7G30x6y0[3]), 3,4},
+ {&(_ZTV7G30x6y0[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI7G30x6y0[];
+extern VTBL_ENTRY _ZTV7G30x6y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x6y0[];
+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_G30x6y0 = { "G30x6y0", // class name
+ bases_G30x6y0, 6,
+ &(vtc_G30x6y0[0]), // expected_vtbl_contents
+ &(vtt_G30x6y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G30x6y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x6y0),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x6y0),6, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names180,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x6y1 : virtual E30x6 , F1 {
+ int ff;
+ ~G30x6y1(); // tgen
+ G30x6y1(); // tgen
+};
+//SIG(1 G30x6y1) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G30x6y1 ::~G30x6y1(){ note_dtor("G30x6y1", this);} // tgen
+G30x6y1 ::G30x6y1(){ note_ctor("G30x6y1", this);} // tgen
+
+static void Test_G30x6y1()
+{
+ extern Class_Descriptor cd_G30x6y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G30x6y1, buf);
+ G30x6y1 *dp, &lv = *(dp=new (buf) G30x6y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G30x6y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x6y1)");
+ check_base_class_offset(lv, (A0*)(C30*)(E30x6*), ABISELECT(32,24), "G30x6y1");
+ check_base_class_offset(lv, (B1*)(C30*)(E30x6*), ABISELECT(40,28), "G30x6y1");
+ check_base_class_offset(lv, (C30*)(E30x6*), ABISELECT(16,12), "G30x6y1");
+ check_base_class_offset(lv, (D0*)(E30x6*), ABISELECT(52,36), "G30x6y1");
+ check_base_class_offset(lv, (E30x6*), ABISELECT(16,12), "G30x6y1");
+ check_base_class_offset(lv, (F1*), 0, "G30x6y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G30x6y1.ff");
+ test_class_info(&lv, &cd_G30x6y1);
+ dp->~G30x6y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x6y1(Test_G30x6y1, "G30x6y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G30x6y1C1Ev();
+extern void _ZN7G30x6y1D1Ev();
+Name_Map name_map_G30x6y1[] = {
+ NSPAIR(_ZN7G30x6y1C1Ev),
+ NSPAIR(_ZN7G30x6y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E30x6;
+extern VTBL_ENTRY _ZTI5E30x6[];
+extern VTBL_ENTRY _ZTV5E30x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G30x6y1[] = {
+ // 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E30x6, 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 _ZTI7G30x6y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C303fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn24_N3C303fooEv,_ZThn16_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G30x6y1[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x6y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G30x6y1[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G30x6y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern VTBL_ENTRY _ZTV7G30x6y1[];
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV5E30x6__7G30x6y1[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x6[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C305E30x6__7G30x6y1[] = {
+ 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__3C305E30x6__7G30x6y1[] = {
+ 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__5E30x6__7G30x6y1[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E30x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x6y1[] = {
+ {&(_ZTV7G30x6y1[6]), 6,18},
+ {&(_ZTV7G30x6y1[13]), 13,18},
+ {&(_ZTV7G30x6y1[17]), 17,18},
+ {&(_tg__ZTV5E30x6__7G30x6y1[5]), 5,6},
+ {&(_tg__ZTV3C305E30x6__7G30x6y1[4]), 4,5},
+ {&(_tg__ZTV2B1__3C305E30x6__7G30x6y1[3]), 3,4},
+ {&(_tg__ZTV2B1__5E30x6__7G30x6y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G30x6y1[];
+extern VTBL_ENTRY _ZTV7G30x6y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x6y1[];
+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_G30x6y1 = { "G30x6y1", // class name
+ bases_G30x6y1, 6,
+ &(vtc_G30x6y1[0]), // expected_vtbl_contents
+ &(vtt_G30x6y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G30x6y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x6y1),18, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x6y1),7, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names181,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x6y2 : E30x6 , virtual F1 {
+ int ff;
+ ~G30x6y2(); // tgen
+ G30x6y2(); // tgen
+};
+//SIG(1 G30x6y2) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G30x6y2 ::~G30x6y2(){ note_dtor("G30x6y2", this);} // tgen
+G30x6y2 ::G30x6y2(){ note_ctor("G30x6y2", this);} // tgen
+
+static void Test_G30x6y2()
+{
+ extern Class_Descriptor cd_G30x6y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G30x6y2, buf);
+ G30x6y2 *dp, &lv = *(dp=new (buf) G30x6y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G30x6y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x6y2)");
+ check_base_class_offset(lv, (A0*)(C30*)(E30x6*), ABISELECT(20,16), "G30x6y2");
+ check_base_class_offset(lv, (B1*)(C30*)(E30x6*), ABISELECT(24,20), "G30x6y2");
+ check_base_class_offset(lv, (C30*)(E30x6*), 0, "G30x6y2");
+ check_base_class_offset(lv, (D0*)(E30x6*), ABISELECT(36,28), "G30x6y2");
+ check_base_class_offset(lv, (E30x6*), 0, "G30x6y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(40,32), "G30x6y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G30x6y2.ff");
+ test_class_info(&lv, &cd_G30x6y2);
+ dp->~G30x6y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x6y2(Test_G30x6y2, "G30x6y2", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G30x6y2C1Ev();
+extern void _ZN7G30x6y2D1Ev();
+Name_Map name_map_G30x6y2[] = {
+ NSPAIR(_ZN7G30x6y2C1Ev),
+ NSPAIR(_ZN7G30x6y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E30x6;
+extern VTBL_ENTRY _ZTI5E30x6[];
+extern VTBL_ENTRY _ZTV5E30x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G30x6y2[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E30x6, 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(40,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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G30x6y2[];
+extern void _ZN3C303fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn24_N3C303fooEv,_ZThn20_N3C303fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G30x6y2[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x6y2[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G30x6y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G30x6y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G30x6y2[];
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV5E30x6__7G30x6y2[] = {
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x6[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C305E30x6__7G30x6y2[] = {
+ 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__3C305E30x6__7G30x6y2[] = {
+ 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__5E30x6__7G30x6y2[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E30x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x6y2[] = {
+ {&(_ZTV7G30x6y2[6]), 6,15},
+ {&(_tg__ZTV5E30x6__7G30x6y2[5]), 5,6},
+ {&(_tg__ZTV3C305E30x6__7G30x6y2[4]), 4,5},
+ {&(_tg__ZTV2B1__3C305E30x6__7G30x6y2[3]), 3,4},
+ {&(_tg__ZTV2B1__5E30x6__7G30x6y2[3]), 3,4},
+ {&(_ZTV7G30x6y2[10]), 10,15},
+ {&(_ZTV7G30x6y2[14]), 14,15},
+};
+extern VTBL_ENTRY _ZTI7G30x6y2[];
+extern VTBL_ENTRY _ZTV7G30x6y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x6y2[];
+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_G30x6y2 = { "G30x6y2", // class name
+ bases_G30x6y2, 6,
+ &(vtc_G30x6y2[0]), // expected_vtbl_contents
+ &(vtt_G30x6y2[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G30x6y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x6y2),15, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x6y2),7, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names182,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x6y3 : virtual E30x6 , virtual F1 {
+ int ff;
+ ~G30x6y3(); // tgen
+ G30x6y3(); // tgen
+};
+//SIG(1 G30x6y3) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G30x6y3 ::~G30x6y3(){ note_dtor("G30x6y3", this);} // tgen
+G30x6y3 ::G30x6y3(){ note_ctor("G30x6y3", this);} // tgen
+
+static void Test_G30x6y3()
+{
+ extern Class_Descriptor cd_G30x6y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G30x6y3, buf);
+ G30x6y3 *dp, &lv = *(dp=new (buf) G30x6y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G30x6y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x6y3)");
+ check_base_class_offset(lv, (A0*)(C30*)(E30x6*), ABISELECT(32,20), "G30x6y3");
+ check_base_class_offset(lv, (B1*)(C30*)(E30x6*), ABISELECT(40,24), "G30x6y3");
+ check_base_class_offset(lv, (C30*)(E30x6*), ABISELECT(16,8), "G30x6y3");
+ check_base_class_offset(lv, (D0*)(E30x6*), ABISELECT(52,32), "G30x6y3");
+ check_base_class_offset(lv, (E30x6*), ABISELECT(16,8), "G30x6y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G30x6y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G30x6y3.ff");
+ test_class_info(&lv, &cd_G30x6y3);
+ dp->~G30x6y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x6y3(Test_G30x6y3, "G30x6y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G30x6y3C1Ev();
+extern void _ZN7G30x6y3D1Ev();
+Name_Map name_map_G30x6y3[] = {
+ NSPAIR(_ZN7G30x6y3C1Ev),
+ NSPAIR(_ZN7G30x6y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E30x6;
+extern VTBL_ENTRY _ZTI5E30x6[];
+extern VTBL_ENTRY _ZTV5E30x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G30x6y3[] = {
+ // 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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E30x6, 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 _ZTI7G30x6y3[];
+extern void _ZN3C303fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn24_N3C303fooEv,_ZThn16_N3C303fooEv)() __attribute__((weak));
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G30x6y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x6y3[0]),
+ 0,
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G30x6y3[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G30x6y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G30x6y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G30x6y3[];
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV5E30x6__7G30x6y3[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x6[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C305E30x6__7G30x6y3[] = {
+ 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__3C305E30x6__7G30x6y3[] = {
+ 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__5E30x6__7G30x6y3[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E30x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x6y3[] = {
+ {&(_ZTV7G30x6y3[7]), 7,22},
+ {&(_ZTV7G30x6y3[13]), 13,22},
+ {&(_ZTV7G30x6y3[17]), 17,22},
+ {&(_ZTV7G30x6y3[21]), 21,22},
+ {&(_tg__ZTV5E30x6__7G30x6y3[5]), 5,6},
+ {&(_tg__ZTV3C305E30x6__7G30x6y3[4]), 4,5},
+ {&(_tg__ZTV2B1__3C305E30x6__7G30x6y3[3]), 3,4},
+ {&(_tg__ZTV2B1__5E30x6__7G30x6y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G30x6y3[];
+extern VTBL_ENTRY _ZTV7G30x6y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x6y3[];
+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_G30x6y3 = { "G30x6y3", // class name
+ bases_G30x6y3, 6,
+ &(vtc_G30x6y3[0]), // expected_vtbl_contents
+ &(vtt_G30x6y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G30x6y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x6y3),22, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x6y3),8, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names183,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x6y4 : E30x6 , F0 {
+ int ff;
+ ~G30x6y4(); // tgen
+ G30x6y4(); // tgen
+};
+//SIG(1 G30x6y4) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G30x6y4 ::~G30x6y4(){ note_dtor("G30x6y4", this);} // tgen
+G30x6y4 ::G30x6y4(){ note_ctor("G30x6y4", this);} // tgen
+
+static void Test_G30x6y4()
+{
+ extern Class_Descriptor cd_G30x6y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G30x6y4, buf);
+ G30x6y4 *dp, &lv = *(dp=new (buf) G30x6y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G30x6y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x6y4)");
+ check_base_class_offset(lv, (A0*)(C30*)(E30x6*), ABISELECT(24,20), "G30x6y4");
+ check_base_class_offset(lv, (B1*)(C30*)(E30x6*), ABISELECT(32,24), "G30x6y4");
+ check_base_class_offset(lv, (C30*)(E30x6*), 0, "G30x6y4");
+ check_base_class_offset(lv, (D0*)(E30x6*), ABISELECT(44,32), "G30x6y4");
+ check_base_class_offset(lv, (E30x6*), 0, "G30x6y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G30x6y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G30x6y4.ff");
+ test_class_info(&lv, &cd_G30x6y4);
+ dp->~G30x6y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x6y4(Test_G30x6y4, "G30x6y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G30x6y4C1Ev();
+extern void _ZN7G30x6y4D1Ev();
+Name_Map name_map_G30x6y4[] = {
+ NSPAIR(_ZN7G30x6y4C1Ev),
+ NSPAIR(_ZN7G30x6y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E30x6;
+extern VTBL_ENTRY _ZTI5E30x6[];
+extern VTBL_ENTRY _ZTV5E30x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G30x6y4[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E30x6, 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 _ZTI7G30x6y4[];
+extern void _ZN3C303fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn32_N3C303fooEv,_ZThn24_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G30x6y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x6y4[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G30x6y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern VTBL_ENTRY _ZTV7G30x6y4[];
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV5E30x6__7G30x6y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x6[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C305E30x6__7G30x6y4[] = {
+ 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__3C305E30x6__7G30x6y4[] = {
+ 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__5E30x6__7G30x6y4[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E30x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x6y4[] = {
+ {&(_ZTV7G30x6y4[5]), 5,10},
+ {&(_tg__ZTV5E30x6__7G30x6y4[5]), 5,6},
+ {&(_tg__ZTV3C305E30x6__7G30x6y4[4]), 4,5},
+ {&(_tg__ZTV2B1__3C305E30x6__7G30x6y4[3]), 3,4},
+ {&(_tg__ZTV2B1__5E30x6__7G30x6y4[3]), 3,4},
+ {&(_ZTV7G30x6y4[9]), 9,10},
+};
+extern VTBL_ENTRY _ZTI7G30x6y4[];
+extern VTBL_ENTRY _ZTV7G30x6y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x6y4[];
+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_G30x6y4 = { "G30x6y4", // class name
+ bases_G30x6y4, 6,
+ &(vtc_G30x6y4[0]), // expected_vtbl_contents
+ &(vtt_G30x6y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G30x6y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x6y4),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x6y4),6, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names184,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x6y5 : virtual E30x6 , F0 {
+ int ff;
+ ~G30x6y5(); // tgen
+ G30x6y5(); // tgen
+};
+//SIG(1 G30x6y5) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G30x6y5 ::~G30x6y5(){ note_dtor("G30x6y5", this);} // tgen
+G30x6y5 ::G30x6y5(){ note_ctor("G30x6y5", this);} // tgen
+
+static void Test_G30x6y5()
+{
+ extern Class_Descriptor cd_G30x6y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G30x6y5, buf);
+ G30x6y5 *dp, &lv = *(dp=new (buf) G30x6y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G30x6y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x6y5)");
+ check_base_class_offset(lv, (A0*)(C30*)(E30x6*), ABISELECT(32,24), "G30x6y5");
+ check_base_class_offset(lv, (B1*)(C30*)(E30x6*), ABISELECT(40,28), "G30x6y5");
+ check_base_class_offset(lv, (C30*)(E30x6*), ABISELECT(16,12), "G30x6y5");
+ check_base_class_offset(lv, (D0*)(E30x6*), ABISELECT(52,36), "G30x6y5");
+ check_base_class_offset(lv, (E30x6*), ABISELECT(16,12), "G30x6y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G30x6y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G30x6y5.ff");
+ test_class_info(&lv, &cd_G30x6y5);
+ dp->~G30x6y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x6y5(Test_G30x6y5, "G30x6y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G30x6y5C1Ev();
+extern void _ZN7G30x6y5D1Ev();
+Name_Map name_map_G30x6y5[] = {
+ NSPAIR(_ZN7G30x6y5C1Ev),
+ NSPAIR(_ZN7G30x6y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E30x6;
+extern VTBL_ENTRY _ZTI5E30x6[];
+extern VTBL_ENTRY _ZTV5E30x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G30x6y5[] = {
+ // 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E30x6, 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 _ZTI7G30x6y5[];
+extern void _ZN3C303fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn24_N3C303fooEv,_ZThn16_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G30x6y5[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x6y5[0]),
+ 0,
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G30x6y5[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G30x6y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern VTBL_ENTRY _ZTV7G30x6y5[];
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV5E30x6__7G30x6y5[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x6[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C305E30x6__7G30x6y5[] = {
+ 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__3C305E30x6__7G30x6y5[] = {
+ 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__5E30x6__7G30x6y5[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E30x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x6y5[] = {
+ {&(_ZTV7G30x6y5[6]), 6,17},
+ {&(_ZTV7G30x6y5[12]), 12,17},
+ {&(_ZTV7G30x6y5[16]), 16,17},
+ {&(_tg__ZTV5E30x6__7G30x6y5[5]), 5,6},
+ {&(_tg__ZTV3C305E30x6__7G30x6y5[4]), 4,5},
+ {&(_tg__ZTV2B1__3C305E30x6__7G30x6y5[3]), 3,4},
+ {&(_tg__ZTV2B1__5E30x6__7G30x6y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G30x6y5[];
+extern VTBL_ENTRY _ZTV7G30x6y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x6y5[];
+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_G30x6y5 = { "G30x6y5", // class name
+ bases_G30x6y5, 6,
+ &(vtc_G30x6y5[0]), // expected_vtbl_contents
+ &(vtt_G30x6y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G30x6y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x6y5),17, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x6y5),7, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names185,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x6y6 : E30x6 , virtual F0 {
+ int ff;
+ ~G30x6y6(); // tgen
+ G30x6y6(); // tgen
+};
+//SIG(1 G30x6y6) C1{ BC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G30x6y6 ::~G30x6y6(){ note_dtor("G30x6y6", this);} // tgen
+G30x6y6 ::G30x6y6(){ note_ctor("G30x6y6", this);} // tgen
+
+static void Test_G30x6y6()
+{
+ extern Class_Descriptor cd_G30x6y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G30x6y6, buf);
+ G30x6y6 *dp, &lv = *(dp=new (buf) G30x6y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G30x6y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x6y6)");
+ check_base_class_offset(lv, (A0*)(C30*)(E30x6*), ABISELECT(20,16), "G30x6y6");
+ check_base_class_offset(lv, (B1*)(C30*)(E30x6*), ABISELECT(24,20), "G30x6y6");
+ check_base_class_offset(lv, (C30*)(E30x6*), 0, "G30x6y6");
+ check_base_class_offset(lv, (D0*)(E30x6*), ABISELECT(36,28), "G30x6y6");
+ check_base_class_offset(lv, (E30x6*), 0, "G30x6y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(40,32), "G30x6y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G30x6y6.ff");
+ test_class_info(&lv, &cd_G30x6y6);
+ dp->~G30x6y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x6y6(Test_G30x6y6, "G30x6y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G30x6y6C1Ev();
+extern void _ZN7G30x6y6D1Ev();
+Name_Map name_map_G30x6y6[] = {
+ NSPAIR(_ZN7G30x6y6C1Ev),
+ NSPAIR(_ZN7G30x6y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E30x6;
+extern VTBL_ENTRY _ZTI5E30x6[];
+extern VTBL_ENTRY _ZTV5E30x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G30x6y6[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E30x6, 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(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 _ZTI7G30x6y6[];
+extern void _ZN3C303fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn24_N3C303fooEv,_ZThn20_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G30x6y6[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x6y6[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G30x6y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern VTBL_ENTRY _ZTV7G30x6y6[];
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV5E30x6__7G30x6y6[] = {
+ ABISELECT(36,28),
+ ABISELECT(24,20),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x6[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C305E30x6__7G30x6y6[] = {
+ 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__3C305E30x6__7G30x6y6[] = {
+ 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__5E30x6__7G30x6y6[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E30x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x6y6[] = {
+ {&(_ZTV7G30x6y6[6]), 6,11},
+ {&(_tg__ZTV5E30x6__7G30x6y6[5]), 5,6},
+ {&(_tg__ZTV3C305E30x6__7G30x6y6[4]), 4,5},
+ {&(_tg__ZTV2B1__3C305E30x6__7G30x6y6[3]), 3,4},
+ {&(_tg__ZTV2B1__5E30x6__7G30x6y6[3]), 3,4},
+ {&(_ZTV7G30x6y6[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI7G30x6y6[];
+extern VTBL_ENTRY _ZTV7G30x6y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x6y6[];
+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_G30x6y6 = { "G30x6y6", // class name
+ bases_G30x6y6, 6,
+ &(vtc_G30x6y6[0]), // expected_vtbl_contents
+ &(vtt_G30x6y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G30x6y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x6y6),11, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x6y6),6, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names186,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x6y7 : virtual E30x6 , virtual F0 {
+ int ff;
+ ~G30x6y7(); // tgen
+ G30x6y7(); // tgen
+};
+//SIG(1 G30x6y7) C1{ VBC2{ BC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G30x6y7 ::~G30x6y7(){ note_dtor("G30x6y7", this);} // tgen
+G30x6y7 ::G30x6y7(){ note_ctor("G30x6y7", this);} // tgen
+
+static void Test_G30x6y7()
+{
+ extern Class_Descriptor cd_G30x6y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G30x6y7, buf);
+ G30x6y7 *dp, &lv = *(dp=new (buf) G30x6y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G30x6y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x6y7)");
+ check_base_class_offset(lv, (A0*)(C30*)(E30x6*), ABISELECT(32,20), "G30x6y7");
+ check_base_class_offset(lv, (B1*)(C30*)(E30x6*), ABISELECT(40,24), "G30x6y7");
+ check_base_class_offset(lv, (C30*)(E30x6*), ABISELECT(16,8), "G30x6y7");
+ check_base_class_offset(lv, (D0*)(E30x6*), ABISELECT(52,32), "G30x6y7");
+ check_base_class_offset(lv, (E30x6*), ABISELECT(16,8), "G30x6y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G30x6y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G30x6y7.ff");
+ test_class_info(&lv, &cd_G30x6y7);
+ dp->~G30x6y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x6y7(Test_G30x6y7, "G30x6y7", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G30x6y7C1Ev();
+extern void _ZN7G30x6y7D1Ev();
+Name_Map name_map_G30x6y7[] = {
+ NSPAIR(_ZN7G30x6y7C1Ev),
+ NSPAIR(_ZN7G30x6y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E30x6;
+extern VTBL_ENTRY _ZTI5E30x6[];
+extern VTBL_ENTRY _ZTV5E30x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G30x6y7[] = {
+ // 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E30x6, 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(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 _ZTI7G30x6y7[];
+extern void _ZN3C303fooEv();
+extern void ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv)();
+extern void ABISELECT(_ZThn24_N3C303fooEv,_ZThn16_N3C303fooEv)() __attribute__((weak));
+static VTBL_ENTRY vtc_G30x6y7[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x6y7[0]),
+ 0,
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G30x6y7[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G30x6y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern VTBL_ENTRY _ZTV7G30x6y7[];
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV5E30x6__7G30x6y7[] = {
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x6[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C305E30x6__7G30x6y7[] = {
+ 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__3C305E30x6__7G30x6y7[] = {
+ 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__5E30x6__7G30x6y7[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E30x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x6y7[] = {
+ {&(_ZTV7G30x6y7[7]), 7,18},
+ {&(_ZTV7G30x6y7[13]), 13,18},
+ {&(_ZTV7G30x6y7[17]), 17,18},
+ {&(_tg__ZTV5E30x6__7G30x6y7[5]), 5,6},
+ {&(_tg__ZTV3C305E30x6__7G30x6y7[4]), 4,5},
+ {&(_tg__ZTV2B1__3C305E30x6__7G30x6y7[3]), 3,4},
+ {&(_tg__ZTV2B1__5E30x6__7G30x6y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G30x6y7[];
+extern VTBL_ENTRY _ZTV7G30x6y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x6y7[];
+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_G30x6y7 = { "G30x6y7", // class name
+ bases_G30x6y7, 6,
+ &(vtc_G30x6y7[0]), // expected_vtbl_contents
+ &(vtt_G30x6y7[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G30x6y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x6y7),18, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x6y7),7, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names187,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E31x6 : C31 , virtual D0 {
+ int fd;
+ ~E31x6(); // tgen
+ E31x6(); // tgen
+};
+//SIG(-1 E31x6) C1{ BC2{ VBC3{ v1 Fi} VBC4{ v1 Fi} v1 Fi} VBC5{ Fi} Fi}
+
+
+E31x6 ::~E31x6(){ note_dtor("E31x6", this);} // tgen
+E31x6 ::E31x6(){ note_ctor("E31x6", this);} // tgen
+
+static void Test_E31x6()
+{
+ extern Class_Descriptor cd_E31x6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E31x6, buf);
+ E31x6 *dp, &lv = *(dp=new (buf) E31x6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E31x6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E31x6)");
+ check_base_class_offset(lv, (A1*)(C31*), ABISELECT(16,12), "E31x6");
+ check_base_class_offset(lv, (B1*)(C31*), ABISELECT(32,20), "E31x6");
+ check_base_class_offset(lv, (C31*), 0, "E31x6");
+ check_base_class_offset(lv, (D0*), ABISELECT(44,28), "E31x6");
+ check_field_offset(lv, fd, ABISELECT(12,8), "E31x6.fd");
+ test_class_info(&lv, &cd_E31x6);
+ dp->~E31x6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE31x6(Test_E31x6, "E31x6", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN5E31x6C1Ev();
+extern void _ZN5E31x6D1Ev();
+Name_Map name_map_E31x6[] = {
+ NSPAIR(_ZN5E31x6C1Ev),
+ NSPAIR(_ZN5E31x6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E31x6[] = {
+ // 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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {&cd_D0, 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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E31x6[];
+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));
+static VTBL_ENTRY vtc_E31x6[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x6[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E31x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-32,-20),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E31x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern VTBL_ENTRY _ZTV5E31x6[];
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__5E31x6[] = {
+ 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__5E31x6[] = {
+ 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__5E31x6[] = {
+ ABISELECT(-32,-20),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_E31x6[] = {
+ {&(_ZTV5E31x6[5]), 5,14},
+ {&(_tg__ZTV3C31__5E31x6[4]), 4,5},
+ {&(_tg__ZTV2A1__3C31__5E31x6[3]), 3,4},
+ {&(_tg__ZTV2B1__3C31__5E31x6[3]), 3,4},
+ {&(_ZTV5E31x6[9]), 9,14},
+ {&(_ZTV5E31x6[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI5E31x6[];
+extern VTBL_ENTRY _ZTV5E31x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x6[];
+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_E31x6 = { "E31x6", // class name
+ bases_E31x6, 4,
+ &(vtc_E31x6[0]), // expected_vtbl_contents
+ &(vtt_E31x6[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI5E31x6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E31x6),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E31x6),6, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names188,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x6y0 : E31x6 , F1 {
+ int ff;
+ ~G31x6y0(); // tgen
+ G31x6y0(); // tgen
+};
+//SIG(1 G31x6y0) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G31x6y0 ::~G31x6y0(){ note_dtor("G31x6y0", this);} // tgen
+G31x6y0 ::G31x6y0(){ note_ctor("G31x6y0", this);} // tgen
+
+static void Test_G31x6y0()
+{
+ extern Class_Descriptor cd_G31x6y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G31x6y0, buf);
+ G31x6y0 *dp, &lv = *(dp=new (buf) G31x6y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G31x6y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x6y0)");
+ check_base_class_offset(lv, (A1*)(C31*)(E31x6*), ABISELECT(32,24), "G31x6y0");
+ check_base_class_offset(lv, (B1*)(C31*)(E31x6*), ABISELECT(48,32), "G31x6y0");
+ check_base_class_offset(lv, (C31*)(E31x6*), 0, "G31x6y0");
+ check_base_class_offset(lv, (D0*)(E31x6*), ABISELECT(60,40), "G31x6y0");
+ check_base_class_offset(lv, (E31x6*), 0, "G31x6y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,12), "G31x6y0");
+ check_field_offset(lv, ff, ABISELECT(28,20), "G31x6y0.ff");
+ test_class_info(&lv, &cd_G31x6y0);
+ dp->~G31x6y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x6y0(Test_G31x6y0, "G31x6y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G31x6y0C1Ev();
+extern void _ZN7G31x6y0D1Ev();
+Name_Map name_map_G31x6y0[] = {
+ NSPAIR(_ZN7G31x6y0C1Ev),
+ NSPAIR(_ZN7G31x6y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E31x6;
+extern VTBL_ENTRY _ZTI5E31x6[];
+extern VTBL_ENTRY _ZTV5E31x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G31x6y0[] = {
+ // 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)
+ 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,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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E31x6, 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 _ZTI7G31x6y0[];
+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));
+static VTBL_ENTRY vtc_G31x6y0[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x6y0[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G31x6y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G31x6y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-48,-32),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G31x6y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern VTBL_ENTRY _ZTV7G31x6y0[];
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV5E31x6__7G31x6y0[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x6[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C315E31x6__7G31x6y0[] = {
+ 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__3C315E31x6__7G31x6y0[] = {
+ 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__3C315E31x6__7G31x6y0[] = {
+ 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__5E31x6__7G31x6y0[] = {
+ ABISELECT(-32,-24),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E31x6[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__5E31x6__7G31x6y0[] = {
+ ABISELECT(-48,-32),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E31x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x6y0[] = {
+ {&(_ZTV7G31x6y0[5]), 5,17},
+ {&(_tg__ZTV5E31x6__7G31x6y0[5]), 5,6},
+ {&(_tg__ZTV3C315E31x6__7G31x6y0[4]), 4,5},
+ {&(_tg__ZTV2A1__3C315E31x6__7G31x6y0[3]), 3,4},
+ {&(_tg__ZTV2B1__3C315E31x6__7G31x6y0[3]), 3,4},
+ {&(_tg__ZTV2A1__5E31x6__7G31x6y0[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x6__7G31x6y0[3]), 3,4},
+ {&(_ZTV7G31x6y0[12]), 12,17},
+ {&(_ZTV7G31x6y0[16]), 16,17},
+};
+extern VTBL_ENTRY _ZTI7G31x6y0[];
+extern VTBL_ENTRY _ZTV7G31x6y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x6y0[];
+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_G31x6y0 = { "G31x6y0", // class name
+ bases_G31x6y0, 6,
+ &(vtc_G31x6y0[0]), // expected_vtbl_contents
+ &(vtt_G31x6y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G31x6y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x6y0),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x6y0),9, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names189,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x6y1 : virtual E31x6 , F1 {
+ int ff;
+ ~G31x6y1(); // tgen
+ G31x6y1(); // tgen
+};
+//SIG(1 G31x6y1) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G31x6y1 ::~G31x6y1(){ note_dtor("G31x6y1", this);} // tgen
+G31x6y1 ::G31x6y1(){ note_ctor("G31x6y1", this);} // tgen
+
+static void Test_G31x6y1()
+{
+ extern Class_Descriptor cd_G31x6y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G31x6y1, buf);
+ G31x6y1 *dp, &lv = *(dp=new (buf) G31x6y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G31x6y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x6y1)");
+ check_base_class_offset(lv, (A1*)(C31*)(E31x6*), ABISELECT(32,24), "G31x6y1");
+ check_base_class_offset(lv, (B1*)(C31*)(E31x6*), ABISELECT(48,32), "G31x6y1");
+ check_base_class_offset(lv, (C31*)(E31x6*), ABISELECT(16,12), "G31x6y1");
+ check_base_class_offset(lv, (D0*)(E31x6*), ABISELECT(60,40), "G31x6y1");
+ check_base_class_offset(lv, (E31x6*), ABISELECT(16,12), "G31x6y1");
+ check_base_class_offset(lv, (F1*), 0, "G31x6y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G31x6y1.ff");
+ test_class_info(&lv, &cd_G31x6y1);
+ dp->~G31x6y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x6y1(Test_G31x6y1, "G31x6y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G31x6y1C1Ev();
+extern void _ZN7G31x6y1D1Ev();
+Name_Map name_map_G31x6y1[] = {
+ NSPAIR(_ZN7G31x6y1C1Ev),
+ NSPAIR(_ZN7G31x6y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E31x6;
+extern VTBL_ENTRY _ZTI5E31x6[];
+extern VTBL_ENTRY _ZTV5E31x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G31x6y1[] = {
+ // 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
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E31x6, 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 _ZTI7G31x6y1[];
+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));
+static VTBL_ENTRY vtc_G31x6y1[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x6y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G31x6y1[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G31x6y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-32,-20),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G31x6y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern VTBL_ENTRY _ZTV7G31x6y1[];
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV5E31x6__7G31x6y1[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x6[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C315E31x6__7G31x6y1[] = {
+ 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__3C315E31x6__7G31x6y1[] = {
+ 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__3C315E31x6__7G31x6y1[] = {
+ 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__5E31x6__7G31x6y1[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E31x6[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__5E31x6__7G31x6y1[] = {
+ ABISELECT(-32,-20),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E31x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x6y1[] = {
+ {&(_ZTV7G31x6y1[6]), 6,22},
+ {&(_ZTV7G31x6y1[13]), 13,22},
+ {&(_ZTV7G31x6y1[17]), 17,22},
+ {&(_ZTV7G31x6y1[21]), 21,22},
+ {&(_tg__ZTV5E31x6__7G31x6y1[5]), 5,6},
+ {&(_tg__ZTV3C315E31x6__7G31x6y1[4]), 4,5},
+ {&(_tg__ZTV2A1__3C315E31x6__7G31x6y1[3]), 3,4},
+ {&(_tg__ZTV2B1__3C315E31x6__7G31x6y1[3]), 3,4},
+ {&(_tg__ZTV2A1__5E31x6__7G31x6y1[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x6__7G31x6y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G31x6y1[];
+extern VTBL_ENTRY _ZTV7G31x6y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x6y1[];
+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_G31x6y1 = { "G31x6y1", // class name
+ bases_G31x6y1, 6,
+ &(vtc_G31x6y1[0]), // expected_vtbl_contents
+ &(vtt_G31x6y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G31x6y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x6y1),22, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x6y1),10, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names190,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x6y2 : E31x6 , virtual F1 {
+ int ff;
+ ~G31x6y2(); // tgen
+ G31x6y2(); // tgen
+};
+//SIG(1 G31x6y2) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G31x6y2 ::~G31x6y2(){ note_dtor("G31x6y2", this);} // tgen
+G31x6y2 ::G31x6y2(){ note_ctor("G31x6y2", this);} // tgen
+
+static void Test_G31x6y2()
+{
+ extern Class_Descriptor cd_G31x6y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G31x6y2, buf);
+ G31x6y2 *dp, &lv = *(dp=new (buf) G31x6y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G31x6y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x6y2)");
+ check_base_class_offset(lv, (A1*)(C31*)(E31x6*), ABISELECT(24,16), "G31x6y2");
+ check_base_class_offset(lv, (B1*)(C31*)(E31x6*), ABISELECT(40,24), "G31x6y2");
+ check_base_class_offset(lv, (C31*)(E31x6*), 0, "G31x6y2");
+ check_base_class_offset(lv, (D0*)(E31x6*), ABISELECT(52,32), "G31x6y2");
+ check_base_class_offset(lv, (E31x6*), 0, "G31x6y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G31x6y2");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G31x6y2.ff");
+ test_class_info(&lv, &cd_G31x6y2);
+ dp->~G31x6y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x6y2(Test_G31x6y2, "G31x6y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G31x6y2C1Ev();
+extern void _ZN7G31x6y2D1Ev();
+Name_Map name_map_G31x6y2[] = {
+ NSPAIR(_ZN7G31x6y2C1Ev),
+ NSPAIR(_ZN7G31x6y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E31x6;
+extern VTBL_ENTRY _ZTI5E31x6[];
+extern VTBL_ENTRY _ZTV5E31x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G31x6y2[] = {
+ // 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)
+ 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(40,24), //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_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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E31x6, 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)
+ 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 _ZTI7G31x6y2[];
+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 _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G31x6y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x6y2[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G31x6y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-40,-24),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G31x6y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G31x6y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G31x6y2[];
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV5E31x6__7G31x6y2[] = {
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x6[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C315E31x6__7G31x6y2[] = {
+ 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__3C315E31x6__7G31x6y2[] = {
+ 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__3C315E31x6__7G31x6y2[] = {
+ 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__5E31x6__7G31x6y2[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E31x6[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__5E31x6__7G31x6y2[] = {
+ ABISELECT(-40,-24),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E31x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x6y2[] = {
+ {&(_ZTV7G31x6y2[6]), 6,19},
+ {&(_tg__ZTV5E31x6__7G31x6y2[5]), 5,6},
+ {&(_tg__ZTV3C315E31x6__7G31x6y2[4]), 4,5},
+ {&(_tg__ZTV2A1__3C315E31x6__7G31x6y2[3]), 3,4},
+ {&(_tg__ZTV2B1__3C315E31x6__7G31x6y2[3]), 3,4},
+ {&(_tg__ZTV2A1__5E31x6__7G31x6y2[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x6__7G31x6y2[3]), 3,4},
+ {&(_ZTV7G31x6y2[10]), 10,19},
+ {&(_ZTV7G31x6y2[14]), 14,19},
+ {&(_ZTV7G31x6y2[18]), 18,19},
+};
+extern VTBL_ENTRY _ZTI7G31x6y2[];
+extern VTBL_ENTRY _ZTV7G31x6y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x6y2[];
+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_G31x6y2 = { "G31x6y2", // class name
+ bases_G31x6y2, 6,
+ &(vtc_G31x6y2[0]), // expected_vtbl_contents
+ &(vtt_G31x6y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G31x6y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x6y2),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x6y2),10, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names191,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x6y3 : virtual E31x6 , virtual F1 {
+ int ff;
+ ~G31x6y3(); // tgen
+ G31x6y3(); // tgen
+};
+//SIG(1 G31x6y3) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G31x6y3 ::~G31x6y3(){ note_dtor("G31x6y3", this);} // tgen
+G31x6y3 ::G31x6y3(){ note_ctor("G31x6y3", this);} // tgen
+
+static void Test_G31x6y3()
+{
+ extern Class_Descriptor cd_G31x6y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G31x6y3, buf);
+ G31x6y3 *dp, &lv = *(dp=new (buf) G31x6y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G31x6y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x6y3)");
+ check_base_class_offset(lv, (A1*)(C31*)(E31x6*), ABISELECT(32,20), "G31x6y3");
+ check_base_class_offset(lv, (B1*)(C31*)(E31x6*), ABISELECT(48,28), "G31x6y3");
+ check_base_class_offset(lv, (C31*)(E31x6*), ABISELECT(16,8), "G31x6y3");
+ check_base_class_offset(lv, (D0*)(E31x6*), ABISELECT(60,36), "G31x6y3");
+ check_base_class_offset(lv, (E31x6*), ABISELECT(16,8), "G31x6y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G31x6y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G31x6y3.ff");
+ test_class_info(&lv, &cd_G31x6y3);
+ dp->~G31x6y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x6y3(Test_G31x6y3, "G31x6y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G31x6y3C1Ev();
+extern void _ZN7G31x6y3D1Ev();
+Name_Map name_map_G31x6y3[] = {
+ NSPAIR(_ZN7G31x6y3C1Ev),
+ NSPAIR(_ZN7G31x6y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E31x6;
+extern VTBL_ENTRY _ZTI5E31x6[];
+extern VTBL_ENTRY _ZTV5E31x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x6[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G31x6y3[] = {
+ // 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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E31x6, 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 _ZTI7G31x6y3[];
+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 _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G31x6y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x6y3[0]),
+ 0,
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G31x6y3[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G31x6y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-32,-20),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G31x6y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G31x6y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G31x6y3[];
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV5E31x6__7G31x6y3[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x6[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C315E31x6__7G31x6y3[] = {
+ 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__3C315E31x6__7G31x6y3[] = {
+ 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__3C315E31x6__7G31x6y3[] = {
+ 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__5E31x6__7G31x6y3[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E31x6[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__5E31x6__7G31x6y3[] = {
+ ABISELECT(-32,-20),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E31x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x6y3[] = {
+ {&(_ZTV7G31x6y3[7]), 7,26},
+ {&(_ZTV7G31x6y3[13]), 13,26},
+ {&(_ZTV7G31x6y3[17]), 17,26},
+ {&(_ZTV7G31x6y3[21]), 21,26},
+ {&(_ZTV7G31x6y3[25]), 25,26},
+ {&(_tg__ZTV5E31x6__7G31x6y3[5]), 5,6},
+ {&(_tg__ZTV3C315E31x6__7G31x6y3[4]), 4,5},
+ {&(_tg__ZTV2A1__3C315E31x6__7G31x6y3[3]), 3,4},
+ {&(_tg__ZTV2B1__3C315E31x6__7G31x6y3[3]), 3,4},
+ {&(_tg__ZTV2A1__5E31x6__7G31x6y3[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x6__7G31x6y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G31x6y3[];
+extern VTBL_ENTRY _ZTV7G31x6y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x6y3[];
+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_G31x6y3 = { "G31x6y3", // class name
+ bases_G31x6y3, 6,
+ &(vtc_G31x6y3[0]), // expected_vtbl_contents
+ &(vtt_G31x6y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G31x6y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x6y3),26, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x6y3),11, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names192,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x6y4 : E31x6 , F0 {
+ int ff;
+ ~G31x6y4(); // tgen
+ G31x6y4(); // tgen
+};
+//SIG(1 G31x6y4) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G31x6y4 ::~G31x6y4(){ note_dtor("G31x6y4", this);} // tgen
+G31x6y4 ::G31x6y4(){ note_ctor("G31x6y4", this);} // tgen
+
+static void Test_G31x6y4()
+{
+ extern Class_Descriptor cd_G31x6y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G31x6y4, buf);
+ G31x6y4 *dp, &lv = *(dp=new (buf) G31x6y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G31x6y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x6y4)");
+ check_base_class_offset(lv, (A1*)(C31*)(E31x6*), ABISELECT(24,20), "G31x6y4");
+ check_base_class_offset(lv, (B1*)(C31*)(E31x6*), ABISELECT(40,28), "G31x6y4");
+ check_base_class_offset(lv, (C31*)(E31x6*), 0, "G31x6y4");
+ check_base_class_offset(lv, (D0*)(E31x6*), ABISELECT(52,36), "G31x6y4");
+ check_base_class_offset(lv, (E31x6*), 0, "G31x6y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(16,12), "G31x6y4");
+ check_field_offset(lv, ff, ABISELECT(20,16), "G31x6y4.ff");
+ test_class_info(&lv, &cd_G31x6y4);
+ dp->~G31x6y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x6y4(Test_G31x6y4, "G31x6y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G31x6y4C1Ev();
+extern void _ZN7G31x6y4D1Ev();
+Name_Map name_map_G31x6y4[] = {
+ NSPAIR(_ZN7G31x6y4C1Ev),
+ NSPAIR(_ZN7G31x6y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E31x6;
+extern VTBL_ENTRY _ZTI5E31x6[];
+extern VTBL_ENTRY _ZTV5E31x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G31x6y4[] = {
+ // 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)
+ 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(40,28), //bcp->offset
+ 10, //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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E31x6, 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 _ZTI7G31x6y4[];
+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));
+static VTBL_ENTRY vtc_G31x6y4[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x6y4[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI7G31x6y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G31x6y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern VTBL_ENTRY _ZTV7G31x6y4[];
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV5E31x6__7G31x6y4[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x6[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C315E31x6__7G31x6y4[] = {
+ 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__3C315E31x6__7G31x6y4[] = {
+ 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__3C315E31x6__7G31x6y4[] = {
+ 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__5E31x6__7G31x6y4[] = {
+ ABISELECT(-24,-20),
+ ABISELECT(-24,-20),
+ (VTBL_ENTRY)&(_ZTI5E31x6[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__5E31x6__7G31x6y4[] = {
+ ABISELECT(-40,-28),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E31x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x6y4[] = {
+ {&(_ZTV7G31x6y4[5]), 5,14},
+ {&(_tg__ZTV5E31x6__7G31x6y4[5]), 5,6},
+ {&(_tg__ZTV3C315E31x6__7G31x6y4[4]), 4,5},
+ {&(_tg__ZTV2A1__3C315E31x6__7G31x6y4[3]), 3,4},
+ {&(_tg__ZTV2B1__3C315E31x6__7G31x6y4[3]), 3,4},
+ {&(_tg__ZTV2A1__5E31x6__7G31x6y4[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x6__7G31x6y4[3]), 3,4},
+ {&(_ZTV7G31x6y4[9]), 9,14},
+ {&(_ZTV7G31x6y4[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI7G31x6y4[];
+extern VTBL_ENTRY _ZTV7G31x6y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x6y4[];
+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_G31x6y4 = { "G31x6y4", // class name
+ bases_G31x6y4, 6,
+ &(vtc_G31x6y4[0]), // expected_vtbl_contents
+ &(vtt_G31x6y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G31x6y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x6y4),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x6y4),9, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names193,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x6y5 : virtual E31x6 , F0 {
+ int ff;
+ ~G31x6y5(); // tgen
+ G31x6y5(); // tgen
+};
+//SIG(1 G31x6y5) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G31x6y5 ::~G31x6y5(){ note_dtor("G31x6y5", this);} // tgen
+G31x6y5 ::G31x6y5(){ note_ctor("G31x6y5", this);} // tgen
+
+static void Test_G31x6y5()
+{
+ extern Class_Descriptor cd_G31x6y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G31x6y5, buf);
+ G31x6y5 *dp, &lv = *(dp=new (buf) G31x6y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G31x6y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x6y5)");
+ check_base_class_offset(lv, (A1*)(C31*)(E31x6*), ABISELECT(32,24), "G31x6y5");
+ check_base_class_offset(lv, (B1*)(C31*)(E31x6*), ABISELECT(48,32), "G31x6y5");
+ check_base_class_offset(lv, (C31*)(E31x6*), ABISELECT(16,12), "G31x6y5");
+ check_base_class_offset(lv, (D0*)(E31x6*), ABISELECT(60,40), "G31x6y5");
+ check_base_class_offset(lv, (E31x6*), ABISELECT(16,12), "G31x6y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G31x6y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G31x6y5.ff");
+ test_class_info(&lv, &cd_G31x6y5);
+ dp->~G31x6y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x6y5(Test_G31x6y5, "G31x6y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G31x6y5C1Ev();
+extern void _ZN7G31x6y5D1Ev();
+Name_Map name_map_G31x6y5[] = {
+ NSPAIR(_ZN7G31x6y5C1Ev),
+ NSPAIR(_ZN7G31x6y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E31x6;
+extern VTBL_ENTRY _ZTI5E31x6[];
+extern VTBL_ENTRY _ZTV5E31x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G31x6y5[] = {
+ // 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
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E31x6, 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 _ZTI7G31x6y5[];
+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));
+static VTBL_ENTRY vtc_G31x6y5[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x6y5[0]),
+ 0,
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G31x6y5[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G31x6y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-32,-20),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G31x6y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern VTBL_ENTRY _ZTV7G31x6y5[];
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV5E31x6__7G31x6y5[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x6[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C315E31x6__7G31x6y5[] = {
+ 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__3C315E31x6__7G31x6y5[] = {
+ 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__3C315E31x6__7G31x6y5[] = {
+ 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__5E31x6__7G31x6y5[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E31x6[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__5E31x6__7G31x6y5[] = {
+ ABISELECT(-32,-20),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E31x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x6y5[] = {
+ {&(_ZTV7G31x6y5[6]), 6,21},
+ {&(_ZTV7G31x6y5[12]), 12,21},
+ {&(_ZTV7G31x6y5[16]), 16,21},
+ {&(_ZTV7G31x6y5[20]), 20,21},
+ {&(_tg__ZTV5E31x6__7G31x6y5[5]), 5,6},
+ {&(_tg__ZTV3C315E31x6__7G31x6y5[4]), 4,5},
+ {&(_tg__ZTV2A1__3C315E31x6__7G31x6y5[3]), 3,4},
+ {&(_tg__ZTV2B1__3C315E31x6__7G31x6y5[3]), 3,4},
+ {&(_tg__ZTV2A1__5E31x6__7G31x6y5[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x6__7G31x6y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G31x6y5[];
+extern VTBL_ENTRY _ZTV7G31x6y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x6y5[];
+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_G31x6y5 = { "G31x6y5", // class name
+ bases_G31x6y5, 6,
+ &(vtc_G31x6y5[0]), // expected_vtbl_contents
+ &(vtt_G31x6y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G31x6y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x6y5),21, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x6y5),10, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names194,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x6y6 : E31x6 , virtual F0 {
+ int ff;
+ ~G31x6y6(); // tgen
+ G31x6y6(); // tgen
+};
+//SIG(1 G31x6y6) C1{ BC2{ BC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G31x6y6 ::~G31x6y6(){ note_dtor("G31x6y6", this);} // tgen
+G31x6y6 ::G31x6y6(){ note_ctor("G31x6y6", this);} // tgen
+
+static void Test_G31x6y6()
+{
+ extern Class_Descriptor cd_G31x6y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G31x6y6, buf);
+ G31x6y6 *dp, &lv = *(dp=new (buf) G31x6y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G31x6y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x6y6)");
+ check_base_class_offset(lv, (A1*)(C31*)(E31x6*), ABISELECT(24,16), "G31x6y6");
+ check_base_class_offset(lv, (B1*)(C31*)(E31x6*), ABISELECT(40,24), "G31x6y6");
+ check_base_class_offset(lv, (C31*)(E31x6*), 0, "G31x6y6");
+ check_base_class_offset(lv, (D0*)(E31x6*), ABISELECT(52,32), "G31x6y6");
+ check_base_class_offset(lv, (E31x6*), 0, "G31x6y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G31x6y6");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G31x6y6.ff");
+ test_class_info(&lv, &cd_G31x6y6);
+ dp->~G31x6y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x6y6(Test_G31x6y6, "G31x6y6", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G31x6y6C1Ev();
+extern void _ZN7G31x6y6D1Ev();
+Name_Map name_map_G31x6y6[] = {
+ NSPAIR(_ZN7G31x6y6C1Ev),
+ NSPAIR(_ZN7G31x6y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E31x6;
+extern VTBL_ENTRY _ZTI5E31x6[];
+extern VTBL_ENTRY _ZTV5E31x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G31x6y6[] = {
+ // 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)
+ 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(40,24), //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_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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E31x6, 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 _ZTI7G31x6y6[];
+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));
+static VTBL_ENTRY vtc_G31x6y6[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x6y6[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G31x6y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-40,-24),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G31x6y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern VTBL_ENTRY _ZTV7G31x6y6[];
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV5E31x6__7G31x6y6[] = {
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x6[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C315E31x6__7G31x6y6[] = {
+ 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__3C315E31x6__7G31x6y6[] = {
+ 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__3C315E31x6__7G31x6y6[] = {
+ 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__5E31x6__7G31x6y6[] = {
+ ABISELECT(-24,-16),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E31x6[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__5E31x6__7G31x6y6[] = {
+ ABISELECT(-40,-24),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E31x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x6y6[] = {
+ {&(_ZTV7G31x6y6[6]), 6,15},
+ {&(_tg__ZTV5E31x6__7G31x6y6[5]), 5,6},
+ {&(_tg__ZTV3C315E31x6__7G31x6y6[4]), 4,5},
+ {&(_tg__ZTV2A1__3C315E31x6__7G31x6y6[3]), 3,4},
+ {&(_tg__ZTV2B1__3C315E31x6__7G31x6y6[3]), 3,4},
+ {&(_tg__ZTV2A1__5E31x6__7G31x6y6[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x6__7G31x6y6[3]), 3,4},
+ {&(_ZTV7G31x6y6[10]), 10,15},
+ {&(_ZTV7G31x6y6[14]), 14,15},
+};
+extern VTBL_ENTRY _ZTI7G31x6y6[];
+extern VTBL_ENTRY _ZTV7G31x6y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x6y6[];
+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_G31x6y6 = { "G31x6y6", // class name
+ bases_G31x6y6, 6,
+ &(vtc_G31x6y6[0]), // expected_vtbl_contents
+ &(vtt_G31x6y6[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G31x6y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x6y6),15, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x6y6),9, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names195,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x6y7 : virtual E31x6 , virtual F0 {
+ int ff;
+ ~G31x6y7(); // tgen
+ G31x6y7(); // tgen
+};
+//SIG(1 G31x6y7) C1{ VBC2{ BC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G31x6y7 ::~G31x6y7(){ note_dtor("G31x6y7", this);} // tgen
+G31x6y7 ::G31x6y7(){ note_ctor("G31x6y7", this);} // tgen
+
+static void Test_G31x6y7()
+{
+ extern Class_Descriptor cd_G31x6y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G31x6y7, buf);
+ G31x6y7 *dp, &lv = *(dp=new (buf) G31x6y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G31x6y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x6y7)");
+ check_base_class_offset(lv, (A1*)(C31*)(E31x6*), ABISELECT(32,20), "G31x6y7");
+ check_base_class_offset(lv, (B1*)(C31*)(E31x6*), ABISELECT(48,28), "G31x6y7");
+ check_base_class_offset(lv, (C31*)(E31x6*), ABISELECT(16,8), "G31x6y7");
+ check_base_class_offset(lv, (D0*)(E31x6*), ABISELECT(60,36), "G31x6y7");
+ check_base_class_offset(lv, (E31x6*), ABISELECT(16,8), "G31x6y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(64,40), "G31x6y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G31x6y7.ff");
+ test_class_info(&lv, &cd_G31x6y7);
+ dp->~G31x6y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x6y7(Test_G31x6y7, "G31x6y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G31x6y7C1Ev();
+extern void _ZN7G31x6y7D1Ev();
+Name_Map name_map_G31x6y7[] = {
+ NSPAIR(_ZN7G31x6y7C1Ev),
+ NSPAIR(_ZN7G31x6y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E31x6;
+extern VTBL_ENTRY _ZTI5E31x6[];
+extern VTBL_ENTRY _ZTV5E31x6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x6[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G31x6y7[] = {
+ // 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
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 0},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E31x6, 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 _ZTI7G31x6y7[];
+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));
+static VTBL_ENTRY vtc_G31x6y7[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x6y7[0]),
+ 0,
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G31x6y7[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G31x6y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-32,-20),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G31x6y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern VTBL_ENTRY _ZTV7G31x6y7[];
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV5E31x6__7G31x6y7[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x6[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C315E31x6__7G31x6y7[] = {
+ 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__3C315E31x6__7G31x6y7[] = {
+ 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__3C315E31x6__7G31x6y7[] = {
+ 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__5E31x6__7G31x6y7[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E31x6[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__5E31x6__7G31x6y7[] = {
+ ABISELECT(-32,-20),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E31x6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x6y7[] = {
+ {&(_ZTV7G31x6y7[7]), 7,22},
+ {&(_ZTV7G31x6y7[13]), 13,22},
+ {&(_ZTV7G31x6y7[17]), 17,22},
+ {&(_ZTV7G31x6y7[21]), 21,22},
+ {&(_tg__ZTV5E31x6__7G31x6y7[5]), 5,6},
+ {&(_tg__ZTV3C315E31x6__7G31x6y7[4]), 4,5},
+ {&(_tg__ZTV2A1__3C315E31x6__7G31x6y7[3]), 3,4},
+ {&(_tg__ZTV2B1__3C315E31x6__7G31x6y7[3]), 3,4},
+ {&(_tg__ZTV2A1__5E31x6__7G31x6y7[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x6__7G31x6y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G31x6y7[];
+extern VTBL_ENTRY _ZTV7G31x6y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x6y7[];
+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_G31x6y7 = { "G31x6y7", // class name
+ bases_G31x6y7, 6,
+ &(vtc_G31x6y7[0]), // expected_vtbl_contents
+ &(vtt_G31x6y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G31x6y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x6y7),22, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x6y7),10, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names196,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E0x7 : virtual C0 , virtual D0 {
+ int fd;
+ ~E0x7(); // tgen
+ E0x7(); // tgen
+};
+//SIG(-1 E0x7) C1{ VBC2{ BC3{ Fi} BC4{ Fi} Fi} VBC5{ Fi} Fi}
+
+
+E0x7 ::~E0x7(){ note_dtor("E0x7", this);} // tgen
+E0x7 ::E0x7(){ note_ctor("E0x7", this);} // tgen
+
+static void Test_E0x7()
+{
+ extern Class_Descriptor cd_E0x7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(5,7)];
+ init_test(&cd_E0x7, buf);
+ E0x7 *dp, &lv = *(dp=new (buf) E0x7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(32,24), "sizeof(E0x7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E0x7)");
+ check_base_class_offset(lv, (A0*)(C0*), ABISELECT(12,8), "E0x7");
+ check_base_class_offset(lv, (B0*)(C0*), ABISELECT(16,12), "E0x7");
+ check_base_class_offset(lv, (C0*), ABISELECT(12,8), "E0x7");
+ check_base_class_offset(lv, (D0*), ABISELECT(24,20), "E0x7");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E0x7.fd");
+ test_class_info(&lv, &cd_E0x7);
+ dp->~E0x7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE0x7(Test_E0x7, "E0x7", ABISELECT(32,24));
+
+#else // __cplusplus
+
+extern void _ZN4E0x7C1Ev();
+extern void _ZN4E0x7D1Ev();
+Name_Map name_map_E0x7[] = {
+ NSPAIR(_ZN4E0x7C1Ev),
+ NSPAIR(_ZN4E0x7D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E0x7[] = {
+ // 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_D0, 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, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI4E0x7[];
+static VTBL_ENTRY vtc_E0x7[] = {
+ ABISELECT(24,20),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x7[0]),
+};
+extern VTBL_ENTRY _ZTV4E0x7[];
+static VTT_ENTRY vtt_E0x7[] = {
+ {&(_ZTV4E0x7[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI4E0x7[];
+extern VTBL_ENTRY _ZTV4E0x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x7[];
+Class_Descriptor cd_E0x7 = { "E0x7", // class name
+ bases_E0x7, 4,
+ &(vtc_E0x7[0]), // expected_vtbl_contents
+ &(vtt_E0x7[0]), // expected_vtt_contents
+ ABISELECT(32,24), // object size
+ NSPAIRA(_ZTI4E0x7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E0x7),4, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E0x7),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 G0x7y0 : E0x7 , F1 {
+ int ff;
+ ~G0x7y0(); // tgen
+ G0x7y0(); // tgen
+};
+//SIG(1 G0x7y0) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ v1 Fi} Fi}
+
+
+G0x7y0 ::~G0x7y0(){ note_dtor("G0x7y0", this);} // tgen
+G0x7y0 ::G0x7y0(){ note_ctor("G0x7y0", this);} // tgen
+
+static void Test_G0x7y0()
+{
+ extern Class_Descriptor cd_G0x7y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G0x7y0, buf);
+ G0x7y0 *dp, &lv = *(dp=new (buf) G0x7y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G0x7y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x7y0)");
+ check_base_class_offset(lv, (A0*)(C0*), ABISELECT(32,20), "G0x7y0");
+ check_base_class_offset(lv, (B0*)(C0*), ABISELECT(36,24), "G0x7y0");
+ check_base_class_offset(lv, (C0*)(E0x7*), ABISELECT(32,20), "G0x7y0");
+ check_base_class_offset(lv, (D0*)(E0x7*), ABISELECT(44,32), "G0x7y0");
+ check_base_class_offset(lv, (E0x7*), 0, "G0x7y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G0x7y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G0x7y0.ff");
+ test_class_info(&lv, &cd_G0x7y0);
+ dp->~G0x7y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x7y0(Test_G0x7y0, "G0x7y0", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G0x7y0C1Ev();
+extern void _ZN6G0x7y0D1Ev();
+Name_Map name_map_G0x7y0[] = {
+ NSPAIR(_ZN6G0x7y0C1Ev),
+ NSPAIR(_ZN6G0x7y0D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E0x7;
+extern VTBL_ENTRY _ZTI4E0x7[];
+extern VTBL_ENTRY _ZTV4E0x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G0x7y0[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E0x7, 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_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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G0x7y0[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G0x7y0[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x7y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G0x7y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G0x7y0[];
+static VTBL_ENTRY _tg__ZTV4E0x7__6G0x7y0[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x7[0]),
+};
+static VTT_ENTRY vtt_G0x7y0[] = {
+ {&(_ZTV6G0x7y0[4]), 4,7},
+ {&(_tg__ZTV4E0x7__6G0x7y0[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI6G0x7y0[];
+extern VTBL_ENTRY _ZTV6G0x7y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x7y0[];
+Class_Descriptor cd_G0x7y0 = { "G0x7y0", // class name
+ bases_G0x7y0, 6,
+ &(vtc_G0x7y0[0]), // expected_vtbl_contents
+ &(vtt_G0x7y0[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G0x7y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x7y0),7, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x7y0),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 G0x7y1 : virtual E0x7 , F1 {
+ int ff;
+ ~G0x7y1(); // tgen
+ G0x7y1(); // tgen
+};
+//SIG(1 G0x7y1) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ v1 Fi} Fi}
+
+
+G0x7y1 ::~G0x7y1(){ note_dtor("G0x7y1", this);} // tgen
+G0x7y1 ::G0x7y1(){ note_ctor("G0x7y1", this);} // tgen
+
+static void Test_G0x7y1()
+{
+ extern Class_Descriptor cd_G0x7y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G0x7y1, buf);
+ G0x7y1 *dp, &lv = *(dp=new (buf) G0x7y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G0x7y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x7y1)");
+ check_base_class_offset(lv, (A0*)(C0*), ABISELECT(28,20), "G0x7y1");
+ check_base_class_offset(lv, (B0*)(C0*), ABISELECT(32,24), "G0x7y1");
+ check_base_class_offset(lv, (C0*)(E0x7*), ABISELECT(28,20), "G0x7y1");
+ check_base_class_offset(lv, (D0*)(E0x7*), ABISELECT(40,32), "G0x7y1");
+ check_base_class_offset(lv, (E0x7*), ABISELECT(16,12), "G0x7y1");
+ check_base_class_offset(lv, (F1*), 0, "G0x7y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G0x7y1.ff");
+ test_class_info(&lv, &cd_G0x7y1);
+ dp->~G0x7y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x7y1(Test_G0x7y1, "G0x7y1", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G0x7y1C1Ev();
+extern void _ZN6G0x7y1D1Ev();
+Name_Map name_map_G0x7y1[] = {
+ NSPAIR(_ZN6G0x7y1C1Ev),
+ NSPAIR(_ZN6G0x7y1D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E0x7;
+extern VTBL_ENTRY _ZTI4E0x7[];
+extern VTBL_ENTRY _ZTV4E0x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G0x7y1[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E0x7, 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_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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G0x7y1[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G0x7y1[] = {
+ ABISELECT(40,32),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x7y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(24,20),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G0x7y1[0]),
+};
+extern VTBL_ENTRY _ZTV6G0x7y1[];
+static VTBL_ENTRY _tg__ZTV4E0x7__6G0x7y1[] = {
+ ABISELECT(24,20),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x7[0]),
+};
+static VTT_ENTRY vtt_G0x7y1[] = {
+ {&(_ZTV6G0x7y1[5]), 5,10},
+ {&(_ZTV6G0x7y1[10]), 10,10},
+ {&(_tg__ZTV4E0x7__6G0x7y1[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI6G0x7y1[];
+extern VTBL_ENTRY _ZTV6G0x7y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x7y1[];
+Class_Descriptor cd_G0x7y1 = { "G0x7y1", // class name
+ bases_G0x7y1, 6,
+ &(vtc_G0x7y1[0]), // expected_vtbl_contents
+ &(vtt_G0x7y1[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G0x7y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x7y1),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x7y1),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 G0x7y2 : E0x7 , virtual F1 {
+ int ff;
+ ~G0x7y2(); // tgen
+ G0x7y2(); // tgen
+};
+//SIG(1 G0x7y2) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ v1 Fi} Fi}
+
+
+G0x7y2 ::~G0x7y2(){ note_dtor("G0x7y2", this);} // tgen
+G0x7y2 ::G0x7y2(){ note_ctor("G0x7y2", this);} // tgen
+
+static void Test_G0x7y2()
+{
+ extern Class_Descriptor cd_G0x7y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G0x7y2, buf);
+ G0x7y2 *dp, &lv = *(dp=new (buf) G0x7y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G0x7y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x7y2)");
+ check_base_class_offset(lv, (A0*)(C0*), ABISELECT(16,12), "G0x7y2");
+ check_base_class_offset(lv, (B0*)(C0*), ABISELECT(20,16), "G0x7y2");
+ check_base_class_offset(lv, (C0*)(E0x7*), ABISELECT(16,12), "G0x7y2");
+ check_base_class_offset(lv, (D0*)(E0x7*), ABISELECT(28,24), "G0x7y2");
+ check_base_class_offset(lv, (E0x7*), 0, "G0x7y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(32,28), "G0x7y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G0x7y2.ff");
+ test_class_info(&lv, &cd_G0x7y2);
+ dp->~G0x7y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x7y2(Test_G0x7y2, "G0x7y2", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G0x7y2C1Ev();
+extern void _ZN6G0x7y2D1Ev();
+Name_Map name_map_G0x7y2[] = {
+ NSPAIR(_ZN6G0x7y2C1Ev),
+ NSPAIR(_ZN6G0x7y2D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E0x7;
+extern VTBL_ENTRY _ZTI4E0x7[];
+extern VTBL_ENTRY _ZTV4E0x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G0x7y2[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E0x7, 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(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 _ZTI6G0x7y2[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G0x7y2[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x7y2[0]),
+ 0,
+ ABISELECT(-32,-28),
+ (VTBL_ENTRY)&(_ZTI6G0x7y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G0x7y2[];
+static VTBL_ENTRY _tg__ZTV4E0x7__6G0x7y2[] = {
+ ABISELECT(28,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x7[0]),
+};
+static VTT_ENTRY vtt_G0x7y2[] = {
+ {&(_ZTV6G0x7y2[5]), 5,9},
+ {&(_tg__ZTV4E0x7__6G0x7y2[4]), 4,4},
+ {&(_ZTV6G0x7y2[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI6G0x7y2[];
+extern VTBL_ENTRY _ZTV6G0x7y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x7y2[];
+Class_Descriptor cd_G0x7y2 = { "G0x7y2", // class name
+ bases_G0x7y2, 6,
+ &(vtc_G0x7y2[0]), // expected_vtbl_contents
+ &(vtt_G0x7y2[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G0x7y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x7y2),9, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x7y2),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 G0x7y3 : virtual E0x7 , virtual F1 {
+ int ff;
+ ~G0x7y3(); // tgen
+ G0x7y3(); // tgen
+};
+//SIG(1 G0x7y3) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ v1 Fi} Fi}
+
+
+G0x7y3 ::~G0x7y3(){ note_dtor("G0x7y3", this);} // tgen
+G0x7y3 ::G0x7y3(){ note_ctor("G0x7y3", this);} // tgen
+
+static void Test_G0x7y3()
+{
+ extern Class_Descriptor cd_G0x7y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G0x7y3, buf);
+ G0x7y3 *dp, &lv = *(dp=new (buf) G0x7y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G0x7y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x7y3)");
+ check_base_class_offset(lv, (A0*)(C0*), ABISELECT(28,16), "G0x7y3");
+ check_base_class_offset(lv, (B0*)(C0*), ABISELECT(32,20), "G0x7y3");
+ check_base_class_offset(lv, (C0*)(E0x7*), ABISELECT(28,16), "G0x7y3");
+ check_base_class_offset(lv, (D0*)(E0x7*), ABISELECT(40,28), "G0x7y3");
+ check_base_class_offset(lv, (E0x7*), ABISELECT(16,8), "G0x7y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,32), "G0x7y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G0x7y3.ff");
+ test_class_info(&lv, &cd_G0x7y3);
+ dp->~G0x7y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x7y3(Test_G0x7y3, "G0x7y3", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G0x7y3C1Ev();
+extern void _ZN6G0x7y3D1Ev();
+Name_Map name_map_G0x7y3[] = {
+ NSPAIR(_ZN6G0x7y3C1Ev),
+ NSPAIR(_ZN6G0x7y3D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E0x7;
+extern VTBL_ENTRY _ZTI4E0x7[];
+extern VTBL_ENTRY _ZTV4E0x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G0x7y3[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E0x7, 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_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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G0x7y3[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G0x7y3[] = {
+ ABISELECT(48,32),
+ ABISELECT(40,28),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x7y3[0]),
+ ABISELECT(24,20),
+ ABISELECT(12,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G0x7y3[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G0x7y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G0x7y3[];
+static VTBL_ENTRY _tg__ZTV4E0x7__6G0x7y3[] = {
+ ABISELECT(24,20),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x7[0]),
+};
+static VTT_ENTRY vtt_G0x7y3[] = {
+ {&(_ZTV6G0x7y3[6]), 6,14},
+ {&(_ZTV6G0x7y3[10]), 10,14},
+ {&(_ZTV6G0x7y3[13]), 13,14},
+ {&(_tg__ZTV4E0x7__6G0x7y3[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI6G0x7y3[];
+extern VTBL_ENTRY _ZTV6G0x7y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x7y3[];
+Class_Descriptor cd_G0x7y3 = { "G0x7y3", // class name
+ bases_G0x7y3, 6,
+ &(vtc_G0x7y3[0]), // expected_vtbl_contents
+ &(vtt_G0x7y3[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G0x7y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x7y3),14, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x7y3),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 G0x7y4 : E0x7 , F0 {
+ int ff;
+ ~G0x7y4(); // tgen
+ G0x7y4(); // tgen
+};
+//SIG(1 G0x7y4) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G0x7y4 ::~G0x7y4(){ note_dtor("G0x7y4", this);} // tgen
+G0x7y4 ::G0x7y4(){ note_ctor("G0x7y4", this);} // tgen
+
+static void Test_G0x7y4()
+{
+ extern Class_Descriptor cd_G0x7y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G0x7y4, buf);
+ G0x7y4 *dp, &lv = *(dp=new (buf) G0x7y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G0x7y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x7y4)");
+ check_base_class_offset(lv, (A0*)(C0*), ABISELECT(20,16), "G0x7y4");
+ check_base_class_offset(lv, (B0*)(C0*), ABISELECT(24,20), "G0x7y4");
+ check_base_class_offset(lv, (C0*)(E0x7*), ABISELECT(20,16), "G0x7y4");
+ check_base_class_offset(lv, (D0*)(E0x7*), ABISELECT(32,28), "G0x7y4");
+ check_base_class_offset(lv, (E0x7*), 0, "G0x7y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G0x7y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G0x7y4.ff");
+ test_class_info(&lv, &cd_G0x7y4);
+ dp->~G0x7y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x7y4(Test_G0x7y4, "G0x7y4", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN6G0x7y4C1Ev();
+extern void _ZN6G0x7y4D1Ev();
+Name_Map name_map_G0x7y4[] = {
+ NSPAIR(_ZN6G0x7y4C1Ev),
+ NSPAIR(_ZN6G0x7y4D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E0x7;
+extern VTBL_ENTRY _ZTI4E0x7[];
+extern VTBL_ENTRY _ZTV4E0x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G0x7y4[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E0x7, 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_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 _ZTI6G0x7y4[];
+static VTBL_ENTRY vtc_G0x7y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x7y4[0]),
+};
+extern VTBL_ENTRY _ZTV6G0x7y4[];
+static VTBL_ENTRY _tg__ZTV4E0x7__6G0x7y4[] = {
+ ABISELECT(32,28),
+ ABISELECT(20,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x7[0]),
+};
+static VTT_ENTRY vtt_G0x7y4[] = {
+ {&(_ZTV6G0x7y4[4]), 4,4},
+ {&(_tg__ZTV4E0x7__6G0x7y4[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI6G0x7y4[];
+extern VTBL_ENTRY _ZTV6G0x7y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x7y4[];
+Class_Descriptor cd_G0x7y4 = { "G0x7y4", // class name
+ bases_G0x7y4, 6,
+ &(vtc_G0x7y4[0]), // expected_vtbl_contents
+ &(vtt_G0x7y4[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI6G0x7y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x7y4),4, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x7y4),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 G0x7y5 : virtual E0x7 , F0 {
+ int ff;
+ ~G0x7y5(); // tgen
+ G0x7y5(); // tgen
+};
+//SIG(1 G0x7y5) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G0x7y5 ::~G0x7y5(){ note_dtor("G0x7y5", this);} // tgen
+G0x7y5 ::G0x7y5(){ note_ctor("G0x7y5", this);} // tgen
+
+static void Test_G0x7y5()
+{
+ extern Class_Descriptor cd_G0x7y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G0x7y5, buf);
+ G0x7y5 *dp, &lv = *(dp=new (buf) G0x7y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G0x7y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x7y5)");
+ check_base_class_offset(lv, (A0*)(C0*), ABISELECT(28,20), "G0x7y5");
+ check_base_class_offset(lv, (B0*)(C0*), ABISELECT(32,24), "G0x7y5");
+ check_base_class_offset(lv, (C0*)(E0x7*), ABISELECT(28,20), "G0x7y5");
+ check_base_class_offset(lv, (D0*)(E0x7*), ABISELECT(40,32), "G0x7y5");
+ check_base_class_offset(lv, (E0x7*), ABISELECT(16,12), "G0x7y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G0x7y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G0x7y5.ff");
+ test_class_info(&lv, &cd_G0x7y5);
+ dp->~G0x7y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x7y5(Test_G0x7y5, "G0x7y5", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G0x7y5C1Ev();
+extern void _ZN6G0x7y5D1Ev();
+Name_Map name_map_G0x7y5[] = {
+ NSPAIR(_ZN6G0x7y5C1Ev),
+ NSPAIR(_ZN6G0x7y5D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E0x7;
+extern VTBL_ENTRY _ZTI4E0x7[];
+extern VTBL_ENTRY _ZTV4E0x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G0x7y5[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E0x7, 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_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 _ZTI6G0x7y5[];
+static VTBL_ENTRY vtc_G0x7y5[] = {
+ ABISELECT(40,32),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x7y5[0]),
+ ABISELECT(24,20),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G0x7y5[0]),
+};
+extern VTBL_ENTRY _ZTV6G0x7y5[];
+static VTBL_ENTRY _tg__ZTV4E0x7__6G0x7y5[] = {
+ ABISELECT(24,20),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x7[0]),
+};
+static VTT_ENTRY vtt_G0x7y5[] = {
+ {&(_ZTV6G0x7y5[5]), 5,9},
+ {&(_ZTV6G0x7y5[9]), 9,9},
+ {&(_tg__ZTV4E0x7__6G0x7y5[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI6G0x7y5[];
+extern VTBL_ENTRY _ZTV6G0x7y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x7y5[];
+Class_Descriptor cd_G0x7y5 = { "G0x7y5", // class name
+ bases_G0x7y5, 6,
+ &(vtc_G0x7y5[0]), // expected_vtbl_contents
+ &(vtt_G0x7y5[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G0x7y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x7y5),9, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x7y5),3, //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 G0x7y6 : E0x7 , virtual F0 {
+ int ff;
+ ~G0x7y6(); // tgen
+ G0x7y6(); // tgen
+};
+//SIG(1 G0x7y6) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G0x7y6 ::~G0x7y6(){ note_dtor("G0x7y6", this);} // tgen
+G0x7y6 ::G0x7y6(){ note_ctor("G0x7y6", this);} // tgen
+
+static void Test_G0x7y6()
+{
+ extern Class_Descriptor cd_G0x7y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,9)];
+ init_test(&cd_G0x7y6, buf);
+ G0x7y6 *dp, &lv = *(dp=new (buf) G0x7y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,32), "sizeof(G0x7y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x7y6)");
+ check_base_class_offset(lv, (A0*)(C0*), ABISELECT(16,12), "G0x7y6");
+ check_base_class_offset(lv, (B0*)(C0*), ABISELECT(20,16), "G0x7y6");
+ check_base_class_offset(lv, (C0*)(E0x7*), ABISELECT(16,12), "G0x7y6");
+ check_base_class_offset(lv, (D0*)(E0x7*), ABISELECT(28,24), "G0x7y6");
+ check_base_class_offset(lv, (E0x7*), 0, "G0x7y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(32,28), "G0x7y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G0x7y6.ff");
+ test_class_info(&lv, &cd_G0x7y6);
+ dp->~G0x7y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x7y6(Test_G0x7y6, "G0x7y6", ABISELECT(40,32));
+
+#else // __cplusplus
+
+extern void _ZN6G0x7y6C1Ev();
+extern void _ZN6G0x7y6D1Ev();
+Name_Map name_map_G0x7y6[] = {
+ NSPAIR(_ZN6G0x7y6C1Ev),
+ NSPAIR(_ZN6G0x7y6D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E0x7;
+extern VTBL_ENTRY _ZTI4E0x7[];
+extern VTBL_ENTRY _ZTV4E0x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G0x7y6[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E0x7, 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_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 _ZTI6G0x7y6[];
+static VTBL_ENTRY vtc_G0x7y6[] = {
+ ABISELECT(32,28),
+ ABISELECT(28,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x7y6[0]),
+};
+extern VTBL_ENTRY _ZTV6G0x7y6[];
+static VTBL_ENTRY _tg__ZTV4E0x7__6G0x7y6[] = {
+ ABISELECT(28,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x7[0]),
+};
+static VTT_ENTRY vtt_G0x7y6[] = {
+ {&(_ZTV6G0x7y6[5]), 5,5},
+ {&(_tg__ZTV4E0x7__6G0x7y6[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI6G0x7y6[];
+extern VTBL_ENTRY _ZTV6G0x7y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x7y6[];
+Class_Descriptor cd_G0x7y6 = { "G0x7y6", // class name
+ bases_G0x7y6, 6,
+ &(vtc_G0x7y6[0]), // expected_vtbl_contents
+ &(vtt_G0x7y6[0]), // expected_vtt_contents
+ ABISELECT(40,32), // object size
+ NSPAIRA(_ZTI6G0x7y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x7y6),5, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x7y6),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 G0x7y7 : virtual E0x7 , virtual F0 {
+ int ff;
+ ~G0x7y7(); // tgen
+ G0x7y7(); // tgen
+};
+//SIG(1 G0x7y7) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G0x7y7 ::~G0x7y7(){ note_dtor("G0x7y7", this);} // tgen
+G0x7y7 ::G0x7y7(){ note_ctor("G0x7y7", this);} // tgen
+
+static void Test_G0x7y7()
+{
+ extern Class_Descriptor cd_G0x7y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G0x7y7, buf);
+ G0x7y7 *dp, &lv = *(dp=new (buf) G0x7y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G0x7y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G0x7y7)");
+ check_base_class_offset(lv, (A0*)(C0*), ABISELECT(28,16), "G0x7y7");
+ check_base_class_offset(lv, (B0*)(C0*), ABISELECT(32,20), "G0x7y7");
+ check_base_class_offset(lv, (C0*)(E0x7*), ABISELECT(28,16), "G0x7y7");
+ check_base_class_offset(lv, (D0*)(E0x7*), ABISELECT(40,28), "G0x7y7");
+ check_base_class_offset(lv, (E0x7*), ABISELECT(16,8), "G0x7y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(44,32), "G0x7y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G0x7y7.ff");
+ test_class_info(&lv, &cd_G0x7y7);
+ dp->~G0x7y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG0x7y7(Test_G0x7y7, "G0x7y7", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G0x7y7C1Ev();
+extern void _ZN6G0x7y7D1Ev();
+Name_Map name_map_G0x7y7[] = {
+ NSPAIR(_ZN6G0x7y7C1Ev),
+ NSPAIR(_ZN6G0x7y7D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E0x7;
+extern VTBL_ENTRY _ZTI4E0x7[];
+extern VTBL_ENTRY _ZTV4E0x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E0x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G0x7y7[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E0x7, 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
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //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 _ZTI6G0x7y7[];
+static VTBL_ENTRY vtc_G0x7y7[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G0x7y7[0]),
+ ABISELECT(24,20),
+ ABISELECT(12,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G0x7y7[0]),
+};
+extern VTBL_ENTRY _ZTV6G0x7y7[];
+static VTBL_ENTRY _tg__ZTV4E0x7__6G0x7y7[] = {
+ ABISELECT(24,20),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E0x7[0]),
+};
+static VTT_ENTRY vtt_G0x7y7[] = {
+ {&(_ZTV6G0x7y7[6]), 6,10},
+ {&(_ZTV6G0x7y7[10]), 10,10},
+ {&(_tg__ZTV4E0x7__6G0x7y7[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI6G0x7y7[];
+extern VTBL_ENTRY _ZTV6G0x7y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G0x7y7[];
+Class_Descriptor cd_G0x7y7 = { "G0x7y7", // class name
+ bases_G0x7y7, 6,
+ &(vtc_G0x7y7[0]), // expected_vtbl_contents
+ &(vtt_G0x7y7[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G0x7y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G0x7y7),10, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G0x7y7),3, //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 E1x7 : virtual C1 , virtual D0 {
+ int fd;
+ ~E1x7(); // tgen
+ E1x7(); // tgen
+};
+//SIG(-1 E1x7) C1{ VBC2{ BC3{ v1 Fi} BC4{ Fi} Fi} VBC5{ Fi} Fi}
+
+
+E1x7 ::~E1x7(){ note_dtor("E1x7", this);} // tgen
+E1x7 ::E1x7(){ note_ctor("E1x7", this);} // tgen
+
+static void Test_E1x7()
+{
+ extern Class_Descriptor cd_E1x7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E1x7, buf);
+ E1x7 *dp, &lv = *(dp=new (buf) E1x7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E1x7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E1x7)");
+ check_base_class_offset(lv, (A1*)(C1*), ABISELECT(16,8), "E1x7");
+ check_base_class_offset(lv, (B0*)(C1*), ABISELECT(28,16), "E1x7");
+ check_base_class_offset(lv, (C1*), ABISELECT(16,8), "E1x7");
+ check_base_class_offset(lv, (D0*), ABISELECT(36,24), "E1x7");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E1x7.fd");
+ test_class_info(&lv, &cd_E1x7);
+ dp->~E1x7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE1x7(Test_E1x7, "E1x7", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN4E1x7C1Ev();
+extern void _ZN4E1x7D1Ev();
+Name_Map name_map_E1x7[] = {
+ NSPAIR(_ZN4E1x7C1Ev),
+ NSPAIR(_ZN4E1x7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E1x7[] = {
+ // 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_D0, 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, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI4E1x7[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_E1x7[] = {
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x7[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E1x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E1x7[];
+static VTT_ENTRY vtt_E1x7[] = {
+ {&(_ZTV4E1x7[4]), 4,8},
+ {&(_ZTV4E1x7[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI4E1x7[];
+extern VTBL_ENTRY _ZTV4E1x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x7[];
+Class_Descriptor cd_E1x7 = { "E1x7", // class name
+ bases_E1x7, 4,
+ &(vtc_E1x7[0]), // expected_vtbl_contents
+ &(vtt_E1x7[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI4E1x7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E1x7),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E1x7),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 G1x7y0 : E1x7 , F1 {
+ int ff;
+ ~G1x7y0(); // tgen
+ G1x7y0(); // tgen
+};
+//SIG(1 G1x7y0) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G1x7y0 ::~G1x7y0(){ note_dtor("G1x7y0", this);} // tgen
+G1x7y0 ::G1x7y0(){ note_ctor("G1x7y0", this);} // tgen
+
+static void Test_G1x7y0()
+{
+ extern Class_Descriptor cd_G1x7y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G1x7y0, buf);
+ G1x7y0 *dp, &lv = *(dp=new (buf) G1x7y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G1x7y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x7y0)");
+ check_base_class_offset(lv, (A1*)(C1*), ABISELECT(32,20), "G1x7y0");
+ check_base_class_offset(lv, (B0*)(C1*), ABISELECT(44,28), "G1x7y0");
+ check_base_class_offset(lv, (C1*)(E1x7*), ABISELECT(32,20), "G1x7y0");
+ check_base_class_offset(lv, (D0*)(E1x7*), ABISELECT(52,36), "G1x7y0");
+ check_base_class_offset(lv, (E1x7*), 0, "G1x7y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G1x7y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G1x7y0.ff");
+ test_class_info(&lv, &cd_G1x7y0);
+ dp->~G1x7y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x7y0(Test_G1x7y0, "G1x7y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G1x7y0C1Ev();
+extern void _ZN6G1x7y0D1Ev();
+Name_Map name_map_G1x7y0[] = {
+ NSPAIR(_ZN6G1x7y0C1Ev),
+ NSPAIR(_ZN6G1x7y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E1x7;
+extern VTBL_ENTRY _ZTI4E1x7[];
+extern VTBL_ENTRY _ZTV4E1x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G1x7y0[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E1x7, 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 _ZTI6G1x7y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G1x7y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x7y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G1x7y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G1x7y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x7y0[];
+static VTBL_ENTRY _tg__ZTV4E1x7__6G1x7y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C1__4E1x7__6G1x7y0[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E1x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G1x7y0[] = {
+ {&(_ZTV6G1x7y0[4]), 4,11},
+ {&(_tg__ZTV4E1x7__6G1x7y0[4]), 4,4},
+ {&(_tg__ZTV2A12C1__4E1x7__6G1x7y0[3]), 3,4},
+ {&(_ZTV6G1x7y0[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI6G1x7y0[];
+extern VTBL_ENTRY _ZTV6G1x7y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x7y0[];
+Class_Descriptor cd_G1x7y0 = { "G1x7y0", // class name
+ bases_G1x7y0, 6,
+ &(vtc_G1x7y0[0]), // expected_vtbl_contents
+ &(vtt_G1x7y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G1x7y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x7y0),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x7y0),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 G1x7y1 : virtual E1x7 , F1 {
+ int ff;
+ ~G1x7y1(); // tgen
+ G1x7y1(); // tgen
+};
+//SIG(1 G1x7y1) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G1x7y1 ::~G1x7y1(){ note_dtor("G1x7y1", this);} // tgen
+G1x7y1 ::G1x7y1(){ note_ctor("G1x7y1", this);} // tgen
+
+static void Test_G1x7y1()
+{
+ extern Class_Descriptor cd_G1x7y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G1x7y1, buf);
+ G1x7y1 *dp, &lv = *(dp=new (buf) G1x7y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G1x7y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x7y1)");
+ check_base_class_offset(lv, (A1*)(C1*), ABISELECT(32,20), "G1x7y1");
+ check_base_class_offset(lv, (B0*)(C1*), ABISELECT(44,28), "G1x7y1");
+ check_base_class_offset(lv, (C1*)(E1x7*), ABISELECT(32,20), "G1x7y1");
+ check_base_class_offset(lv, (D0*)(E1x7*), ABISELECT(52,36), "G1x7y1");
+ check_base_class_offset(lv, (E1x7*), ABISELECT(16,12), "G1x7y1");
+ check_base_class_offset(lv, (F1*), 0, "G1x7y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G1x7y1.ff");
+ test_class_info(&lv, &cd_G1x7y1);
+ dp->~G1x7y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x7y1(Test_G1x7y1, "G1x7y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G1x7y1C1Ev();
+extern void _ZN6G1x7y1D1Ev();
+Name_Map name_map_G1x7y1[] = {
+ NSPAIR(_ZN6G1x7y1C1Ev),
+ NSPAIR(_ZN6G1x7y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E1x7;
+extern VTBL_ENTRY _ZTI4E1x7[];
+extern VTBL_ENTRY _ZTV4E1x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G1x7y1[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E1x7, 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 _ZTI6G1x7y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G1x7y1[] = {
+ ABISELECT(52,36),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x7y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G1x7y1[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G1x7y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x7y1[];
+static VTBL_ENTRY _tg__ZTV4E1x7__6G1x7y1[] = {
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C1__4E1x7__6G1x7y1[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E1x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G1x7y1[] = {
+ {&(_ZTV6G1x7y1[5]), 5,14},
+ {&(_ZTV6G1x7y1[10]), 10,14},
+ {&(_ZTV6G1x7y1[13]), 13,14},
+ {&(_tg__ZTV4E1x7__6G1x7y1[4]), 4,4},
+ {&(_tg__ZTV2A12C1__4E1x7__6G1x7y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G1x7y1[];
+extern VTBL_ENTRY _ZTV6G1x7y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x7y1[];
+Class_Descriptor cd_G1x7y1 = { "G1x7y1", // class name
+ bases_G1x7y1, 6,
+ &(vtc_G1x7y1[0]), // expected_vtbl_contents
+ &(vtt_G1x7y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G1x7y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x7y1),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x7y1),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 G1x7y2 : E1x7 , virtual F1 {
+ int ff;
+ ~G1x7y2(); // tgen
+ G1x7y2(); // tgen
+};
+//SIG(1 G1x7y2) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G1x7y2 ::~G1x7y2(){ note_dtor("G1x7y2", this);} // tgen
+G1x7y2 ::G1x7y2(){ note_ctor("G1x7y2", this);} // tgen
+
+static void Test_G1x7y2()
+{
+ extern Class_Descriptor cd_G1x7y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G1x7y2, buf);
+ G1x7y2 *dp, &lv = *(dp=new (buf) G1x7y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G1x7y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x7y2)");
+ check_base_class_offset(lv, (A1*)(C1*), ABISELECT(16,12), "G1x7y2");
+ check_base_class_offset(lv, (B0*)(C1*), ABISELECT(28,20), "G1x7y2");
+ check_base_class_offset(lv, (C1*)(E1x7*), ABISELECT(16,12), "G1x7y2");
+ check_base_class_offset(lv, (D0*)(E1x7*), ABISELECT(36,28), "G1x7y2");
+ check_base_class_offset(lv, (E1x7*), 0, "G1x7y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(40,32), "G1x7y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G1x7y2.ff");
+ test_class_info(&lv, &cd_G1x7y2);
+ dp->~G1x7y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x7y2(Test_G1x7y2, "G1x7y2", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G1x7y2C1Ev();
+extern void _ZN6G1x7y2D1Ev();
+Name_Map name_map_G1x7y2[] = {
+ NSPAIR(_ZN6G1x7y2C1Ev),
+ NSPAIR(_ZN6G1x7y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E1x7;
+extern VTBL_ENTRY _ZTI4E1x7[];
+extern VTBL_ENTRY _ZTV4E1x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G1x7y2[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E1x7, 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(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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G1x7y2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G1x7y2[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x7y2[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G1x7y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI6G1x7y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x7y2[];
+static VTBL_ENTRY _tg__ZTV4E1x7__6G1x7y2[] = {
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C1__4E1x7__6G1x7y2[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E1x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G1x7y2[] = {
+ {&(_ZTV6G1x7y2[5]), 5,13},
+ {&(_tg__ZTV4E1x7__6G1x7y2[4]), 4,4},
+ {&(_tg__ZTV2A12C1__4E1x7__6G1x7y2[3]), 3,4},
+ {&(_ZTV6G1x7y2[8]), 8,13},
+ {&(_ZTV6G1x7y2[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI6G1x7y2[];
+extern VTBL_ENTRY _ZTV6G1x7y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x7y2[];
+Class_Descriptor cd_G1x7y2 = { "G1x7y2", // class name
+ bases_G1x7y2, 6,
+ &(vtc_G1x7y2[0]), // expected_vtbl_contents
+ &(vtt_G1x7y2[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G1x7y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x7y2),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x7y2),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 G1x7y3 : virtual E1x7 , virtual F1 {
+ int ff;
+ ~G1x7y3(); // tgen
+ G1x7y3(); // tgen
+};
+//SIG(1 G1x7y3) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G1x7y3 ::~G1x7y3(){ note_dtor("G1x7y3", this);} // tgen
+G1x7y3 ::G1x7y3(){ note_ctor("G1x7y3", this);} // tgen
+
+static void Test_G1x7y3()
+{
+ extern Class_Descriptor cd_G1x7y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G1x7y3, buf);
+ G1x7y3 *dp, &lv = *(dp=new (buf) G1x7y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G1x7y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x7y3)");
+ check_base_class_offset(lv, (A1*)(C1*), ABISELECT(32,16), "G1x7y3");
+ check_base_class_offset(lv, (B0*)(C1*), ABISELECT(44,24), "G1x7y3");
+ check_base_class_offset(lv, (C1*)(E1x7*), ABISELECT(32,16), "G1x7y3");
+ check_base_class_offset(lv, (D0*)(E1x7*), ABISELECT(52,32), "G1x7y3");
+ check_base_class_offset(lv, (E1x7*), ABISELECT(16,8), "G1x7y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G1x7y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G1x7y3.ff");
+ test_class_info(&lv, &cd_G1x7y3);
+ dp->~G1x7y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x7y3(Test_G1x7y3, "G1x7y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G1x7y3C1Ev();
+extern void _ZN6G1x7y3D1Ev();
+Name_Map name_map_G1x7y3[] = {
+ NSPAIR(_ZN6G1x7y3C1Ev),
+ NSPAIR(_ZN6G1x7y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E1x7;
+extern VTBL_ENTRY _ZTI4E1x7[];
+extern VTBL_ENTRY _ZTV4E1x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G1x7y3[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E1x7, 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 _ZTI6G1x7y3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G1x7y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x7y3[0]),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G1x7y3[0]),
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI6G1x7y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G1x7y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x7y3[];
+static VTBL_ENTRY _tg__ZTV4E1x7__6G1x7y3[] = {
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C1__4E1x7__6G1x7y3[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E1x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G1x7y3[] = {
+ {&(_ZTV6G1x7y3[6]), 6,18},
+ {&(_ZTV6G1x7y3[10]), 10,18},
+ {&(_ZTV6G1x7y3[13]), 13,18},
+ {&(_ZTV6G1x7y3[17]), 17,18},
+ {&(_tg__ZTV4E1x7__6G1x7y3[4]), 4,4},
+ {&(_tg__ZTV2A12C1__4E1x7__6G1x7y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G1x7y3[];
+extern VTBL_ENTRY _ZTV6G1x7y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x7y3[];
+Class_Descriptor cd_G1x7y3 = { "G1x7y3", // class name
+ bases_G1x7y3, 6,
+ &(vtc_G1x7y3[0]), // expected_vtbl_contents
+ &(vtt_G1x7y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G1x7y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x7y3),18, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x7y3),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 G1x7y4 : E1x7 , F0 {
+ int ff;
+ ~G1x7y4(); // tgen
+ G1x7y4(); // tgen
+};
+//SIG(1 G1x7y4) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G1x7y4 ::~G1x7y4(){ note_dtor("G1x7y4", this);} // tgen
+G1x7y4 ::G1x7y4(){ note_ctor("G1x7y4", this);} // tgen
+
+static void Test_G1x7y4()
+{
+ extern Class_Descriptor cd_G1x7y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G1x7y4, buf);
+ G1x7y4 *dp, &lv = *(dp=new (buf) G1x7y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G1x7y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x7y4)");
+ check_base_class_offset(lv, (A1*)(C1*), ABISELECT(24,16), "G1x7y4");
+ check_base_class_offset(lv, (B0*)(C1*), ABISELECT(36,24), "G1x7y4");
+ check_base_class_offset(lv, (C1*)(E1x7*), ABISELECT(24,16), "G1x7y4");
+ check_base_class_offset(lv, (D0*)(E1x7*), ABISELECT(44,32), "G1x7y4");
+ check_base_class_offset(lv, (E1x7*), 0, "G1x7y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G1x7y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G1x7y4.ff");
+ test_class_info(&lv, &cd_G1x7y4);
+ dp->~G1x7y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x7y4(Test_G1x7y4, "G1x7y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G1x7y4C1Ev();
+extern void _ZN6G1x7y4D1Ev();
+Name_Map name_map_G1x7y4[] = {
+ NSPAIR(_ZN6G1x7y4C1Ev),
+ NSPAIR(_ZN6G1x7y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E1x7;
+extern VTBL_ENTRY _ZTI4E1x7[];
+extern VTBL_ENTRY _ZTV4E1x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G1x7y4[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E1x7, 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 _ZTI6G1x7y4[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G1x7y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x7y4[0]),
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G1x7y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x7y4[];
+static VTBL_ENTRY _tg__ZTV4E1x7__6G1x7y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C1__4E1x7__6G1x7y4[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E1x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G1x7y4[] = {
+ {&(_ZTV6G1x7y4[4]), 4,8},
+ {&(_tg__ZTV4E1x7__6G1x7y4[4]), 4,4},
+ {&(_tg__ZTV2A12C1__4E1x7__6G1x7y4[3]), 3,4},
+ {&(_ZTV6G1x7y4[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI6G1x7y4[];
+extern VTBL_ENTRY _ZTV6G1x7y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x7y4[];
+Class_Descriptor cd_G1x7y4 = { "G1x7y4", // class name
+ bases_G1x7y4, 6,
+ &(vtc_G1x7y4[0]), // expected_vtbl_contents
+ &(vtt_G1x7y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G1x7y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x7y4),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x7y4),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 G1x7y5 : virtual E1x7 , F0 {
+ int ff;
+ ~G1x7y5(); // tgen
+ G1x7y5(); // tgen
+};
+//SIG(1 G1x7y5) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G1x7y5 ::~G1x7y5(){ note_dtor("G1x7y5", this);} // tgen
+G1x7y5 ::G1x7y5(){ note_ctor("G1x7y5", this);} // tgen
+
+static void Test_G1x7y5()
+{
+ extern Class_Descriptor cd_G1x7y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G1x7y5, buf);
+ G1x7y5 *dp, &lv = *(dp=new (buf) G1x7y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G1x7y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x7y5)");
+ check_base_class_offset(lv, (A1*)(C1*), ABISELECT(32,20), "G1x7y5");
+ check_base_class_offset(lv, (B0*)(C1*), ABISELECT(44,28), "G1x7y5");
+ check_base_class_offset(lv, (C1*)(E1x7*), ABISELECT(32,20), "G1x7y5");
+ check_base_class_offset(lv, (D0*)(E1x7*), ABISELECT(52,36), "G1x7y5");
+ check_base_class_offset(lv, (E1x7*), ABISELECT(16,12), "G1x7y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G1x7y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G1x7y5.ff");
+ test_class_info(&lv, &cd_G1x7y5);
+ dp->~G1x7y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x7y5(Test_G1x7y5, "G1x7y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G1x7y5C1Ev();
+extern void _ZN6G1x7y5D1Ev();
+Name_Map name_map_G1x7y5[] = {
+ NSPAIR(_ZN6G1x7y5C1Ev),
+ NSPAIR(_ZN6G1x7y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E1x7;
+extern VTBL_ENTRY _ZTI4E1x7[];
+extern VTBL_ENTRY _ZTV4E1x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G1x7y5[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E1x7, 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 _ZTI6G1x7y5[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G1x7y5[] = {
+ ABISELECT(52,36),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x7y5[0]),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G1x7y5[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G1x7y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x7y5[];
+static VTBL_ENTRY _tg__ZTV4E1x7__6G1x7y5[] = {
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C1__4E1x7__6G1x7y5[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E1x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G1x7y5[] = {
+ {&(_ZTV6G1x7y5[5]), 5,13},
+ {&(_ZTV6G1x7y5[9]), 9,13},
+ {&(_ZTV6G1x7y5[12]), 12,13},
+ {&(_tg__ZTV4E1x7__6G1x7y5[4]), 4,4},
+ {&(_tg__ZTV2A12C1__4E1x7__6G1x7y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G1x7y5[];
+extern VTBL_ENTRY _ZTV6G1x7y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x7y5[];
+Class_Descriptor cd_G1x7y5 = { "G1x7y5", // class name
+ bases_G1x7y5, 6,
+ &(vtc_G1x7y5[0]), // expected_vtbl_contents
+ &(vtt_G1x7y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G1x7y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x7y5),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x7y5),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 G1x7y6 : E1x7 , virtual F0 {
+ int ff;
+ ~G1x7y6(); // tgen
+ G1x7y6(); // tgen
+};
+//SIG(1 G1x7y6) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G1x7y6 ::~G1x7y6(){ note_dtor("G1x7y6", this);} // tgen
+G1x7y6 ::G1x7y6(){ note_ctor("G1x7y6", this);} // tgen
+
+static void Test_G1x7y6()
+{
+ extern Class_Descriptor cd_G1x7y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G1x7y6, buf);
+ G1x7y6 *dp, &lv = *(dp=new (buf) G1x7y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G1x7y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x7y6)");
+ check_base_class_offset(lv, (A1*)(C1*), ABISELECT(16,12), "G1x7y6");
+ check_base_class_offset(lv, (B0*)(C1*), ABISELECT(28,20), "G1x7y6");
+ check_base_class_offset(lv, (C1*)(E1x7*), ABISELECT(16,12), "G1x7y6");
+ check_base_class_offset(lv, (D0*)(E1x7*), ABISELECT(36,28), "G1x7y6");
+ check_base_class_offset(lv, (E1x7*), 0, "G1x7y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(40,32), "G1x7y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G1x7y6.ff");
+ test_class_info(&lv, &cd_G1x7y6);
+ dp->~G1x7y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x7y6(Test_G1x7y6, "G1x7y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G1x7y6C1Ev();
+extern void _ZN6G1x7y6D1Ev();
+Name_Map name_map_G1x7y6[] = {
+ NSPAIR(_ZN6G1x7y6C1Ev),
+ NSPAIR(_ZN6G1x7y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E1x7;
+extern VTBL_ENTRY _ZTI4E1x7[];
+extern VTBL_ENTRY _ZTV4E1x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G1x7y6[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E1x7, 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(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 _ZTI6G1x7y6[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G1x7y6[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x7y6[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G1x7y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x7y6[];
+static VTBL_ENTRY _tg__ZTV4E1x7__6G1x7y6[] = {
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C1__4E1x7__6G1x7y6[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E1x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G1x7y6[] = {
+ {&(_ZTV6G1x7y6[5]), 5,9},
+ {&(_tg__ZTV4E1x7__6G1x7y6[4]), 4,4},
+ {&(_tg__ZTV2A12C1__4E1x7__6G1x7y6[3]), 3,4},
+ {&(_ZTV6G1x7y6[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI6G1x7y6[];
+extern VTBL_ENTRY _ZTV6G1x7y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x7y6[];
+Class_Descriptor cd_G1x7y6 = { "G1x7y6", // class name
+ bases_G1x7y6, 6,
+ &(vtc_G1x7y6[0]), // expected_vtbl_contents
+ &(vtt_G1x7y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G1x7y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x7y6),9, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x7y6),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 G1x7y7 : virtual E1x7 , virtual F0 {
+ int ff;
+ ~G1x7y7(); // tgen
+ G1x7y7(); // tgen
+};
+//SIG(1 G1x7y7) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G1x7y7 ::~G1x7y7(){ note_dtor("G1x7y7", this);} // tgen
+G1x7y7 ::G1x7y7(){ note_ctor("G1x7y7", this);} // tgen
+
+static void Test_G1x7y7()
+{
+ extern Class_Descriptor cd_G1x7y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G1x7y7, buf);
+ G1x7y7 *dp, &lv = *(dp=new (buf) G1x7y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G1x7y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G1x7y7)");
+ check_base_class_offset(lv, (A1*)(C1*), ABISELECT(32,16), "G1x7y7");
+ check_base_class_offset(lv, (B0*)(C1*), ABISELECT(44,24), "G1x7y7");
+ check_base_class_offset(lv, (C1*)(E1x7*), ABISELECT(32,16), "G1x7y7");
+ check_base_class_offset(lv, (D0*)(E1x7*), ABISELECT(52,32), "G1x7y7");
+ check_base_class_offset(lv, (E1x7*), ABISELECT(16,8), "G1x7y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G1x7y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G1x7y7.ff");
+ test_class_info(&lv, &cd_G1x7y7);
+ dp->~G1x7y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG1x7y7(Test_G1x7y7, "G1x7y7", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G1x7y7C1Ev();
+extern void _ZN6G1x7y7D1Ev();
+Name_Map name_map_G1x7y7[] = {
+ NSPAIR(_ZN6G1x7y7C1Ev),
+ NSPAIR(_ZN6G1x7y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E1x7;
+extern VTBL_ENTRY _ZTI4E1x7[];
+extern VTBL_ENTRY _ZTV4E1x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E1x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G1x7y7[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E1x7, 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(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 _ZTI6G1x7y7[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G1x7y7[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G1x7y7[0]),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G1x7y7[0]),
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI6G1x7y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G1x7y7[];
+static VTBL_ENTRY _tg__ZTV4E1x7__6G1x7y7[] = {
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E1x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C1__4E1x7__6G1x7y7[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E1x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G1x7y7[] = {
+ {&(_ZTV6G1x7y7[6]), 6,14},
+ {&(_ZTV6G1x7y7[10]), 10,14},
+ {&(_ZTV6G1x7y7[13]), 13,14},
+ {&(_tg__ZTV4E1x7__6G1x7y7[4]), 4,4},
+ {&(_tg__ZTV2A12C1__4E1x7__6G1x7y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G1x7y7[];
+extern VTBL_ENTRY _ZTV6G1x7y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G1x7y7[];
+Class_Descriptor cd_G1x7y7 = { "G1x7y7", // class name
+ bases_G1x7y7, 6,
+ &(vtc_G1x7y7[0]), // expected_vtbl_contents
+ &(vtt_G1x7y7[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G1x7y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G1x7y7),14, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G1x7y7),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 E2x7 : virtual C2 , virtual D0 {
+ int fd;
+ ~E2x7(); // tgen
+ E2x7(); // tgen
+};
+//SIG(-1 E2x7) C1{ VBC2{ VBC3{ Fi} BC4{ Fi} Fi} VBC5{ Fi} Fi}
+
+
+E2x7 ::~E2x7(){ note_dtor("E2x7", this);} // tgen
+E2x7 ::E2x7(){ note_ctor("E2x7", this);} // tgen
+
+static void Test_E2x7()
+{
+ extern Class_Descriptor cd_E2x7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E2x7, buf);
+ E2x7 *dp, &lv = *(dp=new (buf) E2x7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E2x7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E2x7)");
+ check_base_class_offset(lv, (A0*)(C2*), ABISELECT(32,20), "E2x7");
+ check_base_class_offset(lv, (B0*)(C2*), ABISELECT(24,12), "E2x7");
+ check_base_class_offset(lv, (C2*), ABISELECT(16,8), "E2x7");
+ check_base_class_offset(lv, (D0*), ABISELECT(36,24), "E2x7");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E2x7.fd");
+ test_class_info(&lv, &cd_E2x7);
+ dp->~E2x7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE2x7(Test_E2x7, "E2x7", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN4E2x7C1Ev();
+extern void _ZN4E2x7D1Ev();
+Name_Map name_map_E2x7[] = {
+ NSPAIR(_ZN4E2x7C1Ev),
+ NSPAIR(_ZN4E2x7D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E2x7[] = {
+ // 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
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D0, 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, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI4E2x7[];
+static VTBL_ENTRY vtc_E2x7[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x7[0]),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E2x7[0]),
+};
+extern VTBL_ENTRY _ZTV4E2x7[];
+static VTBL_ENTRY _tg__ZTV2C2__4E2x7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_E2x7[] = {
+ {&(_ZTV4E2x7[5]), 5,8},
+ {&(_ZTV4E2x7[8]), 8,8},
+ {&(_tg__ZTV2C2__4E2x7[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI4E2x7[];
+extern VTBL_ENTRY _ZTV4E2x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x7[];
+Class_Descriptor cd_E2x7 = { "E2x7", // class name
+ bases_E2x7, 4,
+ &(vtc_E2x7[0]), // expected_vtbl_contents
+ &(vtt_E2x7[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI4E2x7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E2x7),8, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E2x7),3, //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 G2x7y0 : E2x7 , F1 {
+ int ff;
+ ~G2x7y0(); // tgen
+ G2x7y0(); // tgen
+};
+//SIG(1 G2x7y0) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ v1 Fi} Fi}
+
+
+G2x7y0 ::~G2x7y0(){ note_dtor("G2x7y0", this);} // tgen
+G2x7y0 ::G2x7y0(){ note_ctor("G2x7y0", this);} // tgen
+
+static void Test_G2x7y0()
+{
+ extern Class_Descriptor cd_G2x7y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G2x7y0, buf);
+ G2x7y0 *dp, &lv = *(dp=new (buf) G2x7y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G2x7y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x7y0)");
+ check_base_class_offset(lv, (A0*)(C2*), ABISELECT(48,32), "G2x7y0");
+ check_base_class_offset(lv, (B0*)(C2*), ABISELECT(40,24), "G2x7y0");
+ check_base_class_offset(lv, (C2*)(E2x7*), ABISELECT(32,20), "G2x7y0");
+ check_base_class_offset(lv, (D0*)(E2x7*), ABISELECT(52,36), "G2x7y0");
+ check_base_class_offset(lv, (E2x7*), 0, "G2x7y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G2x7y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G2x7y0.ff");
+ test_class_info(&lv, &cd_G2x7y0);
+ dp->~G2x7y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x7y0(Test_G2x7y0, "G2x7y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G2x7y0C1Ev();
+extern void _ZN6G2x7y0D1Ev();
+Name_Map name_map_G2x7y0[] = {
+ NSPAIR(_ZN6G2x7y0C1Ev),
+ NSPAIR(_ZN6G2x7y0D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E2x7;
+extern VTBL_ENTRY _ZTI4E2x7[];
+extern VTBL_ENTRY _ZTV4E2x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G2x7y0[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E2x7, 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
+ 2, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G2x7y0[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G2x7y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x7y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G2x7y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G2x7y0[0]),
+};
+extern VTBL_ENTRY _ZTV6G2x7y0[];
+static VTBL_ENTRY _tg__ZTV4E2x7__6G2x7y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C2__4E2x7__6G2x7y0[] = {
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E2x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C2__6G2x7y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x7y0[] = {
+ {&(_ZTV6G2x7y0[5]), 5,11},
+ {&(_tg__ZTV4E2x7__6G2x7y0[5]), 5,5},
+ {&(_tg__ZTV2C2__4E2x7__6G2x7y0[3]), 3,3},
+ {&(_ZTV6G2x7y0[11]), 11,11},
+ {&(_tg__ZTV2C2__6G2x7y0[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x7y0[];
+extern VTBL_ENTRY _ZTV6G2x7y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x7y0[];
+Class_Descriptor cd_G2x7y0 = { "G2x7y0", // class name
+ bases_G2x7y0, 6,
+ &(vtc_G2x7y0[0]), // expected_vtbl_contents
+ &(vtt_G2x7y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G2x7y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x7y0),11, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x7y0),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 G2x7y1 : virtual E2x7 , F1 {
+ int ff;
+ ~G2x7y1(); // tgen
+ G2x7y1(); // tgen
+};
+//SIG(1 G2x7y1) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ v1 Fi} Fi}
+
+
+G2x7y1 ::~G2x7y1(){ note_dtor("G2x7y1", this);} // tgen
+G2x7y1 ::G2x7y1(){ note_ctor("G2x7y1", this);} // tgen
+
+static void Test_G2x7y1()
+{
+ extern Class_Descriptor cd_G2x7y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G2x7y1, buf);
+ G2x7y1 *dp, &lv = *(dp=new (buf) G2x7y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G2x7y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x7y1)");
+ check_base_class_offset(lv, (A0*)(C2*), ABISELECT(48,32), "G2x7y1");
+ check_base_class_offset(lv, (B0*)(C2*), ABISELECT(40,24), "G2x7y1");
+ check_base_class_offset(lv, (C2*)(E2x7*), ABISELECT(32,20), "G2x7y1");
+ check_base_class_offset(lv, (D0*)(E2x7*), ABISELECT(52,36), "G2x7y1");
+ check_base_class_offset(lv, (E2x7*), ABISELECT(16,12), "G2x7y1");
+ check_base_class_offset(lv, (F1*), 0, "G2x7y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G2x7y1.ff");
+ test_class_info(&lv, &cd_G2x7y1);
+ dp->~G2x7y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x7y1(Test_G2x7y1, "G2x7y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G2x7y1C1Ev();
+extern void _ZN6G2x7y1D1Ev();
+Name_Map name_map_G2x7y1[] = {
+ NSPAIR(_ZN6G2x7y1C1Ev),
+ NSPAIR(_ZN6G2x7y1D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E2x7;
+extern VTBL_ENTRY _ZTI4E2x7[];
+extern VTBL_ENTRY _ZTV4E2x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G2x7y1[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E2x7, 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
+ 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 _ZTI6G2x7y1[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G2x7y1[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x7y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G2x7y1[0]),
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G2x7y1[0]),
+};
+extern VTBL_ENTRY _ZTV6G2x7y1[];
+static VTBL_ENTRY _tg__ZTV4E2x7__6G2x7y1[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C2__4E2x7__6G2x7y1[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E2x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C2__6G2x7y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x7y1[] = {
+ {&(_ZTV6G2x7y1[6]), 6,15},
+ {&(_ZTV6G2x7y1[12]), 12,15},
+ {&(_ZTV6G2x7y1[15]), 15,15},
+ {&(_tg__ZTV4E2x7__6G2x7y1[5]), 5,5},
+ {&(_tg__ZTV2C2__4E2x7__6G2x7y1[3]), 3,3},
+ {&(_tg__ZTV2C2__6G2x7y1[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x7y1[];
+extern VTBL_ENTRY _ZTV6G2x7y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x7y1[];
+Class_Descriptor cd_G2x7y1 = { "G2x7y1", // class name
+ bases_G2x7y1, 6,
+ &(vtc_G2x7y1[0]), // expected_vtbl_contents
+ &(vtt_G2x7y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G2x7y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x7y1),15, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x7y1),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 G2x7y2 : E2x7 , virtual F1 {
+ int ff;
+ ~G2x7y2(); // tgen
+ G2x7y2(); // tgen
+};
+//SIG(1 G2x7y2) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ v1 Fi} Fi}
+
+
+G2x7y2 ::~G2x7y2(){ note_dtor("G2x7y2", this);} // tgen
+G2x7y2 ::G2x7y2(){ note_ctor("G2x7y2", this);} // tgen
+
+static void Test_G2x7y2()
+{
+ extern Class_Descriptor cd_G2x7y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G2x7y2, buf);
+ G2x7y2 *dp, &lv = *(dp=new (buf) G2x7y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G2x7y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x7y2)");
+ check_base_class_offset(lv, (A0*)(C2*), ABISELECT(32,24), "G2x7y2");
+ check_base_class_offset(lv, (B0*)(C2*), ABISELECT(24,16), "G2x7y2");
+ check_base_class_offset(lv, (C2*)(E2x7*), ABISELECT(16,12), "G2x7y2");
+ check_base_class_offset(lv, (D0*)(E2x7*), ABISELECT(36,28), "G2x7y2");
+ check_base_class_offset(lv, (E2x7*), 0, "G2x7y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(40,32), "G2x7y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G2x7y2.ff");
+ test_class_info(&lv, &cd_G2x7y2);
+ dp->~G2x7y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x7y2(Test_G2x7y2, "G2x7y2", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G2x7y2C1Ev();
+extern void _ZN6G2x7y2D1Ev();
+Name_Map name_map_G2x7y2[] = {
+ NSPAIR(_ZN6G2x7y2C1Ev),
+ NSPAIR(_ZN6G2x7y2D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E2x7;
+extern VTBL_ENTRY _ZTI4E2x7[];
+extern VTBL_ENTRY _ZTV4E2x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G2x7y2[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E2x7, 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(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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G2x7y2[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G2x7y2[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x7y2[0]),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G2x7y2[0]),
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI6G2x7y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G2x7y2[];
+static VTBL_ENTRY _tg__ZTV4E2x7__6G2x7y2[] = {
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C2__4E2x7__6G2x7y2[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E2x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C2__6G2x7y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x7y2[] = {
+ {&(_ZTV6G2x7y2[6]), 6,13},
+ {&(_tg__ZTV4E2x7__6G2x7y2[5]), 5,5},
+ {&(_tg__ZTV2C2__4E2x7__6G2x7y2[3]), 3,3},
+ {&(_ZTV6G2x7y2[9]), 9,13},
+ {&(_ZTV6G2x7y2[12]), 12,13},
+ {&(_tg__ZTV2C2__6G2x7y2[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x7y2[];
+extern VTBL_ENTRY _ZTV6G2x7y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x7y2[];
+Class_Descriptor cd_G2x7y2 = { "G2x7y2", // class name
+ bases_G2x7y2, 6,
+ &(vtc_G2x7y2[0]), // expected_vtbl_contents
+ &(vtt_G2x7y2[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G2x7y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x7y2),13, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x7y2),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 G2x7y3 : virtual E2x7 , virtual F1 {
+ int ff;
+ ~G2x7y3(); // tgen
+ G2x7y3(); // tgen
+};
+//SIG(1 G2x7y3) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ v1 Fi} Fi}
+
+
+G2x7y3 ::~G2x7y3(){ note_dtor("G2x7y3", this);} // tgen
+G2x7y3 ::G2x7y3(){ note_ctor("G2x7y3", this);} // tgen
+
+static void Test_G2x7y3()
+{
+ extern Class_Descriptor cd_G2x7y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G2x7y3, buf);
+ G2x7y3 *dp, &lv = *(dp=new (buf) G2x7y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G2x7y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x7y3)");
+ check_base_class_offset(lv, (A0*)(C2*), ABISELECT(48,28), "G2x7y3");
+ check_base_class_offset(lv, (B0*)(C2*), ABISELECT(40,20), "G2x7y3");
+ check_base_class_offset(lv, (C2*)(E2x7*), ABISELECT(32,16), "G2x7y3");
+ check_base_class_offset(lv, (D0*)(E2x7*), ABISELECT(52,32), "G2x7y3");
+ check_base_class_offset(lv, (E2x7*), ABISELECT(16,8), "G2x7y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G2x7y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G2x7y3.ff");
+ test_class_info(&lv, &cd_G2x7y3);
+ dp->~G2x7y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x7y3(Test_G2x7y3, "G2x7y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G2x7y3C1Ev();
+extern void _ZN6G2x7y3D1Ev();
+Name_Map name_map_G2x7y3[] = {
+ NSPAIR(_ZN6G2x7y3C1Ev),
+ NSPAIR(_ZN6G2x7y3D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E2x7;
+extern VTBL_ENTRY _ZTI4E2x7[];
+extern VTBL_ENTRY _ZTV4E2x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G2x7y3[] = {
+ // 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
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E2x7, 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
+ 2, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G2x7y3[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G2x7y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x7y3[0]),
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G2x7y3[0]),
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI6G2x7y3[0]),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G2x7y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G2x7y3[];
+static VTBL_ENTRY _tg__ZTV4E2x7__6G2x7y3[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C2__4E2x7__6G2x7y3[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E2x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C2__6G2x7y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x7y3[] = {
+ {&(_ZTV6G2x7y3[7]), 7,19},
+ {&(_ZTV6G2x7y3[12]), 12,19},
+ {&(_ZTV6G2x7y3[15]), 15,19},
+ {&(_ZTV6G2x7y3[18]), 18,19},
+ {&(_tg__ZTV4E2x7__6G2x7y3[5]), 5,5},
+ {&(_tg__ZTV2C2__4E2x7__6G2x7y3[3]), 3,3},
+ {&(_tg__ZTV2C2__6G2x7y3[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x7y3[];
+extern VTBL_ENTRY _ZTV6G2x7y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x7y3[];
+Class_Descriptor cd_G2x7y3 = { "G2x7y3", // class name
+ bases_G2x7y3, 6,
+ &(vtc_G2x7y3[0]), // expected_vtbl_contents
+ &(vtt_G2x7y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G2x7y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x7y3),19, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x7y3),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 G2x7y4 : E2x7 , F0 {
+ int ff;
+ ~G2x7y4(); // tgen
+ G2x7y4(); // tgen
+};
+//SIG(1 G2x7y4) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G2x7y4 ::~G2x7y4(){ note_dtor("G2x7y4", this);} // tgen
+G2x7y4 ::G2x7y4(){ note_ctor("G2x7y4", this);} // tgen
+
+static void Test_G2x7y4()
+{
+ extern Class_Descriptor cd_G2x7y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G2x7y4, buf);
+ G2x7y4 *dp, &lv = *(dp=new (buf) G2x7y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G2x7y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x7y4)");
+ check_base_class_offset(lv, (A0*)(C2*), ABISELECT(40,28), "G2x7y4");
+ check_base_class_offset(lv, (B0*)(C2*), ABISELECT(32,20), "G2x7y4");
+ check_base_class_offset(lv, (C2*)(E2x7*), ABISELECT(24,16), "G2x7y4");
+ check_base_class_offset(lv, (D0*)(E2x7*), ABISELECT(44,32), "G2x7y4");
+ check_base_class_offset(lv, (E2x7*), 0, "G2x7y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G2x7y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G2x7y4.ff");
+ test_class_info(&lv, &cd_G2x7y4);
+ dp->~G2x7y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x7y4(Test_G2x7y4, "G2x7y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G2x7y4C1Ev();
+extern void _ZN6G2x7y4D1Ev();
+Name_Map name_map_G2x7y4[] = {
+ NSPAIR(_ZN6G2x7y4C1Ev),
+ NSPAIR(_ZN6G2x7y4D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E2x7;
+extern VTBL_ENTRY _ZTI4E2x7[];
+extern VTBL_ENTRY _ZTV4E2x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G2x7y4[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E2x7, 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
+ 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 _ZTI6G2x7y4[];
+static VTBL_ENTRY vtc_G2x7y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x7y4[0]),
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G2x7y4[0]),
+};
+extern VTBL_ENTRY _ZTV6G2x7y4[];
+static VTBL_ENTRY _tg__ZTV4E2x7__6G2x7y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C2__4E2x7__6G2x7y4[] = {
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E2x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C2__6G2x7y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x7y4[] = {
+ {&(_ZTV6G2x7y4[5]), 5,8},
+ {&(_tg__ZTV4E2x7__6G2x7y4[5]), 5,5},
+ {&(_tg__ZTV2C2__4E2x7__6G2x7y4[3]), 3,3},
+ {&(_ZTV6G2x7y4[8]), 8,8},
+ {&(_tg__ZTV2C2__6G2x7y4[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x7y4[];
+extern VTBL_ENTRY _ZTV6G2x7y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x7y4[];
+Class_Descriptor cd_G2x7y4 = { "G2x7y4", // class name
+ bases_G2x7y4, 6,
+ &(vtc_G2x7y4[0]), // expected_vtbl_contents
+ &(vtt_G2x7y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G2x7y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x7y4),8, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x7y4),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 G2x7y5 : virtual E2x7 , F0 {
+ int ff;
+ ~G2x7y5(); // tgen
+ G2x7y5(); // tgen
+};
+//SIG(1 G2x7y5) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G2x7y5 ::~G2x7y5(){ note_dtor("G2x7y5", this);} // tgen
+G2x7y5 ::G2x7y5(){ note_ctor("G2x7y5", this);} // tgen
+
+static void Test_G2x7y5()
+{
+ extern Class_Descriptor cd_G2x7y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G2x7y5, buf);
+ G2x7y5 *dp, &lv = *(dp=new (buf) G2x7y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G2x7y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x7y5)");
+ check_base_class_offset(lv, (A0*)(C2*), ABISELECT(48,32), "G2x7y5");
+ check_base_class_offset(lv, (B0*)(C2*), ABISELECT(40,24), "G2x7y5");
+ check_base_class_offset(lv, (C2*)(E2x7*), ABISELECT(32,20), "G2x7y5");
+ check_base_class_offset(lv, (D0*)(E2x7*), ABISELECT(52,36), "G2x7y5");
+ check_base_class_offset(lv, (E2x7*), ABISELECT(16,12), "G2x7y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G2x7y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G2x7y5.ff");
+ test_class_info(&lv, &cd_G2x7y5);
+ dp->~G2x7y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x7y5(Test_G2x7y5, "G2x7y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G2x7y5C1Ev();
+extern void _ZN6G2x7y5D1Ev();
+Name_Map name_map_G2x7y5[] = {
+ NSPAIR(_ZN6G2x7y5C1Ev),
+ NSPAIR(_ZN6G2x7y5D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E2x7;
+extern VTBL_ENTRY _ZTI4E2x7[];
+extern VTBL_ENTRY _ZTV4E2x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G2x7y5[] = {
+ // 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
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E2x7, 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_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 _ZTI6G2x7y5[];
+static VTBL_ENTRY vtc_G2x7y5[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x7y5[0]),
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G2x7y5[0]),
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G2x7y5[0]),
+};
+extern VTBL_ENTRY _ZTV6G2x7y5[];
+static VTBL_ENTRY _tg__ZTV4E2x7__6G2x7y5[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C2__4E2x7__6G2x7y5[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E2x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C2__6G2x7y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x7y5[] = {
+ {&(_ZTV6G2x7y5[6]), 6,14},
+ {&(_ZTV6G2x7y5[11]), 11,14},
+ {&(_ZTV6G2x7y5[14]), 14,14},
+ {&(_tg__ZTV4E2x7__6G2x7y5[5]), 5,5},
+ {&(_tg__ZTV2C2__4E2x7__6G2x7y5[3]), 3,3},
+ {&(_tg__ZTV2C2__6G2x7y5[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x7y5[];
+extern VTBL_ENTRY _ZTV6G2x7y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x7y5[];
+Class_Descriptor cd_G2x7y5 = { "G2x7y5", // class name
+ bases_G2x7y5, 6,
+ &(vtc_G2x7y5[0]), // expected_vtbl_contents
+ &(vtt_G2x7y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G2x7y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x7y5),14, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x7y5),6, //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 G2x7y6 : E2x7 , virtual F0 {
+ int ff;
+ ~G2x7y6(); // tgen
+ G2x7y6(); // tgen
+};
+//SIG(1 G2x7y6) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G2x7y6 ::~G2x7y6(){ note_dtor("G2x7y6", this);} // tgen
+G2x7y6 ::G2x7y6(){ note_ctor("G2x7y6", this);} // tgen
+
+static void Test_G2x7y6()
+{
+ extern Class_Descriptor cd_G2x7y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G2x7y6, buf);
+ G2x7y6 *dp, &lv = *(dp=new (buf) G2x7y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G2x7y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x7y6)");
+ check_base_class_offset(lv, (A0*)(C2*), ABISELECT(32,24), "G2x7y6");
+ check_base_class_offset(lv, (B0*)(C2*), ABISELECT(24,16), "G2x7y6");
+ check_base_class_offset(lv, (C2*)(E2x7*), ABISELECT(16,12), "G2x7y6");
+ check_base_class_offset(lv, (D0*)(E2x7*), ABISELECT(36,28), "G2x7y6");
+ check_base_class_offset(lv, (E2x7*), 0, "G2x7y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(40,32), "G2x7y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G2x7y6.ff");
+ test_class_info(&lv, &cd_G2x7y6);
+ dp->~G2x7y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x7y6(Test_G2x7y6, "G2x7y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G2x7y6C1Ev();
+extern void _ZN6G2x7y6D1Ev();
+Name_Map name_map_G2x7y6[] = {
+ NSPAIR(_ZN6G2x7y6C1Ev),
+ NSPAIR(_ZN6G2x7y6D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E2x7;
+extern VTBL_ENTRY _ZTI4E2x7[];
+extern VTBL_ENTRY _ZTV4E2x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G2x7y6[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E2x7, 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
+ 2, //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 _ZTI6G2x7y6[];
+static VTBL_ENTRY vtc_G2x7y6[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x7y6[0]),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G2x7y6[0]),
+};
+extern VTBL_ENTRY _ZTV6G2x7y6[];
+static VTBL_ENTRY _tg__ZTV4E2x7__6G2x7y6[] = {
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C2__4E2x7__6G2x7y6[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E2x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C2__6G2x7y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x7y6[] = {
+ {&(_ZTV6G2x7y6[6]), 6,9},
+ {&(_tg__ZTV4E2x7__6G2x7y6[5]), 5,5},
+ {&(_tg__ZTV2C2__4E2x7__6G2x7y6[3]), 3,3},
+ {&(_ZTV6G2x7y6[9]), 9,9},
+ {&(_tg__ZTV2C2__6G2x7y6[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x7y6[];
+extern VTBL_ENTRY _ZTV6G2x7y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x7y6[];
+Class_Descriptor cd_G2x7y6 = { "G2x7y6", // class name
+ bases_G2x7y6, 6,
+ &(vtc_G2x7y6[0]), // expected_vtbl_contents
+ &(vtt_G2x7y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G2x7y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x7y6),9, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x7y6),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 G2x7y7 : virtual E2x7 , virtual F0 {
+ int ff;
+ ~G2x7y7(); // tgen
+ G2x7y7(); // tgen
+};
+//SIG(1 G2x7y7) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G2x7y7 ::~G2x7y7(){ note_dtor("G2x7y7", this);} // tgen
+G2x7y7 ::G2x7y7(){ note_ctor("G2x7y7", this);} // tgen
+
+static void Test_G2x7y7()
+{
+ extern Class_Descriptor cd_G2x7y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G2x7y7, buf);
+ G2x7y7 *dp, &lv = *(dp=new (buf) G2x7y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G2x7y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G2x7y7)");
+ check_base_class_offset(lv, (A0*)(C2*), ABISELECT(48,28), "G2x7y7");
+ check_base_class_offset(lv, (B0*)(C2*), ABISELECT(40,20), "G2x7y7");
+ check_base_class_offset(lv, (C2*)(E2x7*), ABISELECT(32,16), "G2x7y7");
+ check_base_class_offset(lv, (D0*)(E2x7*), ABISELECT(52,32), "G2x7y7");
+ check_base_class_offset(lv, (E2x7*), ABISELECT(16,8), "G2x7y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G2x7y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G2x7y7.ff");
+ test_class_info(&lv, &cd_G2x7y7);
+ dp->~G2x7y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG2x7y7(Test_G2x7y7, "G2x7y7", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G2x7y7C1Ev();
+extern void _ZN6G2x7y7D1Ev();
+Name_Map name_map_G2x7y7[] = {
+ NSPAIR(_ZN6G2x7y7C1Ev),
+ NSPAIR(_ZN6G2x7y7D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E2x7;
+extern VTBL_ENTRY _ZTI4E2x7[];
+extern VTBL_ENTRY _ZTV4E2x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E2x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G2x7y7[] = {
+ // 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
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E2x7, 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
+ 2, //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 _ZTI6G2x7y7[];
+static VTBL_ENTRY vtc_G2x7y7[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G2x7y7[0]),
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G2x7y7[0]),
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI6G2x7y7[0]),
+};
+extern VTBL_ENTRY _ZTV6G2x7y7[];
+static VTBL_ENTRY _tg__ZTV4E2x7__6G2x7y7[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E2x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C2__4E2x7__6G2x7y7[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E2x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C2__6G2x7y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C2[0]),
+};
+static VTT_ENTRY vtt_G2x7y7[] = {
+ {&(_ZTV6G2x7y7[7]), 7,15},
+ {&(_ZTV6G2x7y7[12]), 12,15},
+ {&(_ZTV6G2x7y7[15]), 15,15},
+ {&(_tg__ZTV4E2x7__6G2x7y7[5]), 5,5},
+ {&(_tg__ZTV2C2__4E2x7__6G2x7y7[3]), 3,3},
+ {&(_tg__ZTV2C2__6G2x7y7[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G2x7y7[];
+extern VTBL_ENTRY _ZTV6G2x7y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G2x7y7[];
+Class_Descriptor cd_G2x7y7 = { "G2x7y7", // class name
+ bases_G2x7y7, 6,
+ &(vtc_G2x7y7[0]), // expected_vtbl_contents
+ &(vtt_G2x7y7[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G2x7y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G2x7y7),15, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G2x7y7),6, //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 E3x7 : virtual C3 , virtual D0 {
+ int fd;
+ ~E3x7(); // tgen
+ E3x7(); // tgen
+};
+//SIG(-1 E3x7) C1{ VBC2{ VBC3{ v1 Fi} BC4{ Fi} Fi} VBC5{ Fi} Fi}
+
+
+E3x7 ::~E3x7(){ note_dtor("E3x7", this);} // tgen
+E3x7 ::E3x7(){ note_ctor("E3x7", this);} // tgen
+
+static void Test_E3x7()
+{
+ extern Class_Descriptor cd_E3x7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E3x7, buf);
+ E3x7 *dp, &lv = *(dp=new (buf) E3x7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E3x7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E3x7)");
+ check_base_class_offset(lv, (A1*)(C3*), ABISELECT(32,20), "E3x7");
+ check_base_class_offset(lv, (B0*)(C3*), ABISELECT(24,12), "E3x7");
+ check_base_class_offset(lv, (C3*), ABISELECT(16,8), "E3x7");
+ check_base_class_offset(lv, (D0*), ABISELECT(44,28), "E3x7");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E3x7.fd");
+ test_class_info(&lv, &cd_E3x7);
+ dp->~E3x7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE3x7(Test_E3x7, "E3x7", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN4E3x7C1Ev();
+extern void _ZN4E3x7D1Ev();
+Name_Map name_map_E3x7[] = {
+ NSPAIR(_ZN4E3x7C1Ev),
+ NSPAIR(_ZN4E3x7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E3x7[] = {
+ // 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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D0, 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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI4E3x7[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_E3x7[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x7[0]),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E3x7[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E3x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E3x7[];
+static VTBL_ENTRY _tg__ZTV2C3__4E3x7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C3__4E3x7[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_E3x7[] = {
+ {&(_ZTV4E3x7[5]), 5,12},
+ {&(_ZTV4E3x7[8]), 8,12},
+ {&(_ZTV4E3x7[11]), 11,12},
+ {&(_tg__ZTV2C3__4E3x7[3]), 3,3},
+ {&(_tg__ZTV2A1__2C3__4E3x7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI4E3x7[];
+extern VTBL_ENTRY _ZTV4E3x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x7[];
+Class_Descriptor cd_E3x7 = { "E3x7", // class name
+ bases_E3x7, 4,
+ &(vtc_E3x7[0]), // expected_vtbl_contents
+ &(vtt_E3x7[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI4E3x7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E3x7),12, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E3x7),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 G3x7y0 : E3x7 , F1 {
+ int ff;
+ ~G3x7y0(); // tgen
+ G3x7y0(); // tgen
+};
+//SIG(1 G3x7y0) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G3x7y0 ::~G3x7y0(){ note_dtor("G3x7y0", this);} // tgen
+G3x7y0 ::G3x7y0(){ note_ctor("G3x7y0", this);} // tgen
+
+static void Test_G3x7y0()
+{
+ extern Class_Descriptor cd_G3x7y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G3x7y0, buf);
+ G3x7y0 *dp, &lv = *(dp=new (buf) G3x7y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G3x7y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x7y0)");
+ check_base_class_offset(lv, (A1*)(C3*), ABISELECT(48,32), "G3x7y0");
+ check_base_class_offset(lv, (B0*)(C3*), ABISELECT(40,24), "G3x7y0");
+ check_base_class_offset(lv, (C3*)(E3x7*), ABISELECT(32,20), "G3x7y0");
+ check_base_class_offset(lv, (D0*)(E3x7*), ABISELECT(60,40), "G3x7y0");
+ check_base_class_offset(lv, (E3x7*), 0, "G3x7y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G3x7y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G3x7y0.ff");
+ test_class_info(&lv, &cd_G3x7y0);
+ dp->~G3x7y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x7y0(Test_G3x7y0, "G3x7y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G3x7y0C1Ev();
+extern void _ZN6G3x7y0D1Ev();
+Name_Map name_map_G3x7y0[] = {
+ NSPAIR(_ZN6G3x7y0C1Ev),
+ NSPAIR(_ZN6G3x7y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E3x7;
+extern VTBL_ENTRY _ZTI4E3x7[];
+extern VTBL_ENTRY _ZTV4E3x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G3x7y0[] = {
+ // 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(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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E3x7, 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 _ZTI6G3x7y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G3x7y0[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x7y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G3x7y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G3x7y0[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G3x7y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x7y0[];
+static VTBL_ENTRY _tg__ZTV4E3x7__6G3x7y0[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C3__4E3x7__6G3x7y0[] = {
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E3x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x7__6G3x7y0[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI4E3x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C3__6G3x7y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C3__6G3x7y0[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x7y0[] = {
+ {&(_ZTV6G3x7y0[5]), 5,15},
+ {&(_tg__ZTV4E3x7__6G3x7y0[5]), 5,5},
+ {&(_tg__ZTV2C3__4E3x7__6G3x7y0[3]), 3,3},
+ {&(_tg__ZTV2A1__4E3x7__6G3x7y0[3]), 3,4},
+ {&(_ZTV6G3x7y0[11]), 11,15},
+ {&(_ZTV6G3x7y0[14]), 14,15},
+ {&(_tg__ZTV2C3__6G3x7y0[3]), 3,3},
+ {&(_tg__ZTV2A1__2C3__6G3x7y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G3x7y0[];
+extern VTBL_ENTRY _ZTV6G3x7y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x7y0[];
+Class_Descriptor cd_G3x7y0 = { "G3x7y0", // class name
+ bases_G3x7y0, 6,
+ &(vtc_G3x7y0[0]), // expected_vtbl_contents
+ &(vtt_G3x7y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G3x7y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x7y0),15, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x7y0),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 G3x7y1 : virtual E3x7 , F1 {
+ int ff;
+ ~G3x7y1(); // tgen
+ G3x7y1(); // tgen
+};
+//SIG(1 G3x7y1) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G3x7y1 ::~G3x7y1(){ note_dtor("G3x7y1", this);} // tgen
+G3x7y1 ::G3x7y1(){ note_ctor("G3x7y1", this);} // tgen
+
+static void Test_G3x7y1()
+{
+ extern Class_Descriptor cd_G3x7y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G3x7y1, buf);
+ G3x7y1 *dp, &lv = *(dp=new (buf) G3x7y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G3x7y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x7y1)");
+ check_base_class_offset(lv, (A1*)(C3*), ABISELECT(48,32), "G3x7y1");
+ check_base_class_offset(lv, (B0*)(C3*), ABISELECT(40,24), "G3x7y1");
+ check_base_class_offset(lv, (C3*)(E3x7*), ABISELECT(32,20), "G3x7y1");
+ check_base_class_offset(lv, (D0*)(E3x7*), ABISELECT(60,40), "G3x7y1");
+ check_base_class_offset(lv, (E3x7*), ABISELECT(16,12), "G3x7y1");
+ check_base_class_offset(lv, (F1*), 0, "G3x7y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G3x7y1.ff");
+ test_class_info(&lv, &cd_G3x7y1);
+ dp->~G3x7y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x7y1(Test_G3x7y1, "G3x7y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G3x7y1C1Ev();
+extern void _ZN6G3x7y1D1Ev();
+Name_Map name_map_G3x7y1[] = {
+ NSPAIR(_ZN6G3x7y1C1Ev),
+ NSPAIR(_ZN6G3x7y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E3x7;
+extern VTBL_ENTRY _ZTI4E3x7[];
+extern VTBL_ENTRY _ZTV4E3x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G3x7y1[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E3x7, 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 _ZTI6G3x7y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G3x7y1[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x7y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G3x7y1[0]),
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G3x7y1[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G3x7y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x7y1[];
+static VTBL_ENTRY _tg__ZTV4E3x7__6G3x7y1[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C3__4E3x7__6G3x7y1[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E3x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x7__6G3x7y1[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E3x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C3__6G3x7y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C3__6G3x7y1[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x7y1[] = {
+ {&(_ZTV6G3x7y1[6]), 6,19},
+ {&(_ZTV6G3x7y1[12]), 12,19},
+ {&(_ZTV6G3x7y1[15]), 15,19},
+ {&(_ZTV6G3x7y1[18]), 18,19},
+ {&(_tg__ZTV4E3x7__6G3x7y1[5]), 5,5},
+ {&(_tg__ZTV2C3__4E3x7__6G3x7y1[3]), 3,3},
+ {&(_tg__ZTV2A1__4E3x7__6G3x7y1[3]), 3,4},
+ {&(_tg__ZTV2C3__6G3x7y1[3]), 3,3},
+ {&(_tg__ZTV2A1__2C3__6G3x7y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G3x7y1[];
+extern VTBL_ENTRY _ZTV6G3x7y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x7y1[];
+Class_Descriptor cd_G3x7y1 = { "G3x7y1", // class name
+ bases_G3x7y1, 6,
+ &(vtc_G3x7y1[0]), // expected_vtbl_contents
+ &(vtt_G3x7y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G3x7y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x7y1),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x7y1),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 G3x7y2 : E3x7 , virtual F1 {
+ int ff;
+ ~G3x7y2(); // tgen
+ G3x7y2(); // tgen
+};
+//SIG(1 G3x7y2) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G3x7y2 ::~G3x7y2(){ note_dtor("G3x7y2", this);} // tgen
+G3x7y2 ::G3x7y2(){ note_ctor("G3x7y2", this);} // tgen
+
+static void Test_G3x7y2()
+{
+ extern Class_Descriptor cd_G3x7y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G3x7y2, buf);
+ G3x7y2 *dp, &lv = *(dp=new (buf) G3x7y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G3x7y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x7y2)");
+ check_base_class_offset(lv, (A1*)(C3*), ABISELECT(32,24), "G3x7y2");
+ check_base_class_offset(lv, (B0*)(C3*), ABISELECT(24,16), "G3x7y2");
+ check_base_class_offset(lv, (C3*)(E3x7*), ABISELECT(16,12), "G3x7y2");
+ check_base_class_offset(lv, (D0*)(E3x7*), ABISELECT(44,32), "G3x7y2");
+ check_base_class_offset(lv, (E3x7*), 0, "G3x7y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,36), "G3x7y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G3x7y2.ff");
+ test_class_info(&lv, &cd_G3x7y2);
+ dp->~G3x7y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x7y2(Test_G3x7y2, "G3x7y2", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G3x7y2C1Ev();
+extern void _ZN6G3x7y2D1Ev();
+Name_Map name_map_G3x7y2[] = {
+ NSPAIR(_ZN6G3x7y2C1Ev),
+ NSPAIR(_ZN6G3x7y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E3x7;
+extern VTBL_ENTRY _ZTI4E3x7[];
+extern VTBL_ENTRY _ZTV4E3x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G3x7y2[] = {
+ // 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)
+ 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(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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E3x7, 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,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 _ZTI6G3x7y2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G3x7y2[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x7y2[0]),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G3x7y2[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G3x7y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI6G3x7y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x7y2[];
+static VTBL_ENTRY _tg__ZTV4E3x7__6G3x7y2[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C3__4E3x7__6G3x7y2[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E3x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x7__6G3x7y2[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E3x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C3__6G3x7y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C3__6G3x7y2[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x7y2[] = {
+ {&(_ZTV6G3x7y2[6]), 6,17},
+ {&(_tg__ZTV4E3x7__6G3x7y2[5]), 5,5},
+ {&(_tg__ZTV2C3__4E3x7__6G3x7y2[3]), 3,3},
+ {&(_tg__ZTV2A1__4E3x7__6G3x7y2[3]), 3,4},
+ {&(_ZTV6G3x7y2[9]), 9,17},
+ {&(_ZTV6G3x7y2[12]), 12,17},
+ {&(_ZTV6G3x7y2[16]), 16,17},
+ {&(_tg__ZTV2C3__6G3x7y2[3]), 3,3},
+ {&(_tg__ZTV2A1__2C3__6G3x7y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G3x7y2[];
+extern VTBL_ENTRY _ZTV6G3x7y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x7y2[];
+Class_Descriptor cd_G3x7y2 = { "G3x7y2", // class name
+ bases_G3x7y2, 6,
+ &(vtc_G3x7y2[0]), // expected_vtbl_contents
+ &(vtt_G3x7y2[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G3x7y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x7y2),17, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x7y2),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 G3x7y3 : virtual E3x7 , virtual F1 {
+ int ff;
+ ~G3x7y3(); // tgen
+ G3x7y3(); // tgen
+};
+//SIG(1 G3x7y3) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G3x7y3 ::~G3x7y3(){ note_dtor("G3x7y3", this);} // tgen
+G3x7y3 ::G3x7y3(){ note_ctor("G3x7y3", this);} // tgen
+
+static void Test_G3x7y3()
+{
+ extern Class_Descriptor cd_G3x7y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G3x7y3, buf);
+ G3x7y3 *dp, &lv = *(dp=new (buf) G3x7y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G3x7y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x7y3)");
+ check_base_class_offset(lv, (A1*)(C3*), ABISELECT(48,28), "G3x7y3");
+ check_base_class_offset(lv, (B0*)(C3*), ABISELECT(40,20), "G3x7y3");
+ check_base_class_offset(lv, (C3*)(E3x7*), ABISELECT(32,16), "G3x7y3");
+ check_base_class_offset(lv, (D0*)(E3x7*), ABISELECT(60,36), "G3x7y3");
+ check_base_class_offset(lv, (E3x7*), ABISELECT(16,8), "G3x7y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G3x7y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G3x7y3.ff");
+ test_class_info(&lv, &cd_G3x7y3);
+ dp->~G3x7y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x7y3(Test_G3x7y3, "G3x7y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN6G3x7y3C1Ev();
+extern void _ZN6G3x7y3D1Ev();
+Name_Map name_map_G3x7y3[] = {
+ NSPAIR(_ZN6G3x7y3C1Ev),
+ NSPAIR(_ZN6G3x7y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E3x7;
+extern VTBL_ENTRY _ZTI4E3x7[];
+extern VTBL_ENTRY _ZTV4E3x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G3x7y3[] = {
+ // 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
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E3x7, 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(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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G3x7y3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G3x7y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x7y3[0]),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G3x7y3[0]),
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI6G3x7y3[0]),
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI6G3x7y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI6G3x7y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x7y3[];
+static VTBL_ENTRY _tg__ZTV4E3x7__6G3x7y3[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C3__4E3x7__6G3x7y3[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E3x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x7__6G3x7y3[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E3x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C3__6G3x7y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C3__6G3x7y3[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x7y3[] = {
+ {&(_ZTV6G3x7y3[7]), 7,23},
+ {&(_ZTV6G3x7y3[12]), 12,23},
+ {&(_ZTV6G3x7y3[15]), 15,23},
+ {&(_ZTV6G3x7y3[18]), 18,23},
+ {&(_ZTV6G3x7y3[22]), 22,23},
+ {&(_tg__ZTV4E3x7__6G3x7y3[5]), 5,5},
+ {&(_tg__ZTV2C3__4E3x7__6G3x7y3[3]), 3,3},
+ {&(_tg__ZTV2A1__4E3x7__6G3x7y3[3]), 3,4},
+ {&(_tg__ZTV2C3__6G3x7y3[3]), 3,3},
+ {&(_tg__ZTV2A1__2C3__6G3x7y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G3x7y3[];
+extern VTBL_ENTRY _ZTV6G3x7y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x7y3[];
+Class_Descriptor cd_G3x7y3 = { "G3x7y3", // class name
+ bases_G3x7y3, 6,
+ &(vtc_G3x7y3[0]), // expected_vtbl_contents
+ &(vtt_G3x7y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI6G3x7y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x7y3),23, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x7y3),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 G3x7y4 : E3x7 , F0 {
+ int ff;
+ ~G3x7y4(); // tgen
+ G3x7y4(); // tgen
+};
+//SIG(1 G3x7y4) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G3x7y4 ::~G3x7y4(){ note_dtor("G3x7y4", this);} // tgen
+G3x7y4 ::G3x7y4(){ note_ctor("G3x7y4", this);} // tgen
+
+static void Test_G3x7y4()
+{
+ extern Class_Descriptor cd_G3x7y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G3x7y4, buf);
+ G3x7y4 *dp, &lv = *(dp=new (buf) G3x7y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G3x7y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x7y4)");
+ check_base_class_offset(lv, (A1*)(C3*), ABISELECT(40,28), "G3x7y4");
+ check_base_class_offset(lv, (B0*)(C3*), ABISELECT(32,20), "G3x7y4");
+ check_base_class_offset(lv, (C3*)(E3x7*), ABISELECT(24,16), "G3x7y4");
+ check_base_class_offset(lv, (D0*)(E3x7*), ABISELECT(52,36), "G3x7y4");
+ check_base_class_offset(lv, (E3x7*), 0, "G3x7y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G3x7y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G3x7y4.ff");
+ test_class_info(&lv, &cd_G3x7y4);
+ dp->~G3x7y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x7y4(Test_G3x7y4, "G3x7y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G3x7y4C1Ev();
+extern void _ZN6G3x7y4D1Ev();
+Name_Map name_map_G3x7y4[] = {
+ NSPAIR(_ZN6G3x7y4C1Ev),
+ NSPAIR(_ZN6G3x7y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E3x7;
+extern VTBL_ENTRY _ZTI4E3x7[];
+extern VTBL_ENTRY _ZTV4E3x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G3x7y4[] = {
+ // 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(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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E3x7, 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 _ZTI6G3x7y4[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G3x7y4[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x7y4[0]),
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G3x7y4[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G3x7y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x7y4[];
+static VTBL_ENTRY _tg__ZTV4E3x7__6G3x7y4[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C3__4E3x7__6G3x7y4[] = {
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E3x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x7__6G3x7y4[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI4E3x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C3__6G3x7y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C3__6G3x7y4[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x7y4[] = {
+ {&(_ZTV6G3x7y4[5]), 5,12},
+ {&(_tg__ZTV4E3x7__6G3x7y4[5]), 5,5},
+ {&(_tg__ZTV2C3__4E3x7__6G3x7y4[3]), 3,3},
+ {&(_tg__ZTV2A1__4E3x7__6G3x7y4[3]), 3,4},
+ {&(_ZTV6G3x7y4[8]), 8,12},
+ {&(_ZTV6G3x7y4[11]), 11,12},
+ {&(_tg__ZTV2C3__6G3x7y4[3]), 3,3},
+ {&(_tg__ZTV2A1__2C3__6G3x7y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G3x7y4[];
+extern VTBL_ENTRY _ZTV6G3x7y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x7y4[];
+Class_Descriptor cd_G3x7y4 = { "G3x7y4", // class name
+ bases_G3x7y4, 6,
+ &(vtc_G3x7y4[0]), // expected_vtbl_contents
+ &(vtt_G3x7y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G3x7y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x7y4),12, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x7y4),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 G3x7y5 : virtual E3x7 , F0 {
+ int ff;
+ ~G3x7y5(); // tgen
+ G3x7y5(); // tgen
+};
+//SIG(1 G3x7y5) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G3x7y5 ::~G3x7y5(){ note_dtor("G3x7y5", this);} // tgen
+G3x7y5 ::G3x7y5(){ note_ctor("G3x7y5", this);} // tgen
+
+static void Test_G3x7y5()
+{
+ extern Class_Descriptor cd_G3x7y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G3x7y5, buf);
+ G3x7y5 *dp, &lv = *(dp=new (buf) G3x7y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G3x7y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x7y5)");
+ check_base_class_offset(lv, (A1*)(C3*), ABISELECT(48,32), "G3x7y5");
+ check_base_class_offset(lv, (B0*)(C3*), ABISELECT(40,24), "G3x7y5");
+ check_base_class_offset(lv, (C3*)(E3x7*), ABISELECT(32,20), "G3x7y5");
+ check_base_class_offset(lv, (D0*)(E3x7*), ABISELECT(60,40), "G3x7y5");
+ check_base_class_offset(lv, (E3x7*), ABISELECT(16,12), "G3x7y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G3x7y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G3x7y5.ff");
+ test_class_info(&lv, &cd_G3x7y5);
+ dp->~G3x7y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x7y5(Test_G3x7y5, "G3x7y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G3x7y5C1Ev();
+extern void _ZN6G3x7y5D1Ev();
+Name_Map name_map_G3x7y5[] = {
+ NSPAIR(_ZN6G3x7y5C1Ev),
+ NSPAIR(_ZN6G3x7y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E3x7;
+extern VTBL_ENTRY _ZTI4E3x7[];
+extern VTBL_ENTRY _ZTV4E3x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G3x7y5[] = {
+ // 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
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E3x7, 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 _ZTI6G3x7y5[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G3x7y5[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x7y5[0]),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G3x7y5[0]),
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G3x7y5[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G3x7y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x7y5[];
+static VTBL_ENTRY _tg__ZTV4E3x7__6G3x7y5[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C3__4E3x7__6G3x7y5[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E3x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x7__6G3x7y5[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E3x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C3__6G3x7y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C3__6G3x7y5[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x7y5[] = {
+ {&(_ZTV6G3x7y5[6]), 6,18},
+ {&(_ZTV6G3x7y5[11]), 11,18},
+ {&(_ZTV6G3x7y5[14]), 14,18},
+ {&(_ZTV6G3x7y5[17]), 17,18},
+ {&(_tg__ZTV4E3x7__6G3x7y5[5]), 5,5},
+ {&(_tg__ZTV2C3__4E3x7__6G3x7y5[3]), 3,3},
+ {&(_tg__ZTV2A1__4E3x7__6G3x7y5[3]), 3,4},
+ {&(_tg__ZTV2C3__6G3x7y5[3]), 3,3},
+ {&(_tg__ZTV2A1__2C3__6G3x7y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G3x7y5[];
+extern VTBL_ENTRY _ZTV6G3x7y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x7y5[];
+Class_Descriptor cd_G3x7y5 = { "G3x7y5", // class name
+ bases_G3x7y5, 6,
+ &(vtc_G3x7y5[0]), // expected_vtbl_contents
+ &(vtt_G3x7y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G3x7y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x7y5),18, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x7y5),9, //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 G3x7y6 : E3x7 , virtual F0 {
+ int ff;
+ ~G3x7y6(); // tgen
+ G3x7y6(); // tgen
+};
+//SIG(1 G3x7y6) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G3x7y6 ::~G3x7y6(){ note_dtor("G3x7y6", this);} // tgen
+G3x7y6 ::G3x7y6(){ note_ctor("G3x7y6", this);} // tgen
+
+static void Test_G3x7y6()
+{
+ extern Class_Descriptor cd_G3x7y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G3x7y6, buf);
+ G3x7y6 *dp, &lv = *(dp=new (buf) G3x7y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G3x7y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x7y6)");
+ check_base_class_offset(lv, (A1*)(C3*), ABISELECT(32,24), "G3x7y6");
+ check_base_class_offset(lv, (B0*)(C3*), ABISELECT(24,16), "G3x7y6");
+ check_base_class_offset(lv, (C3*)(E3x7*), ABISELECT(16,12), "G3x7y6");
+ check_base_class_offset(lv, (D0*)(E3x7*), ABISELECT(44,32), "G3x7y6");
+ check_base_class_offset(lv, (E3x7*), 0, "G3x7y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(48,36), "G3x7y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G3x7y6.ff");
+ test_class_info(&lv, &cd_G3x7y6);
+ dp->~G3x7y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x7y6(Test_G3x7y6, "G3x7y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G3x7y6C1Ev();
+extern void _ZN6G3x7y6D1Ev();
+Name_Map name_map_G3x7y6[] = {
+ NSPAIR(_ZN6G3x7y6C1Ev),
+ NSPAIR(_ZN6G3x7y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E3x7;
+extern VTBL_ENTRY _ZTI4E3x7[];
+extern VTBL_ENTRY _ZTV4E3x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G3x7y6[] = {
+ // 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)
+ 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(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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E3x7, 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(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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G3x7y6[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G3x7y6[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x7y6[0]),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G3x7y6[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G3x7y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x7y6[];
+static VTBL_ENTRY _tg__ZTV4E3x7__6G3x7y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C3__4E3x7__6G3x7y6[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E3x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x7__6G3x7y6[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E3x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C3__6G3x7y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C3__6G3x7y6[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x7y6[] = {
+ {&(_ZTV6G3x7y6[6]), 6,13},
+ {&(_tg__ZTV4E3x7__6G3x7y6[5]), 5,5},
+ {&(_tg__ZTV2C3__4E3x7__6G3x7y6[3]), 3,3},
+ {&(_tg__ZTV2A1__4E3x7__6G3x7y6[3]), 3,4},
+ {&(_ZTV6G3x7y6[9]), 9,13},
+ {&(_ZTV6G3x7y6[12]), 12,13},
+ {&(_tg__ZTV2C3__6G3x7y6[3]), 3,3},
+ {&(_tg__ZTV2A1__2C3__6G3x7y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G3x7y6[];
+extern VTBL_ENTRY _ZTV6G3x7y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x7y6[];
+Class_Descriptor cd_G3x7y6 = { "G3x7y6", // class name
+ bases_G3x7y6, 6,
+ &(vtc_G3x7y6[0]), // expected_vtbl_contents
+ &(vtt_G3x7y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G3x7y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x7y6),13, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x7y6),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 G3x7y7 : virtual E3x7 , virtual F0 {
+ int ff;
+ ~G3x7y7(); // tgen
+ G3x7y7(); // tgen
+};
+//SIG(1 G3x7y7) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G3x7y7 ::~G3x7y7(){ note_dtor("G3x7y7", this);} // tgen
+G3x7y7 ::G3x7y7(){ note_ctor("G3x7y7", this);} // tgen
+
+static void Test_G3x7y7()
+{
+ extern Class_Descriptor cd_G3x7y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G3x7y7, buf);
+ G3x7y7 *dp, &lv = *(dp=new (buf) G3x7y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G3x7y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G3x7y7)");
+ check_base_class_offset(lv, (A1*)(C3*), ABISELECT(48,28), "G3x7y7");
+ check_base_class_offset(lv, (B0*)(C3*), ABISELECT(40,20), "G3x7y7");
+ check_base_class_offset(lv, (C3*)(E3x7*), ABISELECT(32,16), "G3x7y7");
+ check_base_class_offset(lv, (D0*)(E3x7*), ABISELECT(60,36), "G3x7y7");
+ check_base_class_offset(lv, (E3x7*), ABISELECT(16,8), "G3x7y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(64,40), "G3x7y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G3x7y7.ff");
+ test_class_info(&lv, &cd_G3x7y7);
+ dp->~G3x7y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG3x7y7(Test_G3x7y7, "G3x7y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G3x7y7C1Ev();
+extern void _ZN6G3x7y7D1Ev();
+Name_Map name_map_G3x7y7[] = {
+ NSPAIR(_ZN6G3x7y7C1Ev),
+ NSPAIR(_ZN6G3x7y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E3x7;
+extern VTBL_ENTRY _ZTI4E3x7[];
+extern VTBL_ENTRY _ZTV4E3x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E3x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G3x7y7[] = {
+ // 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
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E3x7, 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(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 _ZTI6G3x7y7[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G3x7y7[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G3x7y7[0]),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G3x7y7[0]),
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI6G3x7y7[0]),
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI6G3x7y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G3x7y7[];
+static VTBL_ENTRY _tg__ZTV4E3x7__6G3x7y7[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E3x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C3__4E3x7__6G3x7y7[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E3x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E3x7__6G3x7y7[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E3x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV2C3__6G3x7y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C3__6G3x7y7[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G3x7y7[] = {
+ {&(_ZTV6G3x7y7[7]), 7,19},
+ {&(_ZTV6G3x7y7[12]), 12,19},
+ {&(_ZTV6G3x7y7[15]), 15,19},
+ {&(_ZTV6G3x7y7[18]), 18,19},
+ {&(_tg__ZTV4E3x7__6G3x7y7[5]), 5,5},
+ {&(_tg__ZTV2C3__4E3x7__6G3x7y7[3]), 3,3},
+ {&(_tg__ZTV2A1__4E3x7__6G3x7y7[3]), 3,4},
+ {&(_tg__ZTV2C3__6G3x7y7[3]), 3,3},
+ {&(_tg__ZTV2A1__2C3__6G3x7y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G3x7y7[];
+extern VTBL_ENTRY _ZTV6G3x7y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G3x7y7[];
+Class_Descriptor cd_G3x7y7 = { "G3x7y7", // class name
+ bases_G3x7y7, 6,
+ &(vtc_G3x7y7[0]), // expected_vtbl_contents
+ &(vtt_G3x7y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G3x7y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G3x7y7),19, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G3x7y7),9, //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 E4x7 : virtual C4 , virtual D0 {
+ int fd;
+ ~E4x7(); // tgen
+ E4x7(); // tgen
+};
+//SIG(-1 E4x7) C1{ VBC2{ BC3{ Fi} BC4{ v1 Fi} Fi} VBC5{ Fi} Fi}
+
+
+E4x7 ::~E4x7(){ note_dtor("E4x7", this);} // tgen
+E4x7 ::E4x7(){ note_ctor("E4x7", this);} // tgen
+
+static void Test_E4x7()
+{
+ extern Class_Descriptor cd_E4x7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E4x7, buf);
+ E4x7 *dp, &lv = *(dp=new (buf) E4x7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E4x7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E4x7)");
+ check_base_class_offset(lv, (A0*)(C4*), ABISELECT(28,16), "E4x7");
+ check_base_class_offset(lv, (B1*)(C4*), ABISELECT(16,8), "E4x7");
+ check_base_class_offset(lv, (C4*), ABISELECT(16,8), "E4x7");
+ check_base_class_offset(lv, (D0*), ABISELECT(36,24), "E4x7");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E4x7.fd");
+ test_class_info(&lv, &cd_E4x7);
+ dp->~E4x7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE4x7(Test_E4x7, "E4x7", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN4E4x7C1Ev();
+extern void _ZN4E4x7D1Ev();
+Name_Map name_map_E4x7[] = {
+ NSPAIR(_ZN4E4x7C1Ev),
+ NSPAIR(_ZN4E4x7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E4x7[] = {
+ // 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_D0, 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, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI4E4x7[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_E4x7[] = {
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x7[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E4x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E4x7[];
+static VTT_ENTRY vtt_E4x7[] = {
+ {&(_ZTV4E4x7[4]), 4,8},
+ {&(_ZTV4E4x7[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI4E4x7[];
+extern VTBL_ENTRY _ZTV4E4x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x7[];
+Class_Descriptor cd_E4x7 = { "E4x7", // class name
+ bases_E4x7, 4,
+ &(vtc_E4x7[0]), // expected_vtbl_contents
+ &(vtt_E4x7[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI4E4x7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E4x7),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E4x7),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 G4x7y0 : E4x7 , F1 {
+ int ff;
+ ~G4x7y0(); // tgen
+ G4x7y0(); // tgen
+};
+//SIG(1 G4x7y0) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G4x7y0 ::~G4x7y0(){ note_dtor("G4x7y0", this);} // tgen
+G4x7y0 ::G4x7y0(){ note_ctor("G4x7y0", this);} // tgen
+
+static void Test_G4x7y0()
+{
+ extern Class_Descriptor cd_G4x7y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G4x7y0, buf);
+ G4x7y0 *dp, &lv = *(dp=new (buf) G4x7y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G4x7y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x7y0)");
+ check_base_class_offset(lv, (A0*)(C4*), ABISELECT(44,28), "G4x7y0");
+ check_base_class_offset(lv, (B1*)(C4*), ABISELECT(32,20), "G4x7y0");
+ check_base_class_offset(lv, (C4*)(E4x7*), ABISELECT(32,20), "G4x7y0");
+ check_base_class_offset(lv, (D0*)(E4x7*), ABISELECT(52,36), "G4x7y0");
+ check_base_class_offset(lv, (E4x7*), 0, "G4x7y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G4x7y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G4x7y0.ff");
+ test_class_info(&lv, &cd_G4x7y0);
+ dp->~G4x7y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x7y0(Test_G4x7y0, "G4x7y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G4x7y0C1Ev();
+extern void _ZN6G4x7y0D1Ev();
+Name_Map name_map_G4x7y0[] = {
+ NSPAIR(_ZN6G4x7y0C1Ev),
+ NSPAIR(_ZN6G4x7y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E4x7;
+extern VTBL_ENTRY _ZTI4E4x7[];
+extern VTBL_ENTRY _ZTV4E4x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G4x7y0[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E4x7, 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 _ZTI6G4x7y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G4x7y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x7y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G4x7y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G4x7y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x7y0[];
+static VTBL_ENTRY _tg__ZTV4E4x7__6G4x7y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x7[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C4__4E4x7__6G4x7y0[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E4x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G4x7y0[] = {
+ {&(_ZTV6G4x7y0[4]), 4,11},
+ {&(_tg__ZTV4E4x7__6G4x7y0[4]), 4,4},
+ {&(_tg__ZTV2B12C4__4E4x7__6G4x7y0[3]), 3,4},
+ {&(_ZTV6G4x7y0[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI6G4x7y0[];
+extern VTBL_ENTRY _ZTV6G4x7y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x7y0[];
+Class_Descriptor cd_G4x7y0 = { "G4x7y0", // class name
+ bases_G4x7y0, 6,
+ &(vtc_G4x7y0[0]), // expected_vtbl_contents
+ &(vtt_G4x7y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G4x7y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x7y0),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x7y0),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 G4x7y1 : virtual E4x7 , F1 {
+ int ff;
+ ~G4x7y1(); // tgen
+ G4x7y1(); // tgen
+};
+//SIG(1 G4x7y1) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G4x7y1 ::~G4x7y1(){ note_dtor("G4x7y1", this);} // tgen
+G4x7y1 ::G4x7y1(){ note_ctor("G4x7y1", this);} // tgen
+
+static void Test_G4x7y1()
+{
+ extern Class_Descriptor cd_G4x7y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G4x7y1, buf);
+ G4x7y1 *dp, &lv = *(dp=new (buf) G4x7y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G4x7y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x7y1)");
+ check_base_class_offset(lv, (A0*)(C4*), ABISELECT(44,28), "G4x7y1");
+ check_base_class_offset(lv, (B1*)(C4*), ABISELECT(32,20), "G4x7y1");
+ check_base_class_offset(lv, (C4*)(E4x7*), ABISELECT(32,20), "G4x7y1");
+ check_base_class_offset(lv, (D0*)(E4x7*), ABISELECT(52,36), "G4x7y1");
+ check_base_class_offset(lv, (E4x7*), ABISELECT(16,12), "G4x7y1");
+ check_base_class_offset(lv, (F1*), 0, "G4x7y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G4x7y1.ff");
+ test_class_info(&lv, &cd_G4x7y1);
+ dp->~G4x7y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x7y1(Test_G4x7y1, "G4x7y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G4x7y1C1Ev();
+extern void _ZN6G4x7y1D1Ev();
+Name_Map name_map_G4x7y1[] = {
+ NSPAIR(_ZN6G4x7y1C1Ev),
+ NSPAIR(_ZN6G4x7y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E4x7;
+extern VTBL_ENTRY _ZTI4E4x7[];
+extern VTBL_ENTRY _ZTV4E4x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G4x7y1[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E4x7, 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 _ZTI6G4x7y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G4x7y1[] = {
+ ABISELECT(52,36),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x7y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G4x7y1[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G4x7y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x7y1[];
+static VTBL_ENTRY _tg__ZTV4E4x7__6G4x7y1[] = {
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x7[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C4__4E4x7__6G4x7y1[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E4x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G4x7y1[] = {
+ {&(_ZTV6G4x7y1[5]), 5,14},
+ {&(_ZTV6G4x7y1[10]), 10,14},
+ {&(_ZTV6G4x7y1[13]), 13,14},
+ {&(_tg__ZTV4E4x7__6G4x7y1[4]), 4,4},
+ {&(_tg__ZTV2B12C4__4E4x7__6G4x7y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G4x7y1[];
+extern VTBL_ENTRY _ZTV6G4x7y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x7y1[];
+Class_Descriptor cd_G4x7y1 = { "G4x7y1", // class name
+ bases_G4x7y1, 6,
+ &(vtc_G4x7y1[0]), // expected_vtbl_contents
+ &(vtt_G4x7y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G4x7y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x7y1),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x7y1),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 G4x7y2 : E4x7 , virtual F1 {
+ int ff;
+ ~G4x7y2(); // tgen
+ G4x7y2(); // tgen
+};
+//SIG(1 G4x7y2) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G4x7y2 ::~G4x7y2(){ note_dtor("G4x7y2", this);} // tgen
+G4x7y2 ::G4x7y2(){ note_ctor("G4x7y2", this);} // tgen
+
+static void Test_G4x7y2()
+{
+ extern Class_Descriptor cd_G4x7y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G4x7y2, buf);
+ G4x7y2 *dp, &lv = *(dp=new (buf) G4x7y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G4x7y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x7y2)");
+ check_base_class_offset(lv, (A0*)(C4*), ABISELECT(28,20), "G4x7y2");
+ check_base_class_offset(lv, (B1*)(C4*), ABISELECT(16,12), "G4x7y2");
+ check_base_class_offset(lv, (C4*)(E4x7*), ABISELECT(16,12), "G4x7y2");
+ check_base_class_offset(lv, (D0*)(E4x7*), ABISELECT(36,28), "G4x7y2");
+ check_base_class_offset(lv, (E4x7*), 0, "G4x7y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(40,32), "G4x7y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G4x7y2.ff");
+ test_class_info(&lv, &cd_G4x7y2);
+ dp->~G4x7y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x7y2(Test_G4x7y2, "G4x7y2", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G4x7y2C1Ev();
+extern void _ZN6G4x7y2D1Ev();
+Name_Map name_map_G4x7y2[] = {
+ NSPAIR(_ZN6G4x7y2C1Ev),
+ NSPAIR(_ZN6G4x7y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E4x7;
+extern VTBL_ENTRY _ZTI4E4x7[];
+extern VTBL_ENTRY _ZTV4E4x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G4x7y2[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E4x7, 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(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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G4x7y2[];
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G4x7y2[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x7y2[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G4x7y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI6G4x7y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x7y2[];
+static VTBL_ENTRY _tg__ZTV4E4x7__6G4x7y2[] = {
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x7[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C4__4E4x7__6G4x7y2[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E4x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G4x7y2[] = {
+ {&(_ZTV6G4x7y2[5]), 5,13},
+ {&(_tg__ZTV4E4x7__6G4x7y2[4]), 4,4},
+ {&(_tg__ZTV2B12C4__4E4x7__6G4x7y2[3]), 3,4},
+ {&(_ZTV6G4x7y2[8]), 8,13},
+ {&(_ZTV6G4x7y2[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI6G4x7y2[];
+extern VTBL_ENTRY _ZTV6G4x7y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x7y2[];
+Class_Descriptor cd_G4x7y2 = { "G4x7y2", // class name
+ bases_G4x7y2, 6,
+ &(vtc_G4x7y2[0]), // expected_vtbl_contents
+ &(vtt_G4x7y2[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G4x7y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x7y2),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x7y2),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 G4x7y3 : virtual E4x7 , virtual F1 {
+ int ff;
+ ~G4x7y3(); // tgen
+ G4x7y3(); // tgen
+};
+//SIG(1 G4x7y3) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G4x7y3 ::~G4x7y3(){ note_dtor("G4x7y3", this);} // tgen
+G4x7y3 ::G4x7y3(){ note_ctor("G4x7y3", this);} // tgen
+
+static void Test_G4x7y3()
+{
+ extern Class_Descriptor cd_G4x7y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G4x7y3, buf);
+ G4x7y3 *dp, &lv = *(dp=new (buf) G4x7y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G4x7y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x7y3)");
+ check_base_class_offset(lv, (A0*)(C4*), ABISELECT(44,24), "G4x7y3");
+ check_base_class_offset(lv, (B1*)(C4*), ABISELECT(32,16), "G4x7y3");
+ check_base_class_offset(lv, (C4*)(E4x7*), ABISELECT(32,16), "G4x7y3");
+ check_base_class_offset(lv, (D0*)(E4x7*), ABISELECT(52,32), "G4x7y3");
+ check_base_class_offset(lv, (E4x7*), ABISELECT(16,8), "G4x7y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G4x7y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G4x7y3.ff");
+ test_class_info(&lv, &cd_G4x7y3);
+ dp->~G4x7y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x7y3(Test_G4x7y3, "G4x7y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G4x7y3C1Ev();
+extern void _ZN6G4x7y3D1Ev();
+Name_Map name_map_G4x7y3[] = {
+ NSPAIR(_ZN6G4x7y3C1Ev),
+ NSPAIR(_ZN6G4x7y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E4x7;
+extern VTBL_ENTRY _ZTI4E4x7[];
+extern VTBL_ENTRY _ZTV4E4x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G4x7y3[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E4x7, 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 _ZTI6G4x7y3[];
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G4x7y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x7y3[0]),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G4x7y3[0]),
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI6G4x7y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G4x7y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x7y3[];
+static VTBL_ENTRY _tg__ZTV4E4x7__6G4x7y3[] = {
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x7[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C4__4E4x7__6G4x7y3[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E4x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G4x7y3[] = {
+ {&(_ZTV6G4x7y3[6]), 6,18},
+ {&(_ZTV6G4x7y3[10]), 10,18},
+ {&(_ZTV6G4x7y3[13]), 13,18},
+ {&(_ZTV6G4x7y3[17]), 17,18},
+ {&(_tg__ZTV4E4x7__6G4x7y3[4]), 4,4},
+ {&(_tg__ZTV2B12C4__4E4x7__6G4x7y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G4x7y3[];
+extern VTBL_ENTRY _ZTV6G4x7y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x7y3[];
+Class_Descriptor cd_G4x7y3 = { "G4x7y3", // class name
+ bases_G4x7y3, 6,
+ &(vtc_G4x7y3[0]), // expected_vtbl_contents
+ &(vtt_G4x7y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G4x7y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x7y3),18, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x7y3),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 G4x7y4 : E4x7 , F0 {
+ int ff;
+ ~G4x7y4(); // tgen
+ G4x7y4(); // tgen
+};
+//SIG(1 G4x7y4) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G4x7y4 ::~G4x7y4(){ note_dtor("G4x7y4", this);} // tgen
+G4x7y4 ::G4x7y4(){ note_ctor("G4x7y4", this);} // tgen
+
+static void Test_G4x7y4()
+{
+ extern Class_Descriptor cd_G4x7y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G4x7y4, buf);
+ G4x7y4 *dp, &lv = *(dp=new (buf) G4x7y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G4x7y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x7y4)");
+ check_base_class_offset(lv, (A0*)(C4*), ABISELECT(36,24), "G4x7y4");
+ check_base_class_offset(lv, (B1*)(C4*), ABISELECT(24,16), "G4x7y4");
+ check_base_class_offset(lv, (C4*)(E4x7*), ABISELECT(24,16), "G4x7y4");
+ check_base_class_offset(lv, (D0*)(E4x7*), ABISELECT(44,32), "G4x7y4");
+ check_base_class_offset(lv, (E4x7*), 0, "G4x7y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G4x7y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G4x7y4.ff");
+ test_class_info(&lv, &cd_G4x7y4);
+ dp->~G4x7y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x7y4(Test_G4x7y4, "G4x7y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G4x7y4C1Ev();
+extern void _ZN6G4x7y4D1Ev();
+Name_Map name_map_G4x7y4[] = {
+ NSPAIR(_ZN6G4x7y4C1Ev),
+ NSPAIR(_ZN6G4x7y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E4x7;
+extern VTBL_ENTRY _ZTI4E4x7[];
+extern VTBL_ENTRY _ZTV4E4x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G4x7y4[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E4x7, 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 _ZTI6G4x7y4[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G4x7y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x7y4[0]),
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G4x7y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x7y4[];
+static VTBL_ENTRY _tg__ZTV4E4x7__6G4x7y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x7[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C4__4E4x7__6G4x7y4[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E4x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G4x7y4[] = {
+ {&(_ZTV6G4x7y4[4]), 4,8},
+ {&(_tg__ZTV4E4x7__6G4x7y4[4]), 4,4},
+ {&(_tg__ZTV2B12C4__4E4x7__6G4x7y4[3]), 3,4},
+ {&(_ZTV6G4x7y4[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI6G4x7y4[];
+extern VTBL_ENTRY _ZTV6G4x7y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x7y4[];
+Class_Descriptor cd_G4x7y4 = { "G4x7y4", // class name
+ bases_G4x7y4, 6,
+ &(vtc_G4x7y4[0]), // expected_vtbl_contents
+ &(vtt_G4x7y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G4x7y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x7y4),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x7y4),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 G4x7y5 : virtual E4x7 , F0 {
+ int ff;
+ ~G4x7y5(); // tgen
+ G4x7y5(); // tgen
+};
+//SIG(1 G4x7y5) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G4x7y5 ::~G4x7y5(){ note_dtor("G4x7y5", this);} // tgen
+G4x7y5 ::G4x7y5(){ note_ctor("G4x7y5", this);} // tgen
+
+static void Test_G4x7y5()
+{
+ extern Class_Descriptor cd_G4x7y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G4x7y5, buf);
+ G4x7y5 *dp, &lv = *(dp=new (buf) G4x7y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G4x7y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x7y5)");
+ check_base_class_offset(lv, (A0*)(C4*), ABISELECT(44,28), "G4x7y5");
+ check_base_class_offset(lv, (B1*)(C4*), ABISELECT(32,20), "G4x7y5");
+ check_base_class_offset(lv, (C4*)(E4x7*), ABISELECT(32,20), "G4x7y5");
+ check_base_class_offset(lv, (D0*)(E4x7*), ABISELECT(52,36), "G4x7y5");
+ check_base_class_offset(lv, (E4x7*), ABISELECT(16,12), "G4x7y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G4x7y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G4x7y5.ff");
+ test_class_info(&lv, &cd_G4x7y5);
+ dp->~G4x7y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x7y5(Test_G4x7y5, "G4x7y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G4x7y5C1Ev();
+extern void _ZN6G4x7y5D1Ev();
+Name_Map name_map_G4x7y5[] = {
+ NSPAIR(_ZN6G4x7y5C1Ev),
+ NSPAIR(_ZN6G4x7y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E4x7;
+extern VTBL_ENTRY _ZTI4E4x7[];
+extern VTBL_ENTRY _ZTV4E4x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G4x7y5[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E4x7, 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 _ZTI6G4x7y5[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G4x7y5[] = {
+ ABISELECT(52,36),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x7y5[0]),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G4x7y5[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G4x7y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x7y5[];
+static VTBL_ENTRY _tg__ZTV4E4x7__6G4x7y5[] = {
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x7[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C4__4E4x7__6G4x7y5[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E4x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G4x7y5[] = {
+ {&(_ZTV6G4x7y5[5]), 5,13},
+ {&(_ZTV6G4x7y5[9]), 9,13},
+ {&(_ZTV6G4x7y5[12]), 12,13},
+ {&(_tg__ZTV4E4x7__6G4x7y5[4]), 4,4},
+ {&(_tg__ZTV2B12C4__4E4x7__6G4x7y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G4x7y5[];
+extern VTBL_ENTRY _ZTV6G4x7y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x7y5[];
+Class_Descriptor cd_G4x7y5 = { "G4x7y5", // class name
+ bases_G4x7y5, 6,
+ &(vtc_G4x7y5[0]), // expected_vtbl_contents
+ &(vtt_G4x7y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G4x7y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x7y5),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x7y5),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 G4x7y6 : E4x7 , virtual F0 {
+ int ff;
+ ~G4x7y6(); // tgen
+ G4x7y6(); // tgen
+};
+//SIG(1 G4x7y6) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G4x7y6 ::~G4x7y6(){ note_dtor("G4x7y6", this);} // tgen
+G4x7y6 ::G4x7y6(){ note_ctor("G4x7y6", this);} // tgen
+
+static void Test_G4x7y6()
+{
+ extern Class_Descriptor cd_G4x7y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G4x7y6, buf);
+ G4x7y6 *dp, &lv = *(dp=new (buf) G4x7y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G4x7y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x7y6)");
+ check_base_class_offset(lv, (A0*)(C4*), ABISELECT(28,20), "G4x7y6");
+ check_base_class_offset(lv, (B1*)(C4*), ABISELECT(16,12), "G4x7y6");
+ check_base_class_offset(lv, (C4*)(E4x7*), ABISELECT(16,12), "G4x7y6");
+ check_base_class_offset(lv, (D0*)(E4x7*), ABISELECT(36,28), "G4x7y6");
+ check_base_class_offset(lv, (E4x7*), 0, "G4x7y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(40,32), "G4x7y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G4x7y6.ff");
+ test_class_info(&lv, &cd_G4x7y6);
+ dp->~G4x7y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x7y6(Test_G4x7y6, "G4x7y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G4x7y6C1Ev();
+extern void _ZN6G4x7y6D1Ev();
+Name_Map name_map_G4x7y6[] = {
+ NSPAIR(_ZN6G4x7y6C1Ev),
+ NSPAIR(_ZN6G4x7y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E4x7;
+extern VTBL_ENTRY _ZTI4E4x7[];
+extern VTBL_ENTRY _ZTV4E4x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G4x7y6[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E4x7, 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(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 _ZTI6G4x7y6[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G4x7y6[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x7y6[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G4x7y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x7y6[];
+static VTBL_ENTRY _tg__ZTV4E4x7__6G4x7y6[] = {
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x7[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C4__4E4x7__6G4x7y6[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E4x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G4x7y6[] = {
+ {&(_ZTV6G4x7y6[5]), 5,9},
+ {&(_tg__ZTV4E4x7__6G4x7y6[4]), 4,4},
+ {&(_tg__ZTV2B12C4__4E4x7__6G4x7y6[3]), 3,4},
+ {&(_ZTV6G4x7y6[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI6G4x7y6[];
+extern VTBL_ENTRY _ZTV6G4x7y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x7y6[];
+Class_Descriptor cd_G4x7y6 = { "G4x7y6", // class name
+ bases_G4x7y6, 6,
+ &(vtc_G4x7y6[0]), // expected_vtbl_contents
+ &(vtt_G4x7y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G4x7y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x7y6),9, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x7y6),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 G4x7y7 : virtual E4x7 , virtual F0 {
+ int ff;
+ ~G4x7y7(); // tgen
+ G4x7y7(); // tgen
+};
+//SIG(1 G4x7y7) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G4x7y7 ::~G4x7y7(){ note_dtor("G4x7y7", this);} // tgen
+G4x7y7 ::G4x7y7(){ note_ctor("G4x7y7", this);} // tgen
+
+static void Test_G4x7y7()
+{
+ extern Class_Descriptor cd_G4x7y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G4x7y7, buf);
+ G4x7y7 *dp, &lv = *(dp=new (buf) G4x7y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G4x7y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G4x7y7)");
+ check_base_class_offset(lv, (A0*)(C4*), ABISELECT(44,24), "G4x7y7");
+ check_base_class_offset(lv, (B1*)(C4*), ABISELECT(32,16), "G4x7y7");
+ check_base_class_offset(lv, (C4*)(E4x7*), ABISELECT(32,16), "G4x7y7");
+ check_base_class_offset(lv, (D0*)(E4x7*), ABISELECT(52,32), "G4x7y7");
+ check_base_class_offset(lv, (E4x7*), ABISELECT(16,8), "G4x7y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G4x7y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G4x7y7.ff");
+ test_class_info(&lv, &cd_G4x7y7);
+ dp->~G4x7y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG4x7y7(Test_G4x7y7, "G4x7y7", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G4x7y7C1Ev();
+extern void _ZN6G4x7y7D1Ev();
+Name_Map name_map_G4x7y7[] = {
+ NSPAIR(_ZN6G4x7y7C1Ev),
+ NSPAIR(_ZN6G4x7y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E4x7;
+extern VTBL_ENTRY _ZTI4E4x7[];
+extern VTBL_ENTRY _ZTV4E4x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E4x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G4x7y7[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E4x7, 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(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 _ZTI6G4x7y7[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G4x7y7[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G4x7y7[0]),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G4x7y7[0]),
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI6G4x7y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G4x7y7[];
+static VTBL_ENTRY _tg__ZTV4E4x7__6G4x7y7[] = {
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E4x7[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C4__4E4x7__6G4x7y7[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E4x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G4x7y7[] = {
+ {&(_ZTV6G4x7y7[6]), 6,14},
+ {&(_ZTV6G4x7y7[10]), 10,14},
+ {&(_ZTV6G4x7y7[13]), 13,14},
+ {&(_tg__ZTV4E4x7__6G4x7y7[4]), 4,4},
+ {&(_tg__ZTV2B12C4__4E4x7__6G4x7y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G4x7y7[];
+extern VTBL_ENTRY _ZTV6G4x7y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G4x7y7[];
+Class_Descriptor cd_G4x7y7 = { "G4x7y7", // class name
+ bases_G4x7y7, 6,
+ &(vtc_G4x7y7[0]), // expected_vtbl_contents
+ &(vtt_G4x7y7[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G4x7y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G4x7y7),14, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G4x7y7),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 E5x7 : virtual C5 , virtual D0 {
+ int fd;
+ ~E5x7(); // tgen
+ E5x7(); // tgen
+};
+//SIG(-1 E5x7) C1{ VBC2{ BC3{ v1 Fi} BC4{ v2 Fi} Fi} VBC5{ Fi} Fi}
+
+
+E5x7 ::~E5x7(){ note_dtor("E5x7", this);} // tgen
+E5x7 ::E5x7(){ note_ctor("E5x7", this);} // tgen
+
+static void Test_E5x7()
+{
+ extern Class_Descriptor cd_E5x7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,9)];
+ init_test(&cd_E5x7, buf);
+ E5x7 *dp, &lv = *(dp=new (buf) E5x7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,32), "sizeof(E5x7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E5x7)");
+ check_base_class_offset(lv, (A1*)(C5*), ABISELECT(16,8), "E5x7");
+ check_base_class_offset(lv, (B1*)(C5*), ABISELECT(32,16), "E5x7");
+ check_base_class_offset(lv, (C5*), ABISELECT(16,8), "E5x7");
+ check_base_class_offset(lv, (D0*), ABISELECT(48,28), "E5x7");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E5x7.fd");
+ test_class_info(&lv, &cd_E5x7);
+ dp->~E5x7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE5x7(Test_E5x7, "E5x7", ABISELECT(56,32));
+
+#else // __cplusplus
+
+extern void _ZN4E5x7C1Ev();
+extern void _ZN4E5x7D1Ev();
+Name_Map name_map_E5x7[] = {
+ NSPAIR(_ZN4E5x7C1Ev),
+ NSPAIR(_ZN4E5x7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E5x7[] = {
+ // 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_D0, 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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI4E5x7[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_E5x7[] = {
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x7[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E5x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI4E5x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E5x7[];
+static VTT_ENTRY vtt_E5x7[] = {
+ {&(_ZTV4E5x7[4]), 4,11},
+ {&(_ZTV4E5x7[7]), 7,11},
+ {&(_ZTV4E5x7[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI4E5x7[];
+extern VTBL_ENTRY _ZTV4E5x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x7[];
+Class_Descriptor cd_E5x7 = { "E5x7", // class name
+ bases_E5x7, 4,
+ &(vtc_E5x7[0]), // expected_vtbl_contents
+ &(vtt_E5x7[0]), // expected_vtt_contents
+ ABISELECT(56,32), // object size
+ NSPAIRA(_ZTI4E5x7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E5x7),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E5x7),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 G5x7y0 : E5x7 , F1 {
+ int ff;
+ ~G5x7y0(); // tgen
+ G5x7y0(); // tgen
+};
+//SIG(1 G5x7y0) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G5x7y0 ::~G5x7y0(){ note_dtor("G5x7y0", this);} // tgen
+G5x7y0 ::G5x7y0(){ note_ctor("G5x7y0", this);} // tgen
+
+static void Test_G5x7y0()
+{
+ extern Class_Descriptor cd_G5x7y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G5x7y0, buf);
+ G5x7y0 *dp, &lv = *(dp=new (buf) G5x7y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G5x7y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x7y0)");
+ check_base_class_offset(lv, (A1*)(C5*), ABISELECT(32,20), "G5x7y0");
+ check_base_class_offset(lv, (B1*)(C5*), ABISELECT(48,28), "G5x7y0");
+ check_base_class_offset(lv, (C5*)(E5x7*), ABISELECT(32,20), "G5x7y0");
+ check_base_class_offset(lv, (D0*)(E5x7*), ABISELECT(64,40), "G5x7y0");
+ check_base_class_offset(lv, (E5x7*), 0, "G5x7y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G5x7y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G5x7y0.ff");
+ test_class_info(&lv, &cd_G5x7y0);
+ dp->~G5x7y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x7y0(Test_G5x7y0, "G5x7y0", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G5x7y0C1Ev();
+extern void _ZN6G5x7y0D1Ev();
+Name_Map name_map_G5x7y0[] = {
+ NSPAIR(_ZN6G5x7y0C1Ev),
+ NSPAIR(_ZN6G5x7y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E5x7;
+extern VTBL_ENTRY _ZTI4E5x7[];
+extern VTBL_ENTRY _ZTV4E5x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G5x7y0[] = {
+ // 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)
+ 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,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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E5x7, 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 _ZTI6G5x7y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G5x7y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x7y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G5x7y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G5x7y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI6G5x7y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x7y0[];
+static VTBL_ENTRY _tg__ZTV4E5x7__6G5x7y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C5__4E5x7__6G5x7y0[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E5x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C5__4E5x7__6G5x7y0[] = {
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI4E5x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G5x7y0[] = {
+ {&(_ZTV6G5x7y0[4]), 4,14},
+ {&(_tg__ZTV4E5x7__6G5x7y0[4]), 4,4},
+ {&(_tg__ZTV2A12C5__4E5x7__6G5x7y0[3]), 3,4},
+ {&(_tg__ZTV2B12C5__4E5x7__6G5x7y0[2]), 2,3},
+ {&(_ZTV6G5x7y0[10]), 10,14},
+ {&(_ZTV6G5x7y0[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI6G5x7y0[];
+extern VTBL_ENTRY _ZTV6G5x7y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x7y0[];
+Class_Descriptor cd_G5x7y0 = { "G5x7y0", // class name
+ bases_G5x7y0, 6,
+ &(vtc_G5x7y0[0]), // expected_vtbl_contents
+ &(vtt_G5x7y0[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G5x7y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x7y0),14, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x7y0),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 G5x7y1 : virtual E5x7 , F1 {
+ int ff;
+ ~G5x7y1(); // tgen
+ G5x7y1(); // tgen
+};
+//SIG(1 G5x7y1) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G5x7y1 ::~G5x7y1(){ note_dtor("G5x7y1", this);} // tgen
+G5x7y1 ::G5x7y1(){ note_ctor("G5x7y1", this);} // tgen
+
+static void Test_G5x7y1()
+{
+ extern Class_Descriptor cd_G5x7y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G5x7y1, buf);
+ G5x7y1 *dp, &lv = *(dp=new (buf) G5x7y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G5x7y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x7y1)");
+ check_base_class_offset(lv, (A1*)(C5*), ABISELECT(32,20), "G5x7y1");
+ check_base_class_offset(lv, (B1*)(C5*), ABISELECT(48,28), "G5x7y1");
+ check_base_class_offset(lv, (C5*)(E5x7*), ABISELECT(32,20), "G5x7y1");
+ check_base_class_offset(lv, (D0*)(E5x7*), ABISELECT(64,40), "G5x7y1");
+ check_base_class_offset(lv, (E5x7*), ABISELECT(16,12), "G5x7y1");
+ check_base_class_offset(lv, (F1*), 0, "G5x7y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G5x7y1.ff");
+ test_class_info(&lv, &cd_G5x7y1);
+ dp->~G5x7y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x7y1(Test_G5x7y1, "G5x7y1", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G5x7y1C1Ev();
+extern void _ZN6G5x7y1D1Ev();
+Name_Map name_map_G5x7y1[] = {
+ NSPAIR(_ZN6G5x7y1C1Ev),
+ NSPAIR(_ZN6G5x7y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E5x7;
+extern VTBL_ENTRY _ZTI4E5x7[];
+extern VTBL_ENTRY _ZTV4E5x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G5x7y1[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E5x7, 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 _ZTI6G5x7y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G5x7y1[] = {
+ ABISELECT(64,40),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x7y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G5x7y1[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G5x7y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI6G5x7y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x7y1[];
+static VTBL_ENTRY _tg__ZTV4E5x7__6G5x7y1[] = {
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C5__4E5x7__6G5x7y1[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E5x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C5__4E5x7__6G5x7y1[] = {
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI4E5x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G5x7y1[] = {
+ {&(_ZTV6G5x7y1[5]), 5,17},
+ {&(_ZTV6G5x7y1[10]), 10,17},
+ {&(_ZTV6G5x7y1[13]), 13,17},
+ {&(_ZTV6G5x7y1[16]), 16,17},
+ {&(_tg__ZTV4E5x7__6G5x7y1[4]), 4,4},
+ {&(_tg__ZTV2A12C5__4E5x7__6G5x7y1[3]), 3,4},
+ {&(_tg__ZTV2B12C5__4E5x7__6G5x7y1[2]), 2,3},
+};
+extern VTBL_ENTRY _ZTI6G5x7y1[];
+extern VTBL_ENTRY _ZTV6G5x7y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x7y1[];
+Class_Descriptor cd_G5x7y1 = { "G5x7y1", // class name
+ bases_G5x7y1, 6,
+ &(vtc_G5x7y1[0]), // expected_vtbl_contents
+ &(vtt_G5x7y1[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G5x7y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x7y1),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x7y1),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 G5x7y2 : E5x7 , virtual F1 {
+ int ff;
+ ~G5x7y2(); // tgen
+ G5x7y2(); // tgen
+};
+//SIG(1 G5x7y2) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G5x7y2 ::~G5x7y2(){ note_dtor("G5x7y2", this);} // tgen
+G5x7y2 ::G5x7y2(){ note_ctor("G5x7y2", this);} // tgen
+
+static void Test_G5x7y2()
+{
+ extern Class_Descriptor cd_G5x7y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G5x7y2, buf);
+ G5x7y2 *dp, &lv = *(dp=new (buf) G5x7y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G5x7y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x7y2)");
+ check_base_class_offset(lv, (A1*)(C5*), ABISELECT(16,12), "G5x7y2");
+ check_base_class_offset(lv, (B1*)(C5*), ABISELECT(32,20), "G5x7y2");
+ check_base_class_offset(lv, (C5*)(E5x7*), ABISELECT(16,12), "G5x7y2");
+ check_base_class_offset(lv, (D0*)(E5x7*), ABISELECT(48,32), "G5x7y2");
+ check_base_class_offset(lv, (E5x7*), 0, "G5x7y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G5x7y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G5x7y2.ff");
+ test_class_info(&lv, &cd_G5x7y2);
+ dp->~G5x7y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x7y2(Test_G5x7y2, "G5x7y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G5x7y2C1Ev();
+extern void _ZN6G5x7y2D1Ev();
+Name_Map name_map_G5x7y2[] = {
+ NSPAIR(_ZN6G5x7y2C1Ev),
+ NSPAIR(_ZN6G5x7y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E5x7;
+extern VTBL_ENTRY _ZTI4E5x7[];
+extern VTBL_ENTRY _ZTV4E5x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G5x7y2[] = {
+ // 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)
+ 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(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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E5x7, 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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G5x7y2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G5x7y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x7y2[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G5x7y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G5x7y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G5x7y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x7y2[];
+static VTBL_ENTRY _tg__ZTV4E5x7__6G5x7y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C5__4E5x7__6G5x7y2[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E5x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C5__4E5x7__6G5x7y2[] = {
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E5x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G5x7y2[] = {
+ {&(_ZTV6G5x7y2[5]), 5,16},
+ {&(_tg__ZTV4E5x7__6G5x7y2[4]), 4,4},
+ {&(_tg__ZTV2A12C5__4E5x7__6G5x7y2[3]), 3,4},
+ {&(_tg__ZTV2B12C5__4E5x7__6G5x7y2[2]), 2,3},
+ {&(_ZTV6G5x7y2[8]), 8,16},
+ {&(_ZTV6G5x7y2[11]), 11,16},
+ {&(_ZTV6G5x7y2[15]), 15,16},
+};
+extern VTBL_ENTRY _ZTI6G5x7y2[];
+extern VTBL_ENTRY _ZTV6G5x7y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x7y2[];
+Class_Descriptor cd_G5x7y2 = { "G5x7y2", // class name
+ bases_G5x7y2, 6,
+ &(vtc_G5x7y2[0]), // expected_vtbl_contents
+ &(vtt_G5x7y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G5x7y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x7y2),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x7y2),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 G5x7y3 : virtual E5x7 , virtual F1 {
+ int ff;
+ ~G5x7y3(); // tgen
+ G5x7y3(); // tgen
+};
+//SIG(1 G5x7y3) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G5x7y3 ::~G5x7y3(){ note_dtor("G5x7y3", this);} // tgen
+G5x7y3 ::G5x7y3(){ note_ctor("G5x7y3", this);} // tgen
+
+static void Test_G5x7y3()
+{
+ extern Class_Descriptor cd_G5x7y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(12,13)];
+ init_test(&cd_G5x7y3, buf);
+ G5x7y3 *dp, &lv = *(dp=new (buf) G5x7y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(88,48), "sizeof(G5x7y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x7y3)");
+ check_base_class_offset(lv, (A1*)(C5*), ABISELECT(32,16), "G5x7y3");
+ check_base_class_offset(lv, (B1*)(C5*), ABISELECT(48,24), "G5x7y3");
+ check_base_class_offset(lv, (C5*)(E5x7*), ABISELECT(32,16), "G5x7y3");
+ check_base_class_offset(lv, (D0*)(E5x7*), ABISELECT(64,36), "G5x7y3");
+ check_base_class_offset(lv, (E5x7*), ABISELECT(16,8), "G5x7y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(72,40), "G5x7y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G5x7y3.ff");
+ test_class_info(&lv, &cd_G5x7y3);
+ dp->~G5x7y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x7y3(Test_G5x7y3, "G5x7y3", ABISELECT(88,48));
+
+#else // __cplusplus
+
+extern void _ZN6G5x7y3C1Ev();
+extern void _ZN6G5x7y3D1Ev();
+Name_Map name_map_G5x7y3[] = {
+ NSPAIR(_ZN6G5x7y3C1Ev),
+ NSPAIR(_ZN6G5x7y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E5x7;
+extern VTBL_ENTRY _ZTI4E5x7[];
+extern VTBL_ENTRY _ZTV4E5x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G5x7y3[] = {
+ // 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_D0, ABISELECT(64,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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E5x7, 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
+ 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 _ZTI6G5x7y3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G5x7y3[] = {
+ ABISELECT(72,40),
+ ABISELECT(64,36),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x7y3[0]),
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G5x7y3[0]),
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI6G5x7y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-48,-24),
+ (VTBL_ENTRY)&(_ZTI6G5x7y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-72,-40),
+ (VTBL_ENTRY)&(_ZTI6G5x7y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x7y3[];
+static VTBL_ENTRY _tg__ZTV4E5x7__6G5x7y3[] = {
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C5__4E5x7__6G5x7y3[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E5x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C5__4E5x7__6G5x7y3[] = {
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI4E5x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G5x7y3[] = {
+ {&(_ZTV6G5x7y3[6]), 6,21},
+ {&(_ZTV6G5x7y3[10]), 10,21},
+ {&(_ZTV6G5x7y3[13]), 13,21},
+ {&(_ZTV6G5x7y3[16]), 16,21},
+ {&(_ZTV6G5x7y3[20]), 20,21},
+ {&(_tg__ZTV4E5x7__6G5x7y3[4]), 4,4},
+ {&(_tg__ZTV2A12C5__4E5x7__6G5x7y3[3]), 3,4},
+ {&(_tg__ZTV2B12C5__4E5x7__6G5x7y3[2]), 2,3},
+};
+extern VTBL_ENTRY _ZTI6G5x7y3[];
+extern VTBL_ENTRY _ZTV6G5x7y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x7y3[];
+Class_Descriptor cd_G5x7y3 = { "G5x7y3", // class name
+ bases_G5x7y3, 6,
+ &(vtc_G5x7y3[0]), // expected_vtbl_contents
+ &(vtt_G5x7y3[0]), // expected_vtt_contents
+ ABISELECT(88,48), // object size
+ NSPAIRA(_ZTI6G5x7y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x7y3),21, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x7y3),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 G5x7y4 : E5x7 , F0 {
+ int ff;
+ ~G5x7y4(); // tgen
+ G5x7y4(); // tgen
+};
+//SIG(1 G5x7y4) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G5x7y4 ::~G5x7y4(){ note_dtor("G5x7y4", this);} // tgen
+G5x7y4 ::G5x7y4(){ note_ctor("G5x7y4", this);} // tgen
+
+static void Test_G5x7y4()
+{
+ extern Class_Descriptor cd_G5x7y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G5x7y4, buf);
+ G5x7y4 *dp, &lv = *(dp=new (buf) G5x7y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G5x7y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x7y4)");
+ check_base_class_offset(lv, (A1*)(C5*), ABISELECT(24,16), "G5x7y4");
+ check_base_class_offset(lv, (B1*)(C5*), ABISELECT(40,24), "G5x7y4");
+ check_base_class_offset(lv, (C5*)(E5x7*), ABISELECT(24,16), "G5x7y4");
+ check_base_class_offset(lv, (D0*)(E5x7*), ABISELECT(56,36), "G5x7y4");
+ check_base_class_offset(lv, (E5x7*), 0, "G5x7y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G5x7y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G5x7y4.ff");
+ test_class_info(&lv, &cd_G5x7y4);
+ dp->~G5x7y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x7y4(Test_G5x7y4, "G5x7y4", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G5x7y4C1Ev();
+extern void _ZN6G5x7y4D1Ev();
+Name_Map name_map_G5x7y4[] = {
+ NSPAIR(_ZN6G5x7y4C1Ev),
+ NSPAIR(_ZN6G5x7y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E5x7;
+extern VTBL_ENTRY _ZTI4E5x7[];
+extern VTBL_ENTRY _ZTV4E5x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G5x7y4[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E5x7, 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 _ZTI6G5x7y4[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G5x7y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x7y4[0]),
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G5x7y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI6G5x7y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x7y4[];
+static VTBL_ENTRY _tg__ZTV4E5x7__6G5x7y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C5__4E5x7__6G5x7y4[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E5x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C5__4E5x7__6G5x7y4[] = {
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI4E5x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G5x7y4[] = {
+ {&(_ZTV6G5x7y4[4]), 4,11},
+ {&(_tg__ZTV4E5x7__6G5x7y4[4]), 4,4},
+ {&(_tg__ZTV2A12C5__4E5x7__6G5x7y4[3]), 3,4},
+ {&(_tg__ZTV2B12C5__4E5x7__6G5x7y4[2]), 2,3},
+ {&(_ZTV6G5x7y4[7]), 7,11},
+ {&(_ZTV6G5x7y4[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI6G5x7y4[];
+extern VTBL_ENTRY _ZTV6G5x7y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x7y4[];
+Class_Descriptor cd_G5x7y4 = { "G5x7y4", // class name
+ bases_G5x7y4, 6,
+ &(vtc_G5x7y4[0]), // expected_vtbl_contents
+ &(vtt_G5x7y4[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G5x7y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x7y4),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x7y4),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 G5x7y5 : virtual E5x7 , F0 {
+ int ff;
+ ~G5x7y5(); // tgen
+ G5x7y5(); // tgen
+};
+//SIG(1 G5x7y5) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G5x7y5 ::~G5x7y5(){ note_dtor("G5x7y5", this);} // tgen
+G5x7y5 ::G5x7y5(){ note_ctor("G5x7y5", this);} // tgen
+
+static void Test_G5x7y5()
+{
+ extern Class_Descriptor cd_G5x7y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G5x7y5, buf);
+ G5x7y5 *dp, &lv = *(dp=new (buf) G5x7y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G5x7y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x7y5)");
+ check_base_class_offset(lv, (A1*)(C5*), ABISELECT(32,20), "G5x7y5");
+ check_base_class_offset(lv, (B1*)(C5*), ABISELECT(48,28), "G5x7y5");
+ check_base_class_offset(lv, (C5*)(E5x7*), ABISELECT(32,20), "G5x7y5");
+ check_base_class_offset(lv, (D0*)(E5x7*), ABISELECT(64,40), "G5x7y5");
+ check_base_class_offset(lv, (E5x7*), ABISELECT(16,12), "G5x7y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G5x7y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G5x7y5.ff");
+ test_class_info(&lv, &cd_G5x7y5);
+ dp->~G5x7y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x7y5(Test_G5x7y5, "G5x7y5", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G5x7y5C1Ev();
+extern void _ZN6G5x7y5D1Ev();
+Name_Map name_map_G5x7y5[] = {
+ NSPAIR(_ZN6G5x7y5C1Ev),
+ NSPAIR(_ZN6G5x7y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E5x7;
+extern VTBL_ENTRY _ZTI4E5x7[];
+extern VTBL_ENTRY _ZTV4E5x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G5x7y5[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E5x7, 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 _ZTI6G5x7y5[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G5x7y5[] = {
+ ABISELECT(64,40),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x7y5[0]),
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G5x7y5[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G5x7y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI6G5x7y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x7y5[];
+static VTBL_ENTRY _tg__ZTV4E5x7__6G5x7y5[] = {
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C5__4E5x7__6G5x7y5[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E5x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C5__4E5x7__6G5x7y5[] = {
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI4E5x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G5x7y5[] = {
+ {&(_ZTV6G5x7y5[5]), 5,16},
+ {&(_ZTV6G5x7y5[9]), 9,16},
+ {&(_ZTV6G5x7y5[12]), 12,16},
+ {&(_ZTV6G5x7y5[15]), 15,16},
+ {&(_tg__ZTV4E5x7__6G5x7y5[4]), 4,4},
+ {&(_tg__ZTV2A12C5__4E5x7__6G5x7y5[3]), 3,4},
+ {&(_tg__ZTV2B12C5__4E5x7__6G5x7y5[2]), 2,3},
+};
+extern VTBL_ENTRY _ZTI6G5x7y5[];
+extern VTBL_ENTRY _ZTV6G5x7y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x7y5[];
+Class_Descriptor cd_G5x7y5 = { "G5x7y5", // class name
+ bases_G5x7y5, 6,
+ &(vtc_G5x7y5[0]), // expected_vtbl_contents
+ &(vtt_G5x7y5[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G5x7y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x7y5),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x7y5),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 G5x7y6 : E5x7 , virtual F0 {
+ int ff;
+ ~G5x7y6(); // tgen
+ G5x7y6(); // tgen
+};
+//SIG(1 G5x7y6) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G5x7y6 ::~G5x7y6(){ note_dtor("G5x7y6", this);} // tgen
+G5x7y6 ::G5x7y6(){ note_ctor("G5x7y6", this);} // tgen
+
+static void Test_G5x7y6()
+{
+ extern Class_Descriptor cd_G5x7y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G5x7y6, buf);
+ G5x7y6 *dp, &lv = *(dp=new (buf) G5x7y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G5x7y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x7y6)");
+ check_base_class_offset(lv, (A1*)(C5*), ABISELECT(16,12), "G5x7y6");
+ check_base_class_offset(lv, (B1*)(C5*), ABISELECT(32,20), "G5x7y6");
+ check_base_class_offset(lv, (C5*)(E5x7*), ABISELECT(16,12), "G5x7y6");
+ check_base_class_offset(lv, (D0*)(E5x7*), ABISELECT(48,32), "G5x7y6");
+ check_base_class_offset(lv, (E5x7*), 0, "G5x7y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G5x7y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G5x7y6.ff");
+ test_class_info(&lv, &cd_G5x7y6);
+ dp->~G5x7y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x7y6(Test_G5x7y6, "G5x7y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G5x7y6C1Ev();
+extern void _ZN6G5x7y6D1Ev();
+Name_Map name_map_G5x7y6[] = {
+ NSPAIR(_ZN6G5x7y6C1Ev),
+ NSPAIR(_ZN6G5x7y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E5x7;
+extern VTBL_ENTRY _ZTI4E5x7[];
+extern VTBL_ENTRY _ZTV4E5x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G5x7y6[] = {
+ // 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)
+ 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(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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E5x7, 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 _ZTI6G5x7y6[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G5x7y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x7y6[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G5x7y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G5x7y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x7y6[];
+static VTBL_ENTRY _tg__ZTV4E5x7__6G5x7y6[] = {
+ ABISELECT(48,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C5__4E5x7__6G5x7y6[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E5x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C5__4E5x7__6G5x7y6[] = {
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E5x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G5x7y6[] = {
+ {&(_ZTV6G5x7y6[5]), 5,12},
+ {&(_tg__ZTV4E5x7__6G5x7y6[4]), 4,4},
+ {&(_tg__ZTV2A12C5__4E5x7__6G5x7y6[3]), 3,4},
+ {&(_tg__ZTV2B12C5__4E5x7__6G5x7y6[2]), 2,3},
+ {&(_ZTV6G5x7y6[8]), 8,12},
+ {&(_ZTV6G5x7y6[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI6G5x7y6[];
+extern VTBL_ENTRY _ZTV6G5x7y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x7y6[];
+Class_Descriptor cd_G5x7y6 = { "G5x7y6", // class name
+ bases_G5x7y6, 6,
+ &(vtc_G5x7y6[0]), // expected_vtbl_contents
+ &(vtt_G5x7y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G5x7y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x7y6),12, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x7y6),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 G5x7y7 : virtual E5x7 , virtual F0 {
+ int ff;
+ ~G5x7y7(); // tgen
+ G5x7y7(); // tgen
+};
+//SIG(1 G5x7y7) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G5x7y7 ::~G5x7y7(){ note_dtor("G5x7y7", this);} // tgen
+G5x7y7 ::G5x7y7(){ note_ctor("G5x7y7", this);} // tgen
+
+static void Test_G5x7y7()
+{
+ extern Class_Descriptor cd_G5x7y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G5x7y7, buf);
+ G5x7y7 *dp, &lv = *(dp=new (buf) G5x7y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G5x7y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G5x7y7)");
+ check_base_class_offset(lv, (A1*)(C5*), ABISELECT(32,16), "G5x7y7");
+ check_base_class_offset(lv, (B1*)(C5*), ABISELECT(48,24), "G5x7y7");
+ check_base_class_offset(lv, (C5*)(E5x7*), ABISELECT(32,16), "G5x7y7");
+ check_base_class_offset(lv, (D0*)(E5x7*), ABISELECT(64,36), "G5x7y7");
+ check_base_class_offset(lv, (E5x7*), ABISELECT(16,8), "G5x7y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(68,40), "G5x7y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G5x7y7.ff");
+ test_class_info(&lv, &cd_G5x7y7);
+ dp->~G5x7y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG5x7y7(Test_G5x7y7, "G5x7y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G5x7y7C1Ev();
+extern void _ZN6G5x7y7D1Ev();
+Name_Map name_map_G5x7y7[] = {
+ NSPAIR(_ZN6G5x7y7C1Ev),
+ NSPAIR(_ZN6G5x7y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E5x7;
+extern VTBL_ENTRY _ZTI4E5x7[];
+extern VTBL_ENTRY _ZTV4E5x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E5x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G5x7y7[] = {
+ // 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_D0, ABISELECT(64,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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E5x7, 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 _ZTI6G5x7y7[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G5x7y7[] = {
+ ABISELECT(68,40),
+ ABISELECT(64,36),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G5x7y7[0]),
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G5x7y7[0]),
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI6G5x7y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ ABISELECT(-48,-24),
+ (VTBL_ENTRY)&(_ZTI6G5x7y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G5x7y7[];
+static VTBL_ENTRY _tg__ZTV4E5x7__6G5x7y7[] = {
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E5x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A12C5__4E5x7__6G5x7y7[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E5x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B12C5__4E5x7__6G5x7y7[] = {
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI4E5x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G5x7y7[] = {
+ {&(_ZTV6G5x7y7[6]), 6,17},
+ {&(_ZTV6G5x7y7[10]), 10,17},
+ {&(_ZTV6G5x7y7[13]), 13,17},
+ {&(_ZTV6G5x7y7[16]), 16,17},
+ {&(_tg__ZTV4E5x7__6G5x7y7[4]), 4,4},
+ {&(_tg__ZTV2A12C5__4E5x7__6G5x7y7[3]), 3,4},
+ {&(_tg__ZTV2B12C5__4E5x7__6G5x7y7[2]), 2,3},
+};
+extern VTBL_ENTRY _ZTI6G5x7y7[];
+extern VTBL_ENTRY _ZTV6G5x7y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G5x7y7[];
+Class_Descriptor cd_G5x7y7 = { "G5x7y7", // class name
+ bases_G5x7y7, 6,
+ &(vtc_G5x7y7[0]), // expected_vtbl_contents
+ &(vtt_G5x7y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G5x7y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G5x7y7),17, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G5x7y7),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 E6x7 : virtual C6 , virtual D0 {
+ int fd;
+ ~E6x7(); // tgen
+ E6x7(); // tgen
+};
+//SIG(-1 E6x7) C1{ VBC2{ VBC3{ Fi} BC4{ v1 Fi} Fi} VBC5{ Fi} Fi}
+
+
+E6x7 ::~E6x7(){ note_dtor("E6x7", this);} // tgen
+E6x7 ::E6x7(){ note_ctor("E6x7", this);} // tgen
+
+static void Test_E6x7()
+{
+ extern Class_Descriptor cd_E6x7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E6x7, buf);
+ E6x7 *dp, &lv = *(dp=new (buf) E6x7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E6x7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E6x7)");
+ check_base_class_offset(lv, (A0*)(C6*), ABISELECT(32,20), "E6x7");
+ check_base_class_offset(lv, (B1*)(C6*), ABISELECT(16,8), "E6x7");
+ check_base_class_offset(lv, (C6*), ABISELECT(16,8), "E6x7");
+ check_base_class_offset(lv, (D0*), ABISELECT(36,24), "E6x7");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E6x7.fd");
+ test_class_info(&lv, &cd_E6x7);
+ dp->~E6x7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE6x7(Test_E6x7, "E6x7", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN4E6x7C1Ev();
+extern void _ZN4E6x7D1Ev();
+Name_Map name_map_E6x7[] = {
+ NSPAIR(_ZN4E6x7C1Ev),
+ NSPAIR(_ZN4E6x7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E6x7[] = {
+ // 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
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D0, 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, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI4E6x7[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_E6x7[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E6x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E6x7[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__4E6x7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_E6x7[] = {
+ {&(_ZTV4E6x7[5]), 5,10},
+ {&(_ZTV4E6x7[9]), 9,10},
+ {&(_tg__ZTV2C6__4E6x7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI4E6x7[];
+extern VTBL_ENTRY _ZTV4E6x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x7[];
+Class_Descriptor cd_E6x7 = { "E6x7", // class name
+ bases_E6x7, 4,
+ &(vtc_E6x7[0]), // expected_vtbl_contents
+ &(vtt_E6x7[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI4E6x7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E6x7),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E6x7),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 G6x7y0 : E6x7 , F1 {
+ int ff;
+ ~G6x7y0(); // tgen
+ G6x7y0(); // tgen
+};
+//SIG(1 G6x7y0) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G6x7y0 ::~G6x7y0(){ note_dtor("G6x7y0", this);} // tgen
+G6x7y0 ::G6x7y0(){ note_ctor("G6x7y0", this);} // tgen
+
+static void Test_G6x7y0()
+{
+ extern Class_Descriptor cd_G6x7y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G6x7y0, buf);
+ G6x7y0 *dp, &lv = *(dp=new (buf) G6x7y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G6x7y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x7y0)");
+ check_base_class_offset(lv, (A0*)(C6*), ABISELECT(48,32), "G6x7y0");
+ check_base_class_offset(lv, (B1*)(C6*), ABISELECT(32,20), "G6x7y0");
+ check_base_class_offset(lv, (C6*)(E6x7*), ABISELECT(32,20), "G6x7y0");
+ check_base_class_offset(lv, (D0*)(E6x7*), ABISELECT(52,36), "G6x7y0");
+ check_base_class_offset(lv, (E6x7*), 0, "G6x7y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G6x7y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G6x7y0.ff");
+ test_class_info(&lv, &cd_G6x7y0);
+ dp->~G6x7y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x7y0(Test_G6x7y0, "G6x7y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G6x7y0C1Ev();
+extern void _ZN6G6x7y0D1Ev();
+Name_Map name_map_G6x7y0[] = {
+ NSPAIR(_ZN6G6x7y0C1Ev),
+ NSPAIR(_ZN6G6x7y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E6x7;
+extern VTBL_ENTRY _ZTI4E6x7[];
+extern VTBL_ENTRY _ZTV4E6x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G6x7y0[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E6x7, 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 _ZTI6G6x7y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G6x7y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x7y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G6x7y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G6x7y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x7y0[];
+static VTBL_ENTRY _tg__ZTV4E6x7__6G6x7y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x7[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__4E6x7__6G6x7y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E6x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__6G6x7y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x7y0[] = {
+ {&(_ZTV6G6x7y0[5]), 5,13},
+ {&(_tg__ZTV4E6x7__6G6x7y0[5]), 5,5},
+ {&(_tg__ZTV2C6__4E6x7__6G6x7y0[4]), 4,5},
+ {&(_ZTV6G6x7y0[12]), 12,13},
+ {&(_tg__ZTV2C6__6G6x7y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x7y0[];
+extern VTBL_ENTRY _ZTV6G6x7y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x7y0[];
+Class_Descriptor cd_G6x7y0 = { "G6x7y0", // class name
+ bases_G6x7y0, 6,
+ &(vtc_G6x7y0[0]), // expected_vtbl_contents
+ &(vtt_G6x7y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G6x7y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x7y0),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x7y0),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 G6x7y1 : virtual E6x7 , F1 {
+ int ff;
+ ~G6x7y1(); // tgen
+ G6x7y1(); // tgen
+};
+//SIG(1 G6x7y1) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G6x7y1 ::~G6x7y1(){ note_dtor("G6x7y1", this);} // tgen
+G6x7y1 ::G6x7y1(){ note_ctor("G6x7y1", this);} // tgen
+
+static void Test_G6x7y1()
+{
+ extern Class_Descriptor cd_G6x7y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G6x7y1, buf);
+ G6x7y1 *dp, &lv = *(dp=new (buf) G6x7y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G6x7y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x7y1)");
+ check_base_class_offset(lv, (A0*)(C6*), ABISELECT(48,32), "G6x7y1");
+ check_base_class_offset(lv, (B1*)(C6*), ABISELECT(32,20), "G6x7y1");
+ check_base_class_offset(lv, (C6*)(E6x7*), ABISELECT(32,20), "G6x7y1");
+ check_base_class_offset(lv, (D0*)(E6x7*), ABISELECT(52,36), "G6x7y1");
+ check_base_class_offset(lv, (E6x7*), ABISELECT(16,12), "G6x7y1");
+ check_base_class_offset(lv, (F1*), 0, "G6x7y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G6x7y1.ff");
+ test_class_info(&lv, &cd_G6x7y1);
+ dp->~G6x7y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x7y1(Test_G6x7y1, "G6x7y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G6x7y1C1Ev();
+extern void _ZN6G6x7y1D1Ev();
+Name_Map name_map_G6x7y1[] = {
+ NSPAIR(_ZN6G6x7y1C1Ev),
+ NSPAIR(_ZN6G6x7y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E6x7;
+extern VTBL_ENTRY _ZTI4E6x7[];
+extern VTBL_ENTRY _ZTV4E6x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G6x7y1[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E6x7, 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 _ZTI6G6x7y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G6x7y1[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x7y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G6x7y1[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G6x7y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x7y1[];
+static VTBL_ENTRY _tg__ZTV4E6x7__6G6x7y1[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x7[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__4E6x7__6G6x7y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E6x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__6G6x7y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x7y1[] = {
+ {&(_ZTV6G6x7y1[6]), 6,17},
+ {&(_ZTV6G6x7y1[12]), 12,17},
+ {&(_ZTV6G6x7y1[16]), 16,17},
+ {&(_tg__ZTV4E6x7__6G6x7y1[5]), 5,5},
+ {&(_tg__ZTV2C6__4E6x7__6G6x7y1[4]), 4,5},
+ {&(_tg__ZTV2C6__6G6x7y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x7y1[];
+extern VTBL_ENTRY _ZTV6G6x7y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x7y1[];
+Class_Descriptor cd_G6x7y1 = { "G6x7y1", // class name
+ bases_G6x7y1, 6,
+ &(vtc_G6x7y1[0]), // expected_vtbl_contents
+ &(vtt_G6x7y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G6x7y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x7y1),17, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x7y1),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 G6x7y2 : E6x7 , virtual F1 {
+ int ff;
+ ~G6x7y2(); // tgen
+ G6x7y2(); // tgen
+};
+//SIG(1 G6x7y2) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G6x7y2 ::~G6x7y2(){ note_dtor("G6x7y2", this);} // tgen
+G6x7y2 ::G6x7y2(){ note_ctor("G6x7y2", this);} // tgen
+
+static void Test_G6x7y2()
+{
+ extern Class_Descriptor cd_G6x7y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G6x7y2, buf);
+ G6x7y2 *dp, &lv = *(dp=new (buf) G6x7y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G6x7y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x7y2)");
+ check_base_class_offset(lv, (A0*)(C6*), ABISELECT(32,24), "G6x7y2");
+ check_base_class_offset(lv, (B1*)(C6*), ABISELECT(16,12), "G6x7y2");
+ check_base_class_offset(lv, (C6*)(E6x7*), ABISELECT(16,12), "G6x7y2");
+ check_base_class_offset(lv, (D0*)(E6x7*), ABISELECT(36,28), "G6x7y2");
+ check_base_class_offset(lv, (E6x7*), 0, "G6x7y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(40,32), "G6x7y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G6x7y2.ff");
+ test_class_info(&lv, &cd_G6x7y2);
+ dp->~G6x7y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x7y2(Test_G6x7y2, "G6x7y2", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G6x7y2C1Ev();
+extern void _ZN6G6x7y2D1Ev();
+Name_Map name_map_G6x7y2[] = {
+ NSPAIR(_ZN6G6x7y2C1Ev),
+ NSPAIR(_ZN6G6x7y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E6x7;
+extern VTBL_ENTRY _ZTI4E6x7[];
+extern VTBL_ENTRY _ZTV4E6x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G6x7y2[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E6x7, 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(40,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 _ZTI6G6x7y2[];
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G6x7y2[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x7y2[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G6x7y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI6G6x7y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x7y2[];
+static VTBL_ENTRY _tg__ZTV4E6x7__6G6x7y2[] = {
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x7[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__4E6x7__6G6x7y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E6x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__6G6x7y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x7y2[] = {
+ {&(_ZTV6G6x7y2[6]), 6,15},
+ {&(_tg__ZTV4E6x7__6G6x7y2[5]), 5,5},
+ {&(_tg__ZTV2C6__4E6x7__6G6x7y2[4]), 4,5},
+ {&(_ZTV6G6x7y2[10]), 10,15},
+ {&(_ZTV6G6x7y2[14]), 14,15},
+ {&(_tg__ZTV2C6__6G6x7y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x7y2[];
+extern VTBL_ENTRY _ZTV6G6x7y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x7y2[];
+Class_Descriptor cd_G6x7y2 = { "G6x7y2", // class name
+ bases_G6x7y2, 6,
+ &(vtc_G6x7y2[0]), // expected_vtbl_contents
+ &(vtt_G6x7y2[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G6x7y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x7y2),15, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x7y2),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 G6x7y3 : virtual E6x7 , virtual F1 {
+ int ff;
+ ~G6x7y3(); // tgen
+ G6x7y3(); // tgen
+};
+//SIG(1 G6x7y3) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G6x7y3 ::~G6x7y3(){ note_dtor("G6x7y3", this);} // tgen
+G6x7y3 ::G6x7y3(){ note_ctor("G6x7y3", this);} // tgen
+
+static void Test_G6x7y3()
+{
+ extern Class_Descriptor cd_G6x7y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G6x7y3, buf);
+ G6x7y3 *dp, &lv = *(dp=new (buf) G6x7y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G6x7y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x7y3)");
+ check_base_class_offset(lv, (A0*)(C6*), ABISELECT(48,28), "G6x7y3");
+ check_base_class_offset(lv, (B1*)(C6*), ABISELECT(32,16), "G6x7y3");
+ check_base_class_offset(lv, (C6*)(E6x7*), ABISELECT(32,16), "G6x7y3");
+ check_base_class_offset(lv, (D0*)(E6x7*), ABISELECT(52,32), "G6x7y3");
+ check_base_class_offset(lv, (E6x7*), ABISELECT(16,8), "G6x7y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G6x7y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G6x7y3.ff");
+ test_class_info(&lv, &cd_G6x7y3);
+ dp->~G6x7y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x7y3(Test_G6x7y3, "G6x7y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G6x7y3C1Ev();
+extern void _ZN6G6x7y3D1Ev();
+Name_Map name_map_G6x7y3[] = {
+ NSPAIR(_ZN6G6x7y3C1Ev),
+ NSPAIR(_ZN6G6x7y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E6x7;
+extern VTBL_ENTRY _ZTI4E6x7[];
+extern VTBL_ENTRY _ZTV4E6x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G6x7y3[] = {
+ // 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
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E6x7, 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
+ 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 _ZTI6G6x7y3[];
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G6x7y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x7y3[0]),
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G6x7y3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI6G6x7y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G6x7y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x7y3[];
+static VTBL_ENTRY _tg__ZTV4E6x7__6G6x7y3[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x7[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__4E6x7__6G6x7y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E6x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__6G6x7y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x7y3[] = {
+ {&(_ZTV6G6x7y3[7]), 7,21},
+ {&(_ZTV6G6x7y3[12]), 12,21},
+ {&(_ZTV6G6x7y3[16]), 16,21},
+ {&(_ZTV6G6x7y3[20]), 20,21},
+ {&(_tg__ZTV4E6x7__6G6x7y3[5]), 5,5},
+ {&(_tg__ZTV2C6__4E6x7__6G6x7y3[4]), 4,5},
+ {&(_tg__ZTV2C6__6G6x7y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x7y3[];
+extern VTBL_ENTRY _ZTV6G6x7y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x7y3[];
+Class_Descriptor cd_G6x7y3 = { "G6x7y3", // class name
+ bases_G6x7y3, 6,
+ &(vtc_G6x7y3[0]), // expected_vtbl_contents
+ &(vtt_G6x7y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G6x7y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x7y3),21, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x7y3),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 G6x7y4 : E6x7 , F0 {
+ int ff;
+ ~G6x7y4(); // tgen
+ G6x7y4(); // tgen
+};
+//SIG(1 G6x7y4) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G6x7y4 ::~G6x7y4(){ note_dtor("G6x7y4", this);} // tgen
+G6x7y4 ::G6x7y4(){ note_ctor("G6x7y4", this);} // tgen
+
+static void Test_G6x7y4()
+{
+ extern Class_Descriptor cd_G6x7y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G6x7y4, buf);
+ G6x7y4 *dp, &lv = *(dp=new (buf) G6x7y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G6x7y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x7y4)");
+ check_base_class_offset(lv, (A0*)(C6*), ABISELECT(40,28), "G6x7y4");
+ check_base_class_offset(lv, (B1*)(C6*), ABISELECT(24,16), "G6x7y4");
+ check_base_class_offset(lv, (C6*)(E6x7*), ABISELECT(24,16), "G6x7y4");
+ check_base_class_offset(lv, (D0*)(E6x7*), ABISELECT(44,32), "G6x7y4");
+ check_base_class_offset(lv, (E6x7*), 0, "G6x7y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G6x7y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G6x7y4.ff");
+ test_class_info(&lv, &cd_G6x7y4);
+ dp->~G6x7y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x7y4(Test_G6x7y4, "G6x7y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G6x7y4C1Ev();
+extern void _ZN6G6x7y4D1Ev();
+Name_Map name_map_G6x7y4[] = {
+ NSPAIR(_ZN6G6x7y4C1Ev),
+ NSPAIR(_ZN6G6x7y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E6x7;
+extern VTBL_ENTRY _ZTI4E6x7[];
+extern VTBL_ENTRY _ZTV4E6x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G6x7y4[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E6x7, 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 _ZTI6G6x7y4[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G6x7y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x7y4[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G6x7y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x7y4[];
+static VTBL_ENTRY _tg__ZTV4E6x7__6G6x7y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x7[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__4E6x7__6G6x7y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E6x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__6G6x7y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x7y4[] = {
+ {&(_ZTV6G6x7y4[5]), 5,10},
+ {&(_tg__ZTV4E6x7__6G6x7y4[5]), 5,5},
+ {&(_tg__ZTV2C6__4E6x7__6G6x7y4[4]), 4,5},
+ {&(_ZTV6G6x7y4[9]), 9,10},
+ {&(_tg__ZTV2C6__6G6x7y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x7y4[];
+extern VTBL_ENTRY _ZTV6G6x7y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x7y4[];
+Class_Descriptor cd_G6x7y4 = { "G6x7y4", // class name
+ bases_G6x7y4, 6,
+ &(vtc_G6x7y4[0]), // expected_vtbl_contents
+ &(vtt_G6x7y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G6x7y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x7y4),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x7y4),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 G6x7y5 : virtual E6x7 , F0 {
+ int ff;
+ ~G6x7y5(); // tgen
+ G6x7y5(); // tgen
+};
+//SIG(1 G6x7y5) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G6x7y5 ::~G6x7y5(){ note_dtor("G6x7y5", this);} // tgen
+G6x7y5 ::G6x7y5(){ note_ctor("G6x7y5", this);} // tgen
+
+static void Test_G6x7y5()
+{
+ extern Class_Descriptor cd_G6x7y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G6x7y5, buf);
+ G6x7y5 *dp, &lv = *(dp=new (buf) G6x7y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G6x7y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x7y5)");
+ check_base_class_offset(lv, (A0*)(C6*), ABISELECT(48,32), "G6x7y5");
+ check_base_class_offset(lv, (B1*)(C6*), ABISELECT(32,20), "G6x7y5");
+ check_base_class_offset(lv, (C6*)(E6x7*), ABISELECT(32,20), "G6x7y5");
+ check_base_class_offset(lv, (D0*)(E6x7*), ABISELECT(52,36), "G6x7y5");
+ check_base_class_offset(lv, (E6x7*), ABISELECT(16,12), "G6x7y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G6x7y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G6x7y5.ff");
+ test_class_info(&lv, &cd_G6x7y5);
+ dp->~G6x7y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x7y5(Test_G6x7y5, "G6x7y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G6x7y5C1Ev();
+extern void _ZN6G6x7y5D1Ev();
+Name_Map name_map_G6x7y5[] = {
+ NSPAIR(_ZN6G6x7y5C1Ev),
+ NSPAIR(_ZN6G6x7y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E6x7;
+extern VTBL_ENTRY _ZTI4E6x7[];
+extern VTBL_ENTRY _ZTV4E6x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G6x7y5[] = {
+ // 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
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E6x7, 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 _ZTI6G6x7y5[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G6x7y5[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x7y5[0]),
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G6x7y5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G6x7y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x7y5[];
+static VTBL_ENTRY _tg__ZTV4E6x7__6G6x7y5[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x7[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__4E6x7__6G6x7y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E6x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__6G6x7y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x7y5[] = {
+ {&(_ZTV6G6x7y5[6]), 6,16},
+ {&(_ZTV6G6x7y5[11]), 11,16},
+ {&(_ZTV6G6x7y5[15]), 15,16},
+ {&(_tg__ZTV4E6x7__6G6x7y5[5]), 5,5},
+ {&(_tg__ZTV2C6__4E6x7__6G6x7y5[4]), 4,5},
+ {&(_tg__ZTV2C6__6G6x7y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x7y5[];
+extern VTBL_ENTRY _ZTV6G6x7y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x7y5[];
+Class_Descriptor cd_G6x7y5 = { "G6x7y5", // class name
+ bases_G6x7y5, 6,
+ &(vtc_G6x7y5[0]), // expected_vtbl_contents
+ &(vtt_G6x7y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G6x7y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x7y5),16, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x7y5),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 G6x7y6 : E6x7 , virtual F0 {
+ int ff;
+ ~G6x7y6(); // tgen
+ G6x7y6(); // tgen
+};
+//SIG(1 G6x7y6) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G6x7y6 ::~G6x7y6(){ note_dtor("G6x7y6", this);} // tgen
+G6x7y6 ::G6x7y6(){ note_ctor("G6x7y6", this);} // tgen
+
+static void Test_G6x7y6()
+{
+ extern Class_Descriptor cd_G6x7y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G6x7y6, buf);
+ G6x7y6 *dp, &lv = *(dp=new (buf) G6x7y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G6x7y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x7y6)");
+ check_base_class_offset(lv, (A0*)(C6*), ABISELECT(32,24), "G6x7y6");
+ check_base_class_offset(lv, (B1*)(C6*), ABISELECT(16,12), "G6x7y6");
+ check_base_class_offset(lv, (C6*)(E6x7*), ABISELECT(16,12), "G6x7y6");
+ check_base_class_offset(lv, (D0*)(E6x7*), ABISELECT(36,28), "G6x7y6");
+ check_base_class_offset(lv, (E6x7*), 0, "G6x7y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(40,32), "G6x7y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G6x7y6.ff");
+ test_class_info(&lv, &cd_G6x7y6);
+ dp->~G6x7y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x7y6(Test_G6x7y6, "G6x7y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G6x7y6C1Ev();
+extern void _ZN6G6x7y6D1Ev();
+Name_Map name_map_G6x7y6[] = {
+ NSPAIR(_ZN6G6x7y6C1Ev),
+ NSPAIR(_ZN6G6x7y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E6x7;
+extern VTBL_ENTRY _ZTI4E6x7[];
+extern VTBL_ENTRY _ZTV4E6x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G6x7y6[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E6x7, 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(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 _ZTI6G6x7y6[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G6x7y6[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x7y6[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G6x7y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x7y6[];
+static VTBL_ENTRY _tg__ZTV4E6x7__6G6x7y6[] = {
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x7[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__4E6x7__6G6x7y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E6x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__6G6x7y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x7y6[] = {
+ {&(_ZTV6G6x7y6[6]), 6,11},
+ {&(_tg__ZTV4E6x7__6G6x7y6[5]), 5,5},
+ {&(_tg__ZTV2C6__4E6x7__6G6x7y6[4]), 4,5},
+ {&(_ZTV6G6x7y6[10]), 10,11},
+ {&(_tg__ZTV2C6__6G6x7y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x7y6[];
+extern VTBL_ENTRY _ZTV6G6x7y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x7y6[];
+Class_Descriptor cd_G6x7y6 = { "G6x7y6", // class name
+ bases_G6x7y6, 6,
+ &(vtc_G6x7y6[0]), // expected_vtbl_contents
+ &(vtt_G6x7y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G6x7y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x7y6),11, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x7y6),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 G6x7y7 : virtual E6x7 , virtual F0 {
+ int ff;
+ ~G6x7y7(); // tgen
+ G6x7y7(); // tgen
+};
+//SIG(1 G6x7y7) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G6x7y7 ::~G6x7y7(){ note_dtor("G6x7y7", this);} // tgen
+G6x7y7 ::G6x7y7(){ note_ctor("G6x7y7", this);} // tgen
+
+static void Test_G6x7y7()
+{
+ extern Class_Descriptor cd_G6x7y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G6x7y7, buf);
+ G6x7y7 *dp, &lv = *(dp=new (buf) G6x7y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G6x7y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G6x7y7)");
+ check_base_class_offset(lv, (A0*)(C6*), ABISELECT(48,28), "G6x7y7");
+ check_base_class_offset(lv, (B1*)(C6*), ABISELECT(32,16), "G6x7y7");
+ check_base_class_offset(lv, (C6*)(E6x7*), ABISELECT(32,16), "G6x7y7");
+ check_base_class_offset(lv, (D0*)(E6x7*), ABISELECT(52,32), "G6x7y7");
+ check_base_class_offset(lv, (E6x7*), ABISELECT(16,8), "G6x7y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G6x7y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G6x7y7.ff");
+ test_class_info(&lv, &cd_G6x7y7);
+ dp->~G6x7y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG6x7y7(Test_G6x7y7, "G6x7y7", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G6x7y7C1Ev();
+extern void _ZN6G6x7y7D1Ev();
+Name_Map name_map_G6x7y7[] = {
+ NSPAIR(_ZN6G6x7y7C1Ev),
+ NSPAIR(_ZN6G6x7y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E6x7;
+extern VTBL_ENTRY _ZTI4E6x7[];
+extern VTBL_ENTRY _ZTV4E6x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E6x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G6x7y7[] = {
+ // 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
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E6x7, 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(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 _ZTI6G6x7y7[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G6x7y7[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G6x7y7[0]),
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G6x7y7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI6G6x7y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G6x7y7[];
+static VTBL_ENTRY _tg__ZTV4E6x7__6G6x7y7[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E6x7[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__4E6x7__6G6x7y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E6x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C6__6G6x7y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G6x7y7[] = {
+ {&(_ZTV6G6x7y7[7]), 7,17},
+ {&(_ZTV6G6x7y7[12]), 12,17},
+ {&(_ZTV6G6x7y7[16]), 16,17},
+ {&(_tg__ZTV4E6x7__6G6x7y7[5]), 5,5},
+ {&(_tg__ZTV2C6__4E6x7__6G6x7y7[4]), 4,5},
+ {&(_tg__ZTV2C6__6G6x7y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G6x7y7[];
+extern VTBL_ENTRY _ZTV6G6x7y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G6x7y7[];
+Class_Descriptor cd_G6x7y7 = { "G6x7y7", // class name
+ bases_G6x7y7, 6,
+ &(vtc_G6x7y7[0]), // expected_vtbl_contents
+ &(vtt_G6x7y7[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G6x7y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G6x7y7),17, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G6x7y7),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 E7x7 : virtual C7 , virtual D0 {
+ int fd;
+ ~E7x7(); // tgen
+ E7x7(); // tgen
+};
+//SIG(-1 E7x7) C1{ VBC2{ VBC3{ v1 Fi} BC4{ v2 Fi} Fi} VBC5{ Fi} Fi}
+
+
+E7x7 ::~E7x7(){ note_dtor("E7x7", this);} // tgen
+E7x7 ::E7x7(){ note_ctor("E7x7", this);} // tgen
+
+static void Test_E7x7()
+{
+ extern Class_Descriptor cd_E7x7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E7x7, buf);
+ E7x7 *dp, &lv = *(dp=new (buf) E7x7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E7x7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E7x7)");
+ check_base_class_offset(lv, (A1*)(C7*), ABISELECT(32,20), "E7x7");
+ check_base_class_offset(lv, (B1*)(C7*), ABISELECT(16,8), "E7x7");
+ check_base_class_offset(lv, (C7*), ABISELECT(16,8), "E7x7");
+ check_base_class_offset(lv, (D0*), ABISELECT(44,28), "E7x7");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E7x7.fd");
+ test_class_info(&lv, &cd_E7x7);
+ dp->~E7x7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE7x7(Test_E7x7, "E7x7", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN4E7x7C1Ev();
+extern void _ZN4E7x7D1Ev();
+Name_Map name_map_E7x7[] = {
+ NSPAIR(_ZN4E7x7C1Ev),
+ NSPAIR(_ZN4E7x7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E7x7[] = {
+ // 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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D0, 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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI4E7x7[];
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_E7x7[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E7x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E7x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E7x7[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__4E7x7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C7__4E7x7[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_E7x7[] = {
+ {&(_ZTV4E7x7[5]), 5,14},
+ {&(_ZTV4E7x7[9]), 9,14},
+ {&(_ZTV4E7x7[13]), 13,14},
+ {&(_tg__ZTV2C7__4E7x7[3]), 3,4},
+ {&(_tg__ZTV2A1__2C7__4E7x7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI4E7x7[];
+extern VTBL_ENTRY _ZTV4E7x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x7[];
+Class_Descriptor cd_E7x7 = { "E7x7", // class name
+ bases_E7x7, 4,
+ &(vtc_E7x7[0]), // expected_vtbl_contents
+ &(vtt_E7x7[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI4E7x7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E7x7),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E7x7),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 G7x7y0 : E7x7 , F1 {
+ int ff;
+ ~G7x7y0(); // tgen
+ G7x7y0(); // tgen
+};
+//SIG(1 G7x7y0) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G7x7y0 ::~G7x7y0(){ note_dtor("G7x7y0", this);} // tgen
+G7x7y0 ::G7x7y0(){ note_ctor("G7x7y0", this);} // tgen
+
+static void Test_G7x7y0()
+{
+ extern Class_Descriptor cd_G7x7y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G7x7y0, buf);
+ G7x7y0 *dp, &lv = *(dp=new (buf) G7x7y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G7x7y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x7y0)");
+ check_base_class_offset(lv, (A1*)(C7*), ABISELECT(48,32), "G7x7y0");
+ check_base_class_offset(lv, (B1*)(C7*), ABISELECT(32,20), "G7x7y0");
+ check_base_class_offset(lv, (C7*)(E7x7*), ABISELECT(32,20), "G7x7y0");
+ check_base_class_offset(lv, (D0*)(E7x7*), ABISELECT(60,40), "G7x7y0");
+ check_base_class_offset(lv, (E7x7*), 0, "G7x7y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G7x7y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G7x7y0.ff");
+ test_class_info(&lv, &cd_G7x7y0);
+ dp->~G7x7y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x7y0(Test_G7x7y0, "G7x7y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G7x7y0C1Ev();
+extern void _ZN6G7x7y0D1Ev();
+Name_Map name_map_G7x7y0[] = {
+ NSPAIR(_ZN6G7x7y0C1Ev),
+ NSPAIR(_ZN6G7x7y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E7x7;
+extern VTBL_ENTRY _ZTI4E7x7[];
+extern VTBL_ENTRY _ZTV4E7x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G7x7y0[] = {
+ // 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_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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E7x7, 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 _ZTI6G7x7y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G7x7y0[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x7y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G7x7y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G7x7y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G7x7y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x7y0[];
+static VTBL_ENTRY _tg__ZTV4E7x7__6G7x7y0[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x7[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__4E7x7__6G7x7y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E7x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x7__6G7x7y0[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI4E7x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__6G7x7y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C7__6G7x7y0[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x7y0[] = {
+ {&(_ZTV6G7x7y0[5]), 5,17},
+ {&(_tg__ZTV4E7x7__6G7x7y0[5]), 5,5},
+ {&(_tg__ZTV2C7__4E7x7__6G7x7y0[4]), 4,5},
+ {&(_tg__ZTV2A1__4E7x7__6G7x7y0[3]), 3,4},
+ {&(_ZTV6G7x7y0[12]), 12,17},
+ {&(_ZTV6G7x7y0[16]), 16,17},
+ {&(_tg__ZTV2C7__6G7x7y0[3]), 3,4},
+ {&(_tg__ZTV2A1__2C7__6G7x7y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G7x7y0[];
+extern VTBL_ENTRY _ZTV6G7x7y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x7y0[];
+Class_Descriptor cd_G7x7y0 = { "G7x7y0", // class name
+ bases_G7x7y0, 6,
+ &(vtc_G7x7y0[0]), // expected_vtbl_contents
+ &(vtt_G7x7y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G7x7y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x7y0),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x7y0),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 G7x7y1 : virtual E7x7 , F1 {
+ int ff;
+ ~G7x7y1(); // tgen
+ G7x7y1(); // tgen
+};
+//SIG(1 G7x7y1) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G7x7y1 ::~G7x7y1(){ note_dtor("G7x7y1", this);} // tgen
+G7x7y1 ::G7x7y1(){ note_ctor("G7x7y1", this);} // tgen
+
+static void Test_G7x7y1()
+{
+ extern Class_Descriptor cd_G7x7y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G7x7y1, buf);
+ G7x7y1 *dp, &lv = *(dp=new (buf) G7x7y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G7x7y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x7y1)");
+ check_base_class_offset(lv, (A1*)(C7*), ABISELECT(48,32), "G7x7y1");
+ check_base_class_offset(lv, (B1*)(C7*), ABISELECT(32,20), "G7x7y1");
+ check_base_class_offset(lv, (C7*)(E7x7*), ABISELECT(32,20), "G7x7y1");
+ check_base_class_offset(lv, (D0*)(E7x7*), ABISELECT(60,40), "G7x7y1");
+ check_base_class_offset(lv, (E7x7*), ABISELECT(16,12), "G7x7y1");
+ check_base_class_offset(lv, (F1*), 0, "G7x7y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G7x7y1.ff");
+ test_class_info(&lv, &cd_G7x7y1);
+ dp->~G7x7y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x7y1(Test_G7x7y1, "G7x7y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G7x7y1C1Ev();
+extern void _ZN6G7x7y1D1Ev();
+Name_Map name_map_G7x7y1[] = {
+ NSPAIR(_ZN6G7x7y1C1Ev),
+ NSPAIR(_ZN6G7x7y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E7x7;
+extern VTBL_ENTRY _ZTI4E7x7[];
+extern VTBL_ENTRY _ZTV4E7x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G7x7y1[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E7x7, 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 _ZTI6G7x7y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G7x7y1[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x7y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G7x7y1[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G7x7y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G7x7y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x7y1[];
+static VTBL_ENTRY _tg__ZTV4E7x7__6G7x7y1[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x7[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__4E7x7__6G7x7y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E7x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x7__6G7x7y1[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E7x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__6G7x7y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C7__6G7x7y1[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x7y1[] = {
+ {&(_ZTV6G7x7y1[6]), 6,21},
+ {&(_ZTV6G7x7y1[12]), 12,21},
+ {&(_ZTV6G7x7y1[16]), 16,21},
+ {&(_ZTV6G7x7y1[20]), 20,21},
+ {&(_tg__ZTV4E7x7__6G7x7y1[5]), 5,5},
+ {&(_tg__ZTV2C7__4E7x7__6G7x7y1[4]), 4,5},
+ {&(_tg__ZTV2A1__4E7x7__6G7x7y1[3]), 3,4},
+ {&(_tg__ZTV2C7__6G7x7y1[3]), 3,4},
+ {&(_tg__ZTV2A1__2C7__6G7x7y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G7x7y1[];
+extern VTBL_ENTRY _ZTV6G7x7y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x7y1[];
+Class_Descriptor cd_G7x7y1 = { "G7x7y1", // class name
+ bases_G7x7y1, 6,
+ &(vtc_G7x7y1[0]), // expected_vtbl_contents
+ &(vtt_G7x7y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G7x7y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x7y1),21, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x7y1),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 G7x7y2 : E7x7 , virtual F1 {
+ int ff;
+ ~G7x7y2(); // tgen
+ G7x7y2(); // tgen
+};
+//SIG(1 G7x7y2) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G7x7y2 ::~G7x7y2(){ note_dtor("G7x7y2", this);} // tgen
+G7x7y2 ::G7x7y2(){ note_ctor("G7x7y2", this);} // tgen
+
+static void Test_G7x7y2()
+{
+ extern Class_Descriptor cd_G7x7y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G7x7y2, buf);
+ G7x7y2 *dp, &lv = *(dp=new (buf) G7x7y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G7x7y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x7y2)");
+ check_base_class_offset(lv, (A1*)(C7*), ABISELECT(32,24), "G7x7y2");
+ check_base_class_offset(lv, (B1*)(C7*), ABISELECT(16,12), "G7x7y2");
+ check_base_class_offset(lv, (C7*)(E7x7*), ABISELECT(16,12), "G7x7y2");
+ check_base_class_offset(lv, (D0*)(E7x7*), ABISELECT(44,32), "G7x7y2");
+ check_base_class_offset(lv, (E7x7*), 0, "G7x7y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,36), "G7x7y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G7x7y2.ff");
+ test_class_info(&lv, &cd_G7x7y2);
+ dp->~G7x7y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x7y2(Test_G7x7y2, "G7x7y2", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G7x7y2C1Ev();
+extern void _ZN6G7x7y2D1Ev();
+Name_Map name_map_G7x7y2[] = {
+ NSPAIR(_ZN6G7x7y2C1Ev),
+ NSPAIR(_ZN6G7x7y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E7x7;
+extern VTBL_ENTRY _ZTI4E7x7[];
+extern VTBL_ENTRY _ZTV4E7x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G7x7y2[] = {
+ // 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)
+ 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(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E7x7, 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(48,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 _ZTI6G7x7y2[];
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G7x7y2[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x7y2[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G7x7y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G7x7y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI6G7x7y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x7y2[];
+static VTBL_ENTRY _tg__ZTV4E7x7__6G7x7y2[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x7[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__4E7x7__6G7x7y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E7x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x7__6G7x7y2[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E7x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__6G7x7y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C7__6G7x7y2[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x7y2[] = {
+ {&(_ZTV6G7x7y2[6]), 6,19},
+ {&(_tg__ZTV4E7x7__6G7x7y2[5]), 5,5},
+ {&(_tg__ZTV2C7__4E7x7__6G7x7y2[4]), 4,5},
+ {&(_tg__ZTV2A1__4E7x7__6G7x7y2[3]), 3,4},
+ {&(_ZTV6G7x7y2[10]), 10,19},
+ {&(_ZTV6G7x7y2[14]), 14,19},
+ {&(_ZTV6G7x7y2[18]), 18,19},
+ {&(_tg__ZTV2C7__6G7x7y2[3]), 3,4},
+ {&(_tg__ZTV2A1__2C7__6G7x7y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G7x7y2[];
+extern VTBL_ENTRY _ZTV6G7x7y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x7y2[];
+Class_Descriptor cd_G7x7y2 = { "G7x7y2", // class name
+ bases_G7x7y2, 6,
+ &(vtc_G7x7y2[0]), // expected_vtbl_contents
+ &(vtt_G7x7y2[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G7x7y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x7y2),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x7y2),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 G7x7y3 : virtual E7x7 , virtual F1 {
+ int ff;
+ ~G7x7y3(); // tgen
+ G7x7y3(); // tgen
+};
+//SIG(1 G7x7y3) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G7x7y3 ::~G7x7y3(){ note_dtor("G7x7y3", this);} // tgen
+G7x7y3 ::G7x7y3(){ note_ctor("G7x7y3", this);} // tgen
+
+static void Test_G7x7y3()
+{
+ extern Class_Descriptor cd_G7x7y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G7x7y3, buf);
+ G7x7y3 *dp, &lv = *(dp=new (buf) G7x7y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G7x7y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x7y3)");
+ check_base_class_offset(lv, (A1*)(C7*), ABISELECT(48,28), "G7x7y3");
+ check_base_class_offset(lv, (B1*)(C7*), ABISELECT(32,16), "G7x7y3");
+ check_base_class_offset(lv, (C7*)(E7x7*), ABISELECT(32,16), "G7x7y3");
+ check_base_class_offset(lv, (D0*)(E7x7*), ABISELECT(60,36), "G7x7y3");
+ check_base_class_offset(lv, (E7x7*), ABISELECT(16,8), "G7x7y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G7x7y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G7x7y3.ff");
+ test_class_info(&lv, &cd_G7x7y3);
+ dp->~G7x7y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x7y3(Test_G7x7y3, "G7x7y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN6G7x7y3C1Ev();
+extern void _ZN6G7x7y3D1Ev();
+Name_Map name_map_G7x7y3[] = {
+ NSPAIR(_ZN6G7x7y3C1Ev),
+ NSPAIR(_ZN6G7x7y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E7x7;
+extern VTBL_ENTRY _ZTI4E7x7[];
+extern VTBL_ENTRY _ZTV4E7x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G7x7y3[] = {
+ // 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
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E7x7, 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
+ 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 _ZTI6G7x7y3[];
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G7x7y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x7y3[0]),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G7x7y3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI6G7x7y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI6G7x7y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI6G7x7y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x7y3[];
+static VTBL_ENTRY _tg__ZTV4E7x7__6G7x7y3[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x7[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__4E7x7__6G7x7y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E7x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x7__6G7x7y3[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E7x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__6G7x7y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C7__6G7x7y3[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x7y3[] = {
+ {&(_ZTV6G7x7y3[7]), 7,25},
+ {&(_ZTV6G7x7y3[12]), 12,25},
+ {&(_ZTV6G7x7y3[16]), 16,25},
+ {&(_ZTV6G7x7y3[20]), 20,25},
+ {&(_ZTV6G7x7y3[24]), 24,25},
+ {&(_tg__ZTV4E7x7__6G7x7y3[5]), 5,5},
+ {&(_tg__ZTV2C7__4E7x7__6G7x7y3[4]), 4,5},
+ {&(_tg__ZTV2A1__4E7x7__6G7x7y3[3]), 3,4},
+ {&(_tg__ZTV2C7__6G7x7y3[3]), 3,4},
+ {&(_tg__ZTV2A1__2C7__6G7x7y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G7x7y3[];
+extern VTBL_ENTRY _ZTV6G7x7y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x7y3[];
+Class_Descriptor cd_G7x7y3 = { "G7x7y3", // class name
+ bases_G7x7y3, 6,
+ &(vtc_G7x7y3[0]), // expected_vtbl_contents
+ &(vtt_G7x7y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI6G7x7y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x7y3),25, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x7y3),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 G7x7y4 : E7x7 , F0 {
+ int ff;
+ ~G7x7y4(); // tgen
+ G7x7y4(); // tgen
+};
+//SIG(1 G7x7y4) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G7x7y4 ::~G7x7y4(){ note_dtor("G7x7y4", this);} // tgen
+G7x7y4 ::G7x7y4(){ note_ctor("G7x7y4", this);} // tgen
+
+static void Test_G7x7y4()
+{
+ extern Class_Descriptor cd_G7x7y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G7x7y4, buf);
+ G7x7y4 *dp, &lv = *(dp=new (buf) G7x7y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G7x7y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x7y4)");
+ check_base_class_offset(lv, (A1*)(C7*), ABISELECT(40,28), "G7x7y4");
+ check_base_class_offset(lv, (B1*)(C7*), ABISELECT(24,16), "G7x7y4");
+ check_base_class_offset(lv, (C7*)(E7x7*), ABISELECT(24,16), "G7x7y4");
+ check_base_class_offset(lv, (D0*)(E7x7*), ABISELECT(52,36), "G7x7y4");
+ check_base_class_offset(lv, (E7x7*), 0, "G7x7y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G7x7y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G7x7y4.ff");
+ test_class_info(&lv, &cd_G7x7y4);
+ dp->~G7x7y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x7y4(Test_G7x7y4, "G7x7y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G7x7y4C1Ev();
+extern void _ZN6G7x7y4D1Ev();
+Name_Map name_map_G7x7y4[] = {
+ NSPAIR(_ZN6G7x7y4C1Ev),
+ NSPAIR(_ZN6G7x7y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E7x7;
+extern VTBL_ENTRY _ZTI4E7x7[];
+extern VTBL_ENTRY _ZTV4E7x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G7x7y4[] = {
+ // 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_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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E7x7, 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 _ZTI6G7x7y4[];
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G7x7y4[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x7y4[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G7x7y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI6G7x7y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x7y4[];
+static VTBL_ENTRY _tg__ZTV4E7x7__6G7x7y4[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x7[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__4E7x7__6G7x7y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E7x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x7__6G7x7y4[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI4E7x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__6G7x7y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C7__6G7x7y4[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x7y4[] = {
+ {&(_ZTV6G7x7y4[5]), 5,14},
+ {&(_tg__ZTV4E7x7__6G7x7y4[5]), 5,5},
+ {&(_tg__ZTV2C7__4E7x7__6G7x7y4[4]), 4,5},
+ {&(_tg__ZTV2A1__4E7x7__6G7x7y4[3]), 3,4},
+ {&(_ZTV6G7x7y4[9]), 9,14},
+ {&(_ZTV6G7x7y4[13]), 13,14},
+ {&(_tg__ZTV2C7__6G7x7y4[3]), 3,4},
+ {&(_tg__ZTV2A1__2C7__6G7x7y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G7x7y4[];
+extern VTBL_ENTRY _ZTV6G7x7y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x7y4[];
+Class_Descriptor cd_G7x7y4 = { "G7x7y4", // class name
+ bases_G7x7y4, 6,
+ &(vtc_G7x7y4[0]), // expected_vtbl_contents
+ &(vtt_G7x7y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G7x7y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x7y4),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x7y4),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 G7x7y5 : virtual E7x7 , F0 {
+ int ff;
+ ~G7x7y5(); // tgen
+ G7x7y5(); // tgen
+};
+//SIG(1 G7x7y5) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G7x7y5 ::~G7x7y5(){ note_dtor("G7x7y5", this);} // tgen
+G7x7y5 ::G7x7y5(){ note_ctor("G7x7y5", this);} // tgen
+
+static void Test_G7x7y5()
+{
+ extern Class_Descriptor cd_G7x7y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G7x7y5, buf);
+ G7x7y5 *dp, &lv = *(dp=new (buf) G7x7y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G7x7y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x7y5)");
+ check_base_class_offset(lv, (A1*)(C7*), ABISELECT(48,32), "G7x7y5");
+ check_base_class_offset(lv, (B1*)(C7*), ABISELECT(32,20), "G7x7y5");
+ check_base_class_offset(lv, (C7*)(E7x7*), ABISELECT(32,20), "G7x7y5");
+ check_base_class_offset(lv, (D0*)(E7x7*), ABISELECT(60,40), "G7x7y5");
+ check_base_class_offset(lv, (E7x7*), ABISELECT(16,12), "G7x7y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G7x7y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G7x7y5.ff");
+ test_class_info(&lv, &cd_G7x7y5);
+ dp->~G7x7y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x7y5(Test_G7x7y5, "G7x7y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN6G7x7y5C1Ev();
+extern void _ZN6G7x7y5D1Ev();
+Name_Map name_map_G7x7y5[] = {
+ NSPAIR(_ZN6G7x7y5C1Ev),
+ NSPAIR(_ZN6G7x7y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E7x7;
+extern VTBL_ENTRY _ZTI4E7x7[];
+extern VTBL_ENTRY _ZTV4E7x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G7x7y5[] = {
+ // 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
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E7x7, 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 _ZTI6G7x7y5[];
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G7x7y5[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x7y5[0]),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G7x7y5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G7x7y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI6G7x7y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x7y5[];
+static VTBL_ENTRY _tg__ZTV4E7x7__6G7x7y5[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x7[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__4E7x7__6G7x7y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E7x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x7__6G7x7y5[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E7x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__6G7x7y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C7__6G7x7y5[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x7y5[] = {
+ {&(_ZTV6G7x7y5[6]), 6,20},
+ {&(_ZTV6G7x7y5[11]), 11,20},
+ {&(_ZTV6G7x7y5[15]), 15,20},
+ {&(_ZTV6G7x7y5[19]), 19,20},
+ {&(_tg__ZTV4E7x7__6G7x7y5[5]), 5,5},
+ {&(_tg__ZTV2C7__4E7x7__6G7x7y5[4]), 4,5},
+ {&(_tg__ZTV2A1__4E7x7__6G7x7y5[3]), 3,4},
+ {&(_tg__ZTV2C7__6G7x7y5[3]), 3,4},
+ {&(_tg__ZTV2A1__2C7__6G7x7y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G7x7y5[];
+extern VTBL_ENTRY _ZTV6G7x7y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x7y5[];
+Class_Descriptor cd_G7x7y5 = { "G7x7y5", // class name
+ bases_G7x7y5, 6,
+ &(vtc_G7x7y5[0]), // expected_vtbl_contents
+ &(vtt_G7x7y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI6G7x7y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x7y5),20, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x7y5),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 G7x7y6 : E7x7 , virtual F0 {
+ int ff;
+ ~G7x7y6(); // tgen
+ G7x7y6(); // tgen
+};
+//SIG(1 G7x7y6) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G7x7y6 ::~G7x7y6(){ note_dtor("G7x7y6", this);} // tgen
+G7x7y6 ::G7x7y6(){ note_ctor("G7x7y6", this);} // tgen
+
+static void Test_G7x7y6()
+{
+ extern Class_Descriptor cd_G7x7y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G7x7y6, buf);
+ G7x7y6 *dp, &lv = *(dp=new (buf) G7x7y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G7x7y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x7y6)");
+ check_base_class_offset(lv, (A1*)(C7*), ABISELECT(32,24), "G7x7y6");
+ check_base_class_offset(lv, (B1*)(C7*), ABISELECT(16,12), "G7x7y6");
+ check_base_class_offset(lv, (C7*)(E7x7*), ABISELECT(16,12), "G7x7y6");
+ check_base_class_offset(lv, (D0*)(E7x7*), ABISELECT(44,32), "G7x7y6");
+ check_base_class_offset(lv, (E7x7*), 0, "G7x7y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(48,36), "G7x7y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G7x7y6.ff");
+ test_class_info(&lv, &cd_G7x7y6);
+ dp->~G7x7y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x7y6(Test_G7x7y6, "G7x7y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G7x7y6C1Ev();
+extern void _ZN6G7x7y6D1Ev();
+Name_Map name_map_G7x7y6[] = {
+ NSPAIR(_ZN6G7x7y6C1Ev),
+ NSPAIR(_ZN6G7x7y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E7x7;
+extern VTBL_ENTRY _ZTI4E7x7[];
+extern VTBL_ENTRY _ZTV4E7x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G7x7y6[] = {
+ // 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)
+ 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(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E7x7, 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(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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G7x7y6[];
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G7x7y6[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x7y6[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G7x7y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI6G7x7y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x7y6[];
+static VTBL_ENTRY _tg__ZTV4E7x7__6G7x7y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x7[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__4E7x7__6G7x7y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E7x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x7__6G7x7y6[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI4E7x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__6G7x7y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C7__6G7x7y6[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x7y6[] = {
+ {&(_ZTV6G7x7y6[6]), 6,15},
+ {&(_tg__ZTV4E7x7__6G7x7y6[5]), 5,5},
+ {&(_tg__ZTV2C7__4E7x7__6G7x7y6[4]), 4,5},
+ {&(_tg__ZTV2A1__4E7x7__6G7x7y6[3]), 3,4},
+ {&(_ZTV6G7x7y6[10]), 10,15},
+ {&(_ZTV6G7x7y6[14]), 14,15},
+ {&(_tg__ZTV2C7__6G7x7y6[3]), 3,4},
+ {&(_tg__ZTV2A1__2C7__6G7x7y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G7x7y6[];
+extern VTBL_ENTRY _ZTV6G7x7y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x7y6[];
+Class_Descriptor cd_G7x7y6 = { "G7x7y6", // class name
+ bases_G7x7y6, 6,
+ &(vtc_G7x7y6[0]), // expected_vtbl_contents
+ &(vtt_G7x7y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G7x7y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x7y6),15, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x7y6),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 G7x7y7 : virtual E7x7 , virtual F0 {
+ int ff;
+ ~G7x7y7(); // tgen
+ G7x7y7(); // tgen
+};
+//SIG(1 G7x7y7) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ v2 Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G7x7y7 ::~G7x7y7(){ note_dtor("G7x7y7", this);} // tgen
+G7x7y7 ::G7x7y7(){ note_ctor("G7x7y7", this);} // tgen
+
+static void Test_G7x7y7()
+{
+ extern Class_Descriptor cd_G7x7y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G7x7y7, buf);
+ G7x7y7 *dp, &lv = *(dp=new (buf) G7x7y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G7x7y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G7x7y7)");
+ check_base_class_offset(lv, (A1*)(C7*), ABISELECT(48,28), "G7x7y7");
+ check_base_class_offset(lv, (B1*)(C7*), ABISELECT(32,16), "G7x7y7");
+ check_base_class_offset(lv, (C7*)(E7x7*), ABISELECT(32,16), "G7x7y7");
+ check_base_class_offset(lv, (D0*)(E7x7*), ABISELECT(60,36), "G7x7y7");
+ check_base_class_offset(lv, (E7x7*), ABISELECT(16,8), "G7x7y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(64,40), "G7x7y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G7x7y7.ff");
+ test_class_info(&lv, &cd_G7x7y7);
+ dp->~G7x7y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG7x7y7(Test_G7x7y7, "G7x7y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G7x7y7C1Ev();
+extern void _ZN6G7x7y7D1Ev();
+Name_Map name_map_G7x7y7[] = {
+ NSPAIR(_ZN6G7x7y7C1Ev),
+ NSPAIR(_ZN6G7x7y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E7x7;
+extern VTBL_ENTRY _ZTI4E7x7[];
+extern VTBL_ENTRY _ZTV4E7x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E7x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G7x7y7[] = {
+ // 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
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E7x7, 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(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 _ZTI6G7x7y7[];
+extern void _ZN2B13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G7x7y7[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G7x7y7[0]),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G7x7y7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI6G7x7y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI6G7x7y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G7x7y7[];
+static VTBL_ENTRY _tg__ZTV4E7x7__6G7x7y7[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E7x7[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__4E7x7__6G7x7y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E7x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__4E7x7__6G7x7y7[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E7x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2C7__6G7x7y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__2C7__6G7x7y7[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI2C7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G7x7y7[] = {
+ {&(_ZTV6G7x7y7[7]), 7,21},
+ {&(_ZTV6G7x7y7[12]), 12,21},
+ {&(_ZTV6G7x7y7[16]), 16,21},
+ {&(_ZTV6G7x7y7[20]), 20,21},
+ {&(_tg__ZTV4E7x7__6G7x7y7[5]), 5,5},
+ {&(_tg__ZTV2C7__4E7x7__6G7x7y7[4]), 4,5},
+ {&(_tg__ZTV2A1__4E7x7__6G7x7y7[3]), 3,4},
+ {&(_tg__ZTV2C7__6G7x7y7[3]), 3,4},
+ {&(_tg__ZTV2A1__2C7__6G7x7y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G7x7y7[];
+extern VTBL_ENTRY _ZTV6G7x7y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G7x7y7[];
+Class_Descriptor cd_G7x7y7 = { "G7x7y7", // class name
+ bases_G7x7y7, 6,
+ &(vtc_G7x7y7[0]), // expected_vtbl_contents
+ &(vtt_G7x7y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G7x7y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G7x7y7),21, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G7x7y7),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 E8x7 : virtual C8 , virtual D0 {
+ int fd;
+ ~E8x7(); // tgen
+ E8x7(); // tgen
+};
+//SIG(-1 E8x7) C1{ VBC2{ BC3{ Fi} VBC4{ Fi} Fi} VBC5{ Fi} Fi}
+
+
+E8x7 ::~E8x7(){ note_dtor("E8x7", this);} // tgen
+E8x7 ::E8x7(){ note_ctor("E8x7", this);} // tgen
+
+static void Test_E8x7()
+{
+ extern Class_Descriptor cd_E8x7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E8x7, buf);
+ E8x7 *dp, &lv = *(dp=new (buf) E8x7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E8x7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E8x7)");
+ check_base_class_offset(lv, (A0*)(C8*), ABISELECT(24,12), "E8x7");
+ check_base_class_offset(lv, (B0*)(C8*), ABISELECT(32,20), "E8x7");
+ check_base_class_offset(lv, (C8*), ABISELECT(16,8), "E8x7");
+ check_base_class_offset(lv, (D0*), ABISELECT(36,24), "E8x7");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E8x7.fd");
+ test_class_info(&lv, &cd_E8x7);
+ dp->~E8x7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE8x7(Test_E8x7, "E8x7", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN4E8x7C1Ev();
+extern void _ZN4E8x7D1Ev();
+Name_Map name_map_E8x7[] = {
+ NSPAIR(_ZN4E8x7C1Ev),
+ NSPAIR(_ZN4E8x7D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E8x7[] = {
+ // 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
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D0, 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, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI4E8x7[];
+static VTBL_ENTRY vtc_E8x7[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x7[0]),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E8x7[0]),
+};
+extern VTBL_ENTRY _ZTV4E8x7[];
+static VTBL_ENTRY _tg__ZTV2C8__4E8x7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_E8x7[] = {
+ {&(_ZTV4E8x7[5]), 5,8},
+ {&(_ZTV4E8x7[8]), 8,8},
+ {&(_tg__ZTV2C8__4E8x7[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI4E8x7[];
+extern VTBL_ENTRY _ZTV4E8x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x7[];
+Class_Descriptor cd_E8x7 = { "E8x7", // class name
+ bases_E8x7, 4,
+ &(vtc_E8x7[0]), // expected_vtbl_contents
+ &(vtt_E8x7[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI4E8x7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E8x7),8, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E8x7),3, //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 G8x7y0 : E8x7 , F1 {
+ int ff;
+ ~G8x7y0(); // tgen
+ G8x7y0(); // tgen
+};
+//SIG(1 G8x7y0) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ v1 Fi} Fi}
+
+
+G8x7y0 ::~G8x7y0(){ note_dtor("G8x7y0", this);} // tgen
+G8x7y0 ::G8x7y0(){ note_ctor("G8x7y0", this);} // tgen
+
+static void Test_G8x7y0()
+{
+ extern Class_Descriptor cd_G8x7y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G8x7y0, buf);
+ G8x7y0 *dp, &lv = *(dp=new (buf) G8x7y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G8x7y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x7y0)");
+ check_base_class_offset(lv, (A0*)(C8*), ABISELECT(40,24), "G8x7y0");
+ check_base_class_offset(lv, (B0*)(C8*), ABISELECT(48,32), "G8x7y0");
+ check_base_class_offset(lv, (C8*)(E8x7*), ABISELECT(32,20), "G8x7y0");
+ check_base_class_offset(lv, (D0*)(E8x7*), ABISELECT(52,36), "G8x7y0");
+ check_base_class_offset(lv, (E8x7*), 0, "G8x7y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G8x7y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G8x7y0.ff");
+ test_class_info(&lv, &cd_G8x7y0);
+ dp->~G8x7y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x7y0(Test_G8x7y0, "G8x7y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G8x7y0C1Ev();
+extern void _ZN6G8x7y0D1Ev();
+Name_Map name_map_G8x7y0[] = {
+ NSPAIR(_ZN6G8x7y0C1Ev),
+ NSPAIR(_ZN6G8x7y0D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E8x7;
+extern VTBL_ENTRY _ZTI4E8x7[];
+extern VTBL_ENTRY _ZTV4E8x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G8x7y0[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E8x7, 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
+ 2, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI6G8x7y0[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G8x7y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x7y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G8x7y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G8x7y0[0]),
+};
+extern VTBL_ENTRY _ZTV6G8x7y0[];
+static VTBL_ENTRY _tg__ZTV4E8x7__6G8x7y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C8__4E8x7__6G8x7y0[] = {
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E8x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C8__6G8x7y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x7y0[] = {
+ {&(_ZTV6G8x7y0[5]), 5,11},
+ {&(_tg__ZTV4E8x7__6G8x7y0[5]), 5,5},
+ {&(_tg__ZTV2C8__4E8x7__6G8x7y0[3]), 3,3},
+ {&(_ZTV6G8x7y0[11]), 11,11},
+ {&(_tg__ZTV2C8__6G8x7y0[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x7y0[];
+extern VTBL_ENTRY _ZTV6G8x7y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x7y0[];
+Class_Descriptor cd_G8x7y0 = { "G8x7y0", // class name
+ bases_G8x7y0, 6,
+ &(vtc_G8x7y0[0]), // expected_vtbl_contents
+ &(vtt_G8x7y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G8x7y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x7y0),11, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x7y0),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 G8x7y1 : virtual E8x7 , F1 {
+ int ff;
+ ~G8x7y1(); // tgen
+ G8x7y1(); // tgen
+};
+//SIG(1 G8x7y1) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ v1 Fi} Fi}
+
+
+G8x7y1 ::~G8x7y1(){ note_dtor("G8x7y1", this);} // tgen
+G8x7y1 ::G8x7y1(){ note_ctor("G8x7y1", this);} // tgen
+
+static void Test_G8x7y1()
+{
+ extern Class_Descriptor cd_G8x7y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G8x7y1, buf);
+ G8x7y1 *dp, &lv = *(dp=new (buf) G8x7y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G8x7y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x7y1)");
+ check_base_class_offset(lv, (A0*)(C8*), ABISELECT(40,24), "G8x7y1");
+ check_base_class_offset(lv, (B0*)(C8*), ABISELECT(48,32), "G8x7y1");
+ check_base_class_offset(lv, (C8*)(E8x7*), ABISELECT(32,20), "G8x7y1");
+ check_base_class_offset(lv, (D0*)(E8x7*), ABISELECT(52,36), "G8x7y1");
+ check_base_class_offset(lv, (E8x7*), ABISELECT(16,12), "G8x7y1");
+ check_base_class_offset(lv, (F1*), 0, "G8x7y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G8x7y1.ff");
+ test_class_info(&lv, &cd_G8x7y1);
+ dp->~G8x7y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x7y1(Test_G8x7y1, "G8x7y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G8x7y1C1Ev();
+extern void _ZN6G8x7y1D1Ev();
+Name_Map name_map_G8x7y1[] = {
+ NSPAIR(_ZN6G8x7y1C1Ev),
+ NSPAIR(_ZN6G8x7y1D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E8x7;
+extern VTBL_ENTRY _ZTI4E8x7[];
+extern VTBL_ENTRY _ZTV4E8x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G8x7y1[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E8x7, 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
+ 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 _ZTI6G8x7y1[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G8x7y1[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x7y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G8x7y1[0]),
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G8x7y1[0]),
+};
+extern VTBL_ENTRY _ZTV6G8x7y1[];
+static VTBL_ENTRY _tg__ZTV4E8x7__6G8x7y1[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C8__4E8x7__6G8x7y1[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E8x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C8__6G8x7y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x7y1[] = {
+ {&(_ZTV6G8x7y1[6]), 6,15},
+ {&(_ZTV6G8x7y1[12]), 12,15},
+ {&(_ZTV6G8x7y1[15]), 15,15},
+ {&(_tg__ZTV4E8x7__6G8x7y1[5]), 5,5},
+ {&(_tg__ZTV2C8__4E8x7__6G8x7y1[3]), 3,3},
+ {&(_tg__ZTV2C8__6G8x7y1[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x7y1[];
+extern VTBL_ENTRY _ZTV6G8x7y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x7y1[];
+Class_Descriptor cd_G8x7y1 = { "G8x7y1", // class name
+ bases_G8x7y1, 6,
+ &(vtc_G8x7y1[0]), // expected_vtbl_contents
+ &(vtt_G8x7y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G8x7y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x7y1),15, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x7y1),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 G8x7y2 : E8x7 , virtual F1 {
+ int ff;
+ ~G8x7y2(); // tgen
+ G8x7y2(); // tgen
+};
+//SIG(1 G8x7y2) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ v1 Fi} Fi}
+
+
+G8x7y2 ::~G8x7y2(){ note_dtor("G8x7y2", this);} // tgen
+G8x7y2 ::G8x7y2(){ note_ctor("G8x7y2", this);} // tgen
+
+static void Test_G8x7y2()
+{
+ extern Class_Descriptor cd_G8x7y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G8x7y2, buf);
+ G8x7y2 *dp, &lv = *(dp=new (buf) G8x7y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G8x7y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x7y2)");
+ check_base_class_offset(lv, (A0*)(C8*), ABISELECT(24,16), "G8x7y2");
+ check_base_class_offset(lv, (B0*)(C8*), ABISELECT(32,24), "G8x7y2");
+ check_base_class_offset(lv, (C8*)(E8x7*), ABISELECT(16,12), "G8x7y2");
+ check_base_class_offset(lv, (D0*)(E8x7*), ABISELECT(36,28), "G8x7y2");
+ check_base_class_offset(lv, (E8x7*), 0, "G8x7y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(40,32), "G8x7y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G8x7y2.ff");
+ test_class_info(&lv, &cd_G8x7y2);
+ dp->~G8x7y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x7y2(Test_G8x7y2, "G8x7y2", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G8x7y2C1Ev();
+extern void _ZN6G8x7y2D1Ev();
+Name_Map name_map_G8x7y2[] = {
+ NSPAIR(_ZN6G8x7y2C1Ev),
+ NSPAIR(_ZN6G8x7y2D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E8x7;
+extern VTBL_ENTRY _ZTI4E8x7[];
+extern VTBL_ENTRY _ZTV4E8x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G8x7y2[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E8x7, 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(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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G8x7y2[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G8x7y2[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x7y2[0]),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G8x7y2[0]),
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI6G8x7y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G8x7y2[];
+static VTBL_ENTRY _tg__ZTV4E8x7__6G8x7y2[] = {
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C8__4E8x7__6G8x7y2[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E8x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C8__6G8x7y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x7y2[] = {
+ {&(_ZTV6G8x7y2[6]), 6,13},
+ {&(_tg__ZTV4E8x7__6G8x7y2[5]), 5,5},
+ {&(_tg__ZTV2C8__4E8x7__6G8x7y2[3]), 3,3},
+ {&(_ZTV6G8x7y2[9]), 9,13},
+ {&(_ZTV6G8x7y2[12]), 12,13},
+ {&(_tg__ZTV2C8__6G8x7y2[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x7y2[];
+extern VTBL_ENTRY _ZTV6G8x7y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x7y2[];
+Class_Descriptor cd_G8x7y2 = { "G8x7y2", // class name
+ bases_G8x7y2, 6,
+ &(vtc_G8x7y2[0]), // expected_vtbl_contents
+ &(vtt_G8x7y2[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G8x7y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x7y2),13, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x7y2),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 G8x7y3 : virtual E8x7 , virtual F1 {
+ int ff;
+ ~G8x7y3(); // tgen
+ G8x7y3(); // tgen
+};
+//SIG(1 G8x7y3) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ v1 Fi} Fi}
+
+
+G8x7y3 ::~G8x7y3(){ note_dtor("G8x7y3", this);} // tgen
+G8x7y3 ::G8x7y3(){ note_ctor("G8x7y3", this);} // tgen
+
+static void Test_G8x7y3()
+{
+ extern Class_Descriptor cd_G8x7y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G8x7y3, buf);
+ G8x7y3 *dp, &lv = *(dp=new (buf) G8x7y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G8x7y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x7y3)");
+ check_base_class_offset(lv, (A0*)(C8*), ABISELECT(40,20), "G8x7y3");
+ check_base_class_offset(lv, (B0*)(C8*), ABISELECT(48,28), "G8x7y3");
+ check_base_class_offset(lv, (C8*)(E8x7*), ABISELECT(32,16), "G8x7y3");
+ check_base_class_offset(lv, (D0*)(E8x7*), ABISELECT(52,32), "G8x7y3");
+ check_base_class_offset(lv, (E8x7*), ABISELECT(16,8), "G8x7y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G8x7y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G8x7y3.ff");
+ test_class_info(&lv, &cd_G8x7y3);
+ dp->~G8x7y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x7y3(Test_G8x7y3, "G8x7y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G8x7y3C1Ev();
+extern void _ZN6G8x7y3D1Ev();
+Name_Map name_map_G8x7y3[] = {
+ NSPAIR(_ZN6G8x7y3C1Ev),
+ NSPAIR(_ZN6G8x7y3D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E8x7;
+extern VTBL_ENTRY _ZTI4E8x7[];
+extern VTBL_ENTRY _ZTV4E8x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G8x7y3[] = {
+ // 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
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E8x7, 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
+ 2, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI6G8x7y3[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G8x7y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x7y3[0]),
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G8x7y3[0]),
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI6G8x7y3[0]),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G8x7y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G8x7y3[];
+static VTBL_ENTRY _tg__ZTV4E8x7__6G8x7y3[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C8__4E8x7__6G8x7y3[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E8x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C8__6G8x7y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x7y3[] = {
+ {&(_ZTV6G8x7y3[7]), 7,19},
+ {&(_ZTV6G8x7y3[12]), 12,19},
+ {&(_ZTV6G8x7y3[15]), 15,19},
+ {&(_ZTV6G8x7y3[18]), 18,19},
+ {&(_tg__ZTV4E8x7__6G8x7y3[5]), 5,5},
+ {&(_tg__ZTV2C8__4E8x7__6G8x7y3[3]), 3,3},
+ {&(_tg__ZTV2C8__6G8x7y3[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x7y3[];
+extern VTBL_ENTRY _ZTV6G8x7y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x7y3[];
+Class_Descriptor cd_G8x7y3 = { "G8x7y3", // class name
+ bases_G8x7y3, 6,
+ &(vtc_G8x7y3[0]), // expected_vtbl_contents
+ &(vtt_G8x7y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G8x7y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x7y3),19, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x7y3),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 G8x7y4 : E8x7 , F0 {
+ int ff;
+ ~G8x7y4(); // tgen
+ G8x7y4(); // tgen
+};
+//SIG(1 G8x7y4) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G8x7y4 ::~G8x7y4(){ note_dtor("G8x7y4", this);} // tgen
+G8x7y4 ::G8x7y4(){ note_ctor("G8x7y4", this);} // tgen
+
+static void Test_G8x7y4()
+{
+ extern Class_Descriptor cd_G8x7y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G8x7y4, buf);
+ G8x7y4 *dp, &lv = *(dp=new (buf) G8x7y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G8x7y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x7y4)");
+ check_base_class_offset(lv, (A0*)(C8*), ABISELECT(32,20), "G8x7y4");
+ check_base_class_offset(lv, (B0*)(C8*), ABISELECT(40,28), "G8x7y4");
+ check_base_class_offset(lv, (C8*)(E8x7*), ABISELECT(24,16), "G8x7y4");
+ check_base_class_offset(lv, (D0*)(E8x7*), ABISELECT(44,32), "G8x7y4");
+ check_base_class_offset(lv, (E8x7*), 0, "G8x7y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G8x7y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G8x7y4.ff");
+ test_class_info(&lv, &cd_G8x7y4);
+ dp->~G8x7y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x7y4(Test_G8x7y4, "G8x7y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G8x7y4C1Ev();
+extern void _ZN6G8x7y4D1Ev();
+Name_Map name_map_G8x7y4[] = {
+ NSPAIR(_ZN6G8x7y4C1Ev),
+ NSPAIR(_ZN6G8x7y4D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E8x7;
+extern VTBL_ENTRY _ZTI4E8x7[];
+extern VTBL_ENTRY _ZTV4E8x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G8x7y4[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E8x7, 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
+ 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 _ZTI6G8x7y4[];
+static VTBL_ENTRY vtc_G8x7y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x7y4[0]),
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G8x7y4[0]),
+};
+extern VTBL_ENTRY _ZTV6G8x7y4[];
+static VTBL_ENTRY _tg__ZTV4E8x7__6G8x7y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C8__4E8x7__6G8x7y4[] = {
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E8x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C8__6G8x7y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x7y4[] = {
+ {&(_ZTV6G8x7y4[5]), 5,8},
+ {&(_tg__ZTV4E8x7__6G8x7y4[5]), 5,5},
+ {&(_tg__ZTV2C8__4E8x7__6G8x7y4[3]), 3,3},
+ {&(_ZTV6G8x7y4[8]), 8,8},
+ {&(_tg__ZTV2C8__6G8x7y4[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x7y4[];
+extern VTBL_ENTRY _ZTV6G8x7y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x7y4[];
+Class_Descriptor cd_G8x7y4 = { "G8x7y4", // class name
+ bases_G8x7y4, 6,
+ &(vtc_G8x7y4[0]), // expected_vtbl_contents
+ &(vtt_G8x7y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G8x7y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x7y4),8, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x7y4),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 G8x7y5 : virtual E8x7 , F0 {
+ int ff;
+ ~G8x7y5(); // tgen
+ G8x7y5(); // tgen
+};
+//SIG(1 G8x7y5) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G8x7y5 ::~G8x7y5(){ note_dtor("G8x7y5", this);} // tgen
+G8x7y5 ::G8x7y5(){ note_ctor("G8x7y5", this);} // tgen
+
+static void Test_G8x7y5()
+{
+ extern Class_Descriptor cd_G8x7y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G8x7y5, buf);
+ G8x7y5 *dp, &lv = *(dp=new (buf) G8x7y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G8x7y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x7y5)");
+ check_base_class_offset(lv, (A0*)(C8*), ABISELECT(40,24), "G8x7y5");
+ check_base_class_offset(lv, (B0*)(C8*), ABISELECT(48,32), "G8x7y5");
+ check_base_class_offset(lv, (C8*)(E8x7*), ABISELECT(32,20), "G8x7y5");
+ check_base_class_offset(lv, (D0*)(E8x7*), ABISELECT(52,36), "G8x7y5");
+ check_base_class_offset(lv, (E8x7*), ABISELECT(16,12), "G8x7y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G8x7y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G8x7y5.ff");
+ test_class_info(&lv, &cd_G8x7y5);
+ dp->~G8x7y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x7y5(Test_G8x7y5, "G8x7y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G8x7y5C1Ev();
+extern void _ZN6G8x7y5D1Ev();
+Name_Map name_map_G8x7y5[] = {
+ NSPAIR(_ZN6G8x7y5C1Ev),
+ NSPAIR(_ZN6G8x7y5D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E8x7;
+extern VTBL_ENTRY _ZTI4E8x7[];
+extern VTBL_ENTRY _ZTV4E8x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G8x7y5[] = {
+ // 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
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E8x7, 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_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 _ZTI6G8x7y5[];
+static VTBL_ENTRY vtc_G8x7y5[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x7y5[0]),
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G8x7y5[0]),
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G8x7y5[0]),
+};
+extern VTBL_ENTRY _ZTV6G8x7y5[];
+static VTBL_ENTRY _tg__ZTV4E8x7__6G8x7y5[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C8__4E8x7__6G8x7y5[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E8x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C8__6G8x7y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x7y5[] = {
+ {&(_ZTV6G8x7y5[6]), 6,14},
+ {&(_ZTV6G8x7y5[11]), 11,14},
+ {&(_ZTV6G8x7y5[14]), 14,14},
+ {&(_tg__ZTV4E8x7__6G8x7y5[5]), 5,5},
+ {&(_tg__ZTV2C8__4E8x7__6G8x7y5[3]), 3,3},
+ {&(_tg__ZTV2C8__6G8x7y5[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x7y5[];
+extern VTBL_ENTRY _ZTV6G8x7y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x7y5[];
+Class_Descriptor cd_G8x7y5 = { "G8x7y5", // class name
+ bases_G8x7y5, 6,
+ &(vtc_G8x7y5[0]), // expected_vtbl_contents
+ &(vtt_G8x7y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G8x7y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x7y5),14, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x7y5),6, //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 G8x7y6 : E8x7 , virtual F0 {
+ int ff;
+ ~G8x7y6(); // tgen
+ G8x7y6(); // tgen
+};
+//SIG(1 G8x7y6) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G8x7y6 ::~G8x7y6(){ note_dtor("G8x7y6", this);} // tgen
+G8x7y6 ::G8x7y6(){ note_ctor("G8x7y6", this);} // tgen
+
+static void Test_G8x7y6()
+{
+ extern Class_Descriptor cd_G8x7y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G8x7y6, buf);
+ G8x7y6 *dp, &lv = *(dp=new (buf) G8x7y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G8x7y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x7y6)");
+ check_base_class_offset(lv, (A0*)(C8*), ABISELECT(24,16), "G8x7y6");
+ check_base_class_offset(lv, (B0*)(C8*), ABISELECT(32,24), "G8x7y6");
+ check_base_class_offset(lv, (C8*)(E8x7*), ABISELECT(16,12), "G8x7y6");
+ check_base_class_offset(lv, (D0*)(E8x7*), ABISELECT(36,28), "G8x7y6");
+ check_base_class_offset(lv, (E8x7*), 0, "G8x7y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(40,32), "G8x7y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G8x7y6.ff");
+ test_class_info(&lv, &cd_G8x7y6);
+ dp->~G8x7y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x7y6(Test_G8x7y6, "G8x7y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G8x7y6C1Ev();
+extern void _ZN6G8x7y6D1Ev();
+Name_Map name_map_G8x7y6[] = {
+ NSPAIR(_ZN6G8x7y6C1Ev),
+ NSPAIR(_ZN6G8x7y6D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E8x7;
+extern VTBL_ENTRY _ZTI4E8x7[];
+extern VTBL_ENTRY _ZTV4E8x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G8x7y6[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E8x7, 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
+ 2, //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 _ZTI6G8x7y6[];
+static VTBL_ENTRY vtc_G8x7y6[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x7y6[0]),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G8x7y6[0]),
+};
+extern VTBL_ENTRY _ZTV6G8x7y6[];
+static VTBL_ENTRY _tg__ZTV4E8x7__6G8x7y6[] = {
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C8__4E8x7__6G8x7y6[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E8x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C8__6G8x7y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x7y6[] = {
+ {&(_ZTV6G8x7y6[6]), 6,9},
+ {&(_tg__ZTV4E8x7__6G8x7y6[5]), 5,5},
+ {&(_tg__ZTV2C8__4E8x7__6G8x7y6[3]), 3,3},
+ {&(_ZTV6G8x7y6[9]), 9,9},
+ {&(_tg__ZTV2C8__6G8x7y6[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x7y6[];
+extern VTBL_ENTRY _ZTV6G8x7y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x7y6[];
+Class_Descriptor cd_G8x7y6 = { "G8x7y6", // class name
+ bases_G8x7y6, 6,
+ &(vtc_G8x7y6[0]), // expected_vtbl_contents
+ &(vtt_G8x7y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G8x7y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x7y6),9, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x7y6),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 G8x7y7 : virtual E8x7 , virtual F0 {
+ int ff;
+ ~G8x7y7(); // tgen
+ G8x7y7(); // tgen
+};
+//SIG(1 G8x7y7) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G8x7y7 ::~G8x7y7(){ note_dtor("G8x7y7", this);} // tgen
+G8x7y7 ::G8x7y7(){ note_ctor("G8x7y7", this);} // tgen
+
+static void Test_G8x7y7()
+{
+ extern Class_Descriptor cd_G8x7y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G8x7y7, buf);
+ G8x7y7 *dp, &lv = *(dp=new (buf) G8x7y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G8x7y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G8x7y7)");
+ check_base_class_offset(lv, (A0*)(C8*), ABISELECT(40,20), "G8x7y7");
+ check_base_class_offset(lv, (B0*)(C8*), ABISELECT(48,28), "G8x7y7");
+ check_base_class_offset(lv, (C8*)(E8x7*), ABISELECT(32,16), "G8x7y7");
+ check_base_class_offset(lv, (D0*)(E8x7*), ABISELECT(52,32), "G8x7y7");
+ check_base_class_offset(lv, (E8x7*), ABISELECT(16,8), "G8x7y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G8x7y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G8x7y7.ff");
+ test_class_info(&lv, &cd_G8x7y7);
+ dp->~G8x7y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG8x7y7(Test_G8x7y7, "G8x7y7", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G8x7y7C1Ev();
+extern void _ZN6G8x7y7D1Ev();
+Name_Map name_map_G8x7y7[] = {
+ NSPAIR(_ZN6G8x7y7C1Ev),
+ NSPAIR(_ZN6G8x7y7D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E8x7;
+extern VTBL_ENTRY _ZTI4E8x7[];
+extern VTBL_ENTRY _ZTV4E8x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E8x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G8x7y7[] = {
+ // 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
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E8x7, 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
+ 2, //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 _ZTI6G8x7y7[];
+static VTBL_ENTRY vtc_G8x7y7[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G8x7y7[0]),
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G8x7y7[0]),
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI6G8x7y7[0]),
+};
+extern VTBL_ENTRY _ZTV6G8x7y7[];
+static VTBL_ENTRY _tg__ZTV4E8x7__6G8x7y7[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E8x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C8__4E8x7__6G8x7y7[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E8x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV2C8__6G8x7y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C8[0]),
+};
+static VTT_ENTRY vtt_G8x7y7[] = {
+ {&(_ZTV6G8x7y7[7]), 7,15},
+ {&(_ZTV6G8x7y7[12]), 12,15},
+ {&(_ZTV6G8x7y7[15]), 15,15},
+ {&(_tg__ZTV4E8x7__6G8x7y7[5]), 5,5},
+ {&(_tg__ZTV2C8__4E8x7__6G8x7y7[3]), 3,3},
+ {&(_tg__ZTV2C8__6G8x7y7[3]), 3,3},
+};
+extern VTBL_ENTRY _ZTI6G8x7y7[];
+extern VTBL_ENTRY _ZTV6G8x7y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G8x7y7[];
+Class_Descriptor cd_G8x7y7 = { "G8x7y7", // class name
+ bases_G8x7y7, 6,
+ &(vtc_G8x7y7[0]), // expected_vtbl_contents
+ &(vtt_G8x7y7[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G8x7y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G8x7y7),15, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G8x7y7),6, //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 E9x7 : virtual C9 , virtual D0 {
+ int fd;
+ ~E9x7(); // tgen
+ E9x7(); // tgen
+};
+//SIG(-1 E9x7) C1{ VBC2{ BC3{ v1 Fi} VBC4{ Fi} Fi} VBC5{ Fi} Fi}
+
+
+E9x7 ::~E9x7(){ note_dtor("E9x7", this);} // tgen
+E9x7 ::E9x7(){ note_ctor("E9x7", this);} // tgen
+
+static void Test_E9x7()
+{
+ extern Class_Descriptor cd_E9x7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E9x7, buf);
+ E9x7 *dp, &lv = *(dp=new (buf) E9x7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E9x7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E9x7)");
+ check_base_class_offset(lv, (A1*)(C9*), ABISELECT(16,8), "E9x7");
+ check_base_class_offset(lv, (B0*)(C9*), ABISELECT(32,20), "E9x7");
+ check_base_class_offset(lv, (C9*), ABISELECT(16,8), "E9x7");
+ check_base_class_offset(lv, (D0*), ABISELECT(36,24), "E9x7");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E9x7.fd");
+ test_class_info(&lv, &cd_E9x7);
+ dp->~E9x7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE9x7(Test_E9x7, "E9x7", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN4E9x7C1Ev();
+extern void _ZN4E9x7D1Ev();
+Name_Map name_map_E9x7[] = {
+ NSPAIR(_ZN4E9x7C1Ev),
+ NSPAIR(_ZN4E9x7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E9x7[] = {
+ // 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
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D0, 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, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI4E9x7[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_E9x7[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E9x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV4E9x7[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__4E9x7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_E9x7[] = {
+ {&(_ZTV4E9x7[5]), 5,10},
+ {&(_ZTV4E9x7[9]), 9,10},
+ {&(_tg__ZTV2C9__4E9x7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI4E9x7[];
+extern VTBL_ENTRY _ZTV4E9x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x7[];
+Class_Descriptor cd_E9x7 = { "E9x7", // class name
+ bases_E9x7, 4,
+ &(vtc_E9x7[0]), // expected_vtbl_contents
+ &(vtt_E9x7[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI4E9x7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV4E9x7),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT4E9x7),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 G9x7y0 : E9x7 , F1 {
+ int ff;
+ ~G9x7y0(); // tgen
+ G9x7y0(); // tgen
+};
+//SIG(1 G9x7y0) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G9x7y0 ::~G9x7y0(){ note_dtor("G9x7y0", this);} // tgen
+G9x7y0 ::G9x7y0(){ note_ctor("G9x7y0", this);} // tgen
+
+static void Test_G9x7y0()
+{
+ extern Class_Descriptor cd_G9x7y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G9x7y0, buf);
+ G9x7y0 *dp, &lv = *(dp=new (buf) G9x7y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G9x7y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x7y0)");
+ check_base_class_offset(lv, (A1*)(C9*), ABISELECT(32,20), "G9x7y0");
+ check_base_class_offset(lv, (B0*)(C9*), ABISELECT(48,32), "G9x7y0");
+ check_base_class_offset(lv, (C9*)(E9x7*), ABISELECT(32,20), "G9x7y0");
+ check_base_class_offset(lv, (D0*)(E9x7*), ABISELECT(52,36), "G9x7y0");
+ check_base_class_offset(lv, (E9x7*), 0, "G9x7y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G9x7y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G9x7y0.ff");
+ test_class_info(&lv, &cd_G9x7y0);
+ dp->~G9x7y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x7y0(Test_G9x7y0, "G9x7y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G9x7y0C1Ev();
+extern void _ZN6G9x7y0D1Ev();
+Name_Map name_map_G9x7y0[] = {
+ NSPAIR(_ZN6G9x7y0C1Ev),
+ NSPAIR(_ZN6G9x7y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E9x7;
+extern VTBL_ENTRY _ZTI4E9x7[];
+extern VTBL_ENTRY _ZTV4E9x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G9x7y0[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E9x7, 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 _ZTI6G9x7y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G9x7y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x7y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G9x7y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G9x7y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x7y0[];
+static VTBL_ENTRY _tg__ZTV4E9x7__6G9x7y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__4E9x7__6G9x7y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI4E9x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__6G9x7y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x7y0[] = {
+ {&(_ZTV6G9x7y0[5]), 5,13},
+ {&(_tg__ZTV4E9x7__6G9x7y0[5]), 5,5},
+ {&(_tg__ZTV2C9__4E9x7__6G9x7y0[4]), 4,5},
+ {&(_ZTV6G9x7y0[12]), 12,13},
+ {&(_tg__ZTV2C9__6G9x7y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x7y0[];
+extern VTBL_ENTRY _ZTV6G9x7y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x7y0[];
+Class_Descriptor cd_G9x7y0 = { "G9x7y0", // class name
+ bases_G9x7y0, 6,
+ &(vtc_G9x7y0[0]), // expected_vtbl_contents
+ &(vtt_G9x7y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G9x7y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x7y0),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x7y0),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 G9x7y1 : virtual E9x7 , F1 {
+ int ff;
+ ~G9x7y1(); // tgen
+ G9x7y1(); // tgen
+};
+//SIG(1 G9x7y1) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G9x7y1 ::~G9x7y1(){ note_dtor("G9x7y1", this);} // tgen
+G9x7y1 ::G9x7y1(){ note_ctor("G9x7y1", this);} // tgen
+
+static void Test_G9x7y1()
+{
+ extern Class_Descriptor cd_G9x7y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G9x7y1, buf);
+ G9x7y1 *dp, &lv = *(dp=new (buf) G9x7y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G9x7y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x7y1)");
+ check_base_class_offset(lv, (A1*)(C9*), ABISELECT(32,20), "G9x7y1");
+ check_base_class_offset(lv, (B0*)(C9*), ABISELECT(48,32), "G9x7y1");
+ check_base_class_offset(lv, (C9*)(E9x7*), ABISELECT(32,20), "G9x7y1");
+ check_base_class_offset(lv, (D0*)(E9x7*), ABISELECT(52,36), "G9x7y1");
+ check_base_class_offset(lv, (E9x7*), ABISELECT(16,12), "G9x7y1");
+ check_base_class_offset(lv, (F1*), 0, "G9x7y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G9x7y1.ff");
+ test_class_info(&lv, &cd_G9x7y1);
+ dp->~G9x7y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x7y1(Test_G9x7y1, "G9x7y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G9x7y1C1Ev();
+extern void _ZN6G9x7y1D1Ev();
+Name_Map name_map_G9x7y1[] = {
+ NSPAIR(_ZN6G9x7y1C1Ev),
+ NSPAIR(_ZN6G9x7y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E9x7;
+extern VTBL_ENTRY _ZTI4E9x7[];
+extern VTBL_ENTRY _ZTV4E9x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G9x7y1[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E9x7, 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 _ZTI6G9x7y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G9x7y1[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x7y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G9x7y1[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G9x7y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x7y1[];
+static VTBL_ENTRY _tg__ZTV4E9x7__6G9x7y1[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__4E9x7__6G9x7y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E9x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__6G9x7y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x7y1[] = {
+ {&(_ZTV6G9x7y1[6]), 6,17},
+ {&(_ZTV6G9x7y1[12]), 12,17},
+ {&(_ZTV6G9x7y1[16]), 16,17},
+ {&(_tg__ZTV4E9x7__6G9x7y1[5]), 5,5},
+ {&(_tg__ZTV2C9__4E9x7__6G9x7y1[4]), 4,5},
+ {&(_tg__ZTV2C9__6G9x7y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x7y1[];
+extern VTBL_ENTRY _ZTV6G9x7y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x7y1[];
+Class_Descriptor cd_G9x7y1 = { "G9x7y1", // class name
+ bases_G9x7y1, 6,
+ &(vtc_G9x7y1[0]), // expected_vtbl_contents
+ &(vtt_G9x7y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G9x7y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x7y1),17, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x7y1),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 G9x7y2 : E9x7 , virtual F1 {
+ int ff;
+ ~G9x7y2(); // tgen
+ G9x7y2(); // tgen
+};
+//SIG(1 G9x7y2) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G9x7y2 ::~G9x7y2(){ note_dtor("G9x7y2", this);} // tgen
+G9x7y2 ::G9x7y2(){ note_ctor("G9x7y2", this);} // tgen
+
+static void Test_G9x7y2()
+{
+ extern Class_Descriptor cd_G9x7y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G9x7y2, buf);
+ G9x7y2 *dp, &lv = *(dp=new (buf) G9x7y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G9x7y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x7y2)");
+ check_base_class_offset(lv, (A1*)(C9*), ABISELECT(16,12), "G9x7y2");
+ check_base_class_offset(lv, (B0*)(C9*), ABISELECT(32,24), "G9x7y2");
+ check_base_class_offset(lv, (C9*)(E9x7*), ABISELECT(16,12), "G9x7y2");
+ check_base_class_offset(lv, (D0*)(E9x7*), ABISELECT(36,28), "G9x7y2");
+ check_base_class_offset(lv, (E9x7*), 0, "G9x7y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(40,32), "G9x7y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G9x7y2.ff");
+ test_class_info(&lv, &cd_G9x7y2);
+ dp->~G9x7y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x7y2(Test_G9x7y2, "G9x7y2", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G9x7y2C1Ev();
+extern void _ZN6G9x7y2D1Ev();
+Name_Map name_map_G9x7y2[] = {
+ NSPAIR(_ZN6G9x7y2C1Ev),
+ NSPAIR(_ZN6G9x7y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E9x7;
+extern VTBL_ENTRY _ZTI4E9x7[];
+extern VTBL_ENTRY _ZTV4E9x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G9x7y2[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E9x7, 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(40,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 _ZTI6G9x7y2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G9x7y2[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x7y2[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G9x7y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI6G9x7y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x7y2[];
+static VTBL_ENTRY _tg__ZTV4E9x7__6G9x7y2[] = {
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__4E9x7__6G9x7y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E9x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__6G9x7y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x7y2[] = {
+ {&(_ZTV6G9x7y2[6]), 6,15},
+ {&(_tg__ZTV4E9x7__6G9x7y2[5]), 5,5},
+ {&(_tg__ZTV2C9__4E9x7__6G9x7y2[4]), 4,5},
+ {&(_ZTV6G9x7y2[10]), 10,15},
+ {&(_ZTV6G9x7y2[14]), 14,15},
+ {&(_tg__ZTV2C9__6G9x7y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x7y2[];
+extern VTBL_ENTRY _ZTV6G9x7y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x7y2[];
+Class_Descriptor cd_G9x7y2 = { "G9x7y2", // class name
+ bases_G9x7y2, 6,
+ &(vtc_G9x7y2[0]), // expected_vtbl_contents
+ &(vtt_G9x7y2[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G9x7y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x7y2),15, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x7y2),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 G9x7y3 : virtual E9x7 , virtual F1 {
+ int ff;
+ ~G9x7y3(); // tgen
+ G9x7y3(); // tgen
+};
+//SIG(1 G9x7y3) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G9x7y3 ::~G9x7y3(){ note_dtor("G9x7y3", this);} // tgen
+G9x7y3 ::G9x7y3(){ note_ctor("G9x7y3", this);} // tgen
+
+static void Test_G9x7y3()
+{
+ extern Class_Descriptor cd_G9x7y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G9x7y3, buf);
+ G9x7y3 *dp, &lv = *(dp=new (buf) G9x7y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G9x7y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x7y3)");
+ check_base_class_offset(lv, (A1*)(C9*), ABISELECT(32,16), "G9x7y3");
+ check_base_class_offset(lv, (B0*)(C9*), ABISELECT(48,28), "G9x7y3");
+ check_base_class_offset(lv, (C9*)(E9x7*), ABISELECT(32,16), "G9x7y3");
+ check_base_class_offset(lv, (D0*)(E9x7*), ABISELECT(52,32), "G9x7y3");
+ check_base_class_offset(lv, (E9x7*), ABISELECT(16,8), "G9x7y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G9x7y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G9x7y3.ff");
+ test_class_info(&lv, &cd_G9x7y3);
+ dp->~G9x7y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x7y3(Test_G9x7y3, "G9x7y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN6G9x7y3C1Ev();
+extern void _ZN6G9x7y3D1Ev();
+Name_Map name_map_G9x7y3[] = {
+ NSPAIR(_ZN6G9x7y3C1Ev),
+ NSPAIR(_ZN6G9x7y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E9x7;
+extern VTBL_ENTRY _ZTI4E9x7[];
+extern VTBL_ENTRY _ZTV4E9x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G9x7y3[] = {
+ // 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
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E9x7, 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
+ 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 _ZTI6G9x7y3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G9x7y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x7y3[0]),
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G9x7y3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI6G9x7y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI6G9x7y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x7y3[];
+static VTBL_ENTRY _tg__ZTV4E9x7__6G9x7y3[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__4E9x7__6G9x7y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E9x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__6G9x7y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x7y3[] = {
+ {&(_ZTV6G9x7y3[7]), 7,21},
+ {&(_ZTV6G9x7y3[12]), 12,21},
+ {&(_ZTV6G9x7y3[16]), 16,21},
+ {&(_ZTV6G9x7y3[20]), 20,21},
+ {&(_tg__ZTV4E9x7__6G9x7y3[5]), 5,5},
+ {&(_tg__ZTV2C9__4E9x7__6G9x7y3[4]), 4,5},
+ {&(_tg__ZTV2C9__6G9x7y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x7y3[];
+extern VTBL_ENTRY _ZTV6G9x7y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x7y3[];
+Class_Descriptor cd_G9x7y3 = { "G9x7y3", // class name
+ bases_G9x7y3, 6,
+ &(vtc_G9x7y3[0]), // expected_vtbl_contents
+ &(vtt_G9x7y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI6G9x7y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x7y3),21, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x7y3),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 G9x7y4 : E9x7 , F0 {
+ int ff;
+ ~G9x7y4(); // tgen
+ G9x7y4(); // tgen
+};
+//SIG(1 G9x7y4) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G9x7y4 ::~G9x7y4(){ note_dtor("G9x7y4", this);} // tgen
+G9x7y4 ::G9x7y4(){ note_ctor("G9x7y4", this);} // tgen
+
+static void Test_G9x7y4()
+{
+ extern Class_Descriptor cd_G9x7y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G9x7y4, buf);
+ G9x7y4 *dp, &lv = *(dp=new (buf) G9x7y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G9x7y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x7y4)");
+ check_base_class_offset(lv, (A1*)(C9*), ABISELECT(24,16), "G9x7y4");
+ check_base_class_offset(lv, (B0*)(C9*), ABISELECT(40,28), "G9x7y4");
+ check_base_class_offset(lv, (C9*)(E9x7*), ABISELECT(24,16), "G9x7y4");
+ check_base_class_offset(lv, (D0*)(E9x7*), ABISELECT(44,32), "G9x7y4");
+ check_base_class_offset(lv, (E9x7*), 0, "G9x7y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G9x7y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G9x7y4.ff");
+ test_class_info(&lv, &cd_G9x7y4);
+ dp->~G9x7y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x7y4(Test_G9x7y4, "G9x7y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G9x7y4C1Ev();
+extern void _ZN6G9x7y4D1Ev();
+Name_Map name_map_G9x7y4[] = {
+ NSPAIR(_ZN6G9x7y4C1Ev),
+ NSPAIR(_ZN6G9x7y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E9x7;
+extern VTBL_ENTRY _ZTI4E9x7[];
+extern VTBL_ENTRY _ZTV4E9x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G9x7y4[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E9x7, 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 _ZTI6G9x7y4[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G9x7y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x7y4[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI6G9x7y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x7y4[];
+static VTBL_ENTRY _tg__ZTV4E9x7__6G9x7y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__4E9x7__6G9x7y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI4E9x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__6G9x7y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x7y4[] = {
+ {&(_ZTV6G9x7y4[5]), 5,10},
+ {&(_tg__ZTV4E9x7__6G9x7y4[5]), 5,5},
+ {&(_tg__ZTV2C9__4E9x7__6G9x7y4[4]), 4,5},
+ {&(_ZTV6G9x7y4[9]), 9,10},
+ {&(_tg__ZTV2C9__6G9x7y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x7y4[];
+extern VTBL_ENTRY _ZTV6G9x7y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x7y4[];
+Class_Descriptor cd_G9x7y4 = { "G9x7y4", // class name
+ bases_G9x7y4, 6,
+ &(vtc_G9x7y4[0]), // expected_vtbl_contents
+ &(vtt_G9x7y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G9x7y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x7y4),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x7y4),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 G9x7y5 : virtual E9x7 , F0 {
+ int ff;
+ ~G9x7y5(); // tgen
+ G9x7y5(); // tgen
+};
+//SIG(1 G9x7y5) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G9x7y5 ::~G9x7y5(){ note_dtor("G9x7y5", this);} // tgen
+G9x7y5 ::G9x7y5(){ note_ctor("G9x7y5", this);} // tgen
+
+static void Test_G9x7y5()
+{
+ extern Class_Descriptor cd_G9x7y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G9x7y5, buf);
+ G9x7y5 *dp, &lv = *(dp=new (buf) G9x7y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G9x7y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x7y5)");
+ check_base_class_offset(lv, (A1*)(C9*), ABISELECT(32,20), "G9x7y5");
+ check_base_class_offset(lv, (B0*)(C9*), ABISELECT(48,32), "G9x7y5");
+ check_base_class_offset(lv, (C9*)(E9x7*), ABISELECT(32,20), "G9x7y5");
+ check_base_class_offset(lv, (D0*)(E9x7*), ABISELECT(52,36), "G9x7y5");
+ check_base_class_offset(lv, (E9x7*), ABISELECT(16,12), "G9x7y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G9x7y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G9x7y5.ff");
+ test_class_info(&lv, &cd_G9x7y5);
+ dp->~G9x7y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x7y5(Test_G9x7y5, "G9x7y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN6G9x7y5C1Ev();
+extern void _ZN6G9x7y5D1Ev();
+Name_Map name_map_G9x7y5[] = {
+ NSPAIR(_ZN6G9x7y5C1Ev),
+ NSPAIR(_ZN6G9x7y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E9x7;
+extern VTBL_ENTRY _ZTI4E9x7[];
+extern VTBL_ENTRY _ZTV4E9x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G9x7y5[] = {
+ // 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
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E9x7, 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 _ZTI6G9x7y5[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G9x7y5[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x7y5[0]),
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G9x7y5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI6G9x7y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x7y5[];
+static VTBL_ENTRY _tg__ZTV4E9x7__6G9x7y5[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__4E9x7__6G9x7y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E9x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__6G9x7y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x7y5[] = {
+ {&(_ZTV6G9x7y5[6]), 6,16},
+ {&(_ZTV6G9x7y5[11]), 11,16},
+ {&(_ZTV6G9x7y5[15]), 15,16},
+ {&(_tg__ZTV4E9x7__6G9x7y5[5]), 5,5},
+ {&(_tg__ZTV2C9__4E9x7__6G9x7y5[4]), 4,5},
+ {&(_tg__ZTV2C9__6G9x7y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x7y5[];
+extern VTBL_ENTRY _ZTV6G9x7y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x7y5[];
+Class_Descriptor cd_G9x7y5 = { "G9x7y5", // class name
+ bases_G9x7y5, 6,
+ &(vtc_G9x7y5[0]), // expected_vtbl_contents
+ &(vtt_G9x7y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI6G9x7y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x7y5),16, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x7y5),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 G9x7y6 : E9x7 , virtual F0 {
+ int ff;
+ ~G9x7y6(); // tgen
+ G9x7y6(); // tgen
+};
+//SIG(1 G9x7y6) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G9x7y6 ::~G9x7y6(){ note_dtor("G9x7y6", this);} // tgen
+G9x7y6 ::G9x7y6(){ note_ctor("G9x7y6", this);} // tgen
+
+static void Test_G9x7y6()
+{
+ extern Class_Descriptor cd_G9x7y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G9x7y6, buf);
+ G9x7y6 *dp, &lv = *(dp=new (buf) G9x7y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G9x7y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x7y6)");
+ check_base_class_offset(lv, (A1*)(C9*), ABISELECT(16,12), "G9x7y6");
+ check_base_class_offset(lv, (B0*)(C9*), ABISELECT(32,24), "G9x7y6");
+ check_base_class_offset(lv, (C9*)(E9x7*), ABISELECT(16,12), "G9x7y6");
+ check_base_class_offset(lv, (D0*)(E9x7*), ABISELECT(36,28), "G9x7y6");
+ check_base_class_offset(lv, (E9x7*), 0, "G9x7y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(40,32), "G9x7y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G9x7y6.ff");
+ test_class_info(&lv, &cd_G9x7y6);
+ dp->~G9x7y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x7y6(Test_G9x7y6, "G9x7y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN6G9x7y6C1Ev();
+extern void _ZN6G9x7y6D1Ev();
+Name_Map name_map_G9x7y6[] = {
+ NSPAIR(_ZN6G9x7y6C1Ev),
+ NSPAIR(_ZN6G9x7y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E9x7;
+extern VTBL_ENTRY _ZTI4E9x7[];
+extern VTBL_ENTRY _ZTV4E9x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G9x7y6[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E9x7, 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(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 _ZTI6G9x7y6[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G9x7y6[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x7y6[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI6G9x7y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x7y6[];
+static VTBL_ENTRY _tg__ZTV4E9x7__6G9x7y6[] = {
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__4E9x7__6G9x7y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI4E9x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__6G9x7y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x7y6[] = {
+ {&(_ZTV6G9x7y6[6]), 6,11},
+ {&(_tg__ZTV4E9x7__6G9x7y6[5]), 5,5},
+ {&(_tg__ZTV2C9__4E9x7__6G9x7y6[4]), 4,5},
+ {&(_ZTV6G9x7y6[10]), 10,11},
+ {&(_tg__ZTV2C9__6G9x7y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x7y6[];
+extern VTBL_ENTRY _ZTV6G9x7y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x7y6[];
+Class_Descriptor cd_G9x7y6 = { "G9x7y6", // class name
+ bases_G9x7y6, 6,
+ &(vtc_G9x7y6[0]), // expected_vtbl_contents
+ &(vtt_G9x7y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI6G9x7y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x7y6),11, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x7y6),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 G9x7y7 : virtual E9x7 , virtual F0 {
+ int ff;
+ ~G9x7y7(); // tgen
+ G9x7y7(); // tgen
+};
+//SIG(1 G9x7y7) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G9x7y7 ::~G9x7y7(){ note_dtor("G9x7y7", this);} // tgen
+G9x7y7 ::G9x7y7(){ note_ctor("G9x7y7", this);} // tgen
+
+static void Test_G9x7y7()
+{
+ extern Class_Descriptor cd_G9x7y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G9x7y7, buf);
+ G9x7y7 *dp, &lv = *(dp=new (buf) G9x7y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G9x7y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G9x7y7)");
+ check_base_class_offset(lv, (A1*)(C9*), ABISELECT(32,16), "G9x7y7");
+ check_base_class_offset(lv, (B0*)(C9*), ABISELECT(48,28), "G9x7y7");
+ check_base_class_offset(lv, (C9*)(E9x7*), ABISELECT(32,16), "G9x7y7");
+ check_base_class_offset(lv, (D0*)(E9x7*), ABISELECT(52,32), "G9x7y7");
+ check_base_class_offset(lv, (E9x7*), ABISELECT(16,8), "G9x7y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G9x7y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G9x7y7.ff");
+ test_class_info(&lv, &cd_G9x7y7);
+ dp->~G9x7y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG9x7y7(Test_G9x7y7, "G9x7y7", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN6G9x7y7C1Ev();
+extern void _ZN6G9x7y7D1Ev();
+Name_Map name_map_G9x7y7[] = {
+ NSPAIR(_ZN6G9x7y7C1Ev),
+ NSPAIR(_ZN6G9x7y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E9x7;
+extern VTBL_ENTRY _ZTI4E9x7[];
+extern VTBL_ENTRY _ZTV4E9x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT4E9x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G9x7y7[] = {
+ // 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
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E9x7, 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(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 _ZTI6G9x7y7[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G9x7y7[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI6G9x7y7[0]),
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI6G9x7y7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI6G9x7y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV6G9x7y7[];
+static VTBL_ENTRY _tg__ZTV4E9x7__6G9x7y7[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI4E9x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__4E9x7__6G9x7y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI4E9x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2C9__6G9x7y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI2C9[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G9x7y7[] = {
+ {&(_ZTV6G9x7y7[7]), 7,17},
+ {&(_ZTV6G9x7y7[12]), 12,17},
+ {&(_ZTV6G9x7y7[16]), 16,17},
+ {&(_tg__ZTV4E9x7__6G9x7y7[5]), 5,5},
+ {&(_tg__ZTV2C9__4E9x7__6G9x7y7[4]), 4,5},
+ {&(_tg__ZTV2C9__6G9x7y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI6G9x7y7[];
+extern VTBL_ENTRY _ZTV6G9x7y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT6G9x7y7[];
+Class_Descriptor cd_G9x7y7 = { "G9x7y7", // class name
+ bases_G9x7y7, 6,
+ &(vtc_G9x7y7[0]), // expected_vtbl_contents
+ &(vtt_G9x7y7[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI6G9x7y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV6G9x7y7),17, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT6G9x7y7),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 E10x7 : virtual C10 , virtual D0 {
+ int fd;
+ ~E10x7(); // tgen
+ E10x7(); // tgen
+};
+//SIG(-1 E10x7) C1{ VBC2{ VBC3{ Fi} VBC4{ Fi} Fi} VBC5{ Fi} Fi}
+
+
+E10x7 ::~E10x7(){ note_dtor("E10x7", this);} // tgen
+E10x7 ::E10x7(){ note_ctor("E10x7", this);} // tgen
+
+static void Test_E10x7()
+{
+ extern Class_Descriptor cd_E10x7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E10x7, buf);
+ E10x7 *dp, &lv = *(dp=new (buf) E10x7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E10x7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E10x7)");
+ check_base_class_offset(lv, (A0*)(C10*), ABISELECT(28,16), "E10x7");
+ check_base_class_offset(lv, (B0*)(C10*), ABISELECT(32,20), "E10x7");
+ check_base_class_offset(lv, (C10*), ABISELECT(16,8), "E10x7");
+ check_base_class_offset(lv, (D0*), ABISELECT(36,24), "E10x7");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E10x7.fd");
+ test_class_info(&lv, &cd_E10x7);
+ dp->~E10x7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE10x7(Test_E10x7, "E10x7", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E10x7C1Ev();
+extern void _ZN5E10x7D1Ev();
+Name_Map name_map_E10x7[] = {
+ NSPAIR(_ZN5E10x7C1Ev),
+ NSPAIR(_ZN5E10x7D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E10x7[] = {
+ // 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
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D0, 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, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E10x7[];
+static VTBL_ENTRY vtc_E10x7[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x7[0]),
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E10x7[0]),
+};
+extern VTBL_ENTRY _ZTV5E10x7[];
+static VTBL_ENTRY _tg__ZTV3C10__5E10x7[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_E10x7[] = {
+ {&(_ZTV5E10x7[6]), 6,10},
+ {&(_ZTV5E10x7[10]), 10,10},
+ {&(_tg__ZTV3C10__5E10x7[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI5E10x7[];
+extern VTBL_ENTRY _ZTV5E10x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x7[];
+Class_Descriptor cd_E10x7 = { "E10x7", // class name
+ bases_E10x7, 4,
+ &(vtc_E10x7[0]), // expected_vtbl_contents
+ &(vtt_E10x7[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E10x7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E10x7),10, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E10x7),3, //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 G10x7y0 : E10x7 , F1 {
+ int ff;
+ ~G10x7y0(); // tgen
+ G10x7y0(); // tgen
+};
+//SIG(1 G10x7y0) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ v1 Fi} Fi}
+
+
+G10x7y0 ::~G10x7y0(){ note_dtor("G10x7y0", this);} // tgen
+G10x7y0 ::G10x7y0(){ note_ctor("G10x7y0", this);} // tgen
+
+static void Test_G10x7y0()
+{
+ extern Class_Descriptor cd_G10x7y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G10x7y0, buf);
+ G10x7y0 *dp, &lv = *(dp=new (buf) G10x7y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G10x7y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x7y0)");
+ check_base_class_offset(lv, (A0*)(C10*), ABISELECT(44,28), "G10x7y0");
+ check_base_class_offset(lv, (B0*)(C10*), ABISELECT(48,32), "G10x7y0");
+ check_base_class_offset(lv, (C10*)(E10x7*), ABISELECT(32,20), "G10x7y0");
+ check_base_class_offset(lv, (D0*)(E10x7*), ABISELECT(52,36), "G10x7y0");
+ check_base_class_offset(lv, (E10x7*), 0, "G10x7y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G10x7y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G10x7y0.ff");
+ test_class_info(&lv, &cd_G10x7y0);
+ dp->~G10x7y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x7y0(Test_G10x7y0, "G10x7y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G10x7y0C1Ev();
+extern void _ZN7G10x7y0D1Ev();
+Name_Map name_map_G10x7y0[] = {
+ NSPAIR(_ZN7G10x7y0C1Ev),
+ NSPAIR(_ZN7G10x7y0D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E10x7;
+extern VTBL_ENTRY _ZTI5E10x7[];
+extern VTBL_ENTRY _ZTV5E10x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G10x7y0[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E10x7, 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
+ 2, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G10x7y0[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G10x7y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x7y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G10x7y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G10x7y0[0]),
+};
+extern VTBL_ENTRY _ZTV7G10x7y0[];
+static VTBL_ENTRY _tg__ZTV5E10x7__7G10x7y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C10__5E10x7__7G10x7y0[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E10x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C10__7G10x7y0[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x7y0[] = {
+ {&(_ZTV7G10x7y0[6]), 6,13},
+ {&(_tg__ZTV5E10x7__7G10x7y0[6]), 6,6},
+ {&(_tg__ZTV3C10__5E10x7__7G10x7y0[4]), 4,4},
+ {&(_ZTV7G10x7y0[13]), 13,13},
+ {&(_tg__ZTV3C10__7G10x7y0[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x7y0[];
+extern VTBL_ENTRY _ZTV7G10x7y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x7y0[];
+Class_Descriptor cd_G10x7y0 = { "G10x7y0", // class name
+ bases_G10x7y0, 6,
+ &(vtc_G10x7y0[0]), // expected_vtbl_contents
+ &(vtt_G10x7y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G10x7y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x7y0),13, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x7y0),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 G10x7y1 : virtual E10x7 , F1 {
+ int ff;
+ ~G10x7y1(); // tgen
+ G10x7y1(); // tgen
+};
+//SIG(1 G10x7y1) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ v1 Fi} Fi}
+
+
+G10x7y1 ::~G10x7y1(){ note_dtor("G10x7y1", this);} // tgen
+G10x7y1 ::G10x7y1(){ note_ctor("G10x7y1", this);} // tgen
+
+static void Test_G10x7y1()
+{
+ extern Class_Descriptor cd_G10x7y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G10x7y1, buf);
+ G10x7y1 *dp, &lv = *(dp=new (buf) G10x7y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G10x7y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x7y1)");
+ check_base_class_offset(lv, (A0*)(C10*), ABISELECT(44,28), "G10x7y1");
+ check_base_class_offset(lv, (B0*)(C10*), ABISELECT(48,32), "G10x7y1");
+ check_base_class_offset(lv, (C10*)(E10x7*), ABISELECT(32,20), "G10x7y1");
+ check_base_class_offset(lv, (D0*)(E10x7*), ABISELECT(52,36), "G10x7y1");
+ check_base_class_offset(lv, (E10x7*), ABISELECT(16,12), "G10x7y1");
+ check_base_class_offset(lv, (F1*), 0, "G10x7y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G10x7y1.ff");
+ test_class_info(&lv, &cd_G10x7y1);
+ dp->~G10x7y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x7y1(Test_G10x7y1, "G10x7y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G10x7y1C1Ev();
+extern void _ZN7G10x7y1D1Ev();
+Name_Map name_map_G10x7y1[] = {
+ NSPAIR(_ZN7G10x7y1C1Ev),
+ NSPAIR(_ZN7G10x7y1D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E10x7;
+extern VTBL_ENTRY _ZTI5E10x7[];
+extern VTBL_ENTRY _ZTV5E10x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G10x7y1[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E10x7, 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
+ 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 _ZTI7G10x7y1[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G10x7y1[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x7y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G10x7y1[0]),
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G10x7y1[0]),
+};
+extern VTBL_ENTRY _ZTV7G10x7y1[];
+static VTBL_ENTRY _tg__ZTV5E10x7__7G10x7y1[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C10__5E10x7__7G10x7y1[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E10x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C10__7G10x7y1[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x7y1[] = {
+ {&(_ZTV7G10x7y1[7]), 7,18},
+ {&(_ZTV7G10x7y1[14]), 14,18},
+ {&(_ZTV7G10x7y1[18]), 18,18},
+ {&(_tg__ZTV5E10x7__7G10x7y1[6]), 6,6},
+ {&(_tg__ZTV3C10__5E10x7__7G10x7y1[4]), 4,4},
+ {&(_tg__ZTV3C10__7G10x7y1[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x7y1[];
+extern VTBL_ENTRY _ZTV7G10x7y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x7y1[];
+Class_Descriptor cd_G10x7y1 = { "G10x7y1", // class name
+ bases_G10x7y1, 6,
+ &(vtc_G10x7y1[0]), // expected_vtbl_contents
+ &(vtt_G10x7y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G10x7y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x7y1),18, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x7y1),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 G10x7y2 : E10x7 , virtual F1 {
+ int ff;
+ ~G10x7y2(); // tgen
+ G10x7y2(); // tgen
+};
+//SIG(1 G10x7y2) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ v1 Fi} Fi}
+
+
+G10x7y2 ::~G10x7y2(){ note_dtor("G10x7y2", this);} // tgen
+G10x7y2 ::G10x7y2(){ note_ctor("G10x7y2", this);} // tgen
+
+static void Test_G10x7y2()
+{
+ extern Class_Descriptor cd_G10x7y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G10x7y2, buf);
+ G10x7y2 *dp, &lv = *(dp=new (buf) G10x7y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G10x7y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x7y2)");
+ check_base_class_offset(lv, (A0*)(C10*), ABISELECT(28,20), "G10x7y2");
+ check_base_class_offset(lv, (B0*)(C10*), ABISELECT(32,24), "G10x7y2");
+ check_base_class_offset(lv, (C10*)(E10x7*), ABISELECT(16,12), "G10x7y2");
+ check_base_class_offset(lv, (D0*)(E10x7*), ABISELECT(36,28), "G10x7y2");
+ check_base_class_offset(lv, (E10x7*), 0, "G10x7y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(40,32), "G10x7y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G10x7y2.ff");
+ test_class_info(&lv, &cd_G10x7y2);
+ dp->~G10x7y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x7y2(Test_G10x7y2, "G10x7y2", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G10x7y2C1Ev();
+extern void _ZN7G10x7y2D1Ev();
+Name_Map name_map_G10x7y2[] = {
+ NSPAIR(_ZN7G10x7y2C1Ev),
+ NSPAIR(_ZN7G10x7y2D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E10x7;
+extern VTBL_ENTRY _ZTI5E10x7[];
+extern VTBL_ENTRY _ZTV5E10x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G10x7y2[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E10x7, 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(40,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 _ZTI7G10x7y2[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G10x7y2[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x7y2[0]),
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G10x7y2[0]),
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G10x7y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G10x7y2[];
+static VTBL_ENTRY _tg__ZTV5E10x7__7G10x7y2[] = {
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C10__5E10x7__7G10x7y2[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E10x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C10__7G10x7y2[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x7y2[] = {
+ {&(_ZTV7G10x7y2[7]), 7,15},
+ {&(_tg__ZTV5E10x7__7G10x7y2[6]), 6,6},
+ {&(_tg__ZTV3C10__5E10x7__7G10x7y2[4]), 4,4},
+ {&(_ZTV7G10x7y2[11]), 11,15},
+ {&(_ZTV7G10x7y2[14]), 14,15},
+ {&(_tg__ZTV3C10__7G10x7y2[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x7y2[];
+extern VTBL_ENTRY _ZTV7G10x7y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x7y2[];
+Class_Descriptor cd_G10x7y2 = { "G10x7y2", // class name
+ bases_G10x7y2, 6,
+ &(vtc_G10x7y2[0]), // expected_vtbl_contents
+ &(vtt_G10x7y2[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G10x7y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x7y2),15, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x7y2),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 G10x7y3 : virtual E10x7 , virtual F1 {
+ int ff;
+ ~G10x7y3(); // tgen
+ G10x7y3(); // tgen
+};
+//SIG(1 G10x7y3) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ v1 Fi} Fi}
+
+
+G10x7y3 ::~G10x7y3(){ note_dtor("G10x7y3", this);} // tgen
+G10x7y3 ::G10x7y3(){ note_ctor("G10x7y3", this);} // tgen
+
+static void Test_G10x7y3()
+{
+ extern Class_Descriptor cd_G10x7y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G10x7y3, buf);
+ G10x7y3 *dp, &lv = *(dp=new (buf) G10x7y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G10x7y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x7y3)");
+ check_base_class_offset(lv, (A0*)(C10*), ABISELECT(44,24), "G10x7y3");
+ check_base_class_offset(lv, (B0*)(C10*), ABISELECT(48,28), "G10x7y3");
+ check_base_class_offset(lv, (C10*)(E10x7*), ABISELECT(32,16), "G10x7y3");
+ check_base_class_offset(lv, (D0*)(E10x7*), ABISELECT(52,32), "G10x7y3");
+ check_base_class_offset(lv, (E10x7*), ABISELECT(16,8), "G10x7y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G10x7y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G10x7y3.ff");
+ test_class_info(&lv, &cd_G10x7y3);
+ dp->~G10x7y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x7y3(Test_G10x7y3, "G10x7y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G10x7y3C1Ev();
+extern void _ZN7G10x7y3D1Ev();
+Name_Map name_map_G10x7y3[] = {
+ NSPAIR(_ZN7G10x7y3C1Ev),
+ NSPAIR(_ZN7G10x7y3D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E10x7;
+extern VTBL_ENTRY _ZTI5E10x7[];
+extern VTBL_ENTRY _ZTV5E10x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G10x7y3[] = {
+ // 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
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E10x7, 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
+ 2, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G10x7y3[];
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G10x7y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(48,28),
+ ABISELECT(44,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x7y3[0]),
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G10x7y3[0]),
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G10x7y3[0]),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G10x7y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G10x7y3[];
+static VTBL_ENTRY _tg__ZTV5E10x7__7G10x7y3[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C10__5E10x7__7G10x7y3[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E10x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C10__7G10x7y3[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x7y3[] = {
+ {&(_ZTV7G10x7y3[8]), 8,22},
+ {&(_ZTV7G10x7y3[14]), 14,22},
+ {&(_ZTV7G10x7y3[18]), 18,22},
+ {&(_ZTV7G10x7y3[21]), 21,22},
+ {&(_tg__ZTV5E10x7__7G10x7y3[6]), 6,6},
+ {&(_tg__ZTV3C10__5E10x7__7G10x7y3[4]), 4,4},
+ {&(_tg__ZTV3C10__7G10x7y3[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x7y3[];
+extern VTBL_ENTRY _ZTV7G10x7y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x7y3[];
+Class_Descriptor cd_G10x7y3 = { "G10x7y3", // class name
+ bases_G10x7y3, 6,
+ &(vtc_G10x7y3[0]), // expected_vtbl_contents
+ &(vtt_G10x7y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G10x7y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x7y3),22, //virtual function table var
+ 8, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x7y3),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 G10x7y4 : E10x7 , F0 {
+ int ff;
+ ~G10x7y4(); // tgen
+ G10x7y4(); // tgen
+};
+//SIG(1 G10x7y4) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G10x7y4 ::~G10x7y4(){ note_dtor("G10x7y4", this);} // tgen
+G10x7y4 ::G10x7y4(){ note_ctor("G10x7y4", this);} // tgen
+
+static void Test_G10x7y4()
+{
+ extern Class_Descriptor cd_G10x7y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G10x7y4, buf);
+ G10x7y4 *dp, &lv = *(dp=new (buf) G10x7y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G10x7y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x7y4)");
+ check_base_class_offset(lv, (A0*)(C10*), ABISELECT(36,24), "G10x7y4");
+ check_base_class_offset(lv, (B0*)(C10*), ABISELECT(40,28), "G10x7y4");
+ check_base_class_offset(lv, (C10*)(E10x7*), ABISELECT(24,16), "G10x7y4");
+ check_base_class_offset(lv, (D0*)(E10x7*), ABISELECT(44,32), "G10x7y4");
+ check_base_class_offset(lv, (E10x7*), 0, "G10x7y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G10x7y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G10x7y4.ff");
+ test_class_info(&lv, &cd_G10x7y4);
+ dp->~G10x7y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x7y4(Test_G10x7y4, "G10x7y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G10x7y4C1Ev();
+extern void _ZN7G10x7y4D1Ev();
+Name_Map name_map_G10x7y4[] = {
+ NSPAIR(_ZN7G10x7y4C1Ev),
+ NSPAIR(_ZN7G10x7y4D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E10x7;
+extern VTBL_ENTRY _ZTI5E10x7[];
+extern VTBL_ENTRY _ZTV5E10x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G10x7y4[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E10x7, 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
+ 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 _ZTI7G10x7y4[];
+static VTBL_ENTRY vtc_G10x7y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x7y4[0]),
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G10x7y4[0]),
+};
+extern VTBL_ENTRY _ZTV7G10x7y4[];
+static VTBL_ENTRY _tg__ZTV5E10x7__7G10x7y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C10__5E10x7__7G10x7y4[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E10x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C10__7G10x7y4[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x7y4[] = {
+ {&(_ZTV7G10x7y4[6]), 6,10},
+ {&(_tg__ZTV5E10x7__7G10x7y4[6]), 6,6},
+ {&(_tg__ZTV3C10__5E10x7__7G10x7y4[4]), 4,4},
+ {&(_ZTV7G10x7y4[10]), 10,10},
+ {&(_tg__ZTV3C10__7G10x7y4[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x7y4[];
+extern VTBL_ENTRY _ZTV7G10x7y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x7y4[];
+Class_Descriptor cd_G10x7y4 = { "G10x7y4", // class name
+ bases_G10x7y4, 6,
+ &(vtc_G10x7y4[0]), // expected_vtbl_contents
+ &(vtt_G10x7y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G10x7y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x7y4),10, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x7y4),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 G10x7y5 : virtual E10x7 , F0 {
+ int ff;
+ ~G10x7y5(); // tgen
+ G10x7y5(); // tgen
+};
+//SIG(1 G10x7y5) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G10x7y5 ::~G10x7y5(){ note_dtor("G10x7y5", this);} // tgen
+G10x7y5 ::G10x7y5(){ note_ctor("G10x7y5", this);} // tgen
+
+static void Test_G10x7y5()
+{
+ extern Class_Descriptor cd_G10x7y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G10x7y5, buf);
+ G10x7y5 *dp, &lv = *(dp=new (buf) G10x7y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G10x7y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x7y5)");
+ check_base_class_offset(lv, (A0*)(C10*), ABISELECT(44,28), "G10x7y5");
+ check_base_class_offset(lv, (B0*)(C10*), ABISELECT(48,32), "G10x7y5");
+ check_base_class_offset(lv, (C10*)(E10x7*), ABISELECT(32,20), "G10x7y5");
+ check_base_class_offset(lv, (D0*)(E10x7*), ABISELECT(52,36), "G10x7y5");
+ check_base_class_offset(lv, (E10x7*), ABISELECT(16,12), "G10x7y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G10x7y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G10x7y5.ff");
+ test_class_info(&lv, &cd_G10x7y5);
+ dp->~G10x7y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x7y5(Test_G10x7y5, "G10x7y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G10x7y5C1Ev();
+extern void _ZN7G10x7y5D1Ev();
+Name_Map name_map_G10x7y5[] = {
+ NSPAIR(_ZN7G10x7y5C1Ev),
+ NSPAIR(_ZN7G10x7y5D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E10x7;
+extern VTBL_ENTRY _ZTI5E10x7[];
+extern VTBL_ENTRY _ZTV5E10x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G10x7y5[] = {
+ // 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
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E10x7, 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
+ 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 _ZTI7G10x7y5[];
+static VTBL_ENTRY vtc_G10x7y5[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x7y5[0]),
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G10x7y5[0]),
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G10x7y5[0]),
+};
+extern VTBL_ENTRY _ZTV7G10x7y5[];
+static VTBL_ENTRY _tg__ZTV5E10x7__7G10x7y5[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C10__5E10x7__7G10x7y5[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E10x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C10__7G10x7y5[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x7y5[] = {
+ {&(_ZTV7G10x7y5[7]), 7,17},
+ {&(_ZTV7G10x7y5[13]), 13,17},
+ {&(_ZTV7G10x7y5[17]), 17,17},
+ {&(_tg__ZTV5E10x7__7G10x7y5[6]), 6,6},
+ {&(_tg__ZTV3C10__5E10x7__7G10x7y5[4]), 4,4},
+ {&(_tg__ZTV3C10__7G10x7y5[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x7y5[];
+extern VTBL_ENTRY _ZTV7G10x7y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x7y5[];
+Class_Descriptor cd_G10x7y5 = { "G10x7y5", // class name
+ bases_G10x7y5, 6,
+ &(vtc_G10x7y5[0]), // expected_vtbl_contents
+ &(vtt_G10x7y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G10x7y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x7y5),17, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x7y5),6, //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 G10x7y6 : E10x7 , virtual F0 {
+ int ff;
+ ~G10x7y6(); // tgen
+ G10x7y6(); // tgen
+};
+//SIG(1 G10x7y6) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G10x7y6 ::~G10x7y6(){ note_dtor("G10x7y6", this);} // tgen
+G10x7y6 ::G10x7y6(){ note_ctor("G10x7y6", this);} // tgen
+
+static void Test_G10x7y6()
+{
+ extern Class_Descriptor cd_G10x7y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G10x7y6, buf);
+ G10x7y6 *dp, &lv = *(dp=new (buf) G10x7y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G10x7y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x7y6)");
+ check_base_class_offset(lv, (A0*)(C10*), ABISELECT(28,20), "G10x7y6");
+ check_base_class_offset(lv, (B0*)(C10*), ABISELECT(32,24), "G10x7y6");
+ check_base_class_offset(lv, (C10*)(E10x7*), ABISELECT(16,12), "G10x7y6");
+ check_base_class_offset(lv, (D0*)(E10x7*), ABISELECT(36,28), "G10x7y6");
+ check_base_class_offset(lv, (E10x7*), 0, "G10x7y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(40,32), "G10x7y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G10x7y6.ff");
+ test_class_info(&lv, &cd_G10x7y6);
+ dp->~G10x7y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x7y6(Test_G10x7y6, "G10x7y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G10x7y6C1Ev();
+extern void _ZN7G10x7y6D1Ev();
+Name_Map name_map_G10x7y6[] = {
+ NSPAIR(_ZN7G10x7y6C1Ev),
+ NSPAIR(_ZN7G10x7y6D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E10x7;
+extern VTBL_ENTRY _ZTI5E10x7[];
+extern VTBL_ENTRY _ZTV5E10x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G10x7y6[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E10x7, 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
+ 2, //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 _ZTI7G10x7y6[];
+static VTBL_ENTRY vtc_G10x7y6[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x7y6[0]),
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G10x7y6[0]),
+};
+extern VTBL_ENTRY _ZTV7G10x7y6[];
+static VTBL_ENTRY _tg__ZTV5E10x7__7G10x7y6[] = {
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C10__5E10x7__7G10x7y6[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E10x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C10__7G10x7y6[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x7y6[] = {
+ {&(_ZTV7G10x7y6[7]), 7,11},
+ {&(_tg__ZTV5E10x7__7G10x7y6[6]), 6,6},
+ {&(_tg__ZTV3C10__5E10x7__7G10x7y6[4]), 4,4},
+ {&(_ZTV7G10x7y6[11]), 11,11},
+ {&(_tg__ZTV3C10__7G10x7y6[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x7y6[];
+extern VTBL_ENTRY _ZTV7G10x7y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x7y6[];
+Class_Descriptor cd_G10x7y6 = { "G10x7y6", // class name
+ bases_G10x7y6, 6,
+ &(vtc_G10x7y6[0]), // expected_vtbl_contents
+ &(vtt_G10x7y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G10x7y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x7y6),11, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x7y6),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 G10x7y7 : virtual E10x7 , virtual F0 {
+ int ff;
+ ~G10x7y7(); // tgen
+ G10x7y7(); // tgen
+};
+//SIG(1 G10x7y7) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G10x7y7 ::~G10x7y7(){ note_dtor("G10x7y7", this);} // tgen
+G10x7y7 ::G10x7y7(){ note_ctor("G10x7y7", this);} // tgen
+
+static void Test_G10x7y7()
+{
+ extern Class_Descriptor cd_G10x7y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G10x7y7, buf);
+ G10x7y7 *dp, &lv = *(dp=new (buf) G10x7y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G10x7y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G10x7y7)");
+ check_base_class_offset(lv, (A0*)(C10*), ABISELECT(44,24), "G10x7y7");
+ check_base_class_offset(lv, (B0*)(C10*), ABISELECT(48,28), "G10x7y7");
+ check_base_class_offset(lv, (C10*)(E10x7*), ABISELECT(32,16), "G10x7y7");
+ check_base_class_offset(lv, (D0*)(E10x7*), ABISELECT(52,32), "G10x7y7");
+ check_base_class_offset(lv, (E10x7*), ABISELECT(16,8), "G10x7y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G10x7y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G10x7y7.ff");
+ test_class_info(&lv, &cd_G10x7y7);
+ dp->~G10x7y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG10x7y7(Test_G10x7y7, "G10x7y7", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G10x7y7C1Ev();
+extern void _ZN7G10x7y7D1Ev();
+Name_Map name_map_G10x7y7[] = {
+ NSPAIR(_ZN7G10x7y7C1Ev),
+ NSPAIR(_ZN7G10x7y7D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E10x7;
+extern VTBL_ENTRY _ZTI5E10x7[];
+extern VTBL_ENTRY _ZTV5E10x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E10x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G10x7y7[] = {
+ // 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
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E10x7, 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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //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 _ZTI7G10x7y7[];
+static VTBL_ENTRY vtc_G10x7y7[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(48,28),
+ ABISELECT(44,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G10x7y7[0]),
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G10x7y7[0]),
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G10x7y7[0]),
+};
+extern VTBL_ENTRY _ZTV7G10x7y7[];
+static VTBL_ENTRY _tg__ZTV5E10x7__7G10x7y7[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E10x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C10__5E10x7__7G10x7y7[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E10x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C10__7G10x7y7[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C10[0]),
+};
+static VTT_ENTRY vtt_G10x7y7[] = {
+ {&(_ZTV7G10x7y7[8]), 8,18},
+ {&(_ZTV7G10x7y7[14]), 14,18},
+ {&(_ZTV7G10x7y7[18]), 18,18},
+ {&(_tg__ZTV5E10x7__7G10x7y7[6]), 6,6},
+ {&(_tg__ZTV3C10__5E10x7__7G10x7y7[4]), 4,4},
+ {&(_tg__ZTV3C10__7G10x7y7[4]), 4,4},
+};
+extern VTBL_ENTRY _ZTI7G10x7y7[];
+extern VTBL_ENTRY _ZTV7G10x7y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G10x7y7[];
+Class_Descriptor cd_G10x7y7 = { "G10x7y7", // class name
+ bases_G10x7y7, 6,
+ &(vtc_G10x7y7[0]), // expected_vtbl_contents
+ &(vtt_G10x7y7[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G10x7y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G10x7y7),18, //virtual function table var
+ 8, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G10x7y7),6, //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 E11x7 : virtual C11 , virtual D0 {
+ int fd;
+ ~E11x7(); // tgen
+ E11x7(); // tgen
+};
+//SIG(-1 E11x7) C1{ VBC2{ VBC3{ v1 Fi} VBC4{ Fi} Fi} VBC5{ Fi} Fi}
+
+
+E11x7 ::~E11x7(){ note_dtor("E11x7", this);} // tgen
+E11x7 ::E11x7(){ note_ctor("E11x7", this);} // tgen
+
+static void Test_E11x7()
+{
+ extern Class_Descriptor cd_E11x7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,9)];
+ init_test(&cd_E11x7, buf);
+ E11x7 *dp, &lv = *(dp=new (buf) E11x7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,32), "sizeof(E11x7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E11x7)");
+ check_base_class_offset(lv, (A1*)(C11*), ABISELECT(32,16), "E11x7");
+ check_base_class_offset(lv, (B0*)(C11*), ABISELECT(44,24), "E11x7");
+ check_base_class_offset(lv, (C11*), ABISELECT(16,8), "E11x7");
+ check_base_class_offset(lv, (D0*), ABISELECT(48,28), "E11x7");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E11x7.fd");
+ test_class_info(&lv, &cd_E11x7);
+ dp->~E11x7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE11x7(Test_E11x7, "E11x7", ABISELECT(56,32));
+
+#else // __cplusplus
+
+extern void _ZN5E11x7C1Ev();
+extern void _ZN5E11x7D1Ev();
+Name_Map name_map_E11x7[] = {
+ NSPAIR(_ZN5E11x7C1Ev),
+ NSPAIR(_ZN5E11x7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E11x7[] = {
+ // 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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D0, 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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E11x7[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_E11x7[] = {
+ ABISELECT(48,28),
+ ABISELECT(44,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x7[0]),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E11x7[0]),
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI5E11x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E11x7[];
+static VTBL_ENTRY _tg__ZTV3C11__5E11x7[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C11__5E11x7[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_E11x7[] = {
+ {&(_ZTV5E11x7[6]), 6,14},
+ {&(_ZTV5E11x7[10]), 10,14},
+ {&(_ZTV5E11x7[13]), 13,14},
+ {&(_tg__ZTV3C11__5E11x7[4]), 4,4},
+ {&(_tg__ZTV2A1__3C11__5E11x7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E11x7[];
+extern VTBL_ENTRY _ZTV5E11x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x7[];
+Class_Descriptor cd_E11x7 = { "E11x7", // class name
+ bases_E11x7, 4,
+ &(vtc_E11x7[0]), // expected_vtbl_contents
+ &(vtt_E11x7[0]), // expected_vtt_contents
+ ABISELECT(56,32), // object size
+ NSPAIRA(_ZTI5E11x7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E11x7),14, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E11x7),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 G11x7y0 : E11x7 , F1 {
+ int ff;
+ ~G11x7y0(); // tgen
+ G11x7y0(); // tgen
+};
+//SIG(1 G11x7y0) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G11x7y0 ::~G11x7y0(){ note_dtor("G11x7y0", this);} // tgen
+G11x7y0 ::G11x7y0(){ note_ctor("G11x7y0", this);} // tgen
+
+static void Test_G11x7y0()
+{
+ extern Class_Descriptor cd_G11x7y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G11x7y0, buf);
+ G11x7y0 *dp, &lv = *(dp=new (buf) G11x7y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G11x7y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x7y0)");
+ check_base_class_offset(lv, (A1*)(C11*), ABISELECT(48,28), "G11x7y0");
+ check_base_class_offset(lv, (B0*)(C11*), ABISELECT(60,36), "G11x7y0");
+ check_base_class_offset(lv, (C11*)(E11x7*), ABISELECT(32,20), "G11x7y0");
+ check_base_class_offset(lv, (D0*)(E11x7*), ABISELECT(64,40), "G11x7y0");
+ check_base_class_offset(lv, (E11x7*), 0, "G11x7y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G11x7y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G11x7y0.ff");
+ test_class_info(&lv, &cd_G11x7y0);
+ dp->~G11x7y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x7y0(Test_G11x7y0, "G11x7y0", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G11x7y0C1Ev();
+extern void _ZN7G11x7y0D1Ev();
+Name_Map name_map_G11x7y0[] = {
+ NSPAIR(_ZN7G11x7y0C1Ev),
+ NSPAIR(_ZN7G11x7y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E11x7;
+extern VTBL_ENTRY _ZTI5E11x7[];
+extern VTBL_ENTRY _ZTV5E11x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G11x7y0[] = {
+ // 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)
+ 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,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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E11x7, 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 _ZTI7G11x7y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G11x7y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x7y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G11x7y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G11x7y0[0]),
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G11x7y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x7y0[];
+static VTBL_ENTRY _tg__ZTV5E11x7__7G11x7y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C11__5E11x7__7G11x7y0[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E11x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x7__7G11x7y0[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E11x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C11__7G11x7y0[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C11__7G11x7y0[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x7y0[] = {
+ {&(_ZTV7G11x7y0[6]), 6,17},
+ {&(_tg__ZTV5E11x7__7G11x7y0[6]), 6,6},
+ {&(_tg__ZTV3C11__5E11x7__7G11x7y0[4]), 4,4},
+ {&(_tg__ZTV2A1__5E11x7__7G11x7y0[3]), 3,4},
+ {&(_ZTV7G11x7y0[13]), 13,17},
+ {&(_ZTV7G11x7y0[16]), 16,17},
+ {&(_tg__ZTV3C11__7G11x7y0[4]), 4,4},
+ {&(_tg__ZTV2A1__3C11__7G11x7y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G11x7y0[];
+extern VTBL_ENTRY _ZTV7G11x7y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x7y0[];
+Class_Descriptor cd_G11x7y0 = { "G11x7y0", // class name
+ bases_G11x7y0, 6,
+ &(vtc_G11x7y0[0]), // expected_vtbl_contents
+ &(vtt_G11x7y0[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G11x7y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x7y0),17, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x7y0),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 G11x7y1 : virtual E11x7 , F1 {
+ int ff;
+ ~G11x7y1(); // tgen
+ G11x7y1(); // tgen
+};
+//SIG(1 G11x7y1) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G11x7y1 ::~G11x7y1(){ note_dtor("G11x7y1", this);} // tgen
+G11x7y1 ::G11x7y1(){ note_ctor("G11x7y1", this);} // tgen
+
+static void Test_G11x7y1()
+{
+ extern Class_Descriptor cd_G11x7y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G11x7y1, buf);
+ G11x7y1 *dp, &lv = *(dp=new (buf) G11x7y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G11x7y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x7y1)");
+ check_base_class_offset(lv, (A1*)(C11*), ABISELECT(48,28), "G11x7y1");
+ check_base_class_offset(lv, (B0*)(C11*), ABISELECT(60,36), "G11x7y1");
+ check_base_class_offset(lv, (C11*)(E11x7*), ABISELECT(32,20), "G11x7y1");
+ check_base_class_offset(lv, (D0*)(E11x7*), ABISELECT(64,40), "G11x7y1");
+ check_base_class_offset(lv, (E11x7*), ABISELECT(16,12), "G11x7y1");
+ check_base_class_offset(lv, (F1*), 0, "G11x7y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G11x7y1.ff");
+ test_class_info(&lv, &cd_G11x7y1);
+ dp->~G11x7y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x7y1(Test_G11x7y1, "G11x7y1", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G11x7y1C1Ev();
+extern void _ZN7G11x7y1D1Ev();
+Name_Map name_map_G11x7y1[] = {
+ NSPAIR(_ZN7G11x7y1C1Ev),
+ NSPAIR(_ZN7G11x7y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E11x7;
+extern VTBL_ENTRY _ZTI5E11x7[];
+extern VTBL_ENTRY _ZTV5E11x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G11x7y1[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E11x7, 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 _ZTI7G11x7y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G11x7y1[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x7y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(48,28),
+ ABISELECT(44,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G11x7y1[0]),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G11x7y1[0]),
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G11x7y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x7y1[];
+static VTBL_ENTRY _tg__ZTV5E11x7__7G11x7y1[] = {
+ ABISELECT(48,28),
+ ABISELECT(44,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C11__5E11x7__7G11x7y1[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E11x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x7__7G11x7y1[] = {
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI5E11x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C11__7G11x7y1[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C11__7G11x7y1[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x7y1[] = {
+ {&(_ZTV7G11x7y1[7]), 7,22},
+ {&(_ZTV7G11x7y1[14]), 14,22},
+ {&(_ZTV7G11x7y1[18]), 18,22},
+ {&(_ZTV7G11x7y1[21]), 21,22},
+ {&(_tg__ZTV5E11x7__7G11x7y1[6]), 6,6},
+ {&(_tg__ZTV3C11__5E11x7__7G11x7y1[4]), 4,4},
+ {&(_tg__ZTV2A1__5E11x7__7G11x7y1[3]), 3,4},
+ {&(_tg__ZTV3C11__7G11x7y1[4]), 4,4},
+ {&(_tg__ZTV2A1__3C11__7G11x7y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G11x7y1[];
+extern VTBL_ENTRY _ZTV7G11x7y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x7y1[];
+Class_Descriptor cd_G11x7y1 = { "G11x7y1", // class name
+ bases_G11x7y1, 6,
+ &(vtc_G11x7y1[0]), // expected_vtbl_contents
+ &(vtt_G11x7y1[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G11x7y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x7y1),22, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x7y1),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 G11x7y2 : E11x7 , virtual F1 {
+ int ff;
+ ~G11x7y2(); // tgen
+ G11x7y2(); // tgen
+};
+//SIG(1 G11x7y2) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G11x7y2 ::~G11x7y2(){ note_dtor("G11x7y2", this);} // tgen
+G11x7y2 ::G11x7y2(){ note_ctor("G11x7y2", this);} // tgen
+
+static void Test_G11x7y2()
+{
+ extern Class_Descriptor cd_G11x7y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G11x7y2, buf);
+ G11x7y2 *dp, &lv = *(dp=new (buf) G11x7y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G11x7y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x7y2)");
+ check_base_class_offset(lv, (A1*)(C11*), ABISELECT(32,20), "G11x7y2");
+ check_base_class_offset(lv, (B0*)(C11*), ABISELECT(44,28), "G11x7y2");
+ check_base_class_offset(lv, (C11*)(E11x7*), ABISELECT(16,12), "G11x7y2");
+ check_base_class_offset(lv, (D0*)(E11x7*), ABISELECT(48,32), "G11x7y2");
+ check_base_class_offset(lv, (E11x7*), 0, "G11x7y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G11x7y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G11x7y2.ff");
+ test_class_info(&lv, &cd_G11x7y2);
+ dp->~G11x7y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x7y2(Test_G11x7y2, "G11x7y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G11x7y2C1Ev();
+extern void _ZN7G11x7y2D1Ev();
+Name_Map name_map_G11x7y2[] = {
+ NSPAIR(_ZN7G11x7y2C1Ev),
+ NSPAIR(_ZN7G11x7y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E11x7;
+extern VTBL_ENTRY _ZTI5E11x7[];
+extern VTBL_ENTRY _ZTV5E11x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G11x7y2[] = {
+ // 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)
+ 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(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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E11x7, 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 _ZTI7G11x7y2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G11x7y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x7y2[0]),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G11x7y2[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G11x7y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G11x7y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x7y2[];
+static VTBL_ENTRY _tg__ZTV5E11x7__7G11x7y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C11__5E11x7__7G11x7y2[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E11x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x7__7G11x7y2[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E11x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C11__7G11x7y2[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C11__7G11x7y2[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x7y2[] = {
+ {&(_ZTV7G11x7y2[7]), 7,19},
+ {&(_tg__ZTV5E11x7__7G11x7y2[6]), 6,6},
+ {&(_tg__ZTV3C11__5E11x7__7G11x7y2[4]), 4,4},
+ {&(_tg__ZTV2A1__5E11x7__7G11x7y2[3]), 3,4},
+ {&(_ZTV7G11x7y2[11]), 11,19},
+ {&(_ZTV7G11x7y2[14]), 14,19},
+ {&(_ZTV7G11x7y2[18]), 18,19},
+ {&(_tg__ZTV3C11__7G11x7y2[4]), 4,4},
+ {&(_tg__ZTV2A1__3C11__7G11x7y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G11x7y2[];
+extern VTBL_ENTRY _ZTV7G11x7y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x7y2[];
+Class_Descriptor cd_G11x7y2 = { "G11x7y2", // class name
+ bases_G11x7y2, 6,
+ &(vtc_G11x7y2[0]), // expected_vtbl_contents
+ &(vtt_G11x7y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G11x7y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x7y2),19, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x7y2),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 G11x7y3 : virtual E11x7 , virtual F1 {
+ int ff;
+ ~G11x7y3(); // tgen
+ G11x7y3(); // tgen
+};
+//SIG(1 G11x7y3) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G11x7y3 ::~G11x7y3(){ note_dtor("G11x7y3", this);} // tgen
+G11x7y3 ::G11x7y3(){ note_ctor("G11x7y3", this);} // tgen
+
+static void Test_G11x7y3()
+{
+ extern Class_Descriptor cd_G11x7y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(12,13)];
+ init_test(&cd_G11x7y3, buf);
+ G11x7y3 *dp, &lv = *(dp=new (buf) G11x7y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(88,48), "sizeof(G11x7y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x7y3)");
+ check_base_class_offset(lv, (A1*)(C11*), ABISELECT(48,24), "G11x7y3");
+ check_base_class_offset(lv, (B0*)(C11*), ABISELECT(60,32), "G11x7y3");
+ check_base_class_offset(lv, (C11*)(E11x7*), ABISELECT(32,16), "G11x7y3");
+ check_base_class_offset(lv, (D0*)(E11x7*), ABISELECT(64,36), "G11x7y3");
+ check_base_class_offset(lv, (E11x7*), ABISELECT(16,8), "G11x7y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(72,40), "G11x7y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G11x7y3.ff");
+ test_class_info(&lv, &cd_G11x7y3);
+ dp->~G11x7y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x7y3(Test_G11x7y3, "G11x7y3", ABISELECT(88,48));
+
+#else // __cplusplus
+
+extern void _ZN7G11x7y3C1Ev();
+extern void _ZN7G11x7y3D1Ev();
+Name_Map name_map_G11x7y3[] = {
+ NSPAIR(_ZN7G11x7y3C1Ev),
+ NSPAIR(_ZN7G11x7y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E11x7;
+extern VTBL_ENTRY _ZTI5E11x7[];
+extern VTBL_ENTRY _ZTV5E11x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G11x7y3[] = {
+ // 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
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, ABISELECT(64,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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E11x7, 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 _ZTI7G11x7y3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G11x7y3[] = {
+ ABISELECT(72,40),
+ ABISELECT(64,36),
+ ABISELECT(60,32),
+ ABISELECT(48,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x7y3[0]),
+ ABISELECT(48,28),
+ ABISELECT(44,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G11x7y3[0]),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G11x7y3[0]),
+ 0,
+ ABISELECT(-48,-24),
+ (VTBL_ENTRY)&(_ZTI7G11x7y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-72,-40),
+ (VTBL_ENTRY)&(_ZTI7G11x7y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x7y3[];
+static VTBL_ENTRY _tg__ZTV5E11x7__7G11x7y3[] = {
+ ABISELECT(48,28),
+ ABISELECT(44,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C11__5E11x7__7G11x7y3[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E11x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x7__7G11x7y3[] = {
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI5E11x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C11__7G11x7y3[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C11__7G11x7y3[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x7y3[] = {
+ {&(_ZTV7G11x7y3[8]), 8,26},
+ {&(_ZTV7G11x7y3[14]), 14,26},
+ {&(_ZTV7G11x7y3[18]), 18,26},
+ {&(_ZTV7G11x7y3[21]), 21,26},
+ {&(_ZTV7G11x7y3[25]), 25,26},
+ {&(_tg__ZTV5E11x7__7G11x7y3[6]), 6,6},
+ {&(_tg__ZTV3C11__5E11x7__7G11x7y3[4]), 4,4},
+ {&(_tg__ZTV2A1__5E11x7__7G11x7y3[3]), 3,4},
+ {&(_tg__ZTV3C11__7G11x7y3[4]), 4,4},
+ {&(_tg__ZTV2A1__3C11__7G11x7y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G11x7y3[];
+extern VTBL_ENTRY _ZTV7G11x7y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x7y3[];
+Class_Descriptor cd_G11x7y3 = { "G11x7y3", // class name
+ bases_G11x7y3, 6,
+ &(vtc_G11x7y3[0]), // expected_vtbl_contents
+ &(vtt_G11x7y3[0]), // expected_vtt_contents
+ ABISELECT(88,48), // object size
+ NSPAIRA(_ZTI7G11x7y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x7y3),26, //virtual function table var
+ 8, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x7y3),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 G11x7y4 : E11x7 , F0 {
+ int ff;
+ ~G11x7y4(); // tgen
+ G11x7y4(); // tgen
+};
+//SIG(1 G11x7y4) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G11x7y4 ::~G11x7y4(){ note_dtor("G11x7y4", this);} // tgen
+G11x7y4 ::G11x7y4(){ note_ctor("G11x7y4", this);} // tgen
+
+static void Test_G11x7y4()
+{
+ extern Class_Descriptor cd_G11x7y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G11x7y4, buf);
+ G11x7y4 *dp, &lv = *(dp=new (buf) G11x7y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G11x7y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x7y4)");
+ check_base_class_offset(lv, (A1*)(C11*), ABISELECT(40,24), "G11x7y4");
+ check_base_class_offset(lv, (B0*)(C11*), ABISELECT(52,32), "G11x7y4");
+ check_base_class_offset(lv, (C11*)(E11x7*), ABISELECT(24,16), "G11x7y4");
+ check_base_class_offset(lv, (D0*)(E11x7*), ABISELECT(56,36), "G11x7y4");
+ check_base_class_offset(lv, (E11x7*), 0, "G11x7y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G11x7y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G11x7y4.ff");
+ test_class_info(&lv, &cd_G11x7y4);
+ dp->~G11x7y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x7y4(Test_G11x7y4, "G11x7y4", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G11x7y4C1Ev();
+extern void _ZN7G11x7y4D1Ev();
+Name_Map name_map_G11x7y4[] = {
+ NSPAIR(_ZN7G11x7y4C1Ev),
+ NSPAIR(_ZN7G11x7y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E11x7;
+extern VTBL_ENTRY _ZTI5E11x7[];
+extern VTBL_ENTRY _ZTV5E11x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G11x7y4[] = {
+ // 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)
+ 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
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E11x7, 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 _ZTI7G11x7y4[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G11x7y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x7y4[0]),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G11x7y4[0]),
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G11x7y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x7y4[];
+static VTBL_ENTRY _tg__ZTV5E11x7__7G11x7y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C11__5E11x7__7G11x7y4[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E11x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x7__7G11x7y4[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E11x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C11__7G11x7y4[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C11__7G11x7y4[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x7y4[] = {
+ {&(_ZTV7G11x7y4[6]), 6,14},
+ {&(_tg__ZTV5E11x7__7G11x7y4[6]), 6,6},
+ {&(_tg__ZTV3C11__5E11x7__7G11x7y4[4]), 4,4},
+ {&(_tg__ZTV2A1__5E11x7__7G11x7y4[3]), 3,4},
+ {&(_ZTV7G11x7y4[10]), 10,14},
+ {&(_ZTV7G11x7y4[13]), 13,14},
+ {&(_tg__ZTV3C11__7G11x7y4[4]), 4,4},
+ {&(_tg__ZTV2A1__3C11__7G11x7y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G11x7y4[];
+extern VTBL_ENTRY _ZTV7G11x7y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x7y4[];
+Class_Descriptor cd_G11x7y4 = { "G11x7y4", // class name
+ bases_G11x7y4, 6,
+ &(vtc_G11x7y4[0]), // expected_vtbl_contents
+ &(vtt_G11x7y4[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G11x7y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x7y4),14, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x7y4),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 G11x7y5 : virtual E11x7 , F0 {
+ int ff;
+ ~G11x7y5(); // tgen
+ G11x7y5(); // tgen
+};
+//SIG(1 G11x7y5) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G11x7y5 ::~G11x7y5(){ note_dtor("G11x7y5", this);} // tgen
+G11x7y5 ::G11x7y5(){ note_ctor("G11x7y5", this);} // tgen
+
+static void Test_G11x7y5()
+{
+ extern Class_Descriptor cd_G11x7y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G11x7y5, buf);
+ G11x7y5 *dp, &lv = *(dp=new (buf) G11x7y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G11x7y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x7y5)");
+ check_base_class_offset(lv, (A1*)(C11*), ABISELECT(48,28), "G11x7y5");
+ check_base_class_offset(lv, (B0*)(C11*), ABISELECT(60,36), "G11x7y5");
+ check_base_class_offset(lv, (C11*)(E11x7*), ABISELECT(32,20), "G11x7y5");
+ check_base_class_offset(lv, (D0*)(E11x7*), ABISELECT(64,40), "G11x7y5");
+ check_base_class_offset(lv, (E11x7*), ABISELECT(16,12), "G11x7y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G11x7y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G11x7y5.ff");
+ test_class_info(&lv, &cd_G11x7y5);
+ dp->~G11x7y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x7y5(Test_G11x7y5, "G11x7y5", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G11x7y5C1Ev();
+extern void _ZN7G11x7y5D1Ev();
+Name_Map name_map_G11x7y5[] = {
+ NSPAIR(_ZN7G11x7y5C1Ev),
+ NSPAIR(_ZN7G11x7y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E11x7;
+extern VTBL_ENTRY _ZTI5E11x7[];
+extern VTBL_ENTRY _ZTV5E11x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G11x7y5[] = {
+ // 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
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E11x7, 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 _ZTI7G11x7y5[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G11x7y5[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x7y5[0]),
+ ABISELECT(48,28),
+ ABISELECT(44,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G11x7y5[0]),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G11x7y5[0]),
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G11x7y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x7y5[];
+static VTBL_ENTRY _tg__ZTV5E11x7__7G11x7y5[] = {
+ ABISELECT(48,28),
+ ABISELECT(44,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C11__5E11x7__7G11x7y5[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E11x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x7__7G11x7y5[] = {
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI5E11x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C11__7G11x7y5[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C11__7G11x7y5[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x7y5[] = {
+ {&(_ZTV7G11x7y5[7]), 7,21},
+ {&(_ZTV7G11x7y5[13]), 13,21},
+ {&(_ZTV7G11x7y5[17]), 17,21},
+ {&(_ZTV7G11x7y5[20]), 20,21},
+ {&(_tg__ZTV5E11x7__7G11x7y5[6]), 6,6},
+ {&(_tg__ZTV3C11__5E11x7__7G11x7y5[4]), 4,4},
+ {&(_tg__ZTV2A1__5E11x7__7G11x7y5[3]), 3,4},
+ {&(_tg__ZTV3C11__7G11x7y5[4]), 4,4},
+ {&(_tg__ZTV2A1__3C11__7G11x7y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G11x7y5[];
+extern VTBL_ENTRY _ZTV7G11x7y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x7y5[];
+Class_Descriptor cd_G11x7y5 = { "G11x7y5", // class name
+ bases_G11x7y5, 6,
+ &(vtc_G11x7y5[0]), // expected_vtbl_contents
+ &(vtt_G11x7y5[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G11x7y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x7y5),21, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x7y5),9, //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 G11x7y6 : E11x7 , virtual F0 {
+ int ff;
+ ~G11x7y6(); // tgen
+ G11x7y6(); // tgen
+};
+//SIG(1 G11x7y6) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G11x7y6 ::~G11x7y6(){ note_dtor("G11x7y6", this);} // tgen
+G11x7y6 ::G11x7y6(){ note_ctor("G11x7y6", this);} // tgen
+
+static void Test_G11x7y6()
+{
+ extern Class_Descriptor cd_G11x7y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G11x7y6, buf);
+ G11x7y6 *dp, &lv = *(dp=new (buf) G11x7y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G11x7y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x7y6)");
+ check_base_class_offset(lv, (A1*)(C11*), ABISELECT(32,20), "G11x7y6");
+ check_base_class_offset(lv, (B0*)(C11*), ABISELECT(44,28), "G11x7y6");
+ check_base_class_offset(lv, (C11*)(E11x7*), ABISELECT(16,12), "G11x7y6");
+ check_base_class_offset(lv, (D0*)(E11x7*), ABISELECT(48,32), "G11x7y6");
+ check_base_class_offset(lv, (E11x7*), 0, "G11x7y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G11x7y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G11x7y6.ff");
+ test_class_info(&lv, &cd_G11x7y6);
+ dp->~G11x7y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x7y6(Test_G11x7y6, "G11x7y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G11x7y6C1Ev();
+extern void _ZN7G11x7y6D1Ev();
+Name_Map name_map_G11x7y6[] = {
+ NSPAIR(_ZN7G11x7y6C1Ev),
+ NSPAIR(_ZN7G11x7y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E11x7;
+extern VTBL_ENTRY _ZTI5E11x7[];
+extern VTBL_ENTRY _ZTV5E11x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G11x7y6[] = {
+ // 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)
+ 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(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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E11x7, 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 _ZTI7G11x7y6[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G11x7y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x7y6[0]),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G11x7y6[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G11x7y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x7y6[];
+static VTBL_ENTRY _tg__ZTV5E11x7__7G11x7y6[] = {
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C11__5E11x7__7G11x7y6[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E11x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x7__7G11x7y6[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E11x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C11__7G11x7y6[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C11__7G11x7y6[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x7y6[] = {
+ {&(_ZTV7G11x7y6[7]), 7,15},
+ {&(_tg__ZTV5E11x7__7G11x7y6[6]), 6,6},
+ {&(_tg__ZTV3C11__5E11x7__7G11x7y6[4]), 4,4},
+ {&(_tg__ZTV2A1__5E11x7__7G11x7y6[3]), 3,4},
+ {&(_ZTV7G11x7y6[11]), 11,15},
+ {&(_ZTV7G11x7y6[14]), 14,15},
+ {&(_tg__ZTV3C11__7G11x7y6[4]), 4,4},
+ {&(_tg__ZTV2A1__3C11__7G11x7y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G11x7y6[];
+extern VTBL_ENTRY _ZTV7G11x7y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x7y6[];
+Class_Descriptor cd_G11x7y6 = { "G11x7y6", // class name
+ bases_G11x7y6, 6,
+ &(vtc_G11x7y6[0]), // expected_vtbl_contents
+ &(vtt_G11x7y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G11x7y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x7y6),15, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x7y6),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 G11x7y7 : virtual E11x7 , virtual F0 {
+ int ff;
+ ~G11x7y7(); // tgen
+ G11x7y7(); // tgen
+};
+//SIG(1 G11x7y7) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G11x7y7 ::~G11x7y7(){ note_dtor("G11x7y7", this);} // tgen
+G11x7y7 ::G11x7y7(){ note_ctor("G11x7y7", this);} // tgen
+
+static void Test_G11x7y7()
+{
+ extern Class_Descriptor cd_G11x7y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G11x7y7, buf);
+ G11x7y7 *dp, &lv = *(dp=new (buf) G11x7y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G11x7y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G11x7y7)");
+ check_base_class_offset(lv, (A1*)(C11*), ABISELECT(48,24), "G11x7y7");
+ check_base_class_offset(lv, (B0*)(C11*), ABISELECT(60,32), "G11x7y7");
+ check_base_class_offset(lv, (C11*)(E11x7*), ABISELECT(32,16), "G11x7y7");
+ check_base_class_offset(lv, (D0*)(E11x7*), ABISELECT(64,36), "G11x7y7");
+ check_base_class_offset(lv, (E11x7*), ABISELECT(16,8), "G11x7y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(68,40), "G11x7y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G11x7y7.ff");
+ test_class_info(&lv, &cd_G11x7y7);
+ dp->~G11x7y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG11x7y7(Test_G11x7y7, "G11x7y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G11x7y7C1Ev();
+extern void _ZN7G11x7y7D1Ev();
+Name_Map name_map_G11x7y7[] = {
+ NSPAIR(_ZN7G11x7y7C1Ev),
+ NSPAIR(_ZN7G11x7y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E11x7;
+extern VTBL_ENTRY _ZTI5E11x7[];
+extern VTBL_ENTRY _ZTV5E11x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E11x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G11x7y7[] = {
+ // 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
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, ABISELECT(64,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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E11x7, 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 _ZTI7G11x7y7[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY vtc_G11x7y7[] = {
+ ABISELECT(68,40),
+ ABISELECT(64,36),
+ ABISELECT(60,32),
+ ABISELECT(48,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G11x7y7[0]),
+ ABISELECT(48,28),
+ ABISELECT(44,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G11x7y7[0]),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G11x7y7[0]),
+ 0,
+ ABISELECT(-48,-24),
+ (VTBL_ENTRY)&(_ZTI7G11x7y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G11x7y7[];
+static VTBL_ENTRY _tg__ZTV5E11x7__7G11x7y7[] = {
+ ABISELECT(48,28),
+ ABISELECT(44,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E11x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C11__5E11x7__7G11x7y7[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E11x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E11x7__7G11x7y7[] = {
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI5E11x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C11__7G11x7y7[] = {
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C11__7G11x7y7[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C11[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+static VTT_ENTRY vtt_G11x7y7[] = {
+ {&(_ZTV7G11x7y7[8]), 8,22},
+ {&(_ZTV7G11x7y7[14]), 14,22},
+ {&(_ZTV7G11x7y7[18]), 18,22},
+ {&(_ZTV7G11x7y7[21]), 21,22},
+ {&(_tg__ZTV5E11x7__7G11x7y7[6]), 6,6},
+ {&(_tg__ZTV3C11__5E11x7__7G11x7y7[4]), 4,4},
+ {&(_tg__ZTV2A1__5E11x7__7G11x7y7[3]), 3,4},
+ {&(_tg__ZTV3C11__7G11x7y7[4]), 4,4},
+ {&(_tg__ZTV2A1__3C11__7G11x7y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G11x7y7[];
+extern VTBL_ENTRY _ZTV7G11x7y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G11x7y7[];
+Class_Descriptor cd_G11x7y7 = { "G11x7y7", // class name
+ bases_G11x7y7, 6,
+ &(vtc_G11x7y7[0]), // expected_vtbl_contents
+ &(vtt_G11x7y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G11x7y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G11x7y7),22, //virtual function table var
+ 8, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G11x7y7),9, //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 E12x7 : virtual C12 , virtual D0 {
+ int fd;
+ ~E12x7(); // tgen
+ E12x7(); // tgen
+};
+//SIG(-1 E12x7) C1{ VBC2{ BC3{ Fi} VBC4{ v1 Fi} Fi} VBC5{ Fi} Fi}
+
+
+E12x7 ::~E12x7(){ note_dtor("E12x7", this);} // tgen
+E12x7 ::E12x7(){ note_ctor("E12x7", this);} // tgen
+
+static void Test_E12x7()
+{
+ extern Class_Descriptor cd_E12x7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E12x7, buf);
+ E12x7 *dp, &lv = *(dp=new (buf) E12x7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E12x7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E12x7)");
+ check_base_class_offset(lv, (A0*)(C12*), ABISELECT(24,12), "E12x7");
+ check_base_class_offset(lv, (B1*)(C12*), ABISELECT(32,20), "E12x7");
+ check_base_class_offset(lv, (C12*), ABISELECT(16,8), "E12x7");
+ check_base_class_offset(lv, (D0*), ABISELECT(44,28), "E12x7");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E12x7.fd");
+ test_class_info(&lv, &cd_E12x7);
+ dp->~E12x7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE12x7(Test_E12x7, "E12x7", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN5E12x7C1Ev();
+extern void _ZN5E12x7D1Ev();
+Name_Map name_map_E12x7[] = {
+ NSPAIR(_ZN5E12x7C1Ev),
+ NSPAIR(_ZN5E12x7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E12x7[] = {
+ // 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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D0, 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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E12x7[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_E12x7[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x7[0]),
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E12x7[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E12x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E12x7[];
+static VTBL_ENTRY _tg__ZTV3C12__5E12x7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C12__5E12x7[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_E12x7[] = {
+ {&(_ZTV5E12x7[5]), 5,12},
+ {&(_ZTV5E12x7[8]), 8,12},
+ {&(_ZTV5E12x7[11]), 11,12},
+ {&(_tg__ZTV3C12__5E12x7[3]), 3,3},
+ {&(_tg__ZTV2B1__3C12__5E12x7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E12x7[];
+extern VTBL_ENTRY _ZTV5E12x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x7[];
+Class_Descriptor cd_E12x7 = { "E12x7", // class name
+ bases_E12x7, 4,
+ &(vtc_E12x7[0]), // expected_vtbl_contents
+ &(vtt_E12x7[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI5E12x7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E12x7),12, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E12x7),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 G12x7y0 : E12x7 , F1 {
+ int ff;
+ ~G12x7y0(); // tgen
+ G12x7y0(); // tgen
+};
+//SIG(1 G12x7y0) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G12x7y0 ::~G12x7y0(){ note_dtor("G12x7y0", this);} // tgen
+G12x7y0 ::G12x7y0(){ note_ctor("G12x7y0", this);} // tgen
+
+static void Test_G12x7y0()
+{
+ extern Class_Descriptor cd_G12x7y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G12x7y0, buf);
+ G12x7y0 *dp, &lv = *(dp=new (buf) G12x7y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G12x7y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x7y0)");
+ check_base_class_offset(lv, (A0*)(C12*), ABISELECT(40,24), "G12x7y0");
+ check_base_class_offset(lv, (B1*)(C12*), ABISELECT(48,32), "G12x7y0");
+ check_base_class_offset(lv, (C12*)(E12x7*), ABISELECT(32,20), "G12x7y0");
+ check_base_class_offset(lv, (D0*)(E12x7*), ABISELECT(60,40), "G12x7y0");
+ check_base_class_offset(lv, (E12x7*), 0, "G12x7y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G12x7y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G12x7y0.ff");
+ test_class_info(&lv, &cd_G12x7y0);
+ dp->~G12x7y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x7y0(Test_G12x7y0, "G12x7y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G12x7y0C1Ev();
+extern void _ZN7G12x7y0D1Ev();
+Name_Map name_map_G12x7y0[] = {
+ NSPAIR(_ZN7G12x7y0C1Ev),
+ NSPAIR(_ZN7G12x7y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E12x7;
+extern VTBL_ENTRY _ZTI5E12x7[];
+extern VTBL_ENTRY _ZTV5E12x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G12x7y0[] = {
+ // 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)
+ 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,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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E12x7, 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 _ZTI7G12x7y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G12x7y0[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x7y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G12x7y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G12x7y0[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G12x7y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x7y0[];
+static VTBL_ENTRY _tg__ZTV5E12x7__7G12x7y0[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C12__5E12x7__7G12x7y0[] = {
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E12x7[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x7__7G12x7y0[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E12x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C12__7G12x7y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C12__7G12x7y0[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x7y0[] = {
+ {&(_ZTV7G12x7y0[5]), 5,15},
+ {&(_tg__ZTV5E12x7__7G12x7y0[5]), 5,5},
+ {&(_tg__ZTV3C12__5E12x7__7G12x7y0[3]), 3,3},
+ {&(_tg__ZTV2B1__5E12x7__7G12x7y0[3]), 3,4},
+ {&(_ZTV7G12x7y0[11]), 11,15},
+ {&(_ZTV7G12x7y0[14]), 14,15},
+ {&(_tg__ZTV3C12__7G12x7y0[3]), 3,3},
+ {&(_tg__ZTV2B1__3C12__7G12x7y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G12x7y0[];
+extern VTBL_ENTRY _ZTV7G12x7y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x7y0[];
+Class_Descriptor cd_G12x7y0 = { "G12x7y0", // class name
+ bases_G12x7y0, 6,
+ &(vtc_G12x7y0[0]), // expected_vtbl_contents
+ &(vtt_G12x7y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G12x7y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x7y0),15, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x7y0),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 G12x7y1 : virtual E12x7 , F1 {
+ int ff;
+ ~G12x7y1(); // tgen
+ G12x7y1(); // tgen
+};
+//SIG(1 G12x7y1) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G12x7y1 ::~G12x7y1(){ note_dtor("G12x7y1", this);} // tgen
+G12x7y1 ::G12x7y1(){ note_ctor("G12x7y1", this);} // tgen
+
+static void Test_G12x7y1()
+{
+ extern Class_Descriptor cd_G12x7y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G12x7y1, buf);
+ G12x7y1 *dp, &lv = *(dp=new (buf) G12x7y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G12x7y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x7y1)");
+ check_base_class_offset(lv, (A0*)(C12*), ABISELECT(40,24), "G12x7y1");
+ check_base_class_offset(lv, (B1*)(C12*), ABISELECT(48,32), "G12x7y1");
+ check_base_class_offset(lv, (C12*)(E12x7*), ABISELECT(32,20), "G12x7y1");
+ check_base_class_offset(lv, (D0*)(E12x7*), ABISELECT(60,40), "G12x7y1");
+ check_base_class_offset(lv, (E12x7*), ABISELECT(16,12), "G12x7y1");
+ check_base_class_offset(lv, (F1*), 0, "G12x7y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G12x7y1.ff");
+ test_class_info(&lv, &cd_G12x7y1);
+ dp->~G12x7y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x7y1(Test_G12x7y1, "G12x7y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G12x7y1C1Ev();
+extern void _ZN7G12x7y1D1Ev();
+Name_Map name_map_G12x7y1[] = {
+ NSPAIR(_ZN7G12x7y1C1Ev),
+ NSPAIR(_ZN7G12x7y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E12x7;
+extern VTBL_ENTRY _ZTI5E12x7[];
+extern VTBL_ENTRY _ZTV5E12x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G12x7y1[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E12x7, 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 _ZTI7G12x7y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G12x7y1[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x7y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G12x7y1[0]),
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G12x7y1[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G12x7y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x7y1[];
+static VTBL_ENTRY _tg__ZTV5E12x7__7G12x7y1[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C12__5E12x7__7G12x7y1[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E12x7[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x7__7G12x7y1[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E12x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C12__7G12x7y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C12__7G12x7y1[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x7y1[] = {
+ {&(_ZTV7G12x7y1[6]), 6,19},
+ {&(_ZTV7G12x7y1[12]), 12,19},
+ {&(_ZTV7G12x7y1[15]), 15,19},
+ {&(_ZTV7G12x7y1[18]), 18,19},
+ {&(_tg__ZTV5E12x7__7G12x7y1[5]), 5,5},
+ {&(_tg__ZTV3C12__5E12x7__7G12x7y1[3]), 3,3},
+ {&(_tg__ZTV2B1__5E12x7__7G12x7y1[3]), 3,4},
+ {&(_tg__ZTV3C12__7G12x7y1[3]), 3,3},
+ {&(_tg__ZTV2B1__3C12__7G12x7y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G12x7y1[];
+extern VTBL_ENTRY _ZTV7G12x7y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x7y1[];
+Class_Descriptor cd_G12x7y1 = { "G12x7y1", // class name
+ bases_G12x7y1, 6,
+ &(vtc_G12x7y1[0]), // expected_vtbl_contents
+ &(vtt_G12x7y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G12x7y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x7y1),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x7y1),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 G12x7y2 : E12x7 , virtual F1 {
+ int ff;
+ ~G12x7y2(); // tgen
+ G12x7y2(); // tgen
+};
+//SIG(1 G12x7y2) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G12x7y2 ::~G12x7y2(){ note_dtor("G12x7y2", this);} // tgen
+G12x7y2 ::G12x7y2(){ note_ctor("G12x7y2", this);} // tgen
+
+static void Test_G12x7y2()
+{
+ extern Class_Descriptor cd_G12x7y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G12x7y2, buf);
+ G12x7y2 *dp, &lv = *(dp=new (buf) G12x7y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G12x7y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x7y2)");
+ check_base_class_offset(lv, (A0*)(C12*), ABISELECT(24,16), "G12x7y2");
+ check_base_class_offset(lv, (B1*)(C12*), ABISELECT(32,24), "G12x7y2");
+ check_base_class_offset(lv, (C12*)(E12x7*), ABISELECT(16,12), "G12x7y2");
+ check_base_class_offset(lv, (D0*)(E12x7*), ABISELECT(44,32), "G12x7y2");
+ check_base_class_offset(lv, (E12x7*), 0, "G12x7y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,36), "G12x7y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G12x7y2.ff");
+ test_class_info(&lv, &cd_G12x7y2);
+ dp->~G12x7y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x7y2(Test_G12x7y2, "G12x7y2", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G12x7y2C1Ev();
+extern void _ZN7G12x7y2D1Ev();
+Name_Map name_map_G12x7y2[] = {
+ NSPAIR(_ZN7G12x7y2C1Ev),
+ NSPAIR(_ZN7G12x7y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E12x7;
+extern VTBL_ENTRY _ZTI5E12x7[];
+extern VTBL_ENTRY _ZTV5E12x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G12x7y2[] = {
+ // 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)
+ 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(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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E12x7, 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,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 _ZTI7G12x7y2[];
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G12x7y2[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x7y2[0]),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G12x7y2[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G12x7y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G12x7y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x7y2[];
+static VTBL_ENTRY _tg__ZTV5E12x7__7G12x7y2[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C12__5E12x7__7G12x7y2[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E12x7[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x7__7G12x7y2[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E12x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C12__7G12x7y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C12__7G12x7y2[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x7y2[] = {
+ {&(_ZTV7G12x7y2[6]), 6,17},
+ {&(_tg__ZTV5E12x7__7G12x7y2[5]), 5,5},
+ {&(_tg__ZTV3C12__5E12x7__7G12x7y2[3]), 3,3},
+ {&(_tg__ZTV2B1__5E12x7__7G12x7y2[3]), 3,4},
+ {&(_ZTV7G12x7y2[9]), 9,17},
+ {&(_ZTV7G12x7y2[12]), 12,17},
+ {&(_ZTV7G12x7y2[16]), 16,17},
+ {&(_tg__ZTV3C12__7G12x7y2[3]), 3,3},
+ {&(_tg__ZTV2B1__3C12__7G12x7y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G12x7y2[];
+extern VTBL_ENTRY _ZTV7G12x7y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x7y2[];
+Class_Descriptor cd_G12x7y2 = { "G12x7y2", // class name
+ bases_G12x7y2, 6,
+ &(vtc_G12x7y2[0]), // expected_vtbl_contents
+ &(vtt_G12x7y2[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G12x7y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x7y2),17, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x7y2),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 G12x7y3 : virtual E12x7 , virtual F1 {
+ int ff;
+ ~G12x7y3(); // tgen
+ G12x7y3(); // tgen
+};
+//SIG(1 G12x7y3) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G12x7y3 ::~G12x7y3(){ note_dtor("G12x7y3", this);} // tgen
+G12x7y3 ::G12x7y3(){ note_ctor("G12x7y3", this);} // tgen
+
+static void Test_G12x7y3()
+{
+ extern Class_Descriptor cd_G12x7y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G12x7y3, buf);
+ G12x7y3 *dp, &lv = *(dp=new (buf) G12x7y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G12x7y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x7y3)");
+ check_base_class_offset(lv, (A0*)(C12*), ABISELECT(40,20), "G12x7y3");
+ check_base_class_offset(lv, (B1*)(C12*), ABISELECT(48,28), "G12x7y3");
+ check_base_class_offset(lv, (C12*)(E12x7*), ABISELECT(32,16), "G12x7y3");
+ check_base_class_offset(lv, (D0*)(E12x7*), ABISELECT(60,36), "G12x7y3");
+ check_base_class_offset(lv, (E12x7*), ABISELECT(16,8), "G12x7y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G12x7y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G12x7y3.ff");
+ test_class_info(&lv, &cd_G12x7y3);
+ dp->~G12x7y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x7y3(Test_G12x7y3, "G12x7y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G12x7y3C1Ev();
+extern void _ZN7G12x7y3D1Ev();
+Name_Map name_map_G12x7y3[] = {
+ NSPAIR(_ZN7G12x7y3C1Ev),
+ NSPAIR(_ZN7G12x7y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E12x7;
+extern VTBL_ENTRY _ZTI5E12x7[];
+extern VTBL_ENTRY _ZTV5E12x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G12x7y3[] = {
+ // 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
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E12x7, 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(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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G12x7y3[];
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G12x7y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x7y3[0]),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G12x7y3[0]),
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G12x7y3[0]),
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G12x7y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G12x7y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x7y3[];
+static VTBL_ENTRY _tg__ZTV5E12x7__7G12x7y3[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C12__5E12x7__7G12x7y3[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E12x7[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x7__7G12x7y3[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E12x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C12__7G12x7y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C12__7G12x7y3[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x7y3[] = {
+ {&(_ZTV7G12x7y3[7]), 7,23},
+ {&(_ZTV7G12x7y3[12]), 12,23},
+ {&(_ZTV7G12x7y3[15]), 15,23},
+ {&(_ZTV7G12x7y3[18]), 18,23},
+ {&(_ZTV7G12x7y3[22]), 22,23},
+ {&(_tg__ZTV5E12x7__7G12x7y3[5]), 5,5},
+ {&(_tg__ZTV3C12__5E12x7__7G12x7y3[3]), 3,3},
+ {&(_tg__ZTV2B1__5E12x7__7G12x7y3[3]), 3,4},
+ {&(_tg__ZTV3C12__7G12x7y3[3]), 3,3},
+ {&(_tg__ZTV2B1__3C12__7G12x7y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G12x7y3[];
+extern VTBL_ENTRY _ZTV7G12x7y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x7y3[];
+Class_Descriptor cd_G12x7y3 = { "G12x7y3", // class name
+ bases_G12x7y3, 6,
+ &(vtc_G12x7y3[0]), // expected_vtbl_contents
+ &(vtt_G12x7y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G12x7y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x7y3),23, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x7y3),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 G12x7y4 : E12x7 , F0 {
+ int ff;
+ ~G12x7y4(); // tgen
+ G12x7y4(); // tgen
+};
+//SIG(1 G12x7y4) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G12x7y4 ::~G12x7y4(){ note_dtor("G12x7y4", this);} // tgen
+G12x7y4 ::G12x7y4(){ note_ctor("G12x7y4", this);} // tgen
+
+static void Test_G12x7y4()
+{
+ extern Class_Descriptor cd_G12x7y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G12x7y4, buf);
+ G12x7y4 *dp, &lv = *(dp=new (buf) G12x7y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G12x7y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x7y4)");
+ check_base_class_offset(lv, (A0*)(C12*), ABISELECT(32,20), "G12x7y4");
+ check_base_class_offset(lv, (B1*)(C12*), ABISELECT(40,28), "G12x7y4");
+ check_base_class_offset(lv, (C12*)(E12x7*), ABISELECT(24,16), "G12x7y4");
+ check_base_class_offset(lv, (D0*)(E12x7*), ABISELECT(52,36), "G12x7y4");
+ check_base_class_offset(lv, (E12x7*), 0, "G12x7y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G12x7y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G12x7y4.ff");
+ test_class_info(&lv, &cd_G12x7y4);
+ dp->~G12x7y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x7y4(Test_G12x7y4, "G12x7y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G12x7y4C1Ev();
+extern void _ZN7G12x7y4D1Ev();
+Name_Map name_map_G12x7y4[] = {
+ NSPAIR(_ZN7G12x7y4C1Ev),
+ NSPAIR(_ZN7G12x7y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E12x7;
+extern VTBL_ENTRY _ZTI5E12x7[];
+extern VTBL_ENTRY _ZTV5E12x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G12x7y4[] = {
+ // 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)
+ 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
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E12x7, 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 _ZTI7G12x7y4[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G12x7y4[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x7y4[0]),
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G12x7y4[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G12x7y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x7y4[];
+static VTBL_ENTRY _tg__ZTV5E12x7__7G12x7y4[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C12__5E12x7__7G12x7y4[] = {
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E12x7[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x7__7G12x7y4[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E12x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C12__7G12x7y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C12__7G12x7y4[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x7y4[] = {
+ {&(_ZTV7G12x7y4[5]), 5,12},
+ {&(_tg__ZTV5E12x7__7G12x7y4[5]), 5,5},
+ {&(_tg__ZTV3C12__5E12x7__7G12x7y4[3]), 3,3},
+ {&(_tg__ZTV2B1__5E12x7__7G12x7y4[3]), 3,4},
+ {&(_ZTV7G12x7y4[8]), 8,12},
+ {&(_ZTV7G12x7y4[11]), 11,12},
+ {&(_tg__ZTV3C12__7G12x7y4[3]), 3,3},
+ {&(_tg__ZTV2B1__3C12__7G12x7y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G12x7y4[];
+extern VTBL_ENTRY _ZTV7G12x7y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x7y4[];
+Class_Descriptor cd_G12x7y4 = { "G12x7y4", // class name
+ bases_G12x7y4, 6,
+ &(vtc_G12x7y4[0]), // expected_vtbl_contents
+ &(vtt_G12x7y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G12x7y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x7y4),12, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x7y4),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 G12x7y5 : virtual E12x7 , F0 {
+ int ff;
+ ~G12x7y5(); // tgen
+ G12x7y5(); // tgen
+};
+//SIG(1 G12x7y5) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G12x7y5 ::~G12x7y5(){ note_dtor("G12x7y5", this);} // tgen
+G12x7y5 ::G12x7y5(){ note_ctor("G12x7y5", this);} // tgen
+
+static void Test_G12x7y5()
+{
+ extern Class_Descriptor cd_G12x7y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G12x7y5, buf);
+ G12x7y5 *dp, &lv = *(dp=new (buf) G12x7y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G12x7y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x7y5)");
+ check_base_class_offset(lv, (A0*)(C12*), ABISELECT(40,24), "G12x7y5");
+ check_base_class_offset(lv, (B1*)(C12*), ABISELECT(48,32), "G12x7y5");
+ check_base_class_offset(lv, (C12*)(E12x7*), ABISELECT(32,20), "G12x7y5");
+ check_base_class_offset(lv, (D0*)(E12x7*), ABISELECT(60,40), "G12x7y5");
+ check_base_class_offset(lv, (E12x7*), ABISELECT(16,12), "G12x7y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G12x7y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G12x7y5.ff");
+ test_class_info(&lv, &cd_G12x7y5);
+ dp->~G12x7y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x7y5(Test_G12x7y5, "G12x7y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G12x7y5C1Ev();
+extern void _ZN7G12x7y5D1Ev();
+Name_Map name_map_G12x7y5[] = {
+ NSPAIR(_ZN7G12x7y5C1Ev),
+ NSPAIR(_ZN7G12x7y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E12x7;
+extern VTBL_ENTRY _ZTI5E12x7[];
+extern VTBL_ENTRY _ZTV5E12x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G12x7y5[] = {
+ // 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
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E12x7, 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 _ZTI7G12x7y5[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G12x7y5[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x7y5[0]),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G12x7y5[0]),
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G12x7y5[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G12x7y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x7y5[];
+static VTBL_ENTRY _tg__ZTV5E12x7__7G12x7y5[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C12__5E12x7__7G12x7y5[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E12x7[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x7__7G12x7y5[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E12x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C12__7G12x7y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C12__7G12x7y5[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x7y5[] = {
+ {&(_ZTV7G12x7y5[6]), 6,18},
+ {&(_ZTV7G12x7y5[11]), 11,18},
+ {&(_ZTV7G12x7y5[14]), 14,18},
+ {&(_ZTV7G12x7y5[17]), 17,18},
+ {&(_tg__ZTV5E12x7__7G12x7y5[5]), 5,5},
+ {&(_tg__ZTV3C12__5E12x7__7G12x7y5[3]), 3,3},
+ {&(_tg__ZTV2B1__5E12x7__7G12x7y5[3]), 3,4},
+ {&(_tg__ZTV3C12__7G12x7y5[3]), 3,3},
+ {&(_tg__ZTV2B1__3C12__7G12x7y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G12x7y5[];
+extern VTBL_ENTRY _ZTV7G12x7y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x7y5[];
+Class_Descriptor cd_G12x7y5 = { "G12x7y5", // class name
+ bases_G12x7y5, 6,
+ &(vtc_G12x7y5[0]), // expected_vtbl_contents
+ &(vtt_G12x7y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G12x7y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x7y5),18, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x7y5),9, //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 G12x7y6 : E12x7 , virtual F0 {
+ int ff;
+ ~G12x7y6(); // tgen
+ G12x7y6(); // tgen
+};
+//SIG(1 G12x7y6) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G12x7y6 ::~G12x7y6(){ note_dtor("G12x7y6", this);} // tgen
+G12x7y6 ::G12x7y6(){ note_ctor("G12x7y6", this);} // tgen
+
+static void Test_G12x7y6()
+{
+ extern Class_Descriptor cd_G12x7y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G12x7y6, buf);
+ G12x7y6 *dp, &lv = *(dp=new (buf) G12x7y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G12x7y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x7y6)");
+ check_base_class_offset(lv, (A0*)(C12*), ABISELECT(24,16), "G12x7y6");
+ check_base_class_offset(lv, (B1*)(C12*), ABISELECT(32,24), "G12x7y6");
+ check_base_class_offset(lv, (C12*)(E12x7*), ABISELECT(16,12), "G12x7y6");
+ check_base_class_offset(lv, (D0*)(E12x7*), ABISELECT(44,32), "G12x7y6");
+ check_base_class_offset(lv, (E12x7*), 0, "G12x7y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(48,36), "G12x7y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G12x7y6.ff");
+ test_class_info(&lv, &cd_G12x7y6);
+ dp->~G12x7y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x7y6(Test_G12x7y6, "G12x7y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G12x7y6C1Ev();
+extern void _ZN7G12x7y6D1Ev();
+Name_Map name_map_G12x7y6[] = {
+ NSPAIR(_ZN7G12x7y6C1Ev),
+ NSPAIR(_ZN7G12x7y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E12x7;
+extern VTBL_ENTRY _ZTI5E12x7[];
+extern VTBL_ENTRY _ZTV5E12x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G12x7y6[] = {
+ // 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)
+ 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(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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E12x7, 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(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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G12x7y6[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G12x7y6[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x7y6[0]),
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G12x7y6[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G12x7y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x7y6[];
+static VTBL_ENTRY _tg__ZTV5E12x7__7G12x7y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C12__5E12x7__7G12x7y6[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E12x7[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x7__7G12x7y6[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E12x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C12__7G12x7y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C12__7G12x7y6[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x7y6[] = {
+ {&(_ZTV7G12x7y6[6]), 6,13},
+ {&(_tg__ZTV5E12x7__7G12x7y6[5]), 5,5},
+ {&(_tg__ZTV3C12__5E12x7__7G12x7y6[3]), 3,3},
+ {&(_tg__ZTV2B1__5E12x7__7G12x7y6[3]), 3,4},
+ {&(_ZTV7G12x7y6[9]), 9,13},
+ {&(_ZTV7G12x7y6[12]), 12,13},
+ {&(_tg__ZTV3C12__7G12x7y6[3]), 3,3},
+ {&(_tg__ZTV2B1__3C12__7G12x7y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G12x7y6[];
+extern VTBL_ENTRY _ZTV7G12x7y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x7y6[];
+Class_Descriptor cd_G12x7y6 = { "G12x7y6", // class name
+ bases_G12x7y6, 6,
+ &(vtc_G12x7y6[0]), // expected_vtbl_contents
+ &(vtt_G12x7y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G12x7y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x7y6),13, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x7y6),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 G12x7y7 : virtual E12x7 , virtual F0 {
+ int ff;
+ ~G12x7y7(); // tgen
+ G12x7y7(); // tgen
+};
+//SIG(1 G12x7y7) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G12x7y7 ::~G12x7y7(){ note_dtor("G12x7y7", this);} // tgen
+G12x7y7 ::G12x7y7(){ note_ctor("G12x7y7", this);} // tgen
+
+static void Test_G12x7y7()
+{
+ extern Class_Descriptor cd_G12x7y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G12x7y7, buf);
+ G12x7y7 *dp, &lv = *(dp=new (buf) G12x7y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G12x7y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G12x7y7)");
+ check_base_class_offset(lv, (A0*)(C12*), ABISELECT(40,20), "G12x7y7");
+ check_base_class_offset(lv, (B1*)(C12*), ABISELECT(48,28), "G12x7y7");
+ check_base_class_offset(lv, (C12*)(E12x7*), ABISELECT(32,16), "G12x7y7");
+ check_base_class_offset(lv, (D0*)(E12x7*), ABISELECT(60,36), "G12x7y7");
+ check_base_class_offset(lv, (E12x7*), ABISELECT(16,8), "G12x7y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(64,40), "G12x7y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G12x7y7.ff");
+ test_class_info(&lv, &cd_G12x7y7);
+ dp->~G12x7y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG12x7y7(Test_G12x7y7, "G12x7y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G12x7y7C1Ev();
+extern void _ZN7G12x7y7D1Ev();
+Name_Map name_map_G12x7y7[] = {
+ NSPAIR(_ZN7G12x7y7C1Ev),
+ NSPAIR(_ZN7G12x7y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E12x7;
+extern VTBL_ENTRY _ZTI5E12x7[];
+extern VTBL_ENTRY _ZTV5E12x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E12x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G12x7y7[] = {
+ // 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
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E12x7, 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(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 _ZTI7G12x7y7[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G12x7y7[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G12x7y7[0]),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G12x7y7[0]),
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G12x7y7[0]),
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G12x7y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G12x7y7[];
+static VTBL_ENTRY _tg__ZTV5E12x7__7G12x7y7[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E12x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C12__5E12x7__7G12x7y7[] = {
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E12x7[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E12x7__7G12x7y7[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E12x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C12__7G12x7y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C12__7G12x7y7[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C12[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G12x7y7[] = {
+ {&(_ZTV7G12x7y7[7]), 7,19},
+ {&(_ZTV7G12x7y7[12]), 12,19},
+ {&(_ZTV7G12x7y7[15]), 15,19},
+ {&(_ZTV7G12x7y7[18]), 18,19},
+ {&(_tg__ZTV5E12x7__7G12x7y7[5]), 5,5},
+ {&(_tg__ZTV3C12__5E12x7__7G12x7y7[3]), 3,3},
+ {&(_tg__ZTV2B1__5E12x7__7G12x7y7[3]), 3,4},
+ {&(_tg__ZTV3C12__7G12x7y7[3]), 3,3},
+ {&(_tg__ZTV2B1__3C12__7G12x7y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G12x7y7[];
+extern VTBL_ENTRY _ZTV7G12x7y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G12x7y7[];
+Class_Descriptor cd_G12x7y7 = { "G12x7y7", // class name
+ bases_G12x7y7, 6,
+ &(vtc_G12x7y7[0]), // expected_vtbl_contents
+ &(vtt_G12x7y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G12x7y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G12x7y7),19, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G12x7y7),9, //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 E13x7 : virtual C13 , virtual D0 {
+ int fd;
+ ~E13x7(); // tgen
+ E13x7(); // tgen
+};
+//SIG(-1 E13x7) C1{ VBC2{ BC3{ v1 Fi} VBC4{ v2 Fi} Fi} VBC5{ Fi} Fi}
+
+
+E13x7 ::~E13x7(){ note_dtor("E13x7", this);} // tgen
+E13x7 ::E13x7(){ note_ctor("E13x7", this);} // tgen
+
+static void Test_E13x7()
+{
+ extern Class_Descriptor cd_E13x7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E13x7, buf);
+ E13x7 *dp, &lv = *(dp=new (buf) E13x7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E13x7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E13x7)");
+ check_base_class_offset(lv, (A1*)(C13*), ABISELECT(16,8), "E13x7");
+ check_base_class_offset(lv, (B1*)(C13*), ABISELECT(32,20), "E13x7");
+ check_base_class_offset(lv, (C13*), ABISELECT(16,8), "E13x7");
+ check_base_class_offset(lv, (D0*), ABISELECT(44,28), "E13x7");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E13x7.fd");
+ test_class_info(&lv, &cd_E13x7);
+ dp->~E13x7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE13x7(Test_E13x7, "E13x7", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN5E13x7C1Ev();
+extern void _ZN5E13x7D1Ev();
+Name_Map name_map_E13x7[] = {
+ NSPAIR(_ZN5E13x7C1Ev),
+ NSPAIR(_ZN5E13x7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E13x7[] = {
+ // 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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D0, 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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E13x7[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_E13x7[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E13x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E13x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E13x7[];
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__5E13x7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C13__5E13x7[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_E13x7[] = {
+ {&(_ZTV5E13x7[5]), 5,14},
+ {&(_ZTV5E13x7[9]), 9,14},
+ {&(_ZTV5E13x7[13]), 13,14},
+ {&(_tg__ZTV3C13__5E13x7[3]), 3,4},
+ {&(_tg__ZTV2B1__3C13__5E13x7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E13x7[];
+extern VTBL_ENTRY _ZTV5E13x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x7[];
+Class_Descriptor cd_E13x7 = { "E13x7", // class name
+ bases_E13x7, 4,
+ &(vtc_E13x7[0]), // expected_vtbl_contents
+ &(vtt_E13x7[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI5E13x7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E13x7),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E13x7),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 G13x7y0 : E13x7 , F1 {
+ int ff;
+ ~G13x7y0(); // tgen
+ G13x7y0(); // tgen
+};
+//SIG(1 G13x7y0) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G13x7y0 ::~G13x7y0(){ note_dtor("G13x7y0", this);} // tgen
+G13x7y0 ::G13x7y0(){ note_ctor("G13x7y0", this);} // tgen
+
+static void Test_G13x7y0()
+{
+ extern Class_Descriptor cd_G13x7y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G13x7y0, buf);
+ G13x7y0 *dp, &lv = *(dp=new (buf) G13x7y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G13x7y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x7y0)");
+ check_base_class_offset(lv, (A1*)(C13*), ABISELECT(32,20), "G13x7y0");
+ check_base_class_offset(lv, (B1*)(C13*), ABISELECT(48,32), "G13x7y0");
+ check_base_class_offset(lv, (C13*)(E13x7*), ABISELECT(32,20), "G13x7y0");
+ check_base_class_offset(lv, (D0*)(E13x7*), ABISELECT(60,40), "G13x7y0");
+ check_base_class_offset(lv, (E13x7*), 0, "G13x7y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G13x7y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G13x7y0.ff");
+ test_class_info(&lv, &cd_G13x7y0);
+ dp->~G13x7y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x7y0(Test_G13x7y0, "G13x7y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G13x7y0C1Ev();
+extern void _ZN7G13x7y0D1Ev();
+Name_Map name_map_G13x7y0[] = {
+ NSPAIR(_ZN7G13x7y0C1Ev),
+ NSPAIR(_ZN7G13x7y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E13x7;
+extern VTBL_ENTRY _ZTI5E13x7[];
+extern VTBL_ENTRY _ZTV5E13x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G13x7y0[] = {
+ // 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)
+ 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,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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E13x7, 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 _ZTI7G13x7y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G13x7y0[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x7y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G13x7y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G13x7y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G13x7y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x7y0[];
+static VTBL_ENTRY _tg__ZTV5E13x7__7G13x7y0[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__5E13x7__7G13x7y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E13x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x7__7G13x7y0[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E13x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__7G13x7y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C13__7G13x7y0[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x7y0[] = {
+ {&(_ZTV7G13x7y0[5]), 5,17},
+ {&(_tg__ZTV5E13x7__7G13x7y0[5]), 5,5},
+ {&(_tg__ZTV3C13__5E13x7__7G13x7y0[4]), 4,5},
+ {&(_tg__ZTV2B1__5E13x7__7G13x7y0[3]), 3,4},
+ {&(_ZTV7G13x7y0[12]), 12,17},
+ {&(_ZTV7G13x7y0[16]), 16,17},
+ {&(_tg__ZTV3C13__7G13x7y0[3]), 3,4},
+ {&(_tg__ZTV2B1__3C13__7G13x7y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G13x7y0[];
+extern VTBL_ENTRY _ZTV7G13x7y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x7y0[];
+Class_Descriptor cd_G13x7y0 = { "G13x7y0", // class name
+ bases_G13x7y0, 6,
+ &(vtc_G13x7y0[0]), // expected_vtbl_contents
+ &(vtt_G13x7y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G13x7y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x7y0),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x7y0),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 G13x7y1 : virtual E13x7 , F1 {
+ int ff;
+ ~G13x7y1(); // tgen
+ G13x7y1(); // tgen
+};
+//SIG(1 G13x7y1) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G13x7y1 ::~G13x7y1(){ note_dtor("G13x7y1", this);} // tgen
+G13x7y1 ::G13x7y1(){ note_ctor("G13x7y1", this);} // tgen
+
+static void Test_G13x7y1()
+{
+ extern Class_Descriptor cd_G13x7y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G13x7y1, buf);
+ G13x7y1 *dp, &lv = *(dp=new (buf) G13x7y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G13x7y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x7y1)");
+ check_base_class_offset(lv, (A1*)(C13*), ABISELECT(32,20), "G13x7y1");
+ check_base_class_offset(lv, (B1*)(C13*), ABISELECT(48,32), "G13x7y1");
+ check_base_class_offset(lv, (C13*)(E13x7*), ABISELECT(32,20), "G13x7y1");
+ check_base_class_offset(lv, (D0*)(E13x7*), ABISELECT(60,40), "G13x7y1");
+ check_base_class_offset(lv, (E13x7*), ABISELECT(16,12), "G13x7y1");
+ check_base_class_offset(lv, (F1*), 0, "G13x7y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G13x7y1.ff");
+ test_class_info(&lv, &cd_G13x7y1);
+ dp->~G13x7y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x7y1(Test_G13x7y1, "G13x7y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G13x7y1C1Ev();
+extern void _ZN7G13x7y1D1Ev();
+Name_Map name_map_G13x7y1[] = {
+ NSPAIR(_ZN7G13x7y1C1Ev),
+ NSPAIR(_ZN7G13x7y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E13x7;
+extern VTBL_ENTRY _ZTI5E13x7[];
+extern VTBL_ENTRY _ZTV5E13x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G13x7y1[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E13x7, 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 _ZTI7G13x7y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G13x7y1[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x7y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G13x7y1[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G13x7y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G13x7y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x7y1[];
+static VTBL_ENTRY _tg__ZTV5E13x7__7G13x7y1[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__5E13x7__7G13x7y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E13x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x7__7G13x7y1[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E13x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__7G13x7y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C13__7G13x7y1[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x7y1[] = {
+ {&(_ZTV7G13x7y1[6]), 6,21},
+ {&(_ZTV7G13x7y1[12]), 12,21},
+ {&(_ZTV7G13x7y1[16]), 16,21},
+ {&(_ZTV7G13x7y1[20]), 20,21},
+ {&(_tg__ZTV5E13x7__7G13x7y1[5]), 5,5},
+ {&(_tg__ZTV3C13__5E13x7__7G13x7y1[4]), 4,5},
+ {&(_tg__ZTV2B1__5E13x7__7G13x7y1[3]), 3,4},
+ {&(_tg__ZTV3C13__7G13x7y1[3]), 3,4},
+ {&(_tg__ZTV2B1__3C13__7G13x7y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G13x7y1[];
+extern VTBL_ENTRY _ZTV7G13x7y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x7y1[];
+Class_Descriptor cd_G13x7y1 = { "G13x7y1", // class name
+ bases_G13x7y1, 6,
+ &(vtc_G13x7y1[0]), // expected_vtbl_contents
+ &(vtt_G13x7y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G13x7y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x7y1),21, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x7y1),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 G13x7y2 : E13x7 , virtual F1 {
+ int ff;
+ ~G13x7y2(); // tgen
+ G13x7y2(); // tgen
+};
+//SIG(1 G13x7y2) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G13x7y2 ::~G13x7y2(){ note_dtor("G13x7y2", this);} // tgen
+G13x7y2 ::G13x7y2(){ note_ctor("G13x7y2", this);} // tgen
+
+static void Test_G13x7y2()
+{
+ extern Class_Descriptor cd_G13x7y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G13x7y2, buf);
+ G13x7y2 *dp, &lv = *(dp=new (buf) G13x7y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G13x7y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x7y2)");
+ check_base_class_offset(lv, (A1*)(C13*), ABISELECT(16,12), "G13x7y2");
+ check_base_class_offset(lv, (B1*)(C13*), ABISELECT(32,24), "G13x7y2");
+ check_base_class_offset(lv, (C13*)(E13x7*), ABISELECT(16,12), "G13x7y2");
+ check_base_class_offset(lv, (D0*)(E13x7*), ABISELECT(44,32), "G13x7y2");
+ check_base_class_offset(lv, (E13x7*), 0, "G13x7y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,36), "G13x7y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G13x7y2.ff");
+ test_class_info(&lv, &cd_G13x7y2);
+ dp->~G13x7y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x7y2(Test_G13x7y2, "G13x7y2", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G13x7y2C1Ev();
+extern void _ZN7G13x7y2D1Ev();
+Name_Map name_map_G13x7y2[] = {
+ NSPAIR(_ZN7G13x7y2C1Ev),
+ NSPAIR(_ZN7G13x7y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E13x7;
+extern VTBL_ENTRY _ZTI5E13x7[];
+extern VTBL_ENTRY _ZTV5E13x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G13x7y2[] = {
+ // 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)
+ 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(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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E13x7, 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(48,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 _ZTI7G13x7y2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G13x7y2[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x7y2[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G13x7y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G13x7y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G13x7y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x7y2[];
+static VTBL_ENTRY _tg__ZTV5E13x7__7G13x7y2[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__5E13x7__7G13x7y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E13x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x7__7G13x7y2[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E13x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__7G13x7y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C13__7G13x7y2[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x7y2[] = {
+ {&(_ZTV7G13x7y2[6]), 6,19},
+ {&(_tg__ZTV5E13x7__7G13x7y2[5]), 5,5},
+ {&(_tg__ZTV3C13__5E13x7__7G13x7y2[4]), 4,5},
+ {&(_tg__ZTV2B1__5E13x7__7G13x7y2[3]), 3,4},
+ {&(_ZTV7G13x7y2[10]), 10,19},
+ {&(_ZTV7G13x7y2[14]), 14,19},
+ {&(_ZTV7G13x7y2[18]), 18,19},
+ {&(_tg__ZTV3C13__7G13x7y2[3]), 3,4},
+ {&(_tg__ZTV2B1__3C13__7G13x7y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G13x7y2[];
+extern VTBL_ENTRY _ZTV7G13x7y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x7y2[];
+Class_Descriptor cd_G13x7y2 = { "G13x7y2", // class name
+ bases_G13x7y2, 6,
+ &(vtc_G13x7y2[0]), // expected_vtbl_contents
+ &(vtt_G13x7y2[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G13x7y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x7y2),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x7y2),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 G13x7y3 : virtual E13x7 , virtual F1 {
+ int ff;
+ ~G13x7y3(); // tgen
+ G13x7y3(); // tgen
+};
+//SIG(1 G13x7y3) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G13x7y3 ::~G13x7y3(){ note_dtor("G13x7y3", this);} // tgen
+G13x7y3 ::G13x7y3(){ note_ctor("G13x7y3", this);} // tgen
+
+static void Test_G13x7y3()
+{
+ extern Class_Descriptor cd_G13x7y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G13x7y3, buf);
+ G13x7y3 *dp, &lv = *(dp=new (buf) G13x7y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G13x7y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x7y3)");
+ check_base_class_offset(lv, (A1*)(C13*), ABISELECT(32,16), "G13x7y3");
+ check_base_class_offset(lv, (B1*)(C13*), ABISELECT(48,28), "G13x7y3");
+ check_base_class_offset(lv, (C13*)(E13x7*), ABISELECT(32,16), "G13x7y3");
+ check_base_class_offset(lv, (D0*)(E13x7*), ABISELECT(60,36), "G13x7y3");
+ check_base_class_offset(lv, (E13x7*), ABISELECT(16,8), "G13x7y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G13x7y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G13x7y3.ff");
+ test_class_info(&lv, &cd_G13x7y3);
+ dp->~G13x7y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x7y3(Test_G13x7y3, "G13x7y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G13x7y3C1Ev();
+extern void _ZN7G13x7y3D1Ev();
+Name_Map name_map_G13x7y3[] = {
+ NSPAIR(_ZN7G13x7y3C1Ev),
+ NSPAIR(_ZN7G13x7y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E13x7;
+extern VTBL_ENTRY _ZTI5E13x7[];
+extern VTBL_ENTRY _ZTV5E13x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G13x7y3[] = {
+ // 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
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E13x7, 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
+ 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 _ZTI7G13x7y3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G13x7y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x7y3[0]),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G13x7y3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G13x7y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G13x7y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G13x7y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x7y3[];
+static VTBL_ENTRY _tg__ZTV5E13x7__7G13x7y3[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__5E13x7__7G13x7y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E13x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x7__7G13x7y3[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E13x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__7G13x7y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C13__7G13x7y3[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x7y3[] = {
+ {&(_ZTV7G13x7y3[7]), 7,25},
+ {&(_ZTV7G13x7y3[12]), 12,25},
+ {&(_ZTV7G13x7y3[16]), 16,25},
+ {&(_ZTV7G13x7y3[20]), 20,25},
+ {&(_ZTV7G13x7y3[24]), 24,25},
+ {&(_tg__ZTV5E13x7__7G13x7y3[5]), 5,5},
+ {&(_tg__ZTV3C13__5E13x7__7G13x7y3[4]), 4,5},
+ {&(_tg__ZTV2B1__5E13x7__7G13x7y3[3]), 3,4},
+ {&(_tg__ZTV3C13__7G13x7y3[3]), 3,4},
+ {&(_tg__ZTV2B1__3C13__7G13x7y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G13x7y3[];
+extern VTBL_ENTRY _ZTV7G13x7y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x7y3[];
+Class_Descriptor cd_G13x7y3 = { "G13x7y3", // class name
+ bases_G13x7y3, 6,
+ &(vtc_G13x7y3[0]), // expected_vtbl_contents
+ &(vtt_G13x7y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G13x7y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x7y3),25, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x7y3),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 G13x7y4 : E13x7 , F0 {
+ int ff;
+ ~G13x7y4(); // tgen
+ G13x7y4(); // tgen
+};
+//SIG(1 G13x7y4) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G13x7y4 ::~G13x7y4(){ note_dtor("G13x7y4", this);} // tgen
+G13x7y4 ::G13x7y4(){ note_ctor("G13x7y4", this);} // tgen
+
+static void Test_G13x7y4()
+{
+ extern Class_Descriptor cd_G13x7y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G13x7y4, buf);
+ G13x7y4 *dp, &lv = *(dp=new (buf) G13x7y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G13x7y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x7y4)");
+ check_base_class_offset(lv, (A1*)(C13*), ABISELECT(24,16), "G13x7y4");
+ check_base_class_offset(lv, (B1*)(C13*), ABISELECT(40,28), "G13x7y4");
+ check_base_class_offset(lv, (C13*)(E13x7*), ABISELECT(24,16), "G13x7y4");
+ check_base_class_offset(lv, (D0*)(E13x7*), ABISELECT(52,36), "G13x7y4");
+ check_base_class_offset(lv, (E13x7*), 0, "G13x7y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G13x7y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G13x7y4.ff");
+ test_class_info(&lv, &cd_G13x7y4);
+ dp->~G13x7y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x7y4(Test_G13x7y4, "G13x7y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G13x7y4C1Ev();
+extern void _ZN7G13x7y4D1Ev();
+Name_Map name_map_G13x7y4[] = {
+ NSPAIR(_ZN7G13x7y4C1Ev),
+ NSPAIR(_ZN7G13x7y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E13x7;
+extern VTBL_ENTRY _ZTI5E13x7[];
+extern VTBL_ENTRY _ZTV5E13x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G13x7y4[] = {
+ // 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)
+ 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
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E13x7, 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 _ZTI7G13x7y4[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G13x7y4[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x7y4[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G13x7y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G13x7y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x7y4[];
+static VTBL_ENTRY _tg__ZTV5E13x7__7G13x7y4[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__5E13x7__7G13x7y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E13x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x7__7G13x7y4[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E13x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__7G13x7y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C13__7G13x7y4[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x7y4[] = {
+ {&(_ZTV7G13x7y4[5]), 5,14},
+ {&(_tg__ZTV5E13x7__7G13x7y4[5]), 5,5},
+ {&(_tg__ZTV3C13__5E13x7__7G13x7y4[4]), 4,5},
+ {&(_tg__ZTV2B1__5E13x7__7G13x7y4[3]), 3,4},
+ {&(_ZTV7G13x7y4[9]), 9,14},
+ {&(_ZTV7G13x7y4[13]), 13,14},
+ {&(_tg__ZTV3C13__7G13x7y4[3]), 3,4},
+ {&(_tg__ZTV2B1__3C13__7G13x7y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G13x7y4[];
+extern VTBL_ENTRY _ZTV7G13x7y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x7y4[];
+Class_Descriptor cd_G13x7y4 = { "G13x7y4", // class name
+ bases_G13x7y4, 6,
+ &(vtc_G13x7y4[0]), // expected_vtbl_contents
+ &(vtt_G13x7y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G13x7y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x7y4),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x7y4),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 G13x7y5 : virtual E13x7 , F0 {
+ int ff;
+ ~G13x7y5(); // tgen
+ G13x7y5(); // tgen
+};
+//SIG(1 G13x7y5) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G13x7y5 ::~G13x7y5(){ note_dtor("G13x7y5", this);} // tgen
+G13x7y5 ::G13x7y5(){ note_ctor("G13x7y5", this);} // tgen
+
+static void Test_G13x7y5()
+{
+ extern Class_Descriptor cd_G13x7y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G13x7y5, buf);
+ G13x7y5 *dp, &lv = *(dp=new (buf) G13x7y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G13x7y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x7y5)");
+ check_base_class_offset(lv, (A1*)(C13*), ABISELECT(32,20), "G13x7y5");
+ check_base_class_offset(lv, (B1*)(C13*), ABISELECT(48,32), "G13x7y5");
+ check_base_class_offset(lv, (C13*)(E13x7*), ABISELECT(32,20), "G13x7y5");
+ check_base_class_offset(lv, (D0*)(E13x7*), ABISELECT(60,40), "G13x7y5");
+ check_base_class_offset(lv, (E13x7*), ABISELECT(16,12), "G13x7y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G13x7y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G13x7y5.ff");
+ test_class_info(&lv, &cd_G13x7y5);
+ dp->~G13x7y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x7y5(Test_G13x7y5, "G13x7y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G13x7y5C1Ev();
+extern void _ZN7G13x7y5D1Ev();
+Name_Map name_map_G13x7y5[] = {
+ NSPAIR(_ZN7G13x7y5C1Ev),
+ NSPAIR(_ZN7G13x7y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E13x7;
+extern VTBL_ENTRY _ZTI5E13x7[];
+extern VTBL_ENTRY _ZTV5E13x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G13x7y5[] = {
+ // 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
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E13x7, 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 _ZTI7G13x7y5[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G13x7y5[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x7y5[0]),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G13x7y5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G13x7y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G13x7y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x7y5[];
+static VTBL_ENTRY _tg__ZTV5E13x7__7G13x7y5[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__5E13x7__7G13x7y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E13x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x7__7G13x7y5[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E13x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__7G13x7y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C13__7G13x7y5[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x7y5[] = {
+ {&(_ZTV7G13x7y5[6]), 6,20},
+ {&(_ZTV7G13x7y5[11]), 11,20},
+ {&(_ZTV7G13x7y5[15]), 15,20},
+ {&(_ZTV7G13x7y5[19]), 19,20},
+ {&(_tg__ZTV5E13x7__7G13x7y5[5]), 5,5},
+ {&(_tg__ZTV3C13__5E13x7__7G13x7y5[4]), 4,5},
+ {&(_tg__ZTV2B1__5E13x7__7G13x7y5[3]), 3,4},
+ {&(_tg__ZTV3C13__7G13x7y5[3]), 3,4},
+ {&(_tg__ZTV2B1__3C13__7G13x7y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G13x7y5[];
+extern VTBL_ENTRY _ZTV7G13x7y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x7y5[];
+Class_Descriptor cd_G13x7y5 = { "G13x7y5", // class name
+ bases_G13x7y5, 6,
+ &(vtc_G13x7y5[0]), // expected_vtbl_contents
+ &(vtt_G13x7y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G13x7y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x7y5),20, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x7y5),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 G13x7y6 : E13x7 , virtual F0 {
+ int ff;
+ ~G13x7y6(); // tgen
+ G13x7y6(); // tgen
+};
+//SIG(1 G13x7y6) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G13x7y6 ::~G13x7y6(){ note_dtor("G13x7y6", this);} // tgen
+G13x7y6 ::G13x7y6(){ note_ctor("G13x7y6", this);} // tgen
+
+static void Test_G13x7y6()
+{
+ extern Class_Descriptor cd_G13x7y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G13x7y6, buf);
+ G13x7y6 *dp, &lv = *(dp=new (buf) G13x7y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G13x7y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x7y6)");
+ check_base_class_offset(lv, (A1*)(C13*), ABISELECT(16,12), "G13x7y6");
+ check_base_class_offset(lv, (B1*)(C13*), ABISELECT(32,24), "G13x7y6");
+ check_base_class_offset(lv, (C13*)(E13x7*), ABISELECT(16,12), "G13x7y6");
+ check_base_class_offset(lv, (D0*)(E13x7*), ABISELECT(44,32), "G13x7y6");
+ check_base_class_offset(lv, (E13x7*), 0, "G13x7y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(48,36), "G13x7y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G13x7y6.ff");
+ test_class_info(&lv, &cd_G13x7y6);
+ dp->~G13x7y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x7y6(Test_G13x7y6, "G13x7y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G13x7y6C1Ev();
+extern void _ZN7G13x7y6D1Ev();
+Name_Map name_map_G13x7y6[] = {
+ NSPAIR(_ZN7G13x7y6C1Ev),
+ NSPAIR(_ZN7G13x7y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E13x7;
+extern VTBL_ENTRY _ZTI5E13x7[];
+extern VTBL_ENTRY _ZTV5E13x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G13x7y6[] = {
+ // 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)
+ 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(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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E13x7, 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(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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G13x7y6[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G13x7y6[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x7y6[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G13x7y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G13x7y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x7y6[];
+static VTBL_ENTRY _tg__ZTV5E13x7__7G13x7y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__5E13x7__7G13x7y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E13x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x7__7G13x7y6[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E13x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__7G13x7y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C13__7G13x7y6[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x7y6[] = {
+ {&(_ZTV7G13x7y6[6]), 6,15},
+ {&(_tg__ZTV5E13x7__7G13x7y6[5]), 5,5},
+ {&(_tg__ZTV3C13__5E13x7__7G13x7y6[4]), 4,5},
+ {&(_tg__ZTV2B1__5E13x7__7G13x7y6[3]), 3,4},
+ {&(_ZTV7G13x7y6[10]), 10,15},
+ {&(_ZTV7G13x7y6[14]), 14,15},
+ {&(_tg__ZTV3C13__7G13x7y6[3]), 3,4},
+ {&(_tg__ZTV2B1__3C13__7G13x7y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G13x7y6[];
+extern VTBL_ENTRY _ZTV7G13x7y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x7y6[];
+Class_Descriptor cd_G13x7y6 = { "G13x7y6", // class name
+ bases_G13x7y6, 6,
+ &(vtc_G13x7y6[0]), // expected_vtbl_contents
+ &(vtt_G13x7y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G13x7y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x7y6),15, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x7y6),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 G13x7y7 : virtual E13x7 , virtual F0 {
+ int ff;
+ ~G13x7y7(); // tgen
+ G13x7y7(); // tgen
+};
+//SIG(1 G13x7y7) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G13x7y7 ::~G13x7y7(){ note_dtor("G13x7y7", this);} // tgen
+G13x7y7 ::G13x7y7(){ note_ctor("G13x7y7", this);} // tgen
+
+static void Test_G13x7y7()
+{
+ extern Class_Descriptor cd_G13x7y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G13x7y7, buf);
+ G13x7y7 *dp, &lv = *(dp=new (buf) G13x7y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G13x7y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G13x7y7)");
+ check_base_class_offset(lv, (A1*)(C13*), ABISELECT(32,16), "G13x7y7");
+ check_base_class_offset(lv, (B1*)(C13*), ABISELECT(48,28), "G13x7y7");
+ check_base_class_offset(lv, (C13*)(E13x7*), ABISELECT(32,16), "G13x7y7");
+ check_base_class_offset(lv, (D0*)(E13x7*), ABISELECT(60,36), "G13x7y7");
+ check_base_class_offset(lv, (E13x7*), ABISELECT(16,8), "G13x7y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(64,40), "G13x7y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G13x7y7.ff");
+ test_class_info(&lv, &cd_G13x7y7);
+ dp->~G13x7y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG13x7y7(Test_G13x7y7, "G13x7y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G13x7y7C1Ev();
+extern void _ZN7G13x7y7D1Ev();
+Name_Map name_map_G13x7y7[] = {
+ NSPAIR(_ZN7G13x7y7C1Ev),
+ NSPAIR(_ZN7G13x7y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E13x7;
+extern VTBL_ENTRY _ZTI5E13x7[];
+extern VTBL_ENTRY _ZTV5E13x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E13x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G13x7y7[] = {
+ // 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
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E13x7, 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(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 _ZTI7G13x7y7[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G13x7y7[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G13x7y7[0]),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G13x7y7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G13x7y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G13x7y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G13x7y7[];
+static VTBL_ENTRY _tg__ZTV5E13x7__7G13x7y7[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E13x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__5E13x7__7G13x7y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E13x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E13x7__7G13x7y7[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E13x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV3C13__7G13x7y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C13__7G13x7y7[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C13[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G13x7y7[] = {
+ {&(_ZTV7G13x7y7[7]), 7,21},
+ {&(_ZTV7G13x7y7[12]), 12,21},
+ {&(_ZTV7G13x7y7[16]), 16,21},
+ {&(_ZTV7G13x7y7[20]), 20,21},
+ {&(_tg__ZTV5E13x7__7G13x7y7[5]), 5,5},
+ {&(_tg__ZTV3C13__5E13x7__7G13x7y7[4]), 4,5},
+ {&(_tg__ZTV2B1__5E13x7__7G13x7y7[3]), 3,4},
+ {&(_tg__ZTV3C13__7G13x7y7[3]), 3,4},
+ {&(_tg__ZTV2B1__3C13__7G13x7y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G13x7y7[];
+extern VTBL_ENTRY _ZTV7G13x7y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G13x7y7[];
+Class_Descriptor cd_G13x7y7 = { "G13x7y7", // class name
+ bases_G13x7y7, 6,
+ &(vtc_G13x7y7[0]), // expected_vtbl_contents
+ &(vtt_G13x7y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G13x7y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G13x7y7),21, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G13x7y7),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 E14x7 : virtual C14 , virtual D0 {
+ int fd;
+ ~E14x7(); // tgen
+ E14x7(); // tgen
+};
+//SIG(-1 E14x7) C1{ VBC2{ VBC3{ Fi} VBC4{ v1 Fi} Fi} VBC5{ Fi} Fi}
+
+
+E14x7 ::~E14x7(){ note_dtor("E14x7", this);} // tgen
+E14x7 ::E14x7(){ note_ctor("E14x7", this);} // tgen
+
+static void Test_E14x7()
+{
+ extern Class_Descriptor cd_E14x7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E14x7, buf);
+ E14x7 *dp, &lv = *(dp=new (buf) E14x7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E14x7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E14x7)");
+ check_base_class_offset(lv, (A0*)(C14*), ABISELECT(28,16), "E14x7");
+ check_base_class_offset(lv, (B1*)(C14*), ABISELECT(32,20), "E14x7");
+ check_base_class_offset(lv, (C14*), ABISELECT(16,8), "E14x7");
+ check_base_class_offset(lv, (D0*), ABISELECT(44,28), "E14x7");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E14x7.fd");
+ test_class_info(&lv, &cd_E14x7);
+ dp->~E14x7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE14x7(Test_E14x7, "E14x7", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN5E14x7C1Ev();
+extern void _ZN5E14x7D1Ev();
+Name_Map name_map_E14x7[] = {
+ NSPAIR(_ZN5E14x7C1Ev),
+ NSPAIR(_ZN5E14x7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E14x7[] = {
+ // 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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D0, 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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E14x7[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_E14x7[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x7[0]),
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E14x7[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E14x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E14x7[];
+static VTBL_ENTRY _tg__ZTV3C14__5E14x7[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C14__5E14x7[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_E14x7[] = {
+ {&(_ZTV5E14x7[6]), 6,14},
+ {&(_ZTV5E14x7[10]), 10,14},
+ {&(_ZTV5E14x7[13]), 13,14},
+ {&(_tg__ZTV3C14__5E14x7[4]), 4,4},
+ {&(_tg__ZTV2B1__3C14__5E14x7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E14x7[];
+extern VTBL_ENTRY _ZTV5E14x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x7[];
+Class_Descriptor cd_E14x7 = { "E14x7", // class name
+ bases_E14x7, 4,
+ &(vtc_E14x7[0]), // expected_vtbl_contents
+ &(vtt_E14x7[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI5E14x7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E14x7),14, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E14x7),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 G14x7y0 : E14x7 , F1 {
+ int ff;
+ ~G14x7y0(); // tgen
+ G14x7y0(); // tgen
+};
+//SIG(1 G14x7y0) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G14x7y0 ::~G14x7y0(){ note_dtor("G14x7y0", this);} // tgen
+G14x7y0 ::G14x7y0(){ note_ctor("G14x7y0", this);} // tgen
+
+static void Test_G14x7y0()
+{
+ extern Class_Descriptor cd_G14x7y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G14x7y0, buf);
+ G14x7y0 *dp, &lv = *(dp=new (buf) G14x7y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G14x7y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x7y0)");
+ check_base_class_offset(lv, (A0*)(C14*), ABISELECT(44,28), "G14x7y0");
+ check_base_class_offset(lv, (B1*)(C14*), ABISELECT(48,32), "G14x7y0");
+ check_base_class_offset(lv, (C14*)(E14x7*), ABISELECT(32,20), "G14x7y0");
+ check_base_class_offset(lv, (D0*)(E14x7*), ABISELECT(60,40), "G14x7y0");
+ check_base_class_offset(lv, (E14x7*), 0, "G14x7y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G14x7y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G14x7y0.ff");
+ test_class_info(&lv, &cd_G14x7y0);
+ dp->~G14x7y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x7y0(Test_G14x7y0, "G14x7y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G14x7y0C1Ev();
+extern void _ZN7G14x7y0D1Ev();
+Name_Map name_map_G14x7y0[] = {
+ NSPAIR(_ZN7G14x7y0C1Ev),
+ NSPAIR(_ZN7G14x7y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E14x7;
+extern VTBL_ENTRY _ZTI5E14x7[];
+extern VTBL_ENTRY _ZTV5E14x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G14x7y0[] = {
+ // 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)
+ 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,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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E14x7, 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 _ZTI7G14x7y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G14x7y0[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x7y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G14x7y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G14x7y0[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G14x7y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x7y0[];
+static VTBL_ENTRY _tg__ZTV5E14x7__7G14x7y0[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C14__5E14x7__7G14x7y0[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E14x7[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x7__7G14x7y0[] = {
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E14x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C14__7G14x7y0[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C14__7G14x7y0[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x7y0[] = {
+ {&(_ZTV7G14x7y0[6]), 6,17},
+ {&(_tg__ZTV5E14x7__7G14x7y0[6]), 6,6},
+ {&(_tg__ZTV3C14__5E14x7__7G14x7y0[4]), 4,4},
+ {&(_tg__ZTV2B1__5E14x7__7G14x7y0[3]), 3,4},
+ {&(_ZTV7G14x7y0[13]), 13,17},
+ {&(_ZTV7G14x7y0[16]), 16,17},
+ {&(_tg__ZTV3C14__7G14x7y0[4]), 4,4},
+ {&(_tg__ZTV2B1__3C14__7G14x7y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G14x7y0[];
+extern VTBL_ENTRY _ZTV7G14x7y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x7y0[];
+Class_Descriptor cd_G14x7y0 = { "G14x7y0", // class name
+ bases_G14x7y0, 6,
+ &(vtc_G14x7y0[0]), // expected_vtbl_contents
+ &(vtt_G14x7y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G14x7y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x7y0),17, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x7y0),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 G14x7y1 : virtual E14x7 , F1 {
+ int ff;
+ ~G14x7y1(); // tgen
+ G14x7y1(); // tgen
+};
+//SIG(1 G14x7y1) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G14x7y1 ::~G14x7y1(){ note_dtor("G14x7y1", this);} // tgen
+G14x7y1 ::G14x7y1(){ note_ctor("G14x7y1", this);} // tgen
+
+static void Test_G14x7y1()
+{
+ extern Class_Descriptor cd_G14x7y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G14x7y1, buf);
+ G14x7y1 *dp, &lv = *(dp=new (buf) G14x7y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G14x7y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x7y1)");
+ check_base_class_offset(lv, (A0*)(C14*), ABISELECT(44,28), "G14x7y1");
+ check_base_class_offset(lv, (B1*)(C14*), ABISELECT(48,32), "G14x7y1");
+ check_base_class_offset(lv, (C14*)(E14x7*), ABISELECT(32,20), "G14x7y1");
+ check_base_class_offset(lv, (D0*)(E14x7*), ABISELECT(60,40), "G14x7y1");
+ check_base_class_offset(lv, (E14x7*), ABISELECT(16,12), "G14x7y1");
+ check_base_class_offset(lv, (F1*), 0, "G14x7y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G14x7y1.ff");
+ test_class_info(&lv, &cd_G14x7y1);
+ dp->~G14x7y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x7y1(Test_G14x7y1, "G14x7y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G14x7y1C1Ev();
+extern void _ZN7G14x7y1D1Ev();
+Name_Map name_map_G14x7y1[] = {
+ NSPAIR(_ZN7G14x7y1C1Ev),
+ NSPAIR(_ZN7G14x7y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E14x7;
+extern VTBL_ENTRY _ZTI5E14x7[];
+extern VTBL_ENTRY _ZTV5E14x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G14x7y1[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E14x7, 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 _ZTI7G14x7y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G14x7y1[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x7y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G14x7y1[0]),
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G14x7y1[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G14x7y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x7y1[];
+static VTBL_ENTRY _tg__ZTV5E14x7__7G14x7y1[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C14__5E14x7__7G14x7y1[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E14x7[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x7__7G14x7y1[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E14x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C14__7G14x7y1[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C14__7G14x7y1[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x7y1[] = {
+ {&(_ZTV7G14x7y1[7]), 7,22},
+ {&(_ZTV7G14x7y1[14]), 14,22},
+ {&(_ZTV7G14x7y1[18]), 18,22},
+ {&(_ZTV7G14x7y1[21]), 21,22},
+ {&(_tg__ZTV5E14x7__7G14x7y1[6]), 6,6},
+ {&(_tg__ZTV3C14__5E14x7__7G14x7y1[4]), 4,4},
+ {&(_tg__ZTV2B1__5E14x7__7G14x7y1[3]), 3,4},
+ {&(_tg__ZTV3C14__7G14x7y1[4]), 4,4},
+ {&(_tg__ZTV2B1__3C14__7G14x7y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G14x7y1[];
+extern VTBL_ENTRY _ZTV7G14x7y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x7y1[];
+Class_Descriptor cd_G14x7y1 = { "G14x7y1", // class name
+ bases_G14x7y1, 6,
+ &(vtc_G14x7y1[0]), // expected_vtbl_contents
+ &(vtt_G14x7y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G14x7y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x7y1),22, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x7y1),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 G14x7y2 : E14x7 , virtual F1 {
+ int ff;
+ ~G14x7y2(); // tgen
+ G14x7y2(); // tgen
+};
+//SIG(1 G14x7y2) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G14x7y2 ::~G14x7y2(){ note_dtor("G14x7y2", this);} // tgen
+G14x7y2 ::G14x7y2(){ note_ctor("G14x7y2", this);} // tgen
+
+static void Test_G14x7y2()
+{
+ extern Class_Descriptor cd_G14x7y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G14x7y2, buf);
+ G14x7y2 *dp, &lv = *(dp=new (buf) G14x7y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G14x7y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x7y2)");
+ check_base_class_offset(lv, (A0*)(C14*), ABISELECT(28,20), "G14x7y2");
+ check_base_class_offset(lv, (B1*)(C14*), ABISELECT(32,24), "G14x7y2");
+ check_base_class_offset(lv, (C14*)(E14x7*), ABISELECT(16,12), "G14x7y2");
+ check_base_class_offset(lv, (D0*)(E14x7*), ABISELECT(44,32), "G14x7y2");
+ check_base_class_offset(lv, (E14x7*), 0, "G14x7y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,36), "G14x7y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G14x7y2.ff");
+ test_class_info(&lv, &cd_G14x7y2);
+ dp->~G14x7y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x7y2(Test_G14x7y2, "G14x7y2", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G14x7y2C1Ev();
+extern void _ZN7G14x7y2D1Ev();
+Name_Map name_map_G14x7y2[] = {
+ NSPAIR(_ZN7G14x7y2C1Ev),
+ NSPAIR(_ZN7G14x7y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E14x7;
+extern VTBL_ENTRY _ZTI5E14x7[];
+extern VTBL_ENTRY _ZTV5E14x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G14x7y2[] = {
+ // 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)
+ 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(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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E14x7, 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(48,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 _ZTI7G14x7y2[];
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G14x7y2[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x7y2[0]),
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G14x7y2[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G14x7y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G14x7y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x7y2[];
+static VTBL_ENTRY _tg__ZTV5E14x7__7G14x7y2[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C14__5E14x7__7G14x7y2[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E14x7[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x7__7G14x7y2[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E14x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C14__7G14x7y2[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C14__7G14x7y2[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x7y2[] = {
+ {&(_ZTV7G14x7y2[7]), 7,19},
+ {&(_tg__ZTV5E14x7__7G14x7y2[6]), 6,6},
+ {&(_tg__ZTV3C14__5E14x7__7G14x7y2[4]), 4,4},
+ {&(_tg__ZTV2B1__5E14x7__7G14x7y2[3]), 3,4},
+ {&(_ZTV7G14x7y2[11]), 11,19},
+ {&(_ZTV7G14x7y2[14]), 14,19},
+ {&(_ZTV7G14x7y2[18]), 18,19},
+ {&(_tg__ZTV3C14__7G14x7y2[4]), 4,4},
+ {&(_tg__ZTV2B1__3C14__7G14x7y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G14x7y2[];
+extern VTBL_ENTRY _ZTV7G14x7y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x7y2[];
+Class_Descriptor cd_G14x7y2 = { "G14x7y2", // class name
+ bases_G14x7y2, 6,
+ &(vtc_G14x7y2[0]), // expected_vtbl_contents
+ &(vtt_G14x7y2[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G14x7y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x7y2),19, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x7y2),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 G14x7y3 : virtual E14x7 , virtual F1 {
+ int ff;
+ ~G14x7y3(); // tgen
+ G14x7y3(); // tgen
+};
+//SIG(1 G14x7y3) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G14x7y3 ::~G14x7y3(){ note_dtor("G14x7y3", this);} // tgen
+G14x7y3 ::G14x7y3(){ note_ctor("G14x7y3", this);} // tgen
+
+static void Test_G14x7y3()
+{
+ extern Class_Descriptor cd_G14x7y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G14x7y3, buf);
+ G14x7y3 *dp, &lv = *(dp=new (buf) G14x7y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G14x7y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x7y3)");
+ check_base_class_offset(lv, (A0*)(C14*), ABISELECT(44,24), "G14x7y3");
+ check_base_class_offset(lv, (B1*)(C14*), ABISELECT(48,28), "G14x7y3");
+ check_base_class_offset(lv, (C14*)(E14x7*), ABISELECT(32,16), "G14x7y3");
+ check_base_class_offset(lv, (D0*)(E14x7*), ABISELECT(60,36), "G14x7y3");
+ check_base_class_offset(lv, (E14x7*), ABISELECT(16,8), "G14x7y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G14x7y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G14x7y3.ff");
+ test_class_info(&lv, &cd_G14x7y3);
+ dp->~G14x7y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x7y3(Test_G14x7y3, "G14x7y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G14x7y3C1Ev();
+extern void _ZN7G14x7y3D1Ev();
+Name_Map name_map_G14x7y3[] = {
+ NSPAIR(_ZN7G14x7y3C1Ev),
+ NSPAIR(_ZN7G14x7y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E14x7;
+extern VTBL_ENTRY _ZTI5E14x7[];
+extern VTBL_ENTRY _ZTV5E14x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G14x7y3[] = {
+ // 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
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E14x7, 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(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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G14x7y3[];
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G14x7y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(44,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x7y3[0]),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G14x7y3[0]),
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G14x7y3[0]),
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G14x7y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G14x7y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x7y3[];
+static VTBL_ENTRY _tg__ZTV5E14x7__7G14x7y3[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C14__5E14x7__7G14x7y3[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E14x7[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x7__7G14x7y3[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E14x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C14__7G14x7y3[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C14__7G14x7y3[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x7y3[] = {
+ {&(_ZTV7G14x7y3[8]), 8,26},
+ {&(_ZTV7G14x7y3[14]), 14,26},
+ {&(_ZTV7G14x7y3[18]), 18,26},
+ {&(_ZTV7G14x7y3[21]), 21,26},
+ {&(_ZTV7G14x7y3[25]), 25,26},
+ {&(_tg__ZTV5E14x7__7G14x7y3[6]), 6,6},
+ {&(_tg__ZTV3C14__5E14x7__7G14x7y3[4]), 4,4},
+ {&(_tg__ZTV2B1__5E14x7__7G14x7y3[3]), 3,4},
+ {&(_tg__ZTV3C14__7G14x7y3[4]), 4,4},
+ {&(_tg__ZTV2B1__3C14__7G14x7y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G14x7y3[];
+extern VTBL_ENTRY _ZTV7G14x7y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x7y3[];
+Class_Descriptor cd_G14x7y3 = { "G14x7y3", // class name
+ bases_G14x7y3, 6,
+ &(vtc_G14x7y3[0]), // expected_vtbl_contents
+ &(vtt_G14x7y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G14x7y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x7y3),26, //virtual function table var
+ 8, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x7y3),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 G14x7y4 : E14x7 , F0 {
+ int ff;
+ ~G14x7y4(); // tgen
+ G14x7y4(); // tgen
+};
+//SIG(1 G14x7y4) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G14x7y4 ::~G14x7y4(){ note_dtor("G14x7y4", this);} // tgen
+G14x7y4 ::G14x7y4(){ note_ctor("G14x7y4", this);} // tgen
+
+static void Test_G14x7y4()
+{
+ extern Class_Descriptor cd_G14x7y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G14x7y4, buf);
+ G14x7y4 *dp, &lv = *(dp=new (buf) G14x7y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G14x7y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x7y4)");
+ check_base_class_offset(lv, (A0*)(C14*), ABISELECT(36,24), "G14x7y4");
+ check_base_class_offset(lv, (B1*)(C14*), ABISELECT(40,28), "G14x7y4");
+ check_base_class_offset(lv, (C14*)(E14x7*), ABISELECT(24,16), "G14x7y4");
+ check_base_class_offset(lv, (D0*)(E14x7*), ABISELECT(52,36), "G14x7y4");
+ check_base_class_offset(lv, (E14x7*), 0, "G14x7y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G14x7y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G14x7y4.ff");
+ test_class_info(&lv, &cd_G14x7y4);
+ dp->~G14x7y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x7y4(Test_G14x7y4, "G14x7y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G14x7y4C1Ev();
+extern void _ZN7G14x7y4D1Ev();
+Name_Map name_map_G14x7y4[] = {
+ NSPAIR(_ZN7G14x7y4C1Ev),
+ NSPAIR(_ZN7G14x7y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E14x7;
+extern VTBL_ENTRY _ZTI5E14x7[];
+extern VTBL_ENTRY _ZTV5E14x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G14x7y4[] = {
+ // 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)
+ 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
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E14x7, 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 _ZTI7G14x7y4[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G14x7y4[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x7y4[0]),
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G14x7y4[0]),
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G14x7y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x7y4[];
+static VTBL_ENTRY _tg__ZTV5E14x7__7G14x7y4[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C14__5E14x7__7G14x7y4[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E14x7[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x7__7G14x7y4[] = {
+ 0,
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E14x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C14__7G14x7y4[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C14__7G14x7y4[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x7y4[] = {
+ {&(_ZTV7G14x7y4[6]), 6,14},
+ {&(_tg__ZTV5E14x7__7G14x7y4[6]), 6,6},
+ {&(_tg__ZTV3C14__5E14x7__7G14x7y4[4]), 4,4},
+ {&(_tg__ZTV2B1__5E14x7__7G14x7y4[3]), 3,4},
+ {&(_ZTV7G14x7y4[10]), 10,14},
+ {&(_ZTV7G14x7y4[13]), 13,14},
+ {&(_tg__ZTV3C14__7G14x7y4[4]), 4,4},
+ {&(_tg__ZTV2B1__3C14__7G14x7y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G14x7y4[];
+extern VTBL_ENTRY _ZTV7G14x7y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x7y4[];
+Class_Descriptor cd_G14x7y4 = { "G14x7y4", // class name
+ bases_G14x7y4, 6,
+ &(vtc_G14x7y4[0]), // expected_vtbl_contents
+ &(vtt_G14x7y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G14x7y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x7y4),14, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x7y4),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 G14x7y5 : virtual E14x7 , F0 {
+ int ff;
+ ~G14x7y5(); // tgen
+ G14x7y5(); // tgen
+};
+//SIG(1 G14x7y5) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G14x7y5 ::~G14x7y5(){ note_dtor("G14x7y5", this);} // tgen
+G14x7y5 ::G14x7y5(){ note_ctor("G14x7y5", this);} // tgen
+
+static void Test_G14x7y5()
+{
+ extern Class_Descriptor cd_G14x7y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G14x7y5, buf);
+ G14x7y5 *dp, &lv = *(dp=new (buf) G14x7y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G14x7y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x7y5)");
+ check_base_class_offset(lv, (A0*)(C14*), ABISELECT(44,28), "G14x7y5");
+ check_base_class_offset(lv, (B1*)(C14*), ABISELECT(48,32), "G14x7y5");
+ check_base_class_offset(lv, (C14*)(E14x7*), ABISELECT(32,20), "G14x7y5");
+ check_base_class_offset(lv, (D0*)(E14x7*), ABISELECT(60,40), "G14x7y5");
+ check_base_class_offset(lv, (E14x7*), ABISELECT(16,12), "G14x7y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G14x7y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G14x7y5.ff");
+ test_class_info(&lv, &cd_G14x7y5);
+ dp->~G14x7y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x7y5(Test_G14x7y5, "G14x7y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G14x7y5C1Ev();
+extern void _ZN7G14x7y5D1Ev();
+Name_Map name_map_G14x7y5[] = {
+ NSPAIR(_ZN7G14x7y5C1Ev),
+ NSPAIR(_ZN7G14x7y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E14x7;
+extern VTBL_ENTRY _ZTI5E14x7[];
+extern VTBL_ENTRY _ZTV5E14x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G14x7y5[] = {
+ // 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
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E14x7, 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 _ZTI7G14x7y5[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G14x7y5[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x7y5[0]),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G14x7y5[0]),
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G14x7y5[0]),
+ 0,
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G14x7y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x7y5[];
+static VTBL_ENTRY _tg__ZTV5E14x7__7G14x7y5[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C14__5E14x7__7G14x7y5[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E14x7[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x7__7G14x7y5[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E14x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C14__7G14x7y5[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C14__7G14x7y5[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x7y5[] = {
+ {&(_ZTV7G14x7y5[7]), 7,21},
+ {&(_ZTV7G14x7y5[13]), 13,21},
+ {&(_ZTV7G14x7y5[17]), 17,21},
+ {&(_ZTV7G14x7y5[20]), 20,21},
+ {&(_tg__ZTV5E14x7__7G14x7y5[6]), 6,6},
+ {&(_tg__ZTV3C14__5E14x7__7G14x7y5[4]), 4,4},
+ {&(_tg__ZTV2B1__5E14x7__7G14x7y5[3]), 3,4},
+ {&(_tg__ZTV3C14__7G14x7y5[4]), 4,4},
+ {&(_tg__ZTV2B1__3C14__7G14x7y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G14x7y5[];
+extern VTBL_ENTRY _ZTV7G14x7y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x7y5[];
+Class_Descriptor cd_G14x7y5 = { "G14x7y5", // class name
+ bases_G14x7y5, 6,
+ &(vtc_G14x7y5[0]), // expected_vtbl_contents
+ &(vtt_G14x7y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G14x7y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x7y5),21, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x7y5),9, //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 G14x7y6 : E14x7 , virtual F0 {
+ int ff;
+ ~G14x7y6(); // tgen
+ G14x7y6(); // tgen
+};
+//SIG(1 G14x7y6) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G14x7y6 ::~G14x7y6(){ note_dtor("G14x7y6", this);} // tgen
+G14x7y6 ::G14x7y6(){ note_ctor("G14x7y6", this);} // tgen
+
+static void Test_G14x7y6()
+{
+ extern Class_Descriptor cd_G14x7y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G14x7y6, buf);
+ G14x7y6 *dp, &lv = *(dp=new (buf) G14x7y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G14x7y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x7y6)");
+ check_base_class_offset(lv, (A0*)(C14*), ABISELECT(28,20), "G14x7y6");
+ check_base_class_offset(lv, (B1*)(C14*), ABISELECT(32,24), "G14x7y6");
+ check_base_class_offset(lv, (C14*)(E14x7*), ABISELECT(16,12), "G14x7y6");
+ check_base_class_offset(lv, (D0*)(E14x7*), ABISELECT(44,32), "G14x7y6");
+ check_base_class_offset(lv, (E14x7*), 0, "G14x7y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(48,36), "G14x7y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G14x7y6.ff");
+ test_class_info(&lv, &cd_G14x7y6);
+ dp->~G14x7y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x7y6(Test_G14x7y6, "G14x7y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G14x7y6C1Ev();
+extern void _ZN7G14x7y6D1Ev();
+Name_Map name_map_G14x7y6[] = {
+ NSPAIR(_ZN7G14x7y6C1Ev),
+ NSPAIR(_ZN7G14x7y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E14x7;
+extern VTBL_ENTRY _ZTI5E14x7[];
+extern VTBL_ENTRY _ZTV5E14x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G14x7y6[] = {
+ // 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)
+ 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(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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E14x7, 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(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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G14x7y6[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G14x7y6[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x7y6[0]),
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G14x7y6[0]),
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G14x7y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x7y6[];
+static VTBL_ENTRY _tg__ZTV5E14x7__7G14x7y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C14__5E14x7__7G14x7y6[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E14x7[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x7__7G14x7y6[] = {
+ 0,
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E14x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C14__7G14x7y6[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C14__7G14x7y6[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x7y6[] = {
+ {&(_ZTV7G14x7y6[7]), 7,15},
+ {&(_tg__ZTV5E14x7__7G14x7y6[6]), 6,6},
+ {&(_tg__ZTV3C14__5E14x7__7G14x7y6[4]), 4,4},
+ {&(_tg__ZTV2B1__5E14x7__7G14x7y6[3]), 3,4},
+ {&(_ZTV7G14x7y6[11]), 11,15},
+ {&(_ZTV7G14x7y6[14]), 14,15},
+ {&(_tg__ZTV3C14__7G14x7y6[4]), 4,4},
+ {&(_tg__ZTV2B1__3C14__7G14x7y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G14x7y6[];
+extern VTBL_ENTRY _ZTV7G14x7y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x7y6[];
+Class_Descriptor cd_G14x7y6 = { "G14x7y6", // class name
+ bases_G14x7y6, 6,
+ &(vtc_G14x7y6[0]), // expected_vtbl_contents
+ &(vtt_G14x7y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G14x7y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x7y6),15, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x7y6),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 G14x7y7 : virtual E14x7 , virtual F0 {
+ int ff;
+ ~G14x7y7(); // tgen
+ G14x7y7(); // tgen
+};
+//SIG(1 G14x7y7) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G14x7y7 ::~G14x7y7(){ note_dtor("G14x7y7", this);} // tgen
+G14x7y7 ::G14x7y7(){ note_ctor("G14x7y7", this);} // tgen
+
+static void Test_G14x7y7()
+{
+ extern Class_Descriptor cd_G14x7y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G14x7y7, buf);
+ G14x7y7 *dp, &lv = *(dp=new (buf) G14x7y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G14x7y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G14x7y7)");
+ check_base_class_offset(lv, (A0*)(C14*), ABISELECT(44,24), "G14x7y7");
+ check_base_class_offset(lv, (B1*)(C14*), ABISELECT(48,28), "G14x7y7");
+ check_base_class_offset(lv, (C14*)(E14x7*), ABISELECT(32,16), "G14x7y7");
+ check_base_class_offset(lv, (D0*)(E14x7*), ABISELECT(60,36), "G14x7y7");
+ check_base_class_offset(lv, (E14x7*), ABISELECT(16,8), "G14x7y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(64,40), "G14x7y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G14x7y7.ff");
+ test_class_info(&lv, &cd_G14x7y7);
+ dp->~G14x7y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG14x7y7(Test_G14x7y7, "G14x7y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G14x7y7C1Ev();
+extern void _ZN7G14x7y7D1Ev();
+Name_Map name_map_G14x7y7[] = {
+ NSPAIR(_ZN7G14x7y7C1Ev),
+ NSPAIR(_ZN7G14x7y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E14x7;
+extern VTBL_ENTRY _ZTI5E14x7[];
+extern VTBL_ENTRY _ZTV5E14x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E14x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G14x7y7[] = {
+ // 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
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E14x7, 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(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 _ZTI7G14x7y7[];
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G14x7y7[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(44,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G14x7y7[0]),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G14x7y7[0]),
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G14x7y7[0]),
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G14x7y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G14x7y7[];
+static VTBL_ENTRY _tg__ZTV5E14x7__7G14x7y7[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E14x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C14__5E14x7__7G14x7y7[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E14x7[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E14x7__7G14x7y7[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E14x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C14__7G14x7y7[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C14__7G14x7y7[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C14[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G14x7y7[] = {
+ {&(_ZTV7G14x7y7[8]), 8,22},
+ {&(_ZTV7G14x7y7[14]), 14,22},
+ {&(_ZTV7G14x7y7[18]), 18,22},
+ {&(_ZTV7G14x7y7[21]), 21,22},
+ {&(_tg__ZTV5E14x7__7G14x7y7[6]), 6,6},
+ {&(_tg__ZTV3C14__5E14x7__7G14x7y7[4]), 4,4},
+ {&(_tg__ZTV2B1__5E14x7__7G14x7y7[3]), 3,4},
+ {&(_tg__ZTV3C14__7G14x7y7[4]), 4,4},
+ {&(_tg__ZTV2B1__3C14__7G14x7y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G14x7y7[];
+extern VTBL_ENTRY _ZTV7G14x7y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G14x7y7[];
+Class_Descriptor cd_G14x7y7 = { "G14x7y7", // class name
+ bases_G14x7y7, 6,
+ &(vtc_G14x7y7[0]), // expected_vtbl_contents
+ &(vtt_G14x7y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G14x7y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G14x7y7),22, //virtual function table var
+ 8, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G14x7y7),9, //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 E15x7 : virtual C15 , virtual D0 {
+ int fd;
+ ~E15x7(); // tgen
+ E15x7(); // tgen
+};
+//SIG(-1 E15x7) C1{ VBC2{ VBC3{ v1 Fi} VBC4{ v2 Fi} Fi} VBC5{ Fi} Fi}
+
+
+E15x7 ::~E15x7(){ note_dtor("E15x7", this);} // tgen
+E15x7 ::E15x7(){ note_ctor("E15x7", this);} // tgen
+
+static void Test_E15x7()
+{
+ extern Class_Descriptor cd_E15x7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,10)];
+ init_test(&cd_E15x7, buf);
+ E15x7 *dp, &lv = *(dp=new (buf) E15x7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,36), "sizeof(E15x7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E15x7)");
+ check_base_class_offset(lv, (A1*)(C15*), ABISELECT(32,16), "E15x7");
+ check_base_class_offset(lv, (B1*)(C15*), ABISELECT(48,24), "E15x7");
+ check_base_class_offset(lv, (C15*), ABISELECT(16,8), "E15x7");
+ check_base_class_offset(lv, (D0*), ABISELECT(60,32), "E15x7");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E15x7.fd");
+ test_class_info(&lv, &cd_E15x7);
+ dp->~E15x7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE15x7(Test_E15x7, "E15x7", ABISELECT(64,36));
+
+#else // __cplusplus
+
+extern void _ZN5E15x7C1Ev();
+extern void _ZN5E15x7D1Ev();
+Name_Map name_map_E15x7[] = {
+ NSPAIR(_ZN5E15x7C1Ev),
+ NSPAIR(_ZN5E15x7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E15x7[] = {
+ // 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D0, 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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E15x7[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_E15x7[] = {
+ ABISELECT(60,32),
+ ABISELECT(48,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x7[0]),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E15x7[0]),
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI5E15x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-24),
+ (VTBL_ENTRY)&(_ZTI5E15x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV5E15x7[];
+static VTBL_ENTRY _tg__ZTV3C15__5E15x7[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C15__5E15x7[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C15__5E15x7[] = {
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_E15x7[] = {
+ {&(_ZTV5E15x7[6]), 6,18},
+ {&(_ZTV5E15x7[10]), 10,18},
+ {&(_ZTV5E15x7[13]), 13,18},
+ {&(_ZTV5E15x7[17]), 17,18},
+ {&(_tg__ZTV3C15__5E15x7[4]), 4,4},
+ {&(_tg__ZTV2A1__3C15__5E15x7[3]), 3,4},
+ {&(_tg__ZTV2B1__3C15__5E15x7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E15x7[];
+extern VTBL_ENTRY _ZTV5E15x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x7[];
+Class_Descriptor cd_E15x7 = { "E15x7", // class name
+ bases_E15x7, 4,
+ &(vtc_E15x7[0]), // expected_vtbl_contents
+ &(vtt_E15x7[0]), // expected_vtt_contents
+ ABISELECT(64,36), // object size
+ NSPAIRA(_ZTI5E15x7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E15x7),18, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E15x7),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 G15x7y0 : E15x7 , F1 {
+ int ff;
+ ~G15x7y0(); // tgen
+ G15x7y0(); // tgen
+};
+//SIG(1 G15x7y0) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G15x7y0 ::~G15x7y0(){ note_dtor("G15x7y0", this);} // tgen
+G15x7y0 ::G15x7y0(){ note_ctor("G15x7y0", this);} // tgen
+
+static void Test_G15x7y0()
+{
+ extern Class_Descriptor cd_G15x7y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G15x7y0, buf);
+ G15x7y0 *dp, &lv = *(dp=new (buf) G15x7y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G15x7y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x7y0)");
+ check_base_class_offset(lv, (A1*)(C15*), ABISELECT(48,28), "G15x7y0");
+ check_base_class_offset(lv, (B1*)(C15*), ABISELECT(64,36), "G15x7y0");
+ check_base_class_offset(lv, (C15*)(E15x7*), ABISELECT(32,20), "G15x7y0");
+ check_base_class_offset(lv, (D0*)(E15x7*), ABISELECT(76,44), "G15x7y0");
+ check_base_class_offset(lv, (E15x7*), 0, "G15x7y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G15x7y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G15x7y0.ff");
+ test_class_info(&lv, &cd_G15x7y0);
+ dp->~G15x7y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x7y0(Test_G15x7y0, "G15x7y0", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G15x7y0C1Ev();
+extern void _ZN7G15x7y0D1Ev();
+Name_Map name_map_G15x7y0[] = {
+ NSPAIR(_ZN7G15x7y0C1Ev),
+ NSPAIR(_ZN7G15x7y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E15x7;
+extern VTBL_ENTRY _ZTI5E15x7[];
+extern VTBL_ENTRY _ZTV5E15x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G15x7y0[] = {
+ // 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_B1, ABISELECT(64,36), //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,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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E15x7, 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 _ZTI7G15x7y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G15x7y0[] = {
+ ABISELECT(76,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x7y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G15x7y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G15x7y0[0]),
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G15x7y0[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G15x7y0[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x7y0[];
+static VTBL_ENTRY _tg__ZTV5E15x7__7G15x7y0[] = {
+ ABISELECT(76,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C15__5E15x7__7G15x7y0[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E15x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x7__7G15x7y0[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E15x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x7__7G15x7y0[] = {
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI5E15x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C15__7G15x7y0[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C15__7G15x7y0[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C15__7G15x7y0[] = {
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x7y0[] = {
+ {&(_ZTV7G15x7y0[6]), 6,21},
+ {&(_tg__ZTV5E15x7__7G15x7y0[6]), 6,6},
+ {&(_tg__ZTV3C15__5E15x7__7G15x7y0[4]), 4,4},
+ {&(_tg__ZTV2A1__5E15x7__7G15x7y0[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x7__7G15x7y0[3]), 3,4},
+ {&(_ZTV7G15x7y0[13]), 13,21},
+ {&(_ZTV7G15x7y0[16]), 16,21},
+ {&(_ZTV7G15x7y0[20]), 20,21},
+ {&(_tg__ZTV3C15__7G15x7y0[4]), 4,4},
+ {&(_tg__ZTV2A1__3C15__7G15x7y0[3]), 3,4},
+ {&(_tg__ZTV2B1__3C15__7G15x7y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G15x7y0[];
+extern VTBL_ENTRY _ZTV7G15x7y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x7y0[];
+Class_Descriptor cd_G15x7y0 = { "G15x7y0", // class name
+ bases_G15x7y0, 6,
+ &(vtc_G15x7y0[0]), // expected_vtbl_contents
+ &(vtt_G15x7y0[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G15x7y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x7y0),21, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x7y0),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 G15x7y1 : virtual E15x7 , F1 {
+ int ff;
+ ~G15x7y1(); // tgen
+ G15x7y1(); // tgen
+};
+//SIG(1 G15x7y1) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ Fi} Fi} BC7{ v3 Fi} Fi}
+
+
+G15x7y1 ::~G15x7y1(){ note_dtor("G15x7y1", this);} // tgen
+G15x7y1 ::G15x7y1(){ note_ctor("G15x7y1", this);} // tgen
+
+static void Test_G15x7y1()
+{
+ extern Class_Descriptor cd_G15x7y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G15x7y1, buf);
+ G15x7y1 *dp, &lv = *(dp=new (buf) G15x7y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G15x7y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x7y1)");
+ check_base_class_offset(lv, (A1*)(C15*), ABISELECT(48,28), "G15x7y1");
+ check_base_class_offset(lv, (B1*)(C15*), ABISELECT(64,36), "G15x7y1");
+ check_base_class_offset(lv, (C15*)(E15x7*), ABISELECT(32,20), "G15x7y1");
+ check_base_class_offset(lv, (D0*)(E15x7*), ABISELECT(76,44), "G15x7y1");
+ check_base_class_offset(lv, (E15x7*), ABISELECT(16,12), "G15x7y1");
+ check_base_class_offset(lv, (F1*), 0, "G15x7y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G15x7y1.ff");
+ test_class_info(&lv, &cd_G15x7y1);
+ dp->~G15x7y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x7y1(Test_G15x7y1, "G15x7y1", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G15x7y1C1Ev();
+extern void _ZN7G15x7y1D1Ev();
+Name_Map name_map_G15x7y1[] = {
+ NSPAIR(_ZN7G15x7y1C1Ev),
+ NSPAIR(_ZN7G15x7y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E15x7;
+extern VTBL_ENTRY _ZTI5E15x7[];
+extern VTBL_ENTRY _ZTV5E15x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G15x7y1[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E15x7, 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 _ZTI7G15x7y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G15x7y1[] = {
+ ABISELECT(76,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x7y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(60,32),
+ ABISELECT(48,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G15x7y1[0]),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G15x7y1[0]),
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G15x7y1[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G15x7y1[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x7y1[];
+static VTBL_ENTRY _tg__ZTV5E15x7__7G15x7y1[] = {
+ ABISELECT(60,32),
+ ABISELECT(48,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C15__5E15x7__7G15x7y1[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E15x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x7__7G15x7y1[] = {
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI5E15x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x7__7G15x7y1[] = {
+ 0,
+ ABISELECT(-48,-24),
+ (VTBL_ENTRY)&(_ZTI5E15x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C15__7G15x7y1[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C15__7G15x7y1[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C15__7G15x7y1[] = {
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x7y1[] = {
+ {&(_ZTV7G15x7y1[7]), 7,26},
+ {&(_ZTV7G15x7y1[14]), 14,26},
+ {&(_ZTV7G15x7y1[18]), 18,26},
+ {&(_ZTV7G15x7y1[21]), 21,26},
+ {&(_ZTV7G15x7y1[25]), 25,26},
+ {&(_tg__ZTV5E15x7__7G15x7y1[6]), 6,6},
+ {&(_tg__ZTV3C15__5E15x7__7G15x7y1[4]), 4,4},
+ {&(_tg__ZTV2A1__5E15x7__7G15x7y1[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x7__7G15x7y1[3]), 3,4},
+ {&(_tg__ZTV3C15__7G15x7y1[4]), 4,4},
+ {&(_tg__ZTV2A1__3C15__7G15x7y1[3]), 3,4},
+ {&(_tg__ZTV2B1__3C15__7G15x7y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G15x7y1[];
+extern VTBL_ENTRY _ZTV7G15x7y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x7y1[];
+Class_Descriptor cd_G15x7y1 = { "G15x7y1", // class name
+ bases_G15x7y1, 6,
+ &(vtc_G15x7y1[0]), // expected_vtbl_contents
+ &(vtt_G15x7y1[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G15x7y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x7y1),26, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x7y1),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 G15x7y2 : E15x7 , virtual F1 {
+ int ff;
+ ~G15x7y2(); // tgen
+ G15x7y2(); // tgen
+};
+//SIG(1 G15x7y2) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G15x7y2 ::~G15x7y2(){ note_dtor("G15x7y2", this);} // tgen
+G15x7y2 ::G15x7y2(){ note_ctor("G15x7y2", this);} // tgen
+
+static void Test_G15x7y2()
+{
+ extern Class_Descriptor cd_G15x7y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G15x7y2, buf);
+ G15x7y2 *dp, &lv = *(dp=new (buf) G15x7y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G15x7y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x7y2)");
+ check_base_class_offset(lv, (A1*)(C15*), ABISELECT(32,20), "G15x7y2");
+ check_base_class_offset(lv, (B1*)(C15*), ABISELECT(48,28), "G15x7y2");
+ check_base_class_offset(lv, (C15*)(E15x7*), ABISELECT(16,12), "G15x7y2");
+ check_base_class_offset(lv, (D0*)(E15x7*), ABISELECT(60,36), "G15x7y2");
+ check_base_class_offset(lv, (E15x7*), 0, "G15x7y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G15x7y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G15x7y2.ff");
+ test_class_info(&lv, &cd_G15x7y2);
+ dp->~G15x7y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x7y2(Test_G15x7y2, "G15x7y2", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G15x7y2C1Ev();
+extern void _ZN7G15x7y2D1Ev();
+Name_Map name_map_G15x7y2[] = {
+ NSPAIR(_ZN7G15x7y2C1Ev),
+ NSPAIR(_ZN7G15x7y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E15x7;
+extern VTBL_ENTRY _ZTI5E15x7[];
+extern VTBL_ENTRY _ZTV5E15x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G15x7y2[] = {
+ // 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_B1, 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
+ 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E15x7, 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 _ZTI7G15x7y2[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G15x7y2[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x7y2[0]),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G15x7y2[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G15x7y2[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G15x7y2[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G15x7y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x7y2[];
+static VTBL_ENTRY _tg__ZTV5E15x7__7G15x7y2[] = {
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C15__5E15x7__7G15x7y2[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E15x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x7__7G15x7y2[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E15x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x7__7G15x7y2[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E15x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C15__7G15x7y2[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C15__7G15x7y2[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C15__7G15x7y2[] = {
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x7y2[] = {
+ {&(_ZTV7G15x7y2[7]), 7,23},
+ {&(_tg__ZTV5E15x7__7G15x7y2[6]), 6,6},
+ {&(_tg__ZTV3C15__5E15x7__7G15x7y2[4]), 4,4},
+ {&(_tg__ZTV2A1__5E15x7__7G15x7y2[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x7__7G15x7y2[3]), 3,4},
+ {&(_ZTV7G15x7y2[11]), 11,23},
+ {&(_ZTV7G15x7y2[14]), 14,23},
+ {&(_ZTV7G15x7y2[18]), 18,23},
+ {&(_ZTV7G15x7y2[22]), 22,23},
+ {&(_tg__ZTV3C15__7G15x7y2[4]), 4,4},
+ {&(_tg__ZTV2A1__3C15__7G15x7y2[3]), 3,4},
+ {&(_tg__ZTV2B1__3C15__7G15x7y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G15x7y2[];
+extern VTBL_ENTRY _ZTV7G15x7y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x7y2[];
+Class_Descriptor cd_G15x7y2 = { "G15x7y2", // class name
+ bases_G15x7y2, 6,
+ &(vtc_G15x7y2[0]), // expected_vtbl_contents
+ &(vtt_G15x7y2[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G15x7y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x7y2),23, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x7y2),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 G15x7y3 : virtual E15x7 , virtual F1 {
+ int ff;
+ ~G15x7y3(); // tgen
+ G15x7y3(); // tgen
+};
+//SIG(1 G15x7y3) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ Fi} Fi} VBC7{ v3 Fi} Fi}
+
+
+G15x7y3 ::~G15x7y3(){ note_dtor("G15x7y3", this);} // tgen
+G15x7y3 ::G15x7y3(){ note_ctor("G15x7y3", this);} // tgen
+
+static void Test_G15x7y3()
+{
+ extern Class_Descriptor cd_G15x7y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(13,14)];
+ init_test(&cd_G15x7y3, buf);
+ G15x7y3 *dp, &lv = *(dp=new (buf) G15x7y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(96,52), "sizeof(G15x7y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x7y3)");
+ check_base_class_offset(lv, (A1*)(C15*), ABISELECT(48,24), "G15x7y3");
+ check_base_class_offset(lv, (B1*)(C15*), ABISELECT(64,32), "G15x7y3");
+ check_base_class_offset(lv, (C15*)(E15x7*), ABISELECT(32,16), "G15x7y3");
+ check_base_class_offset(lv, (D0*)(E15x7*), ABISELECT(76,40), "G15x7y3");
+ check_base_class_offset(lv, (E15x7*), ABISELECT(16,8), "G15x7y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(80,44), "G15x7y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G15x7y3.ff");
+ test_class_info(&lv, &cd_G15x7y3);
+ dp->~G15x7y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x7y3(Test_G15x7y3, "G15x7y3", ABISELECT(96,52));
+
+#else // __cplusplus
+
+extern void _ZN7G15x7y3C1Ev();
+extern void _ZN7G15x7y3D1Ev();
+Name_Map name_map_G15x7y3[] = {
+ NSPAIR(_ZN7G15x7y3C1Ev),
+ NSPAIR(_ZN7G15x7y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E15x7;
+extern VTBL_ENTRY _ZTI5E15x7[];
+extern VTBL_ENTRY _ZTV5E15x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G15x7y3[] = {
+ // 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
+ 11, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, ABISELECT(76,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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E15x7, 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 _ZTI7G15x7y3[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G15x7y3[] = {
+ ABISELECT(80,44),
+ ABISELECT(76,40),
+ ABISELECT(64,32),
+ ABISELECT(48,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x7y3[0]),
+ ABISELECT(60,32),
+ ABISELECT(48,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G15x7y3[0]),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G15x7y3[0]),
+ 0,
+ ABISELECT(-48,-24),
+ (VTBL_ENTRY)&(_ZTI7G15x7y3[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-64,-32),
+ (VTBL_ENTRY)&(_ZTI7G15x7y3[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+ 0,
+ ABISELECT(-80,-44),
+ (VTBL_ENTRY)&(_ZTI7G15x7y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x7y3[];
+static VTBL_ENTRY _tg__ZTV5E15x7__7G15x7y3[] = {
+ ABISELECT(60,32),
+ ABISELECT(48,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C15__5E15x7__7G15x7y3[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E15x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x7__7G15x7y3[] = {
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI5E15x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x7__7G15x7y3[] = {
+ 0,
+ ABISELECT(-48,-24),
+ (VTBL_ENTRY)&(_ZTI5E15x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C15__7G15x7y3[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C15__7G15x7y3[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C15__7G15x7y3[] = {
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x7y3[] = {
+ {&(_ZTV7G15x7y3[8]), 8,30},
+ {&(_ZTV7G15x7y3[14]), 14,30},
+ {&(_ZTV7G15x7y3[18]), 18,30},
+ {&(_ZTV7G15x7y3[21]), 21,30},
+ {&(_ZTV7G15x7y3[25]), 25,30},
+ {&(_ZTV7G15x7y3[29]), 29,30},
+ {&(_tg__ZTV5E15x7__7G15x7y3[6]), 6,6},
+ {&(_tg__ZTV3C15__5E15x7__7G15x7y3[4]), 4,4},
+ {&(_tg__ZTV2A1__5E15x7__7G15x7y3[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x7__7G15x7y3[3]), 3,4},
+ {&(_tg__ZTV3C15__7G15x7y3[4]), 4,4},
+ {&(_tg__ZTV2A1__3C15__7G15x7y3[3]), 3,4},
+ {&(_tg__ZTV2B1__3C15__7G15x7y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G15x7y3[];
+extern VTBL_ENTRY _ZTV7G15x7y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x7y3[];
+Class_Descriptor cd_G15x7y3 = { "G15x7y3", // class name
+ bases_G15x7y3, 6,
+ &(vtc_G15x7y3[0]), // expected_vtbl_contents
+ &(vtt_G15x7y3[0]), // expected_vtt_contents
+ ABISELECT(96,52), // object size
+ NSPAIRA(_ZTI7G15x7y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x7y3),30, //virtual function table var
+ 8, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x7y3),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 G15x7y4 : E15x7 , F0 {
+ int ff;
+ ~G15x7y4(); // tgen
+ G15x7y4(); // tgen
+};
+//SIG(1 G15x7y4) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G15x7y4 ::~G15x7y4(){ note_dtor("G15x7y4", this);} // tgen
+G15x7y4 ::G15x7y4(){ note_ctor("G15x7y4", this);} // tgen
+
+static void Test_G15x7y4()
+{
+ extern Class_Descriptor cd_G15x7y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G15x7y4, buf);
+ G15x7y4 *dp, &lv = *(dp=new (buf) G15x7y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G15x7y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x7y4)");
+ check_base_class_offset(lv, (A1*)(C15*), ABISELECT(40,24), "G15x7y4");
+ check_base_class_offset(lv, (B1*)(C15*), ABISELECT(56,32), "G15x7y4");
+ check_base_class_offset(lv, (C15*)(E15x7*), ABISELECT(24,16), "G15x7y4");
+ check_base_class_offset(lv, (D0*)(E15x7*), ABISELECT(68,40), "G15x7y4");
+ check_base_class_offset(lv, (E15x7*), 0, "G15x7y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G15x7y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G15x7y4.ff");
+ test_class_info(&lv, &cd_G15x7y4);
+ dp->~G15x7y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x7y4(Test_G15x7y4, "G15x7y4", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G15x7y4C1Ev();
+extern void _ZN7G15x7y4D1Ev();
+Name_Map name_map_G15x7y4[] = {
+ NSPAIR(_ZN7G15x7y4C1Ev),
+ NSPAIR(_ZN7G15x7y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E15x7;
+extern VTBL_ENTRY _ZTI5E15x7[];
+extern VTBL_ENTRY _ZTV5E15x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G15x7y4[] = {
+ // 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_B1, ABISELECT(56,32), //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,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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E15x7, 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 _ZTI7G15x7y4[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G15x7y4[] = {
+ ABISELECT(68,40),
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x7y4[0]),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G15x7y4[0]),
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G15x7y4[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G15x7y4[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x7y4[];
+static VTBL_ENTRY _tg__ZTV5E15x7__7G15x7y4[] = {
+ ABISELECT(68,40),
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C15__5E15x7__7G15x7y4[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E15x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x7__7G15x7y4[] = {
+ 0,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E15x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x7__7G15x7y4[] = {
+ 0,
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI5E15x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C15__7G15x7y4[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C15__7G15x7y4[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C15__7G15x7y4[] = {
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x7y4[] = {
+ {&(_ZTV7G15x7y4[6]), 6,18},
+ {&(_tg__ZTV5E15x7__7G15x7y4[6]), 6,6},
+ {&(_tg__ZTV3C15__5E15x7__7G15x7y4[4]), 4,4},
+ {&(_tg__ZTV2A1__5E15x7__7G15x7y4[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x7__7G15x7y4[3]), 3,4},
+ {&(_ZTV7G15x7y4[10]), 10,18},
+ {&(_ZTV7G15x7y4[13]), 13,18},
+ {&(_ZTV7G15x7y4[17]), 17,18},
+ {&(_tg__ZTV3C15__7G15x7y4[4]), 4,4},
+ {&(_tg__ZTV2A1__3C15__7G15x7y4[3]), 3,4},
+ {&(_tg__ZTV2B1__3C15__7G15x7y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G15x7y4[];
+extern VTBL_ENTRY _ZTV7G15x7y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x7y4[];
+Class_Descriptor cd_G15x7y4 = { "G15x7y4", // class name
+ bases_G15x7y4, 6,
+ &(vtc_G15x7y4[0]), // expected_vtbl_contents
+ &(vtt_G15x7y4[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G15x7y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x7y4),18, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x7y4),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 G15x7y5 : virtual E15x7 , F0 {
+ int ff;
+ ~G15x7y5(); // tgen
+ G15x7y5(); // tgen
+};
+//SIG(1 G15x7y5) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G15x7y5 ::~G15x7y5(){ note_dtor("G15x7y5", this);} // tgen
+G15x7y5 ::G15x7y5(){ note_ctor("G15x7y5", this);} // tgen
+
+static void Test_G15x7y5()
+{
+ extern Class_Descriptor cd_G15x7y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G15x7y5, buf);
+ G15x7y5 *dp, &lv = *(dp=new (buf) G15x7y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G15x7y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x7y5)");
+ check_base_class_offset(lv, (A1*)(C15*), ABISELECT(48,28), "G15x7y5");
+ check_base_class_offset(lv, (B1*)(C15*), ABISELECT(64,36), "G15x7y5");
+ check_base_class_offset(lv, (C15*)(E15x7*), ABISELECT(32,20), "G15x7y5");
+ check_base_class_offset(lv, (D0*)(E15x7*), ABISELECT(76,44), "G15x7y5");
+ check_base_class_offset(lv, (E15x7*), ABISELECT(16,12), "G15x7y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G15x7y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G15x7y5.ff");
+ test_class_info(&lv, &cd_G15x7y5);
+ dp->~G15x7y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x7y5(Test_G15x7y5, "G15x7y5", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G15x7y5C1Ev();
+extern void _ZN7G15x7y5D1Ev();
+Name_Map name_map_G15x7y5[] = {
+ NSPAIR(_ZN7G15x7y5C1Ev),
+ NSPAIR(_ZN7G15x7y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E15x7;
+extern VTBL_ENTRY _ZTI5E15x7[];
+extern VTBL_ENTRY _ZTV5E15x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G15x7y5[] = {
+ // 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
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E15x7, 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 _ZTI7G15x7y5[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G15x7y5[] = {
+ ABISELECT(76,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x7y5[0]),
+ ABISELECT(60,32),
+ ABISELECT(48,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G15x7y5[0]),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G15x7y5[0]),
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G15x7y5[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G15x7y5[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x7y5[];
+static VTBL_ENTRY _tg__ZTV5E15x7__7G15x7y5[] = {
+ ABISELECT(60,32),
+ ABISELECT(48,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C15__5E15x7__7G15x7y5[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E15x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x7__7G15x7y5[] = {
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI5E15x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x7__7G15x7y5[] = {
+ 0,
+ ABISELECT(-48,-24),
+ (VTBL_ENTRY)&(_ZTI5E15x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C15__7G15x7y5[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C15__7G15x7y5[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C15__7G15x7y5[] = {
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x7y5[] = {
+ {&(_ZTV7G15x7y5[7]), 7,25},
+ {&(_ZTV7G15x7y5[13]), 13,25},
+ {&(_ZTV7G15x7y5[17]), 17,25},
+ {&(_ZTV7G15x7y5[20]), 20,25},
+ {&(_ZTV7G15x7y5[24]), 24,25},
+ {&(_tg__ZTV5E15x7__7G15x7y5[6]), 6,6},
+ {&(_tg__ZTV3C15__5E15x7__7G15x7y5[4]), 4,4},
+ {&(_tg__ZTV2A1__5E15x7__7G15x7y5[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x7__7G15x7y5[3]), 3,4},
+ {&(_tg__ZTV3C15__7G15x7y5[4]), 4,4},
+ {&(_tg__ZTV2A1__3C15__7G15x7y5[3]), 3,4},
+ {&(_tg__ZTV2B1__3C15__7G15x7y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G15x7y5[];
+extern VTBL_ENTRY _ZTV7G15x7y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x7y5[];
+Class_Descriptor cd_G15x7y5 = { "G15x7y5", // class name
+ bases_G15x7y5, 6,
+ &(vtc_G15x7y5[0]), // expected_vtbl_contents
+ &(vtt_G15x7y5[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G15x7y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x7y5),25, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x7y5),12, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G15x7y6 : E15x7 , virtual F0 {
+ int ff;
+ ~G15x7y6(); // tgen
+ G15x7y6(); // tgen
+};
+//SIG(1 G15x7y6) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G15x7y6 ::~G15x7y6(){ note_dtor("G15x7y6", this);} // tgen
+G15x7y6 ::G15x7y6(){ note_ctor("G15x7y6", this);} // tgen
+
+static void Test_G15x7y6()
+{
+ extern Class_Descriptor cd_G15x7y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G15x7y6, buf);
+ G15x7y6 *dp, &lv = *(dp=new (buf) G15x7y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G15x7y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x7y6)");
+ check_base_class_offset(lv, (A1*)(C15*), ABISELECT(32,20), "G15x7y6");
+ check_base_class_offset(lv, (B1*)(C15*), ABISELECT(48,28), "G15x7y6");
+ check_base_class_offset(lv, (C15*)(E15x7*), ABISELECT(16,12), "G15x7y6");
+ check_base_class_offset(lv, (D0*)(E15x7*), ABISELECT(60,36), "G15x7y6");
+ check_base_class_offset(lv, (E15x7*), 0, "G15x7y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(64,40), "G15x7y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G15x7y6.ff");
+ test_class_info(&lv, &cd_G15x7y6);
+ dp->~G15x7y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x7y6(Test_G15x7y6, "G15x7y6", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G15x7y6C1Ev();
+extern void _ZN7G15x7y6D1Ev();
+Name_Map name_map_G15x7y6[] = {
+ NSPAIR(_ZN7G15x7y6C1Ev),
+ NSPAIR(_ZN7G15x7y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E15x7;
+extern VTBL_ENTRY _ZTI5E15x7[];
+extern VTBL_ENTRY _ZTV5E15x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G15x7y6[] = {
+ // 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_B1, 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
+ 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E15x7, 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(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 _ZTI7G15x7y6[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G15x7y6[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x7y6[0]),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G15x7y6[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G15x7y6[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G15x7y6[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x7y6[];
+static VTBL_ENTRY _tg__ZTV5E15x7__7G15x7y6[] = {
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C15__5E15x7__7G15x7y6[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E15x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x7__7G15x7y6[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E15x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x7__7G15x7y6[] = {
+ 0,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E15x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C15__7G15x7y6[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C15__7G15x7y6[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C15__7G15x7y6[] = {
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x7y6[] = {
+ {&(_ZTV7G15x7y6[7]), 7,19},
+ {&(_tg__ZTV5E15x7__7G15x7y6[6]), 6,6},
+ {&(_tg__ZTV3C15__5E15x7__7G15x7y6[4]), 4,4},
+ {&(_tg__ZTV2A1__5E15x7__7G15x7y6[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x7__7G15x7y6[3]), 3,4},
+ {&(_ZTV7G15x7y6[11]), 11,19},
+ {&(_ZTV7G15x7y6[14]), 14,19},
+ {&(_ZTV7G15x7y6[18]), 18,19},
+ {&(_tg__ZTV3C15__7G15x7y6[4]), 4,4},
+ {&(_tg__ZTV2A1__3C15__7G15x7y6[3]), 3,4},
+ {&(_tg__ZTV2B1__3C15__7G15x7y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G15x7y6[];
+extern VTBL_ENTRY _ZTV7G15x7y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x7y6[];
+Class_Descriptor cd_G15x7y6 = { "G15x7y6", // class name
+ bases_G15x7y6, 6,
+ &(vtc_G15x7y6[0]), // expected_vtbl_contents
+ &(vtt_G15x7y6[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G15x7y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x7y6),19, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x7y6),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 G15x7y7 : virtual E15x7 , virtual F0 {
+ int ff;
+ ~G15x7y7(); // tgen
+ G15x7y7(); // tgen
+};
+//SIG(1 G15x7y7) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v2 Fi} Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G15x7y7 ::~G15x7y7(){ note_dtor("G15x7y7", this);} // tgen
+G15x7y7 ::G15x7y7(){ note_ctor("G15x7y7", this);} // tgen
+
+static void Test_G15x7y7()
+{
+ extern Class_Descriptor cd_G15x7y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(12,13)];
+ init_test(&cd_G15x7y7, buf);
+ G15x7y7 *dp, &lv = *(dp=new (buf) G15x7y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(88,48), "sizeof(G15x7y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G15x7y7)");
+ check_base_class_offset(lv, (A1*)(C15*), ABISELECT(48,24), "G15x7y7");
+ check_base_class_offset(lv, (B1*)(C15*), ABISELECT(64,32), "G15x7y7");
+ check_base_class_offset(lv, (C15*)(E15x7*), ABISELECT(32,16), "G15x7y7");
+ check_base_class_offset(lv, (D0*)(E15x7*), ABISELECT(76,40), "G15x7y7");
+ check_base_class_offset(lv, (E15x7*), ABISELECT(16,8), "G15x7y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(80,44), "G15x7y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G15x7y7.ff");
+ test_class_info(&lv, &cd_G15x7y7);
+ dp->~G15x7y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG15x7y7(Test_G15x7y7, "G15x7y7", ABISELECT(88,48));
+
+#else // __cplusplus
+
+extern void _ZN7G15x7y7C1Ev();
+extern void _ZN7G15x7y7D1Ev();
+Name_Map name_map_G15x7y7[] = {
+ NSPAIR(_ZN7G15x7y7C1Ev),
+ NSPAIR(_ZN7G15x7y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E15x7;
+extern VTBL_ENTRY _ZTI5E15x7[];
+extern VTBL_ENTRY _ZTV5E15x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E15x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G15x7y7[] = {
+ // 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
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, ABISELECT(76,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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E15x7, 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(80,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 _ZTI7G15x7y7[];
+extern void _ZN2A13fooEv();
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY vtc_G15x7y7[] = {
+ ABISELECT(80,44),
+ ABISELECT(76,40),
+ ABISELECT(64,32),
+ ABISELECT(48,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G15x7y7[0]),
+ ABISELECT(60,32),
+ ABISELECT(48,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G15x7y7[0]),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G15x7y7[0]),
+ 0,
+ ABISELECT(-48,-24),
+ (VTBL_ENTRY)&(_ZTI7G15x7y7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+ 0,
+ ABISELECT(-64,-32),
+ (VTBL_ENTRY)&(_ZTI7G15x7y7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G15x7y7[];
+static VTBL_ENTRY _tg__ZTV5E15x7__7G15x7y7[] = {
+ ABISELECT(60,32),
+ ABISELECT(48,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E15x7[0]),
+};
+static VTBL_ENTRY _tg__ZTV3C15__5E15x7__7G15x7y7[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E15x7[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__5E15x7__7G15x7y7[] = {
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI5E15x7[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__5E15x7__7G15x7y7[] = {
+ 0,
+ ABISELECT(-48,-24),
+ (VTBL_ENTRY)&(_ZTI5E15x7[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTBL_ENTRY _tg__ZTV3C15__7G15x7y7[] = {
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+};
+extern void _ZN2A13fooEv();
+static VTBL_ENTRY _tg__ZTV2A1__3C15__7G15x7y7[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2A13fooEv,
+};
+extern void _ZN2B13fooEv();
+static VTBL_ENTRY _tg__ZTV2B1__3C15__7G15x7y7[] = {
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C15[0]),
+ (VTBL_ENTRY)&_ZN2B13fooEv,
+};
+static VTT_ENTRY vtt_G15x7y7[] = {
+ {&(_ZTV7G15x7y7[8]), 8,26},
+ {&(_ZTV7G15x7y7[14]), 14,26},
+ {&(_ZTV7G15x7y7[18]), 18,26},
+ {&(_ZTV7G15x7y7[21]), 21,26},
+ {&(_ZTV7G15x7y7[25]), 25,26},
+ {&(_tg__ZTV5E15x7__7G15x7y7[6]), 6,6},
+ {&(_tg__ZTV3C15__5E15x7__7G15x7y7[4]), 4,4},
+ {&(_tg__ZTV2A1__5E15x7__7G15x7y7[3]), 3,4},
+ {&(_tg__ZTV2B1__5E15x7__7G15x7y7[3]), 3,4},
+ {&(_tg__ZTV3C15__7G15x7y7[4]), 4,4},
+ {&(_tg__ZTV2A1__3C15__7G15x7y7[3]), 3,4},
+ {&(_tg__ZTV2B1__3C15__7G15x7y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G15x7y7[];
+extern VTBL_ENTRY _ZTV7G15x7y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G15x7y7[];
+Class_Descriptor cd_G15x7y7 = { "G15x7y7", // class name
+ bases_G15x7y7, 6,
+ &(vtc_G15x7y7[0]), // expected_vtbl_contents
+ &(vtt_G15x7y7[0]), // expected_vtt_contents
+ ABISELECT(88,48), // object size
+ NSPAIRA(_ZTI7G15x7y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G15x7y7),26, //virtual function table var
+ 8, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G15x7y7),12, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ 0, // alt-thunk-names
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E16x7 : virtual C16 , virtual D0 {
+ int fd;
+ ~E16x7(); // tgen
+ E16x7(); // tgen
+};
+//SIG(-1 E16x7) C1{ VBC2{ BC3{ Fi} BC4{ Fi} v1 Fi} VBC5{ Fi} Fi}
+
+
+E16x7 ::~E16x7(){ note_dtor("E16x7", this);} // tgen
+E16x7 ::E16x7(){ note_ctor("E16x7", this);} // tgen
+
+static void Test_E16x7()
+{
+ extern Class_Descriptor cd_E16x7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E16x7, buf);
+ E16x7 *dp, &lv = *(dp=new (buf) E16x7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E16x7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E16x7)");
+ check_base_class_offset(lv, (A0*)(C16*), ABISELECT(24,12), "E16x7");
+ check_base_class_offset(lv, (B0*)(C16*), ABISELECT(28,16), "E16x7");
+ check_base_class_offset(lv, (C16*), ABISELECT(16,8), "E16x7");
+ check_base_class_offset(lv, (D0*), ABISELECT(36,24), "E16x7");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E16x7.fd");
+ test_class_info(&lv, &cd_E16x7);
+ dp->~E16x7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE16x7(Test_E16x7, "E16x7", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E16x7C1Ev();
+extern void _ZN5E16x7D1Ev();
+Name_Map name_map_E16x7[] = {
+ NSPAIR(_ZN5E16x7C1Ev),
+ NSPAIR(_ZN5E16x7D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E16x7[] = {
+ // 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_D0, 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, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E16x7[];
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY vtc_E16x7[] = {
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x7[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E16x7[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+extern VTBL_ENTRY _ZTV5E16x7[];
+static VTT_ENTRY vtt_E16x7[] = {
+ {&(_ZTV5E16x7[4]), 4,8},
+ {&(_ZTV5E16x7[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI5E16x7[];
+extern VTBL_ENTRY _ZTV5E16x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x7[];
+Class_Descriptor cd_E16x7 = { "E16x7", // class name
+ bases_E16x7, 4,
+ &(vtc_E16x7[0]), // expected_vtbl_contents
+ &(vtt_E16x7[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E16x7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E16x7),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E16x7),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 G16x7y0 : E16x7 , F1 {
+ int ff;
+ ~G16x7y0(); // tgen
+ G16x7y0(); // tgen
+};
+//SIG(1 G16x7y0) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G16x7y0 ::~G16x7y0(){ note_dtor("G16x7y0", this);} // tgen
+G16x7y0 ::G16x7y0(){ note_ctor("G16x7y0", this);} // tgen
+
+static void Test_G16x7y0()
+{
+ extern Class_Descriptor cd_G16x7y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G16x7y0, buf);
+ G16x7y0 *dp, &lv = *(dp=new (buf) G16x7y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G16x7y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x7y0)");
+ check_base_class_offset(lv, (A0*)(C16*), ABISELECT(40,24), "G16x7y0");
+ check_base_class_offset(lv, (B0*)(C16*), ABISELECT(44,28), "G16x7y0");
+ check_base_class_offset(lv, (C16*)(E16x7*), ABISELECT(32,20), "G16x7y0");
+ check_base_class_offset(lv, (D0*)(E16x7*), ABISELECT(52,36), "G16x7y0");
+ check_base_class_offset(lv, (E16x7*), 0, "G16x7y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G16x7y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G16x7y0.ff");
+ test_class_info(&lv, &cd_G16x7y0);
+ dp->~G16x7y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x7y0(Test_G16x7y0, "G16x7y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G16x7y0C1Ev();
+extern void _ZN7G16x7y0D1Ev();
+Name_Map name_map_G16x7y0[] = {
+ NSPAIR(_ZN7G16x7y0C1Ev),
+ NSPAIR(_ZN7G16x7y0D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E16x7;
+extern VTBL_ENTRY _ZTI5E16x7[];
+extern VTBL_ENTRY _ZTV5E16x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G16x7y0[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E16x7, 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 _ZTI7G16x7y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY vtc_G16x7y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x7y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G16x7y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G16x7y0[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x7y0[];
+static VTBL_ENTRY _tg__ZTV5E16x7__7G16x7y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x7[0]),
+};
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY _tg__ZTV3C16__5E16x7__7G16x7y0[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E16x7[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+static VTT_ENTRY vtt_G16x7y0[] = {
+ {&(_ZTV7G16x7y0[4]), 4,11},
+ {&(_tg__ZTV5E16x7__7G16x7y0[4]), 4,4},
+ {&(_tg__ZTV3C16__5E16x7__7G16x7y0[3]), 3,4},
+ {&(_ZTV7G16x7y0[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI7G16x7y0[];
+extern VTBL_ENTRY _ZTV7G16x7y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x7y0[];
+Class_Descriptor cd_G16x7y0 = { "G16x7y0", // class name
+ bases_G16x7y0, 6,
+ &(vtc_G16x7y0[0]), // expected_vtbl_contents
+ &(vtt_G16x7y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G16x7y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x7y0),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x7y0),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 G16x7y1 : virtual E16x7 , F1 {
+ int ff;
+ ~G16x7y1(); // tgen
+ G16x7y1(); // tgen
+};
+//SIG(1 G16x7y1) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G16x7y1 ::~G16x7y1(){ note_dtor("G16x7y1", this);} // tgen
+G16x7y1 ::G16x7y1(){ note_ctor("G16x7y1", this);} // tgen
+
+static void Test_G16x7y1()
+{
+ extern Class_Descriptor cd_G16x7y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G16x7y1, buf);
+ G16x7y1 *dp, &lv = *(dp=new (buf) G16x7y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G16x7y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x7y1)");
+ check_base_class_offset(lv, (A0*)(C16*), ABISELECT(40,24), "G16x7y1");
+ check_base_class_offset(lv, (B0*)(C16*), ABISELECT(44,28), "G16x7y1");
+ check_base_class_offset(lv, (C16*)(E16x7*), ABISELECT(32,20), "G16x7y1");
+ check_base_class_offset(lv, (D0*)(E16x7*), ABISELECT(52,36), "G16x7y1");
+ check_base_class_offset(lv, (E16x7*), ABISELECT(16,12), "G16x7y1");
+ check_base_class_offset(lv, (F1*), 0, "G16x7y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G16x7y1.ff");
+ test_class_info(&lv, &cd_G16x7y1);
+ dp->~G16x7y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x7y1(Test_G16x7y1, "G16x7y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G16x7y1C1Ev();
+extern void _ZN7G16x7y1D1Ev();
+Name_Map name_map_G16x7y1[] = {
+ NSPAIR(_ZN7G16x7y1C1Ev),
+ NSPAIR(_ZN7G16x7y1D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E16x7;
+extern VTBL_ENTRY _ZTI5E16x7[];
+extern VTBL_ENTRY _ZTV5E16x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G16x7y1[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E16x7, 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 _ZTI7G16x7y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY vtc_G16x7y1[] = {
+ ABISELECT(52,36),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x7y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G16x7y1[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G16x7y1[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x7y1[];
+static VTBL_ENTRY _tg__ZTV5E16x7__7G16x7y1[] = {
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x7[0]),
+};
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY _tg__ZTV3C16__5E16x7__7G16x7y1[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E16x7[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+static VTT_ENTRY vtt_G16x7y1[] = {
+ {&(_ZTV7G16x7y1[5]), 5,14},
+ {&(_ZTV7G16x7y1[10]), 10,14},
+ {&(_ZTV7G16x7y1[13]), 13,14},
+ {&(_tg__ZTV5E16x7__7G16x7y1[4]), 4,4},
+ {&(_tg__ZTV3C16__5E16x7__7G16x7y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G16x7y1[];
+extern VTBL_ENTRY _ZTV7G16x7y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x7y1[];
+Class_Descriptor cd_G16x7y1 = { "G16x7y1", // class name
+ bases_G16x7y1, 6,
+ &(vtc_G16x7y1[0]), // expected_vtbl_contents
+ &(vtt_G16x7y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G16x7y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x7y1),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x7y1),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 G16x7y2 : E16x7 , virtual F1 {
+ int ff;
+ ~G16x7y2(); // tgen
+ G16x7y2(); // tgen
+};
+//SIG(1 G16x7y2) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G16x7y2 ::~G16x7y2(){ note_dtor("G16x7y2", this);} // tgen
+G16x7y2 ::G16x7y2(){ note_ctor("G16x7y2", this);} // tgen
+
+static void Test_G16x7y2()
+{
+ extern Class_Descriptor cd_G16x7y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G16x7y2, buf);
+ G16x7y2 *dp, &lv = *(dp=new (buf) G16x7y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G16x7y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x7y2)");
+ check_base_class_offset(lv, (A0*)(C16*), ABISELECT(24,16), "G16x7y2");
+ check_base_class_offset(lv, (B0*)(C16*), ABISELECT(28,20), "G16x7y2");
+ check_base_class_offset(lv, (C16*)(E16x7*), ABISELECT(16,12), "G16x7y2");
+ check_base_class_offset(lv, (D0*)(E16x7*), ABISELECT(36,28), "G16x7y2");
+ check_base_class_offset(lv, (E16x7*), 0, "G16x7y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(40,32), "G16x7y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G16x7y2.ff");
+ test_class_info(&lv, &cd_G16x7y2);
+ dp->~G16x7y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x7y2(Test_G16x7y2, "G16x7y2", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G16x7y2C1Ev();
+extern void _ZN7G16x7y2D1Ev();
+Name_Map name_map_G16x7y2[] = {
+ NSPAIR(_ZN7G16x7y2C1Ev),
+ NSPAIR(_ZN7G16x7y2D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E16x7;
+extern VTBL_ENTRY _ZTI5E16x7[];
+extern VTBL_ENTRY _ZTV5E16x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G16x7y2[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E16x7, 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(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
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G16x7y2[];
+extern void _ZN3C163fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G16x7y2[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x7y2[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G16x7y2[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G16x7y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x7y2[];
+static VTBL_ENTRY _tg__ZTV5E16x7__7G16x7y2[] = {
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x7[0]),
+};
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY _tg__ZTV3C16__5E16x7__7G16x7y2[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E16x7[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+static VTT_ENTRY vtt_G16x7y2[] = {
+ {&(_ZTV7G16x7y2[5]), 5,13},
+ {&(_tg__ZTV5E16x7__7G16x7y2[4]), 4,4},
+ {&(_tg__ZTV3C16__5E16x7__7G16x7y2[3]), 3,4},
+ {&(_ZTV7G16x7y2[8]), 8,13},
+ {&(_ZTV7G16x7y2[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI7G16x7y2[];
+extern VTBL_ENTRY _ZTV7G16x7y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x7y2[];
+Class_Descriptor cd_G16x7y2 = { "G16x7y2", // class name
+ bases_G16x7y2, 6,
+ &(vtc_G16x7y2[0]), // expected_vtbl_contents
+ &(vtt_G16x7y2[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G16x7y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x7y2),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x7y2),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 G16x7y3 : virtual E16x7 , virtual F1 {
+ int ff;
+ ~G16x7y3(); // tgen
+ G16x7y3(); // tgen
+};
+//SIG(1 G16x7y3) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G16x7y3 ::~G16x7y3(){ note_dtor("G16x7y3", this);} // tgen
+G16x7y3 ::G16x7y3(){ note_ctor("G16x7y3", this);} // tgen
+
+static void Test_G16x7y3()
+{
+ extern Class_Descriptor cd_G16x7y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G16x7y3, buf);
+ G16x7y3 *dp, &lv = *(dp=new (buf) G16x7y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G16x7y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x7y3)");
+ check_base_class_offset(lv, (A0*)(C16*), ABISELECT(40,20), "G16x7y3");
+ check_base_class_offset(lv, (B0*)(C16*), ABISELECT(44,24), "G16x7y3");
+ check_base_class_offset(lv, (C16*)(E16x7*), ABISELECT(32,16), "G16x7y3");
+ check_base_class_offset(lv, (D0*)(E16x7*), ABISELECT(52,32), "G16x7y3");
+ check_base_class_offset(lv, (E16x7*), ABISELECT(16,8), "G16x7y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G16x7y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G16x7y3.ff");
+ test_class_info(&lv, &cd_G16x7y3);
+ dp->~G16x7y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x7y3(Test_G16x7y3, "G16x7y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G16x7y3C1Ev();
+extern void _ZN7G16x7y3D1Ev();
+Name_Map name_map_G16x7y3[] = {
+ NSPAIR(_ZN7G16x7y3C1Ev),
+ NSPAIR(_ZN7G16x7y3D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E16x7;
+extern VTBL_ENTRY _ZTI5E16x7[];
+extern VTBL_ENTRY _ZTV5E16x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G16x7y3[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E16x7, 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 _ZTI7G16x7y3[];
+extern void _ZN3C163fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G16x7y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x7y3[0]),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G16x7y3[0]),
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G16x7y3[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G16x7y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x7y3[];
+static VTBL_ENTRY _tg__ZTV5E16x7__7G16x7y3[] = {
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x7[0]),
+};
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY _tg__ZTV3C16__5E16x7__7G16x7y3[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E16x7[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+static VTT_ENTRY vtt_G16x7y3[] = {
+ {&(_ZTV7G16x7y3[6]), 6,18},
+ {&(_ZTV7G16x7y3[10]), 10,18},
+ {&(_ZTV7G16x7y3[13]), 13,18},
+ {&(_ZTV7G16x7y3[17]), 17,18},
+ {&(_tg__ZTV5E16x7__7G16x7y3[4]), 4,4},
+ {&(_tg__ZTV3C16__5E16x7__7G16x7y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G16x7y3[];
+extern VTBL_ENTRY _ZTV7G16x7y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x7y3[];
+Class_Descriptor cd_G16x7y3 = { "G16x7y3", // class name
+ bases_G16x7y3, 6,
+ &(vtc_G16x7y3[0]), // expected_vtbl_contents
+ &(vtt_G16x7y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G16x7y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x7y3),18, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x7y3),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 G16x7y4 : E16x7 , F0 {
+ int ff;
+ ~G16x7y4(); // tgen
+ G16x7y4(); // tgen
+};
+//SIG(1 G16x7y4) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G16x7y4 ::~G16x7y4(){ note_dtor("G16x7y4", this);} // tgen
+G16x7y4 ::G16x7y4(){ note_ctor("G16x7y4", this);} // tgen
+
+static void Test_G16x7y4()
+{
+ extern Class_Descriptor cd_G16x7y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G16x7y4, buf);
+ G16x7y4 *dp, &lv = *(dp=new (buf) G16x7y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G16x7y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x7y4)");
+ check_base_class_offset(lv, (A0*)(C16*), ABISELECT(32,20), "G16x7y4");
+ check_base_class_offset(lv, (B0*)(C16*), ABISELECT(36,24), "G16x7y4");
+ check_base_class_offset(lv, (C16*)(E16x7*), ABISELECT(24,16), "G16x7y4");
+ check_base_class_offset(lv, (D0*)(E16x7*), ABISELECT(44,32), "G16x7y4");
+ check_base_class_offset(lv, (E16x7*), 0, "G16x7y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G16x7y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G16x7y4.ff");
+ test_class_info(&lv, &cd_G16x7y4);
+ dp->~G16x7y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x7y4(Test_G16x7y4, "G16x7y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G16x7y4C1Ev();
+extern void _ZN7G16x7y4D1Ev();
+Name_Map name_map_G16x7y4[] = {
+ NSPAIR(_ZN7G16x7y4C1Ev),
+ NSPAIR(_ZN7G16x7y4D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E16x7;
+extern VTBL_ENTRY _ZTI5E16x7[];
+extern VTBL_ENTRY _ZTV5E16x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G16x7y4[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E16x7, 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 _ZTI7G16x7y4[];
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY vtc_G16x7y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x7y4[0]),
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G16x7y4[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x7y4[];
+static VTBL_ENTRY _tg__ZTV5E16x7__7G16x7y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x7[0]),
+};
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY _tg__ZTV3C16__5E16x7__7G16x7y4[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E16x7[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+static VTT_ENTRY vtt_G16x7y4[] = {
+ {&(_ZTV7G16x7y4[4]), 4,8},
+ {&(_tg__ZTV5E16x7__7G16x7y4[4]), 4,4},
+ {&(_tg__ZTV3C16__5E16x7__7G16x7y4[3]), 3,4},
+ {&(_ZTV7G16x7y4[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI7G16x7y4[];
+extern VTBL_ENTRY _ZTV7G16x7y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x7y4[];
+Class_Descriptor cd_G16x7y4 = { "G16x7y4", // class name
+ bases_G16x7y4, 6,
+ &(vtc_G16x7y4[0]), // expected_vtbl_contents
+ &(vtt_G16x7y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G16x7y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x7y4),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x7y4),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 G16x7y5 : virtual E16x7 , F0 {
+ int ff;
+ ~G16x7y5(); // tgen
+ G16x7y5(); // tgen
+};
+//SIG(1 G16x7y5) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G16x7y5 ::~G16x7y5(){ note_dtor("G16x7y5", this);} // tgen
+G16x7y5 ::G16x7y5(){ note_ctor("G16x7y5", this);} // tgen
+
+static void Test_G16x7y5()
+{
+ extern Class_Descriptor cd_G16x7y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G16x7y5, buf);
+ G16x7y5 *dp, &lv = *(dp=new (buf) G16x7y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G16x7y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x7y5)");
+ check_base_class_offset(lv, (A0*)(C16*), ABISELECT(40,24), "G16x7y5");
+ check_base_class_offset(lv, (B0*)(C16*), ABISELECT(44,28), "G16x7y5");
+ check_base_class_offset(lv, (C16*)(E16x7*), ABISELECT(32,20), "G16x7y5");
+ check_base_class_offset(lv, (D0*)(E16x7*), ABISELECT(52,36), "G16x7y5");
+ check_base_class_offset(lv, (E16x7*), ABISELECT(16,12), "G16x7y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G16x7y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G16x7y5.ff");
+ test_class_info(&lv, &cd_G16x7y5);
+ dp->~G16x7y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x7y5(Test_G16x7y5, "G16x7y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G16x7y5C1Ev();
+extern void _ZN7G16x7y5D1Ev();
+Name_Map name_map_G16x7y5[] = {
+ NSPAIR(_ZN7G16x7y5C1Ev),
+ NSPAIR(_ZN7G16x7y5D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E16x7;
+extern VTBL_ENTRY _ZTI5E16x7[];
+extern VTBL_ENTRY _ZTV5E16x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G16x7y5[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E16x7, 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 _ZTI7G16x7y5[];
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY vtc_G16x7y5[] = {
+ ABISELECT(52,36),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x7y5[0]),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G16x7y5[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G16x7y5[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x7y5[];
+static VTBL_ENTRY _tg__ZTV5E16x7__7G16x7y5[] = {
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x7[0]),
+};
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY _tg__ZTV3C16__5E16x7__7G16x7y5[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E16x7[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+static VTT_ENTRY vtt_G16x7y5[] = {
+ {&(_ZTV7G16x7y5[5]), 5,13},
+ {&(_ZTV7G16x7y5[9]), 9,13},
+ {&(_ZTV7G16x7y5[12]), 12,13},
+ {&(_tg__ZTV5E16x7__7G16x7y5[4]), 4,4},
+ {&(_tg__ZTV3C16__5E16x7__7G16x7y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G16x7y5[];
+extern VTBL_ENTRY _ZTV7G16x7y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x7y5[];
+Class_Descriptor cd_G16x7y5 = { "G16x7y5", // class name
+ bases_G16x7y5, 6,
+ &(vtc_G16x7y5[0]), // expected_vtbl_contents
+ &(vtt_G16x7y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G16x7y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x7y5),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x7y5),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 G16x7y6 : E16x7 , virtual F0 {
+ int ff;
+ ~G16x7y6(); // tgen
+ G16x7y6(); // tgen
+};
+//SIG(1 G16x7y6) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G16x7y6 ::~G16x7y6(){ note_dtor("G16x7y6", this);} // tgen
+G16x7y6 ::G16x7y6(){ note_ctor("G16x7y6", this);} // tgen
+
+static void Test_G16x7y6()
+{
+ extern Class_Descriptor cd_G16x7y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G16x7y6, buf);
+ G16x7y6 *dp, &lv = *(dp=new (buf) G16x7y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G16x7y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x7y6)");
+ check_base_class_offset(lv, (A0*)(C16*), ABISELECT(24,16), "G16x7y6");
+ check_base_class_offset(lv, (B0*)(C16*), ABISELECT(28,20), "G16x7y6");
+ check_base_class_offset(lv, (C16*)(E16x7*), ABISELECT(16,12), "G16x7y6");
+ check_base_class_offset(lv, (D0*)(E16x7*), ABISELECT(36,28), "G16x7y6");
+ check_base_class_offset(lv, (E16x7*), 0, "G16x7y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(40,32), "G16x7y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G16x7y6.ff");
+ test_class_info(&lv, &cd_G16x7y6);
+ dp->~G16x7y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x7y6(Test_G16x7y6, "G16x7y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G16x7y6C1Ev();
+extern void _ZN7G16x7y6D1Ev();
+Name_Map name_map_G16x7y6[] = {
+ NSPAIR(_ZN7G16x7y6C1Ev),
+ NSPAIR(_ZN7G16x7y6D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E16x7;
+extern VTBL_ENTRY _ZTI5E16x7[];
+extern VTBL_ENTRY _ZTV5E16x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G16x7y6[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E16x7, 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(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 _ZTI7G16x7y6[];
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY vtc_G16x7y6[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x7y6[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G16x7y6[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x7y6[];
+static VTBL_ENTRY _tg__ZTV5E16x7__7G16x7y6[] = {
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x7[0]),
+};
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY _tg__ZTV3C16__5E16x7__7G16x7y6[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E16x7[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+static VTT_ENTRY vtt_G16x7y6[] = {
+ {&(_ZTV7G16x7y6[5]), 5,9},
+ {&(_tg__ZTV5E16x7__7G16x7y6[4]), 4,4},
+ {&(_tg__ZTV3C16__5E16x7__7G16x7y6[3]), 3,4},
+ {&(_ZTV7G16x7y6[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI7G16x7y6[];
+extern VTBL_ENTRY _ZTV7G16x7y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x7y6[];
+Class_Descriptor cd_G16x7y6 = { "G16x7y6", // class name
+ bases_G16x7y6, 6,
+ &(vtc_G16x7y6[0]), // expected_vtbl_contents
+ &(vtt_G16x7y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G16x7y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x7y6),9, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x7y6),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 G16x7y7 : virtual E16x7 , virtual F0 {
+ int ff;
+ ~G16x7y7(); // tgen
+ G16x7y7(); // tgen
+};
+//SIG(1 G16x7y7) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G16x7y7 ::~G16x7y7(){ note_dtor("G16x7y7", this);} // tgen
+G16x7y7 ::G16x7y7(){ note_ctor("G16x7y7", this);} // tgen
+
+static void Test_G16x7y7()
+{
+ extern Class_Descriptor cd_G16x7y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G16x7y7, buf);
+ G16x7y7 *dp, &lv = *(dp=new (buf) G16x7y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G16x7y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G16x7y7)");
+ check_base_class_offset(lv, (A0*)(C16*), ABISELECT(40,20), "G16x7y7");
+ check_base_class_offset(lv, (B0*)(C16*), ABISELECT(44,24), "G16x7y7");
+ check_base_class_offset(lv, (C16*)(E16x7*), ABISELECT(32,16), "G16x7y7");
+ check_base_class_offset(lv, (D0*)(E16x7*), ABISELECT(52,32), "G16x7y7");
+ check_base_class_offset(lv, (E16x7*), ABISELECT(16,8), "G16x7y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G16x7y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G16x7y7.ff");
+ test_class_info(&lv, &cd_G16x7y7);
+ dp->~G16x7y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG16x7y7(Test_G16x7y7, "G16x7y7", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G16x7y7C1Ev();
+extern void _ZN7G16x7y7D1Ev();
+Name_Map name_map_G16x7y7[] = {
+ NSPAIR(_ZN7G16x7y7C1Ev),
+ NSPAIR(_ZN7G16x7y7D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E16x7;
+extern VTBL_ENTRY _ZTI5E16x7[];
+extern VTBL_ENTRY _ZTV5E16x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E16x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G16x7y7[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E16x7, 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(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 _ZTI7G16x7y7[];
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY vtc_G16x7y7[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G16x7y7[0]),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G16x7y7[0]),
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G16x7y7[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+extern VTBL_ENTRY _ZTV7G16x7y7[];
+static VTBL_ENTRY _tg__ZTV5E16x7__7G16x7y7[] = {
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E16x7[0]),
+};
+extern void _ZN3C163fooEv();
+static VTBL_ENTRY _tg__ZTV3C16__5E16x7__7G16x7y7[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E16x7[0]),
+ (VTBL_ENTRY)&_ZN3C163fooEv,
+};
+static VTT_ENTRY vtt_G16x7y7[] = {
+ {&(_ZTV7G16x7y7[6]), 6,14},
+ {&(_ZTV7G16x7y7[10]), 10,14},
+ {&(_ZTV7G16x7y7[13]), 13,14},
+ {&(_tg__ZTV5E16x7__7G16x7y7[4]), 4,4},
+ {&(_tg__ZTV3C16__5E16x7__7G16x7y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G16x7y7[];
+extern VTBL_ENTRY _ZTV7G16x7y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G16x7y7[];
+Class_Descriptor cd_G16x7y7 = { "G16x7y7", // class name
+ bases_G16x7y7, 6,
+ &(vtc_G16x7y7[0]), // expected_vtbl_contents
+ &(vtt_G16x7y7[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G16x7y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G16x7y7),14, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G16x7y7),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 E17x7 : virtual C17 , virtual D0 {
+ int fd;
+ ~E17x7(); // tgen
+ E17x7(); // tgen
+};
+//SIG(-1 E17x7) C1{ VBC2{ BC3{ v1 Fi} BC4{ Fi} v1 Fi} VBC5{ Fi} Fi}
+
+
+E17x7 ::~E17x7(){ note_dtor("E17x7", this);} // tgen
+E17x7 ::E17x7(){ note_ctor("E17x7", this);} // tgen
+
+static void Test_E17x7()
+{
+ extern Class_Descriptor cd_E17x7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E17x7, buf);
+ E17x7 *dp, &lv = *(dp=new (buf) E17x7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E17x7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E17x7)");
+ check_base_class_offset(lv, (A1*)(C17*), ABISELECT(16,8), "E17x7");
+ check_base_class_offset(lv, (B0*)(C17*), ABISELECT(28,16), "E17x7");
+ check_base_class_offset(lv, (C17*), ABISELECT(16,8), "E17x7");
+ check_base_class_offset(lv, (D0*), ABISELECT(36,24), "E17x7");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E17x7.fd");
+ test_class_info(&lv, &cd_E17x7);
+ dp->~E17x7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE17x7(Test_E17x7, "E17x7", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E17x7C1Ev();
+extern void _ZN5E17x7D1Ev();
+Name_Map name_map_E17x7[] = {
+ NSPAIR(_ZN5E17x7C1Ev),
+ NSPAIR(_ZN5E17x7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E17x7[] = {
+ // 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_D0, 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, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E17x7[];
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY vtc_E17x7[] = {
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x7[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E17x7[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+extern VTBL_ENTRY _ZTV5E17x7[];
+static VTT_ENTRY vtt_E17x7[] = {
+ {&(_ZTV5E17x7[4]), 4,8},
+ {&(_ZTV5E17x7[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI5E17x7[];
+extern VTBL_ENTRY _ZTV5E17x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x7[];
+Class_Descriptor cd_E17x7 = { "E17x7", // class name
+ bases_E17x7, 4,
+ &(vtc_E17x7[0]), // expected_vtbl_contents
+ &(vtt_E17x7[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E17x7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E17x7),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E17x7),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 G17x7y0 : E17x7 , F1 {
+ int ff;
+ ~G17x7y0(); // tgen
+ G17x7y0(); // tgen
+};
+//SIG(1 G17x7y0) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G17x7y0 ::~G17x7y0(){ note_dtor("G17x7y0", this);} // tgen
+G17x7y0 ::G17x7y0(){ note_ctor("G17x7y0", this);} // tgen
+
+static void Test_G17x7y0()
+{
+ extern Class_Descriptor cd_G17x7y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G17x7y0, buf);
+ G17x7y0 *dp, &lv = *(dp=new (buf) G17x7y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G17x7y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x7y0)");
+ check_base_class_offset(lv, (A1*)(C17*), ABISELECT(32,20), "G17x7y0");
+ check_base_class_offset(lv, (B0*)(C17*), ABISELECT(44,28), "G17x7y0");
+ check_base_class_offset(lv, (C17*)(E17x7*), ABISELECT(32,20), "G17x7y0");
+ check_base_class_offset(lv, (D0*)(E17x7*), ABISELECT(52,36), "G17x7y0");
+ check_base_class_offset(lv, (E17x7*), 0, "G17x7y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G17x7y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G17x7y0.ff");
+ test_class_info(&lv, &cd_G17x7y0);
+ dp->~G17x7y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x7y0(Test_G17x7y0, "G17x7y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G17x7y0C1Ev();
+extern void _ZN7G17x7y0D1Ev();
+Name_Map name_map_G17x7y0[] = {
+ NSPAIR(_ZN7G17x7y0C1Ev),
+ NSPAIR(_ZN7G17x7y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E17x7;
+extern VTBL_ENTRY _ZTI5E17x7[];
+extern VTBL_ENTRY _ZTV5E17x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G17x7y0[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E17x7, 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 _ZTI7G17x7y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY vtc_G17x7y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x7y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G17x7y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G17x7y0[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x7y0[];
+static VTBL_ENTRY _tg__ZTV5E17x7__7G17x7y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x7[0]),
+};
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY _tg__ZTV3C17__5E17x7__7G17x7y0[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E17x7[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+static VTT_ENTRY vtt_G17x7y0[] = {
+ {&(_ZTV7G17x7y0[4]), 4,11},
+ {&(_tg__ZTV5E17x7__7G17x7y0[4]), 4,4},
+ {&(_tg__ZTV3C17__5E17x7__7G17x7y0[3]), 3,4},
+ {&(_ZTV7G17x7y0[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI7G17x7y0[];
+extern VTBL_ENTRY _ZTV7G17x7y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x7y0[];
+Class_Descriptor cd_G17x7y0 = { "G17x7y0", // class name
+ bases_G17x7y0, 6,
+ &(vtc_G17x7y0[0]), // expected_vtbl_contents
+ &(vtt_G17x7y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G17x7y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x7y0),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x7y0),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 G17x7y1 : virtual E17x7 , F1 {
+ int ff;
+ ~G17x7y1(); // tgen
+ G17x7y1(); // tgen
+};
+//SIG(1 G17x7y1) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G17x7y1 ::~G17x7y1(){ note_dtor("G17x7y1", this);} // tgen
+G17x7y1 ::G17x7y1(){ note_ctor("G17x7y1", this);} // tgen
+
+static void Test_G17x7y1()
+{
+ extern Class_Descriptor cd_G17x7y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G17x7y1, buf);
+ G17x7y1 *dp, &lv = *(dp=new (buf) G17x7y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G17x7y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x7y1)");
+ check_base_class_offset(lv, (A1*)(C17*), ABISELECT(32,20), "G17x7y1");
+ check_base_class_offset(lv, (B0*)(C17*), ABISELECT(44,28), "G17x7y1");
+ check_base_class_offset(lv, (C17*)(E17x7*), ABISELECT(32,20), "G17x7y1");
+ check_base_class_offset(lv, (D0*)(E17x7*), ABISELECT(52,36), "G17x7y1");
+ check_base_class_offset(lv, (E17x7*), ABISELECT(16,12), "G17x7y1");
+ check_base_class_offset(lv, (F1*), 0, "G17x7y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G17x7y1.ff");
+ test_class_info(&lv, &cd_G17x7y1);
+ dp->~G17x7y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x7y1(Test_G17x7y1, "G17x7y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G17x7y1C1Ev();
+extern void _ZN7G17x7y1D1Ev();
+Name_Map name_map_G17x7y1[] = {
+ NSPAIR(_ZN7G17x7y1C1Ev),
+ NSPAIR(_ZN7G17x7y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E17x7;
+extern VTBL_ENTRY _ZTI5E17x7[];
+extern VTBL_ENTRY _ZTV5E17x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G17x7y1[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E17x7, 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 _ZTI7G17x7y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY vtc_G17x7y1[] = {
+ ABISELECT(52,36),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x7y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G17x7y1[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G17x7y1[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x7y1[];
+static VTBL_ENTRY _tg__ZTV5E17x7__7G17x7y1[] = {
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x7[0]),
+};
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY _tg__ZTV3C17__5E17x7__7G17x7y1[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E17x7[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+static VTT_ENTRY vtt_G17x7y1[] = {
+ {&(_ZTV7G17x7y1[5]), 5,14},
+ {&(_ZTV7G17x7y1[10]), 10,14},
+ {&(_ZTV7G17x7y1[13]), 13,14},
+ {&(_tg__ZTV5E17x7__7G17x7y1[4]), 4,4},
+ {&(_tg__ZTV3C17__5E17x7__7G17x7y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G17x7y1[];
+extern VTBL_ENTRY _ZTV7G17x7y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x7y1[];
+Class_Descriptor cd_G17x7y1 = { "G17x7y1", // class name
+ bases_G17x7y1, 6,
+ &(vtc_G17x7y1[0]), // expected_vtbl_contents
+ &(vtt_G17x7y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G17x7y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x7y1),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x7y1),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 G17x7y2 : E17x7 , virtual F1 {
+ int ff;
+ ~G17x7y2(); // tgen
+ G17x7y2(); // tgen
+};
+//SIG(1 G17x7y2) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G17x7y2 ::~G17x7y2(){ note_dtor("G17x7y2", this);} // tgen
+G17x7y2 ::G17x7y2(){ note_ctor("G17x7y2", this);} // tgen
+
+static void Test_G17x7y2()
+{
+ extern Class_Descriptor cd_G17x7y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G17x7y2, buf);
+ G17x7y2 *dp, &lv = *(dp=new (buf) G17x7y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G17x7y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x7y2)");
+ check_base_class_offset(lv, (A1*)(C17*), ABISELECT(16,12), "G17x7y2");
+ check_base_class_offset(lv, (B0*)(C17*), ABISELECT(28,20), "G17x7y2");
+ check_base_class_offset(lv, (C17*)(E17x7*), ABISELECT(16,12), "G17x7y2");
+ check_base_class_offset(lv, (D0*)(E17x7*), ABISELECT(36,28), "G17x7y2");
+ check_base_class_offset(lv, (E17x7*), 0, "G17x7y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(40,32), "G17x7y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G17x7y2.ff");
+ test_class_info(&lv, &cd_G17x7y2);
+ dp->~G17x7y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x7y2(Test_G17x7y2, "G17x7y2", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G17x7y2C1Ev();
+extern void _ZN7G17x7y2D1Ev();
+Name_Map name_map_G17x7y2[] = {
+ NSPAIR(_ZN7G17x7y2C1Ev),
+ NSPAIR(_ZN7G17x7y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E17x7;
+extern VTBL_ENTRY _ZTI5E17x7[];
+extern VTBL_ENTRY _ZTV5E17x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G17x7y2[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E17x7, 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(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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G17x7y2[];
+extern void _ZN3C173fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G17x7y2[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x7y2[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G17x7y2[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G17x7y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x7y2[];
+static VTBL_ENTRY _tg__ZTV5E17x7__7G17x7y2[] = {
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x7[0]),
+};
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY _tg__ZTV3C17__5E17x7__7G17x7y2[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E17x7[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+static VTT_ENTRY vtt_G17x7y2[] = {
+ {&(_ZTV7G17x7y2[5]), 5,13},
+ {&(_tg__ZTV5E17x7__7G17x7y2[4]), 4,4},
+ {&(_tg__ZTV3C17__5E17x7__7G17x7y2[3]), 3,4},
+ {&(_ZTV7G17x7y2[8]), 8,13},
+ {&(_ZTV7G17x7y2[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI7G17x7y2[];
+extern VTBL_ENTRY _ZTV7G17x7y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x7y2[];
+Class_Descriptor cd_G17x7y2 = { "G17x7y2", // class name
+ bases_G17x7y2, 6,
+ &(vtc_G17x7y2[0]), // expected_vtbl_contents
+ &(vtt_G17x7y2[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G17x7y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x7y2),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x7y2),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 G17x7y3 : virtual E17x7 , virtual F1 {
+ int ff;
+ ~G17x7y3(); // tgen
+ G17x7y3(); // tgen
+};
+//SIG(1 G17x7y3) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G17x7y3 ::~G17x7y3(){ note_dtor("G17x7y3", this);} // tgen
+G17x7y3 ::G17x7y3(){ note_ctor("G17x7y3", this);} // tgen
+
+static void Test_G17x7y3()
+{
+ extern Class_Descriptor cd_G17x7y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G17x7y3, buf);
+ G17x7y3 *dp, &lv = *(dp=new (buf) G17x7y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G17x7y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x7y3)");
+ check_base_class_offset(lv, (A1*)(C17*), ABISELECT(32,16), "G17x7y3");
+ check_base_class_offset(lv, (B0*)(C17*), ABISELECT(44,24), "G17x7y3");
+ check_base_class_offset(lv, (C17*)(E17x7*), ABISELECT(32,16), "G17x7y3");
+ check_base_class_offset(lv, (D0*)(E17x7*), ABISELECT(52,32), "G17x7y3");
+ check_base_class_offset(lv, (E17x7*), ABISELECT(16,8), "G17x7y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G17x7y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G17x7y3.ff");
+ test_class_info(&lv, &cd_G17x7y3);
+ dp->~G17x7y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x7y3(Test_G17x7y3, "G17x7y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G17x7y3C1Ev();
+extern void _ZN7G17x7y3D1Ev();
+Name_Map name_map_G17x7y3[] = {
+ NSPAIR(_ZN7G17x7y3C1Ev),
+ NSPAIR(_ZN7G17x7y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E17x7;
+extern VTBL_ENTRY _ZTI5E17x7[];
+extern VTBL_ENTRY _ZTV5E17x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G17x7y3[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E17x7, 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 _ZTI7G17x7y3[];
+extern void _ZN3C173fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G17x7y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x7y3[0]),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G17x7y3[0]),
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G17x7y3[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G17x7y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x7y3[];
+static VTBL_ENTRY _tg__ZTV5E17x7__7G17x7y3[] = {
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x7[0]),
+};
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY _tg__ZTV3C17__5E17x7__7G17x7y3[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E17x7[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+static VTT_ENTRY vtt_G17x7y3[] = {
+ {&(_ZTV7G17x7y3[6]), 6,18},
+ {&(_ZTV7G17x7y3[10]), 10,18},
+ {&(_ZTV7G17x7y3[13]), 13,18},
+ {&(_ZTV7G17x7y3[17]), 17,18},
+ {&(_tg__ZTV5E17x7__7G17x7y3[4]), 4,4},
+ {&(_tg__ZTV3C17__5E17x7__7G17x7y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G17x7y3[];
+extern VTBL_ENTRY _ZTV7G17x7y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x7y3[];
+Class_Descriptor cd_G17x7y3 = { "G17x7y3", // class name
+ bases_G17x7y3, 6,
+ &(vtc_G17x7y3[0]), // expected_vtbl_contents
+ &(vtt_G17x7y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G17x7y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x7y3),18, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x7y3),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 G17x7y4 : E17x7 , F0 {
+ int ff;
+ ~G17x7y4(); // tgen
+ G17x7y4(); // tgen
+};
+//SIG(1 G17x7y4) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G17x7y4 ::~G17x7y4(){ note_dtor("G17x7y4", this);} // tgen
+G17x7y4 ::G17x7y4(){ note_ctor("G17x7y4", this);} // tgen
+
+static void Test_G17x7y4()
+{
+ extern Class_Descriptor cd_G17x7y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G17x7y4, buf);
+ G17x7y4 *dp, &lv = *(dp=new (buf) G17x7y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G17x7y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x7y4)");
+ check_base_class_offset(lv, (A1*)(C17*), ABISELECT(24,16), "G17x7y4");
+ check_base_class_offset(lv, (B0*)(C17*), ABISELECT(36,24), "G17x7y4");
+ check_base_class_offset(lv, (C17*)(E17x7*), ABISELECT(24,16), "G17x7y4");
+ check_base_class_offset(lv, (D0*)(E17x7*), ABISELECT(44,32), "G17x7y4");
+ check_base_class_offset(lv, (E17x7*), 0, "G17x7y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G17x7y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G17x7y4.ff");
+ test_class_info(&lv, &cd_G17x7y4);
+ dp->~G17x7y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x7y4(Test_G17x7y4, "G17x7y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G17x7y4C1Ev();
+extern void _ZN7G17x7y4D1Ev();
+Name_Map name_map_G17x7y4[] = {
+ NSPAIR(_ZN7G17x7y4C1Ev),
+ NSPAIR(_ZN7G17x7y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E17x7;
+extern VTBL_ENTRY _ZTI5E17x7[];
+extern VTBL_ENTRY _ZTV5E17x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G17x7y4[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E17x7, 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 _ZTI7G17x7y4[];
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY vtc_G17x7y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x7y4[0]),
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G17x7y4[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x7y4[];
+static VTBL_ENTRY _tg__ZTV5E17x7__7G17x7y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x7[0]),
+};
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY _tg__ZTV3C17__5E17x7__7G17x7y4[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E17x7[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+static VTT_ENTRY vtt_G17x7y4[] = {
+ {&(_ZTV7G17x7y4[4]), 4,8},
+ {&(_tg__ZTV5E17x7__7G17x7y4[4]), 4,4},
+ {&(_tg__ZTV3C17__5E17x7__7G17x7y4[3]), 3,4},
+ {&(_ZTV7G17x7y4[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI7G17x7y4[];
+extern VTBL_ENTRY _ZTV7G17x7y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x7y4[];
+Class_Descriptor cd_G17x7y4 = { "G17x7y4", // class name
+ bases_G17x7y4, 6,
+ &(vtc_G17x7y4[0]), // expected_vtbl_contents
+ &(vtt_G17x7y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G17x7y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x7y4),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x7y4),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 G17x7y5 : virtual E17x7 , F0 {
+ int ff;
+ ~G17x7y5(); // tgen
+ G17x7y5(); // tgen
+};
+//SIG(1 G17x7y5) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G17x7y5 ::~G17x7y5(){ note_dtor("G17x7y5", this);} // tgen
+G17x7y5 ::G17x7y5(){ note_ctor("G17x7y5", this);} // tgen
+
+static void Test_G17x7y5()
+{
+ extern Class_Descriptor cd_G17x7y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G17x7y5, buf);
+ G17x7y5 *dp, &lv = *(dp=new (buf) G17x7y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G17x7y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x7y5)");
+ check_base_class_offset(lv, (A1*)(C17*), ABISELECT(32,20), "G17x7y5");
+ check_base_class_offset(lv, (B0*)(C17*), ABISELECT(44,28), "G17x7y5");
+ check_base_class_offset(lv, (C17*)(E17x7*), ABISELECT(32,20), "G17x7y5");
+ check_base_class_offset(lv, (D0*)(E17x7*), ABISELECT(52,36), "G17x7y5");
+ check_base_class_offset(lv, (E17x7*), ABISELECT(16,12), "G17x7y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G17x7y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G17x7y5.ff");
+ test_class_info(&lv, &cd_G17x7y5);
+ dp->~G17x7y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x7y5(Test_G17x7y5, "G17x7y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G17x7y5C1Ev();
+extern void _ZN7G17x7y5D1Ev();
+Name_Map name_map_G17x7y5[] = {
+ NSPAIR(_ZN7G17x7y5C1Ev),
+ NSPAIR(_ZN7G17x7y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E17x7;
+extern VTBL_ENTRY _ZTI5E17x7[];
+extern VTBL_ENTRY _ZTV5E17x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G17x7y5[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E17x7, 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 _ZTI7G17x7y5[];
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY vtc_G17x7y5[] = {
+ ABISELECT(52,36),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x7y5[0]),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G17x7y5[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G17x7y5[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x7y5[];
+static VTBL_ENTRY _tg__ZTV5E17x7__7G17x7y5[] = {
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x7[0]),
+};
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY _tg__ZTV3C17__5E17x7__7G17x7y5[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E17x7[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+static VTT_ENTRY vtt_G17x7y5[] = {
+ {&(_ZTV7G17x7y5[5]), 5,13},
+ {&(_ZTV7G17x7y5[9]), 9,13},
+ {&(_ZTV7G17x7y5[12]), 12,13},
+ {&(_tg__ZTV5E17x7__7G17x7y5[4]), 4,4},
+ {&(_tg__ZTV3C17__5E17x7__7G17x7y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G17x7y5[];
+extern VTBL_ENTRY _ZTV7G17x7y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x7y5[];
+Class_Descriptor cd_G17x7y5 = { "G17x7y5", // class name
+ bases_G17x7y5, 6,
+ &(vtc_G17x7y5[0]), // expected_vtbl_contents
+ &(vtt_G17x7y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G17x7y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x7y5),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x7y5),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 G17x7y6 : E17x7 , virtual F0 {
+ int ff;
+ ~G17x7y6(); // tgen
+ G17x7y6(); // tgen
+};
+//SIG(1 G17x7y6) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G17x7y6 ::~G17x7y6(){ note_dtor("G17x7y6", this);} // tgen
+G17x7y6 ::G17x7y6(){ note_ctor("G17x7y6", this);} // tgen
+
+static void Test_G17x7y6()
+{
+ extern Class_Descriptor cd_G17x7y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G17x7y6, buf);
+ G17x7y6 *dp, &lv = *(dp=new (buf) G17x7y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G17x7y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x7y6)");
+ check_base_class_offset(lv, (A1*)(C17*), ABISELECT(16,12), "G17x7y6");
+ check_base_class_offset(lv, (B0*)(C17*), ABISELECT(28,20), "G17x7y6");
+ check_base_class_offset(lv, (C17*)(E17x7*), ABISELECT(16,12), "G17x7y6");
+ check_base_class_offset(lv, (D0*)(E17x7*), ABISELECT(36,28), "G17x7y6");
+ check_base_class_offset(lv, (E17x7*), 0, "G17x7y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(40,32), "G17x7y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G17x7y6.ff");
+ test_class_info(&lv, &cd_G17x7y6);
+ dp->~G17x7y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x7y6(Test_G17x7y6, "G17x7y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G17x7y6C1Ev();
+extern void _ZN7G17x7y6D1Ev();
+Name_Map name_map_G17x7y6[] = {
+ NSPAIR(_ZN7G17x7y6C1Ev),
+ NSPAIR(_ZN7G17x7y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E17x7;
+extern VTBL_ENTRY _ZTI5E17x7[];
+extern VTBL_ENTRY _ZTV5E17x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G17x7y6[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E17x7, 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(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 _ZTI7G17x7y6[];
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY vtc_G17x7y6[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x7y6[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G17x7y6[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x7y6[];
+static VTBL_ENTRY _tg__ZTV5E17x7__7G17x7y6[] = {
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x7[0]),
+};
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY _tg__ZTV3C17__5E17x7__7G17x7y6[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E17x7[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+static VTT_ENTRY vtt_G17x7y6[] = {
+ {&(_ZTV7G17x7y6[5]), 5,9},
+ {&(_tg__ZTV5E17x7__7G17x7y6[4]), 4,4},
+ {&(_tg__ZTV3C17__5E17x7__7G17x7y6[3]), 3,4},
+ {&(_ZTV7G17x7y6[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI7G17x7y6[];
+extern VTBL_ENTRY _ZTV7G17x7y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x7y6[];
+Class_Descriptor cd_G17x7y6 = { "G17x7y6", // class name
+ bases_G17x7y6, 6,
+ &(vtc_G17x7y6[0]), // expected_vtbl_contents
+ &(vtt_G17x7y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G17x7y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x7y6),9, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x7y6),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 G17x7y7 : virtual E17x7 , virtual F0 {
+ int ff;
+ ~G17x7y7(); // tgen
+ G17x7y7(); // tgen
+};
+//SIG(1 G17x7y7) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G17x7y7 ::~G17x7y7(){ note_dtor("G17x7y7", this);} // tgen
+G17x7y7 ::G17x7y7(){ note_ctor("G17x7y7", this);} // tgen
+
+static void Test_G17x7y7()
+{
+ extern Class_Descriptor cd_G17x7y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G17x7y7, buf);
+ G17x7y7 *dp, &lv = *(dp=new (buf) G17x7y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G17x7y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G17x7y7)");
+ check_base_class_offset(lv, (A1*)(C17*), ABISELECT(32,16), "G17x7y7");
+ check_base_class_offset(lv, (B0*)(C17*), ABISELECT(44,24), "G17x7y7");
+ check_base_class_offset(lv, (C17*)(E17x7*), ABISELECT(32,16), "G17x7y7");
+ check_base_class_offset(lv, (D0*)(E17x7*), ABISELECT(52,32), "G17x7y7");
+ check_base_class_offset(lv, (E17x7*), ABISELECT(16,8), "G17x7y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G17x7y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G17x7y7.ff");
+ test_class_info(&lv, &cd_G17x7y7);
+ dp->~G17x7y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG17x7y7(Test_G17x7y7, "G17x7y7", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G17x7y7C1Ev();
+extern void _ZN7G17x7y7D1Ev();
+Name_Map name_map_G17x7y7[] = {
+ NSPAIR(_ZN7G17x7y7C1Ev),
+ NSPAIR(_ZN7G17x7y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E17x7;
+extern VTBL_ENTRY _ZTI5E17x7[];
+extern VTBL_ENTRY _ZTV5E17x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E17x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G17x7y7[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E17x7, 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(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 _ZTI7G17x7y7[];
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY vtc_G17x7y7[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G17x7y7[0]),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G17x7y7[0]),
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G17x7y7[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+extern VTBL_ENTRY _ZTV7G17x7y7[];
+static VTBL_ENTRY _tg__ZTV5E17x7__7G17x7y7[] = {
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E17x7[0]),
+};
+extern void _ZN3C173fooEv();
+static VTBL_ENTRY _tg__ZTV3C17__5E17x7__7G17x7y7[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E17x7[0]),
+ (VTBL_ENTRY)&_ZN3C173fooEv,
+};
+static VTT_ENTRY vtt_G17x7y7[] = {
+ {&(_ZTV7G17x7y7[6]), 6,14},
+ {&(_ZTV7G17x7y7[10]), 10,14},
+ {&(_ZTV7G17x7y7[13]), 13,14},
+ {&(_tg__ZTV5E17x7__7G17x7y7[4]), 4,4},
+ {&(_tg__ZTV3C17__5E17x7__7G17x7y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G17x7y7[];
+extern VTBL_ENTRY _ZTV7G17x7y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G17x7y7[];
+Class_Descriptor cd_G17x7y7 = { "G17x7y7", // class name
+ bases_G17x7y7, 6,
+ &(vtc_G17x7y7[0]), // expected_vtbl_contents
+ &(vtt_G17x7y7[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G17x7y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G17x7y7),14, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G17x7y7),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 E18x7 : virtual C18 , virtual D0 {
+ int fd;
+ ~E18x7(); // tgen
+ E18x7(); // tgen
+};
+//SIG(-1 E18x7) C1{ VBC2{ VBC3{ Fi} BC4{ Fi} v1 Fi} VBC5{ Fi} Fi}
+
+
+E18x7 ::~E18x7(){ note_dtor("E18x7", this);} // tgen
+E18x7 ::E18x7(){ note_ctor("E18x7", this);} // tgen
+
+static void Test_E18x7()
+{
+ extern Class_Descriptor cd_E18x7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E18x7, buf);
+ E18x7 *dp, &lv = *(dp=new (buf) E18x7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E18x7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E18x7)");
+ check_base_class_offset(lv, (A0*)(C18*), ABISELECT(32,20), "E18x7");
+ check_base_class_offset(lv, (B0*)(C18*), ABISELECT(24,12), "E18x7");
+ check_base_class_offset(lv, (C18*), ABISELECT(16,8), "E18x7");
+ check_base_class_offset(lv, (D0*), ABISELECT(36,24), "E18x7");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E18x7.fd");
+ test_class_info(&lv, &cd_E18x7);
+ dp->~E18x7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE18x7(Test_E18x7, "E18x7", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E18x7C1Ev();
+extern void _ZN5E18x7D1Ev();
+Name_Map name_map_E18x7[] = {
+ NSPAIR(_ZN5E18x7C1Ev),
+ NSPAIR(_ZN5E18x7D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E18x7[] = {
+ // 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
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D0, 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, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E18x7[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY vtc_E18x7[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E18x7[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern VTBL_ENTRY _ZTV5E18x7[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__5E18x7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_E18x7[] = {
+ {&(_ZTV5E18x7[5]), 5,10},
+ {&(_ZTV5E18x7[9]), 9,10},
+ {&(_tg__ZTV3C18__5E18x7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E18x7[];
+extern VTBL_ENTRY _ZTV5E18x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x7[];
+Class_Descriptor cd_E18x7 = { "E18x7", // class name
+ bases_E18x7, 4,
+ &(vtc_E18x7[0]), // expected_vtbl_contents
+ &(vtt_E18x7[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E18x7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E18x7),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E18x7),3, //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 G18x7y0 : E18x7 , F1 {
+ int ff;
+ ~G18x7y0(); // tgen
+ G18x7y0(); // tgen
+};
+//SIG(1 G18x7y0) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G18x7y0 ::~G18x7y0(){ note_dtor("G18x7y0", this);} // tgen
+G18x7y0 ::G18x7y0(){ note_ctor("G18x7y0", this);} // tgen
+
+static void Test_G18x7y0()
+{
+ extern Class_Descriptor cd_G18x7y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G18x7y0, buf);
+ G18x7y0 *dp, &lv = *(dp=new (buf) G18x7y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G18x7y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x7y0)");
+ check_base_class_offset(lv, (A0*)(C18*), ABISELECT(48,32), "G18x7y0");
+ check_base_class_offset(lv, (B0*)(C18*), ABISELECT(40,24), "G18x7y0");
+ check_base_class_offset(lv, (C18*)(E18x7*), ABISELECT(32,20), "G18x7y0");
+ check_base_class_offset(lv, (D0*)(E18x7*), ABISELECT(52,36), "G18x7y0");
+ check_base_class_offset(lv, (E18x7*), 0, "G18x7y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G18x7y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G18x7y0.ff");
+ test_class_info(&lv, &cd_G18x7y0);
+ dp->~G18x7y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x7y0(Test_G18x7y0, "G18x7y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G18x7y0C1Ev();
+extern void _ZN7G18x7y0D1Ev();
+Name_Map name_map_G18x7y0[] = {
+ NSPAIR(_ZN7G18x7y0C1Ev),
+ NSPAIR(_ZN7G18x7y0D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E18x7;
+extern VTBL_ENTRY _ZTI5E18x7[];
+extern VTBL_ENTRY _ZTV5E18x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G18x7y0[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E18x7, 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
+ 2, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G18x7y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY vtc_G18x7y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x7y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G18x7y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G18x7y0[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x7y0[];
+static VTBL_ENTRY _tg__ZTV5E18x7__7G18x7y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x7[0]),
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__5E18x7__7G18x7y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E18x7[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__7G18x7y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x7y0[] = {
+ {&(_ZTV7G18x7y0[5]), 5,13},
+ {&(_tg__ZTV5E18x7__7G18x7y0[5]), 5,5},
+ {&(_tg__ZTV3C18__5E18x7__7G18x7y0[4]), 4,5},
+ {&(_ZTV7G18x7y0[12]), 12,13},
+ {&(_tg__ZTV3C18__7G18x7y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x7y0[];
+extern VTBL_ENTRY _ZTV7G18x7y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x7y0[];
+Class_Descriptor cd_G18x7y0 = { "G18x7y0", // class name
+ bases_G18x7y0, 6,
+ &(vtc_G18x7y0[0]), // expected_vtbl_contents
+ &(vtt_G18x7y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G18x7y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x7y0),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x7y0),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 G18x7y1 : virtual E18x7 , F1 {
+ int ff;
+ ~G18x7y1(); // tgen
+ G18x7y1(); // tgen
+};
+//SIG(1 G18x7y1) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G18x7y1 ::~G18x7y1(){ note_dtor("G18x7y1", this);} // tgen
+G18x7y1 ::G18x7y1(){ note_ctor("G18x7y1", this);} // tgen
+
+static void Test_G18x7y1()
+{
+ extern Class_Descriptor cd_G18x7y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G18x7y1, buf);
+ G18x7y1 *dp, &lv = *(dp=new (buf) G18x7y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G18x7y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x7y1)");
+ check_base_class_offset(lv, (A0*)(C18*), ABISELECT(48,32), "G18x7y1");
+ check_base_class_offset(lv, (B0*)(C18*), ABISELECT(40,24), "G18x7y1");
+ check_base_class_offset(lv, (C18*)(E18x7*), ABISELECT(32,20), "G18x7y1");
+ check_base_class_offset(lv, (D0*)(E18x7*), ABISELECT(52,36), "G18x7y1");
+ check_base_class_offset(lv, (E18x7*), ABISELECT(16,12), "G18x7y1");
+ check_base_class_offset(lv, (F1*), 0, "G18x7y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G18x7y1.ff");
+ test_class_info(&lv, &cd_G18x7y1);
+ dp->~G18x7y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x7y1(Test_G18x7y1, "G18x7y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G18x7y1C1Ev();
+extern void _ZN7G18x7y1D1Ev();
+Name_Map name_map_G18x7y1[] = {
+ NSPAIR(_ZN7G18x7y1C1Ev),
+ NSPAIR(_ZN7G18x7y1D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E18x7;
+extern VTBL_ENTRY _ZTI5E18x7[];
+extern VTBL_ENTRY _ZTV5E18x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G18x7y1[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E18x7, 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
+ 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 _ZTI7G18x7y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY vtc_G18x7y1[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x7y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G18x7y1[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G18x7y1[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x7y1[];
+static VTBL_ENTRY _tg__ZTV5E18x7__7G18x7y1[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x7[0]),
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__5E18x7__7G18x7y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E18x7[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__7G18x7y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x7y1[] = {
+ {&(_ZTV7G18x7y1[6]), 6,17},
+ {&(_ZTV7G18x7y1[12]), 12,17},
+ {&(_ZTV7G18x7y1[16]), 16,17},
+ {&(_tg__ZTV5E18x7__7G18x7y1[5]), 5,5},
+ {&(_tg__ZTV3C18__5E18x7__7G18x7y1[4]), 4,5},
+ {&(_tg__ZTV3C18__7G18x7y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x7y1[];
+extern VTBL_ENTRY _ZTV7G18x7y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x7y1[];
+Class_Descriptor cd_G18x7y1 = { "G18x7y1", // class name
+ bases_G18x7y1, 6,
+ &(vtc_G18x7y1[0]), // expected_vtbl_contents
+ &(vtt_G18x7y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G18x7y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x7y1),17, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x7y1),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 G18x7y2 : E18x7 , virtual F1 {
+ int ff;
+ ~G18x7y2(); // tgen
+ G18x7y2(); // tgen
+};
+//SIG(1 G18x7y2) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G18x7y2 ::~G18x7y2(){ note_dtor("G18x7y2", this);} // tgen
+G18x7y2 ::G18x7y2(){ note_ctor("G18x7y2", this);} // tgen
+
+static void Test_G18x7y2()
+{
+ extern Class_Descriptor cd_G18x7y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G18x7y2, buf);
+ G18x7y2 *dp, &lv = *(dp=new (buf) G18x7y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G18x7y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x7y2)");
+ check_base_class_offset(lv, (A0*)(C18*), ABISELECT(32,24), "G18x7y2");
+ check_base_class_offset(lv, (B0*)(C18*), ABISELECT(24,16), "G18x7y2");
+ check_base_class_offset(lv, (C18*)(E18x7*), ABISELECT(16,12), "G18x7y2");
+ check_base_class_offset(lv, (D0*)(E18x7*), ABISELECT(36,28), "G18x7y2");
+ check_base_class_offset(lv, (E18x7*), 0, "G18x7y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(40,32), "G18x7y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G18x7y2.ff");
+ test_class_info(&lv, &cd_G18x7y2);
+ dp->~G18x7y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x7y2(Test_G18x7y2, "G18x7y2", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G18x7y2C1Ev();
+extern void _ZN7G18x7y2D1Ev();
+Name_Map name_map_G18x7y2[] = {
+ NSPAIR(_ZN7G18x7y2C1Ev),
+ NSPAIR(_ZN7G18x7y2D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E18x7;
+extern VTBL_ENTRY _ZTI5E18x7[];
+extern VTBL_ENTRY _ZTV5E18x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G18x7y2[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E18x7, 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(40,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 _ZTI7G18x7y2[];
+extern void _ZN3C183fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G18x7y2[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x7y2[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G18x7y2[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G18x7y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x7y2[];
+static VTBL_ENTRY _tg__ZTV5E18x7__7G18x7y2[] = {
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x7[0]),
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__5E18x7__7G18x7y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E18x7[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__7G18x7y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x7y2[] = {
+ {&(_ZTV7G18x7y2[6]), 6,15},
+ {&(_tg__ZTV5E18x7__7G18x7y2[5]), 5,5},
+ {&(_tg__ZTV3C18__5E18x7__7G18x7y2[4]), 4,5},
+ {&(_ZTV7G18x7y2[10]), 10,15},
+ {&(_ZTV7G18x7y2[14]), 14,15},
+ {&(_tg__ZTV3C18__7G18x7y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x7y2[];
+extern VTBL_ENTRY _ZTV7G18x7y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x7y2[];
+Class_Descriptor cd_G18x7y2 = { "G18x7y2", // class name
+ bases_G18x7y2, 6,
+ &(vtc_G18x7y2[0]), // expected_vtbl_contents
+ &(vtt_G18x7y2[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G18x7y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x7y2),15, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x7y2),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 G18x7y3 : virtual E18x7 , virtual F1 {
+ int ff;
+ ~G18x7y3(); // tgen
+ G18x7y3(); // tgen
+};
+//SIG(1 G18x7y3) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G18x7y3 ::~G18x7y3(){ note_dtor("G18x7y3", this);} // tgen
+G18x7y3 ::G18x7y3(){ note_ctor("G18x7y3", this);} // tgen
+
+static void Test_G18x7y3()
+{
+ extern Class_Descriptor cd_G18x7y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G18x7y3, buf);
+ G18x7y3 *dp, &lv = *(dp=new (buf) G18x7y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G18x7y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x7y3)");
+ check_base_class_offset(lv, (A0*)(C18*), ABISELECT(48,28), "G18x7y3");
+ check_base_class_offset(lv, (B0*)(C18*), ABISELECT(40,20), "G18x7y3");
+ check_base_class_offset(lv, (C18*)(E18x7*), ABISELECT(32,16), "G18x7y3");
+ check_base_class_offset(lv, (D0*)(E18x7*), ABISELECT(52,32), "G18x7y3");
+ check_base_class_offset(lv, (E18x7*), ABISELECT(16,8), "G18x7y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G18x7y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G18x7y3.ff");
+ test_class_info(&lv, &cd_G18x7y3);
+ dp->~G18x7y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x7y3(Test_G18x7y3, "G18x7y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G18x7y3C1Ev();
+extern void _ZN7G18x7y3D1Ev();
+Name_Map name_map_G18x7y3[] = {
+ NSPAIR(_ZN7G18x7y3C1Ev),
+ NSPAIR(_ZN7G18x7y3D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E18x7;
+extern VTBL_ENTRY _ZTI5E18x7[];
+extern VTBL_ENTRY _ZTV5E18x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G18x7y3[] = {
+ // 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
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E18x7, 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
+ 2, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G18x7y3[];
+extern void _ZN3C183fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G18x7y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x7y3[0]),
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G18x7y3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G18x7y3[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G18x7y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x7y3[];
+static VTBL_ENTRY _tg__ZTV5E18x7__7G18x7y3[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x7[0]),
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__5E18x7__7G18x7y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E18x7[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__7G18x7y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x7y3[] = {
+ {&(_ZTV7G18x7y3[7]), 7,21},
+ {&(_ZTV7G18x7y3[12]), 12,21},
+ {&(_ZTV7G18x7y3[16]), 16,21},
+ {&(_ZTV7G18x7y3[20]), 20,21},
+ {&(_tg__ZTV5E18x7__7G18x7y3[5]), 5,5},
+ {&(_tg__ZTV3C18__5E18x7__7G18x7y3[4]), 4,5},
+ {&(_tg__ZTV3C18__7G18x7y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x7y3[];
+extern VTBL_ENTRY _ZTV7G18x7y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x7y3[];
+Class_Descriptor cd_G18x7y3 = { "G18x7y3", // class name
+ bases_G18x7y3, 6,
+ &(vtc_G18x7y3[0]), // expected_vtbl_contents
+ &(vtt_G18x7y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G18x7y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x7y3),21, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x7y3),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 G18x7y4 : E18x7 , F0 {
+ int ff;
+ ~G18x7y4(); // tgen
+ G18x7y4(); // tgen
+};
+//SIG(1 G18x7y4) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G18x7y4 ::~G18x7y4(){ note_dtor("G18x7y4", this);} // tgen
+G18x7y4 ::G18x7y4(){ note_ctor("G18x7y4", this);} // tgen
+
+static void Test_G18x7y4()
+{
+ extern Class_Descriptor cd_G18x7y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G18x7y4, buf);
+ G18x7y4 *dp, &lv = *(dp=new (buf) G18x7y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G18x7y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x7y4)");
+ check_base_class_offset(lv, (A0*)(C18*), ABISELECT(40,28), "G18x7y4");
+ check_base_class_offset(lv, (B0*)(C18*), ABISELECT(32,20), "G18x7y4");
+ check_base_class_offset(lv, (C18*)(E18x7*), ABISELECT(24,16), "G18x7y4");
+ check_base_class_offset(lv, (D0*)(E18x7*), ABISELECT(44,32), "G18x7y4");
+ check_base_class_offset(lv, (E18x7*), 0, "G18x7y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G18x7y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G18x7y4.ff");
+ test_class_info(&lv, &cd_G18x7y4);
+ dp->~G18x7y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x7y4(Test_G18x7y4, "G18x7y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G18x7y4C1Ev();
+extern void _ZN7G18x7y4D1Ev();
+Name_Map name_map_G18x7y4[] = {
+ NSPAIR(_ZN7G18x7y4C1Ev),
+ NSPAIR(_ZN7G18x7y4D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E18x7;
+extern VTBL_ENTRY _ZTI5E18x7[];
+extern VTBL_ENTRY _ZTV5E18x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G18x7y4[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E18x7, 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
+ 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 _ZTI7G18x7y4[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY vtc_G18x7y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x7y4[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G18x7y4[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x7y4[];
+static VTBL_ENTRY _tg__ZTV5E18x7__7G18x7y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x7[0]),
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__5E18x7__7G18x7y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E18x7[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__7G18x7y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x7y4[] = {
+ {&(_ZTV7G18x7y4[5]), 5,10},
+ {&(_tg__ZTV5E18x7__7G18x7y4[5]), 5,5},
+ {&(_tg__ZTV3C18__5E18x7__7G18x7y4[4]), 4,5},
+ {&(_ZTV7G18x7y4[9]), 9,10},
+ {&(_tg__ZTV3C18__7G18x7y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x7y4[];
+extern VTBL_ENTRY _ZTV7G18x7y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x7y4[];
+Class_Descriptor cd_G18x7y4 = { "G18x7y4", // class name
+ bases_G18x7y4, 6,
+ &(vtc_G18x7y4[0]), // expected_vtbl_contents
+ &(vtt_G18x7y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G18x7y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x7y4),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x7y4),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 G18x7y5 : virtual E18x7 , F0 {
+ int ff;
+ ~G18x7y5(); // tgen
+ G18x7y5(); // tgen
+};
+//SIG(1 G18x7y5) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G18x7y5 ::~G18x7y5(){ note_dtor("G18x7y5", this);} // tgen
+G18x7y5 ::G18x7y5(){ note_ctor("G18x7y5", this);} // tgen
+
+static void Test_G18x7y5()
+{
+ extern Class_Descriptor cd_G18x7y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G18x7y5, buf);
+ G18x7y5 *dp, &lv = *(dp=new (buf) G18x7y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G18x7y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x7y5)");
+ check_base_class_offset(lv, (A0*)(C18*), ABISELECT(48,32), "G18x7y5");
+ check_base_class_offset(lv, (B0*)(C18*), ABISELECT(40,24), "G18x7y5");
+ check_base_class_offset(lv, (C18*)(E18x7*), ABISELECT(32,20), "G18x7y5");
+ check_base_class_offset(lv, (D0*)(E18x7*), ABISELECT(52,36), "G18x7y5");
+ check_base_class_offset(lv, (E18x7*), ABISELECT(16,12), "G18x7y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G18x7y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G18x7y5.ff");
+ test_class_info(&lv, &cd_G18x7y5);
+ dp->~G18x7y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x7y5(Test_G18x7y5, "G18x7y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G18x7y5C1Ev();
+extern void _ZN7G18x7y5D1Ev();
+Name_Map name_map_G18x7y5[] = {
+ NSPAIR(_ZN7G18x7y5C1Ev),
+ NSPAIR(_ZN7G18x7y5D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E18x7;
+extern VTBL_ENTRY _ZTI5E18x7[];
+extern VTBL_ENTRY _ZTV5E18x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G18x7y5[] = {
+ // 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
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E18x7, 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_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 _ZTI7G18x7y5[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY vtc_G18x7y5[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x7y5[0]),
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G18x7y5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G18x7y5[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x7y5[];
+static VTBL_ENTRY _tg__ZTV5E18x7__7G18x7y5[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x7[0]),
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__5E18x7__7G18x7y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E18x7[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__7G18x7y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x7y5[] = {
+ {&(_ZTV7G18x7y5[6]), 6,16},
+ {&(_ZTV7G18x7y5[11]), 11,16},
+ {&(_ZTV7G18x7y5[15]), 15,16},
+ {&(_tg__ZTV5E18x7__7G18x7y5[5]), 5,5},
+ {&(_tg__ZTV3C18__5E18x7__7G18x7y5[4]), 4,5},
+ {&(_tg__ZTV3C18__7G18x7y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x7y5[];
+extern VTBL_ENTRY _ZTV7G18x7y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x7y5[];
+Class_Descriptor cd_G18x7y5 = { "G18x7y5", // class name
+ bases_G18x7y5, 6,
+ &(vtc_G18x7y5[0]), // expected_vtbl_contents
+ &(vtt_G18x7y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G18x7y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x7y5),16, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x7y5),6, //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 G18x7y6 : E18x7 , virtual F0 {
+ int ff;
+ ~G18x7y6(); // tgen
+ G18x7y6(); // tgen
+};
+//SIG(1 G18x7y6) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G18x7y6 ::~G18x7y6(){ note_dtor("G18x7y6", this);} // tgen
+G18x7y6 ::G18x7y6(){ note_ctor("G18x7y6", this);} // tgen
+
+static void Test_G18x7y6()
+{
+ extern Class_Descriptor cd_G18x7y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G18x7y6, buf);
+ G18x7y6 *dp, &lv = *(dp=new (buf) G18x7y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G18x7y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x7y6)");
+ check_base_class_offset(lv, (A0*)(C18*), ABISELECT(32,24), "G18x7y6");
+ check_base_class_offset(lv, (B0*)(C18*), ABISELECT(24,16), "G18x7y6");
+ check_base_class_offset(lv, (C18*)(E18x7*), ABISELECT(16,12), "G18x7y6");
+ check_base_class_offset(lv, (D0*)(E18x7*), ABISELECT(36,28), "G18x7y6");
+ check_base_class_offset(lv, (E18x7*), 0, "G18x7y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(40,32), "G18x7y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G18x7y6.ff");
+ test_class_info(&lv, &cd_G18x7y6);
+ dp->~G18x7y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x7y6(Test_G18x7y6, "G18x7y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G18x7y6C1Ev();
+extern void _ZN7G18x7y6D1Ev();
+Name_Map name_map_G18x7y6[] = {
+ NSPAIR(_ZN7G18x7y6C1Ev),
+ NSPAIR(_ZN7G18x7y6D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E18x7;
+extern VTBL_ENTRY _ZTI5E18x7[];
+extern VTBL_ENTRY _ZTV5E18x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G18x7y6[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E18x7, 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
+ 2, //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 _ZTI7G18x7y6[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY vtc_G18x7y6[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x7y6[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G18x7y6[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x7y6[];
+static VTBL_ENTRY _tg__ZTV5E18x7__7G18x7y6[] = {
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x7[0]),
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__5E18x7__7G18x7y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E18x7[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__7G18x7y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x7y6[] = {
+ {&(_ZTV7G18x7y6[6]), 6,11},
+ {&(_tg__ZTV5E18x7__7G18x7y6[5]), 5,5},
+ {&(_tg__ZTV3C18__5E18x7__7G18x7y6[4]), 4,5},
+ {&(_ZTV7G18x7y6[10]), 10,11},
+ {&(_tg__ZTV3C18__7G18x7y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x7y6[];
+extern VTBL_ENTRY _ZTV7G18x7y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x7y6[];
+Class_Descriptor cd_G18x7y6 = { "G18x7y6", // class name
+ bases_G18x7y6, 6,
+ &(vtc_G18x7y6[0]), // expected_vtbl_contents
+ &(vtt_G18x7y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G18x7y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x7y6),11, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x7y6),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 G18x7y7 : virtual E18x7 , virtual F0 {
+ int ff;
+ ~G18x7y7(); // tgen
+ G18x7y7(); // tgen
+};
+//SIG(1 G18x7y7) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G18x7y7 ::~G18x7y7(){ note_dtor("G18x7y7", this);} // tgen
+G18x7y7 ::G18x7y7(){ note_ctor("G18x7y7", this);} // tgen
+
+static void Test_G18x7y7()
+{
+ extern Class_Descriptor cd_G18x7y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G18x7y7, buf);
+ G18x7y7 *dp, &lv = *(dp=new (buf) G18x7y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G18x7y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G18x7y7)");
+ check_base_class_offset(lv, (A0*)(C18*), ABISELECT(48,28), "G18x7y7");
+ check_base_class_offset(lv, (B0*)(C18*), ABISELECT(40,20), "G18x7y7");
+ check_base_class_offset(lv, (C18*)(E18x7*), ABISELECT(32,16), "G18x7y7");
+ check_base_class_offset(lv, (D0*)(E18x7*), ABISELECT(52,32), "G18x7y7");
+ check_base_class_offset(lv, (E18x7*), ABISELECT(16,8), "G18x7y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G18x7y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G18x7y7.ff");
+ test_class_info(&lv, &cd_G18x7y7);
+ dp->~G18x7y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG18x7y7(Test_G18x7y7, "G18x7y7", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G18x7y7C1Ev();
+extern void _ZN7G18x7y7D1Ev();
+Name_Map name_map_G18x7y7[] = {
+ NSPAIR(_ZN7G18x7y7C1Ev),
+ NSPAIR(_ZN7G18x7y7D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E18x7;
+extern VTBL_ENTRY _ZTI5E18x7[];
+extern VTBL_ENTRY _ZTV5E18x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E18x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G18x7y7[] = {
+ // 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
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E18x7, 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
+ 2, //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 _ZTI7G18x7y7[];
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY vtc_G18x7y7[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G18x7y7[0]),
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G18x7y7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G18x7y7[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern VTBL_ENTRY _ZTV7G18x7y7[];
+static VTBL_ENTRY _tg__ZTV5E18x7__7G18x7y7[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E18x7[0]),
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__5E18x7__7G18x7y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E18x7[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+extern void _ZN3C183fooEv();
+static VTBL_ENTRY _tg__ZTV3C18__7G18x7y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C18[0]),
+ (VTBL_ENTRY)&_ZN3C183fooEv,
+};
+static VTT_ENTRY vtt_G18x7y7[] = {
+ {&(_ZTV7G18x7y7[7]), 7,17},
+ {&(_ZTV7G18x7y7[12]), 12,17},
+ {&(_ZTV7G18x7y7[16]), 16,17},
+ {&(_tg__ZTV5E18x7__7G18x7y7[5]), 5,5},
+ {&(_tg__ZTV3C18__5E18x7__7G18x7y7[4]), 4,5},
+ {&(_tg__ZTV3C18__7G18x7y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G18x7y7[];
+extern VTBL_ENTRY _ZTV7G18x7y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G18x7y7[];
+Class_Descriptor cd_G18x7y7 = { "G18x7y7", // class name
+ bases_G18x7y7, 6,
+ &(vtc_G18x7y7[0]), // expected_vtbl_contents
+ &(vtt_G18x7y7[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G18x7y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G18x7y7),17, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G18x7y7),6, //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 E19x7 : virtual C19 , virtual D0 {
+ int fd;
+ ~E19x7(); // tgen
+ E19x7(); // tgen
+};
+//SIG(-1 E19x7) C1{ VBC2{ VBC3{ v1 Fi} BC4{ Fi} v1 Fi} VBC5{ Fi} Fi}
+
+
+E19x7 ::~E19x7(){ note_dtor("E19x7", this);} // tgen
+E19x7 ::E19x7(){ note_ctor("E19x7", this);} // tgen
+
+static void Test_E19x7()
+{
+ extern Class_Descriptor cd_E19x7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E19x7, buf);
+ E19x7 *dp, &lv = *(dp=new (buf) E19x7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E19x7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E19x7)");
+ check_base_class_offset(lv, (A1*)(C19*), ABISELECT(32,20), "E19x7");
+ check_base_class_offset(lv, (B0*)(C19*), ABISELECT(24,12), "E19x7");
+ check_base_class_offset(lv, (C19*), ABISELECT(16,8), "E19x7");
+ check_base_class_offset(lv, (D0*), ABISELECT(44,28), "E19x7");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E19x7.fd");
+ test_class_info(&lv, &cd_E19x7);
+ dp->~E19x7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE19x7(Test_E19x7, "E19x7", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN5E19x7C1Ev();
+extern void _ZN5E19x7D1Ev();
+Name_Map name_map_E19x7[] = {
+ NSPAIR(_ZN5E19x7C1Ev),
+ NSPAIR(_ZN5E19x7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E19x7[] = {
+ // 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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D0, 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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E19x7[];
+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_E19x7[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E19x7[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E19x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern VTBL_ENTRY _ZTV5E19x7[];
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__5E19x7[] = {
+ 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__5E19x7[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_E19x7[] = {
+ {&(_ZTV5E19x7[5]), 5,14},
+ {&(_ZTV5E19x7[9]), 9,14},
+ {&(_ZTV5E19x7[13]), 13,14},
+ {&(_tg__ZTV3C19__5E19x7[3]), 3,4},
+ {&(_tg__ZTV2A1__3C19__5E19x7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E19x7[];
+extern VTBL_ENTRY _ZTV5E19x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x7[];
+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_E19x7 = { "E19x7", // class name
+ bases_E19x7, 4,
+ &(vtc_E19x7[0]), // expected_vtbl_contents
+ &(vtt_E19x7[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI5E19x7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E19x7),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E19x7),5, //virtual table table var
+ 2, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names197,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x7y0 : E19x7 , F1 {
+ int ff;
+ ~G19x7y0(); // tgen
+ G19x7y0(); // tgen
+};
+//SIG(1 G19x7y0) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G19x7y0 ::~G19x7y0(){ note_dtor("G19x7y0", this);} // tgen
+G19x7y0 ::G19x7y0(){ note_ctor("G19x7y0", this);} // tgen
+
+static void Test_G19x7y0()
+{
+ extern Class_Descriptor cd_G19x7y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G19x7y0, buf);
+ G19x7y0 *dp, &lv = *(dp=new (buf) G19x7y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G19x7y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x7y0)");
+ check_base_class_offset(lv, (A1*)(C19*), ABISELECT(48,32), "G19x7y0");
+ check_base_class_offset(lv, (B0*)(C19*), ABISELECT(40,24), "G19x7y0");
+ check_base_class_offset(lv, (C19*)(E19x7*), ABISELECT(32,20), "G19x7y0");
+ check_base_class_offset(lv, (D0*)(E19x7*), ABISELECT(60,40), "G19x7y0");
+ check_base_class_offset(lv, (E19x7*), 0, "G19x7y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G19x7y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G19x7y0.ff");
+ test_class_info(&lv, &cd_G19x7y0);
+ dp->~G19x7y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x7y0(Test_G19x7y0, "G19x7y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G19x7y0C1Ev();
+extern void _ZN7G19x7y0D1Ev();
+Name_Map name_map_G19x7y0[] = {
+ NSPAIR(_ZN7G19x7y0C1Ev),
+ NSPAIR(_ZN7G19x7y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E19x7;
+extern VTBL_ENTRY _ZTI5E19x7[];
+extern VTBL_ENTRY _ZTV5E19x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G19x7y0[] = {
+ // 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(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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E19x7, 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 _ZTI7G19x7y0[];
+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_G19x7y0[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x7y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G19x7y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G19x7y0[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G19x7y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern VTBL_ENTRY _ZTV7G19x7y0[];
+static VTBL_ENTRY _tg__ZTV5E19x7__7G19x7y0[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x7[0]),
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__5E19x7__7G19x7y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E19x7[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__5E19x7__7G19x7y0[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E19x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__7G19x7y0[] = {
+ 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__7G19x7y0[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x7y0[] = {
+ {&(_ZTV7G19x7y0[5]), 5,17},
+ {&(_tg__ZTV5E19x7__7G19x7y0[5]), 5,5},
+ {&(_tg__ZTV3C19__5E19x7__7G19x7y0[4]), 4,5},
+ {&(_tg__ZTV2A1__5E19x7__7G19x7y0[3]), 3,4},
+ {&(_ZTV7G19x7y0[12]), 12,17},
+ {&(_ZTV7G19x7y0[16]), 16,17},
+ {&(_tg__ZTV3C19__7G19x7y0[3]), 3,4},
+ {&(_tg__ZTV2A1__3C19__7G19x7y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G19x7y0[];
+extern VTBL_ENTRY _ZTV7G19x7y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x7y0[];
+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_G19x7y0 = { "G19x7y0", // class name
+ bases_G19x7y0, 6,
+ &(vtc_G19x7y0[0]), // expected_vtbl_contents
+ &(vtt_G19x7y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G19x7y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x7y0),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x7y0),8, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names198,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x7y1 : virtual E19x7 , F1 {
+ int ff;
+ ~G19x7y1(); // tgen
+ G19x7y1(); // tgen
+};
+//SIG(1 G19x7y1) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G19x7y1 ::~G19x7y1(){ note_dtor("G19x7y1", this);} // tgen
+G19x7y1 ::G19x7y1(){ note_ctor("G19x7y1", this);} // tgen
+
+static void Test_G19x7y1()
+{
+ extern Class_Descriptor cd_G19x7y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G19x7y1, buf);
+ G19x7y1 *dp, &lv = *(dp=new (buf) G19x7y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G19x7y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x7y1)");
+ check_base_class_offset(lv, (A1*)(C19*), ABISELECT(48,32), "G19x7y1");
+ check_base_class_offset(lv, (B0*)(C19*), ABISELECT(40,24), "G19x7y1");
+ check_base_class_offset(lv, (C19*)(E19x7*), ABISELECT(32,20), "G19x7y1");
+ check_base_class_offset(lv, (D0*)(E19x7*), ABISELECT(60,40), "G19x7y1");
+ check_base_class_offset(lv, (E19x7*), ABISELECT(16,12), "G19x7y1");
+ check_base_class_offset(lv, (F1*), 0, "G19x7y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G19x7y1.ff");
+ test_class_info(&lv, &cd_G19x7y1);
+ dp->~G19x7y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x7y1(Test_G19x7y1, "G19x7y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G19x7y1C1Ev();
+extern void _ZN7G19x7y1D1Ev();
+Name_Map name_map_G19x7y1[] = {
+ NSPAIR(_ZN7G19x7y1C1Ev),
+ NSPAIR(_ZN7G19x7y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E19x7;
+extern VTBL_ENTRY _ZTI5E19x7[];
+extern VTBL_ENTRY _ZTV5E19x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G19x7y1[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E19x7, 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 _ZTI7G19x7y1[];
+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_G19x7y1[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x7y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G19x7y1[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G19x7y1[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G19x7y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern VTBL_ENTRY _ZTV7G19x7y1[];
+static VTBL_ENTRY _tg__ZTV5E19x7__7G19x7y1[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x7[0]),
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__5E19x7__7G19x7y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E19x7[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__5E19x7__7G19x7y1[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E19x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__7G19x7y1[] = {
+ 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__7G19x7y1[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x7y1[] = {
+ {&(_ZTV7G19x7y1[6]), 6,21},
+ {&(_ZTV7G19x7y1[12]), 12,21},
+ {&(_ZTV7G19x7y1[16]), 16,21},
+ {&(_ZTV7G19x7y1[20]), 20,21},
+ {&(_tg__ZTV5E19x7__7G19x7y1[5]), 5,5},
+ {&(_tg__ZTV3C19__5E19x7__7G19x7y1[4]), 4,5},
+ {&(_tg__ZTV2A1__5E19x7__7G19x7y1[3]), 3,4},
+ {&(_tg__ZTV3C19__7G19x7y1[3]), 3,4},
+ {&(_tg__ZTV2A1__3C19__7G19x7y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G19x7y1[];
+extern VTBL_ENTRY _ZTV7G19x7y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x7y1[];
+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_G19x7y1 = { "G19x7y1", // class name
+ bases_G19x7y1, 6,
+ &(vtc_G19x7y1[0]), // expected_vtbl_contents
+ &(vtt_G19x7y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G19x7y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x7y1),21, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x7y1),9, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names199,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x7y2 : E19x7 , virtual F1 {
+ int ff;
+ ~G19x7y2(); // tgen
+ G19x7y2(); // tgen
+};
+//SIG(1 G19x7y2) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G19x7y2 ::~G19x7y2(){ note_dtor("G19x7y2", this);} // tgen
+G19x7y2 ::G19x7y2(){ note_ctor("G19x7y2", this);} // tgen
+
+static void Test_G19x7y2()
+{
+ extern Class_Descriptor cd_G19x7y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G19x7y2, buf);
+ G19x7y2 *dp, &lv = *(dp=new (buf) G19x7y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G19x7y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x7y2)");
+ check_base_class_offset(lv, (A1*)(C19*), ABISELECT(32,24), "G19x7y2");
+ check_base_class_offset(lv, (B0*)(C19*), ABISELECT(24,16), "G19x7y2");
+ check_base_class_offset(lv, (C19*)(E19x7*), ABISELECT(16,12), "G19x7y2");
+ check_base_class_offset(lv, (D0*)(E19x7*), ABISELECT(44,32), "G19x7y2");
+ check_base_class_offset(lv, (E19x7*), 0, "G19x7y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,36), "G19x7y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G19x7y2.ff");
+ test_class_info(&lv, &cd_G19x7y2);
+ dp->~G19x7y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x7y2(Test_G19x7y2, "G19x7y2", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G19x7y2C1Ev();
+extern void _ZN7G19x7y2D1Ev();
+Name_Map name_map_G19x7y2[] = {
+ NSPAIR(_ZN7G19x7y2C1Ev),
+ NSPAIR(_ZN7G19x7y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E19x7;
+extern VTBL_ENTRY _ZTI5E19x7[];
+extern VTBL_ENTRY _ZTV5E19x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G19x7y2[] = {
+ // 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)
+ 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(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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E19x7, 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,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 _ZTI7G19x7y2[];
+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_G19x7y2[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x7y2[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G19x7y2[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G19x7y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G19x7y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G19x7y2[];
+static VTBL_ENTRY _tg__ZTV5E19x7__7G19x7y2[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x7[0]),
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__5E19x7__7G19x7y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E19x7[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__5E19x7__7G19x7y2[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E19x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__7G19x7y2[] = {
+ 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__7G19x7y2[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x7y2[] = {
+ {&(_ZTV7G19x7y2[6]), 6,19},
+ {&(_tg__ZTV5E19x7__7G19x7y2[5]), 5,5},
+ {&(_tg__ZTV3C19__5E19x7__7G19x7y2[4]), 4,5},
+ {&(_tg__ZTV2A1__5E19x7__7G19x7y2[3]), 3,4},
+ {&(_ZTV7G19x7y2[10]), 10,19},
+ {&(_ZTV7G19x7y2[14]), 14,19},
+ {&(_ZTV7G19x7y2[18]), 18,19},
+ {&(_tg__ZTV3C19__7G19x7y2[3]), 3,4},
+ {&(_tg__ZTV2A1__3C19__7G19x7y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G19x7y2[];
+extern VTBL_ENTRY _ZTV7G19x7y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x7y2[];
+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_G19x7y2 = { "G19x7y2", // class name
+ bases_G19x7y2, 6,
+ &(vtc_G19x7y2[0]), // expected_vtbl_contents
+ &(vtt_G19x7y2[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G19x7y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x7y2),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x7y2),9, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names200,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x7y3 : virtual E19x7 , virtual F1 {
+ int ff;
+ ~G19x7y3(); // tgen
+ G19x7y3(); // tgen
+};
+//SIG(1 G19x7y3) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G19x7y3 ::~G19x7y3(){ note_dtor("G19x7y3", this);} // tgen
+G19x7y3 ::G19x7y3(){ note_ctor("G19x7y3", this);} // tgen
+
+static void Test_G19x7y3()
+{
+ extern Class_Descriptor cd_G19x7y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G19x7y3, buf);
+ G19x7y3 *dp, &lv = *(dp=new (buf) G19x7y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G19x7y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x7y3)");
+ check_base_class_offset(lv, (A1*)(C19*), ABISELECT(48,28), "G19x7y3");
+ check_base_class_offset(lv, (B0*)(C19*), ABISELECT(40,20), "G19x7y3");
+ check_base_class_offset(lv, (C19*)(E19x7*), ABISELECT(32,16), "G19x7y3");
+ check_base_class_offset(lv, (D0*)(E19x7*), ABISELECT(60,36), "G19x7y3");
+ check_base_class_offset(lv, (E19x7*), ABISELECT(16,8), "G19x7y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G19x7y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G19x7y3.ff");
+ test_class_info(&lv, &cd_G19x7y3);
+ dp->~G19x7y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x7y3(Test_G19x7y3, "G19x7y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G19x7y3C1Ev();
+extern void _ZN7G19x7y3D1Ev();
+Name_Map name_map_G19x7y3[] = {
+ NSPAIR(_ZN7G19x7y3C1Ev),
+ NSPAIR(_ZN7G19x7y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E19x7;
+extern VTBL_ENTRY _ZTI5E19x7[];
+extern VTBL_ENTRY _ZTV5E19x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G19x7y3[] = {
+ // 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
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E19x7, 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(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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G19x7y3[];
+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_G19x7y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x7y3[0]),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G19x7y3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G19x7y3[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G19x7y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G19x7y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G19x7y3[];
+static VTBL_ENTRY _tg__ZTV5E19x7__7G19x7y3[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x7[0]),
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__5E19x7__7G19x7y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E19x7[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__5E19x7__7G19x7y3[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E19x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__7G19x7y3[] = {
+ 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__7G19x7y3[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x7y3[] = {
+ {&(_ZTV7G19x7y3[7]), 7,25},
+ {&(_ZTV7G19x7y3[12]), 12,25},
+ {&(_ZTV7G19x7y3[16]), 16,25},
+ {&(_ZTV7G19x7y3[20]), 20,25},
+ {&(_ZTV7G19x7y3[24]), 24,25},
+ {&(_tg__ZTV5E19x7__7G19x7y3[5]), 5,5},
+ {&(_tg__ZTV3C19__5E19x7__7G19x7y3[4]), 4,5},
+ {&(_tg__ZTV2A1__5E19x7__7G19x7y3[3]), 3,4},
+ {&(_tg__ZTV3C19__7G19x7y3[3]), 3,4},
+ {&(_tg__ZTV2A1__3C19__7G19x7y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G19x7y3[];
+extern VTBL_ENTRY _ZTV7G19x7y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x7y3[];
+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_G19x7y3 = { "G19x7y3", // class name
+ bases_G19x7y3, 6,
+ &(vtc_G19x7y3[0]), // expected_vtbl_contents
+ &(vtt_G19x7y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G19x7y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x7y3),25, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x7y3),10, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names201,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x7y4 : E19x7 , F0 {
+ int ff;
+ ~G19x7y4(); // tgen
+ G19x7y4(); // tgen
+};
+//SIG(1 G19x7y4) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G19x7y4 ::~G19x7y4(){ note_dtor("G19x7y4", this);} // tgen
+G19x7y4 ::G19x7y4(){ note_ctor("G19x7y4", this);} // tgen
+
+static void Test_G19x7y4()
+{
+ extern Class_Descriptor cd_G19x7y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G19x7y4, buf);
+ G19x7y4 *dp, &lv = *(dp=new (buf) G19x7y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G19x7y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x7y4)");
+ check_base_class_offset(lv, (A1*)(C19*), ABISELECT(40,28), "G19x7y4");
+ check_base_class_offset(lv, (B0*)(C19*), ABISELECT(32,20), "G19x7y4");
+ check_base_class_offset(lv, (C19*)(E19x7*), ABISELECT(24,16), "G19x7y4");
+ check_base_class_offset(lv, (D0*)(E19x7*), ABISELECT(52,36), "G19x7y4");
+ check_base_class_offset(lv, (E19x7*), 0, "G19x7y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G19x7y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G19x7y4.ff");
+ test_class_info(&lv, &cd_G19x7y4);
+ dp->~G19x7y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x7y4(Test_G19x7y4, "G19x7y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G19x7y4C1Ev();
+extern void _ZN7G19x7y4D1Ev();
+Name_Map name_map_G19x7y4[] = {
+ NSPAIR(_ZN7G19x7y4C1Ev),
+ NSPAIR(_ZN7G19x7y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E19x7;
+extern VTBL_ENTRY _ZTI5E19x7[];
+extern VTBL_ENTRY _ZTV5E19x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G19x7y4[] = {
+ // 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(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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E19x7, 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 _ZTI7G19x7y4[];
+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_G19x7y4[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x7y4[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G19x7y4[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G19x7y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern VTBL_ENTRY _ZTV7G19x7y4[];
+static VTBL_ENTRY _tg__ZTV5E19x7__7G19x7y4[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x7[0]),
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__5E19x7__7G19x7y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E19x7[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__5E19x7__7G19x7y4[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E19x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__7G19x7y4[] = {
+ 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__7G19x7y4[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x7y4[] = {
+ {&(_ZTV7G19x7y4[5]), 5,14},
+ {&(_tg__ZTV5E19x7__7G19x7y4[5]), 5,5},
+ {&(_tg__ZTV3C19__5E19x7__7G19x7y4[4]), 4,5},
+ {&(_tg__ZTV2A1__5E19x7__7G19x7y4[3]), 3,4},
+ {&(_ZTV7G19x7y4[9]), 9,14},
+ {&(_ZTV7G19x7y4[13]), 13,14},
+ {&(_tg__ZTV3C19__7G19x7y4[3]), 3,4},
+ {&(_tg__ZTV2A1__3C19__7G19x7y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G19x7y4[];
+extern VTBL_ENTRY _ZTV7G19x7y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x7y4[];
+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_G19x7y4 = { "G19x7y4", // class name
+ bases_G19x7y4, 6,
+ &(vtc_G19x7y4[0]), // expected_vtbl_contents
+ &(vtt_G19x7y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G19x7y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x7y4),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x7y4),8, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names202,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x7y5 : virtual E19x7 , F0 {
+ int ff;
+ ~G19x7y5(); // tgen
+ G19x7y5(); // tgen
+};
+//SIG(1 G19x7y5) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G19x7y5 ::~G19x7y5(){ note_dtor("G19x7y5", this);} // tgen
+G19x7y5 ::G19x7y5(){ note_ctor("G19x7y5", this);} // tgen
+
+static void Test_G19x7y5()
+{
+ extern Class_Descriptor cd_G19x7y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G19x7y5, buf);
+ G19x7y5 *dp, &lv = *(dp=new (buf) G19x7y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G19x7y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x7y5)");
+ check_base_class_offset(lv, (A1*)(C19*), ABISELECT(48,32), "G19x7y5");
+ check_base_class_offset(lv, (B0*)(C19*), ABISELECT(40,24), "G19x7y5");
+ check_base_class_offset(lv, (C19*)(E19x7*), ABISELECT(32,20), "G19x7y5");
+ check_base_class_offset(lv, (D0*)(E19x7*), ABISELECT(60,40), "G19x7y5");
+ check_base_class_offset(lv, (E19x7*), ABISELECT(16,12), "G19x7y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G19x7y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G19x7y5.ff");
+ test_class_info(&lv, &cd_G19x7y5);
+ dp->~G19x7y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x7y5(Test_G19x7y5, "G19x7y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G19x7y5C1Ev();
+extern void _ZN7G19x7y5D1Ev();
+Name_Map name_map_G19x7y5[] = {
+ NSPAIR(_ZN7G19x7y5C1Ev),
+ NSPAIR(_ZN7G19x7y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E19x7;
+extern VTBL_ENTRY _ZTI5E19x7[];
+extern VTBL_ENTRY _ZTV5E19x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G19x7y5[] = {
+ // 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
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E19x7, 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 _ZTI7G19x7y5[];
+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_G19x7y5[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x7y5[0]),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G19x7y5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G19x7y5[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G19x7y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern VTBL_ENTRY _ZTV7G19x7y5[];
+static VTBL_ENTRY _tg__ZTV5E19x7__7G19x7y5[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x7[0]),
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__5E19x7__7G19x7y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E19x7[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__5E19x7__7G19x7y5[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E19x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__7G19x7y5[] = {
+ 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__7G19x7y5[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x7y5[] = {
+ {&(_ZTV7G19x7y5[6]), 6,20},
+ {&(_ZTV7G19x7y5[11]), 11,20},
+ {&(_ZTV7G19x7y5[15]), 15,20},
+ {&(_ZTV7G19x7y5[19]), 19,20},
+ {&(_tg__ZTV5E19x7__7G19x7y5[5]), 5,5},
+ {&(_tg__ZTV3C19__5E19x7__7G19x7y5[4]), 4,5},
+ {&(_tg__ZTV2A1__5E19x7__7G19x7y5[3]), 3,4},
+ {&(_tg__ZTV3C19__7G19x7y5[3]), 3,4},
+ {&(_tg__ZTV2A1__3C19__7G19x7y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G19x7y5[];
+extern VTBL_ENTRY _ZTV7G19x7y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x7y5[];
+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_G19x7y5 = { "G19x7y5", // class name
+ bases_G19x7y5, 6,
+ &(vtc_G19x7y5[0]), // expected_vtbl_contents
+ &(vtt_G19x7y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G19x7y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x7y5),20, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x7y5),9, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names203,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x7y6 : E19x7 , virtual F0 {
+ int ff;
+ ~G19x7y6(); // tgen
+ G19x7y6(); // tgen
+};
+//SIG(1 G19x7y6) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G19x7y6 ::~G19x7y6(){ note_dtor("G19x7y6", this);} // tgen
+G19x7y6 ::G19x7y6(){ note_ctor("G19x7y6", this);} // tgen
+
+static void Test_G19x7y6()
+{
+ extern Class_Descriptor cd_G19x7y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G19x7y6, buf);
+ G19x7y6 *dp, &lv = *(dp=new (buf) G19x7y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G19x7y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x7y6)");
+ check_base_class_offset(lv, (A1*)(C19*), ABISELECT(32,24), "G19x7y6");
+ check_base_class_offset(lv, (B0*)(C19*), ABISELECT(24,16), "G19x7y6");
+ check_base_class_offset(lv, (C19*)(E19x7*), ABISELECT(16,12), "G19x7y6");
+ check_base_class_offset(lv, (D0*)(E19x7*), ABISELECT(44,32), "G19x7y6");
+ check_base_class_offset(lv, (E19x7*), 0, "G19x7y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(48,36), "G19x7y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G19x7y6.ff");
+ test_class_info(&lv, &cd_G19x7y6);
+ dp->~G19x7y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x7y6(Test_G19x7y6, "G19x7y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G19x7y6C1Ev();
+extern void _ZN7G19x7y6D1Ev();
+Name_Map name_map_G19x7y6[] = {
+ NSPAIR(_ZN7G19x7y6C1Ev),
+ NSPAIR(_ZN7G19x7y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E19x7;
+extern VTBL_ENTRY _ZTI5E19x7[];
+extern VTBL_ENTRY _ZTV5E19x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G19x7y6[] = {
+ // 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)
+ 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(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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E19x7, 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(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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G19x7y6[];
+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_G19x7y6[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x7y6[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G19x7y6[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G19x7y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern VTBL_ENTRY _ZTV7G19x7y6[];
+static VTBL_ENTRY _tg__ZTV5E19x7__7G19x7y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x7[0]),
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__5E19x7__7G19x7y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E19x7[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__5E19x7__7G19x7y6[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E19x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__7G19x7y6[] = {
+ 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__7G19x7y6[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x7y6[] = {
+ {&(_ZTV7G19x7y6[6]), 6,15},
+ {&(_tg__ZTV5E19x7__7G19x7y6[5]), 5,5},
+ {&(_tg__ZTV3C19__5E19x7__7G19x7y6[4]), 4,5},
+ {&(_tg__ZTV2A1__5E19x7__7G19x7y6[3]), 3,4},
+ {&(_ZTV7G19x7y6[10]), 10,15},
+ {&(_ZTV7G19x7y6[14]), 14,15},
+ {&(_tg__ZTV3C19__7G19x7y6[3]), 3,4},
+ {&(_tg__ZTV2A1__3C19__7G19x7y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G19x7y6[];
+extern VTBL_ENTRY _ZTV7G19x7y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x7y6[];
+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_G19x7y6 = { "G19x7y6", // class name
+ bases_G19x7y6, 6,
+ &(vtc_G19x7y6[0]), // expected_vtbl_contents
+ &(vtt_G19x7y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G19x7y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x7y6),15, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x7y6),8, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names204,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G19x7y7 : virtual E19x7 , virtual F0 {
+ int ff;
+ ~G19x7y7(); // tgen
+ G19x7y7(); // tgen
+};
+//SIG(1 G19x7y7) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G19x7y7 ::~G19x7y7(){ note_dtor("G19x7y7", this);} // tgen
+G19x7y7 ::G19x7y7(){ note_ctor("G19x7y7", this);} // tgen
+
+static void Test_G19x7y7()
+{
+ extern Class_Descriptor cd_G19x7y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G19x7y7, buf);
+ G19x7y7 *dp, &lv = *(dp=new (buf) G19x7y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G19x7y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G19x7y7)");
+ check_base_class_offset(lv, (A1*)(C19*), ABISELECT(48,28), "G19x7y7");
+ check_base_class_offset(lv, (B0*)(C19*), ABISELECT(40,20), "G19x7y7");
+ check_base_class_offset(lv, (C19*)(E19x7*), ABISELECT(32,16), "G19x7y7");
+ check_base_class_offset(lv, (D0*)(E19x7*), ABISELECT(60,36), "G19x7y7");
+ check_base_class_offset(lv, (E19x7*), ABISELECT(16,8), "G19x7y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(64,40), "G19x7y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G19x7y7.ff");
+ test_class_info(&lv, &cd_G19x7y7);
+ dp->~G19x7y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG19x7y7(Test_G19x7y7, "G19x7y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G19x7y7C1Ev();
+extern void _ZN7G19x7y7D1Ev();
+Name_Map name_map_G19x7y7[] = {
+ NSPAIR(_ZN7G19x7y7C1Ev),
+ NSPAIR(_ZN7G19x7y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E19x7;
+extern VTBL_ENTRY _ZTI5E19x7[];
+extern VTBL_ENTRY _ZTV5E19x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E19x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G19x7y7[] = {
+ // 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
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E19x7, 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(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 _ZTI7G19x7y7[];
+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_G19x7y7[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G19x7y7[0]),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G19x7y7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G19x7y7[0]),
+ (VTBL_ENTRY)&_ZN3C193fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G19x7y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern VTBL_ENTRY _ZTV7G19x7y7[];
+static VTBL_ENTRY _tg__ZTV5E19x7__7G19x7y7[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E19x7[0]),
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__5E19x7__7G19x7y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E19x7[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__5E19x7__7G19x7y7[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E19x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+extern void _ZN3C193fooEv();
+static VTBL_ENTRY _tg__ZTV3C19__7G19x7y7[] = {
+ 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__7G19x7y7[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C19[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C193fooEv,_ZTv0_n12_N3C193fooEv),
+};
+static VTT_ENTRY vtt_G19x7y7[] = {
+ {&(_ZTV7G19x7y7[7]), 7,21},
+ {&(_ZTV7G19x7y7[12]), 12,21},
+ {&(_ZTV7G19x7y7[16]), 16,21},
+ {&(_ZTV7G19x7y7[20]), 20,21},
+ {&(_tg__ZTV5E19x7__7G19x7y7[5]), 5,5},
+ {&(_tg__ZTV3C19__5E19x7__7G19x7y7[4]), 4,5},
+ {&(_tg__ZTV2A1__5E19x7__7G19x7y7[3]), 3,4},
+ {&(_tg__ZTV3C19__7G19x7y7[3]), 3,4},
+ {&(_tg__ZTV2A1__3C19__7G19x7y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G19x7y7[];
+extern VTBL_ENTRY _ZTV7G19x7y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G19x7y7[];
+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_G19x7y7 = { "G19x7y7", // class name
+ bases_G19x7y7, 6,
+ &(vtc_G19x7y7[0]), // expected_vtbl_contents
+ &(vtt_G19x7y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G19x7y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G19x7y7),21, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G19x7y7),9, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names205,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E20x7 : virtual C20 , virtual D0 {
+ int fd;
+ ~E20x7(); // tgen
+ E20x7(); // tgen
+};
+//SIG(-1 E20x7) C1{ VBC2{ BC3{ Fi} BC4{ v1 Fi} v1 Fi} VBC5{ Fi} Fi}
+
+
+E20x7 ::~E20x7(){ note_dtor("E20x7", this);} // tgen
+E20x7 ::E20x7(){ note_ctor("E20x7", this);} // tgen
+
+static void Test_E20x7()
+{
+ extern Class_Descriptor cd_E20x7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E20x7, buf);
+ E20x7 *dp, &lv = *(dp=new (buf) E20x7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E20x7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E20x7)");
+ check_base_class_offset(lv, (A0*)(C20*), ABISELECT(28,16), "E20x7");
+ check_base_class_offset(lv, (B1*)(C20*), ABISELECT(16,8), "E20x7");
+ check_base_class_offset(lv, (C20*), ABISELECT(16,8), "E20x7");
+ check_base_class_offset(lv, (D0*), ABISELECT(36,24), "E20x7");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E20x7.fd");
+ test_class_info(&lv, &cd_E20x7);
+ dp->~E20x7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE20x7(Test_E20x7, "E20x7", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E20x7C1Ev();
+extern void _ZN5E20x7D1Ev();
+Name_Map name_map_E20x7[] = {
+ NSPAIR(_ZN5E20x7C1Ev),
+ NSPAIR(_ZN5E20x7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E20x7[] = {
+ // 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_D0, 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, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E20x7[];
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY vtc_E20x7[] = {
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x7[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E20x7[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+extern VTBL_ENTRY _ZTV5E20x7[];
+static VTT_ENTRY vtt_E20x7[] = {
+ {&(_ZTV5E20x7[4]), 4,8},
+ {&(_ZTV5E20x7[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI5E20x7[];
+extern VTBL_ENTRY _ZTV5E20x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x7[];
+Class_Descriptor cd_E20x7 = { "E20x7", // class name
+ bases_E20x7, 4,
+ &(vtc_E20x7[0]), // expected_vtbl_contents
+ &(vtt_E20x7[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E20x7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E20x7),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E20x7),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 G20x7y0 : E20x7 , F1 {
+ int ff;
+ ~G20x7y0(); // tgen
+ G20x7y0(); // tgen
+};
+//SIG(1 G20x7y0) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G20x7y0 ::~G20x7y0(){ note_dtor("G20x7y0", this);} // tgen
+G20x7y0 ::G20x7y0(){ note_ctor("G20x7y0", this);} // tgen
+
+static void Test_G20x7y0()
+{
+ extern Class_Descriptor cd_G20x7y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G20x7y0, buf);
+ G20x7y0 *dp, &lv = *(dp=new (buf) G20x7y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G20x7y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x7y0)");
+ check_base_class_offset(lv, (A0*)(C20*), ABISELECT(44,28), "G20x7y0");
+ check_base_class_offset(lv, (B1*)(C20*), ABISELECT(32,20), "G20x7y0");
+ check_base_class_offset(lv, (C20*)(E20x7*), ABISELECT(32,20), "G20x7y0");
+ check_base_class_offset(lv, (D0*)(E20x7*), ABISELECT(52,36), "G20x7y0");
+ check_base_class_offset(lv, (E20x7*), 0, "G20x7y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G20x7y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G20x7y0.ff");
+ test_class_info(&lv, &cd_G20x7y0);
+ dp->~G20x7y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x7y0(Test_G20x7y0, "G20x7y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G20x7y0C1Ev();
+extern void _ZN7G20x7y0D1Ev();
+Name_Map name_map_G20x7y0[] = {
+ NSPAIR(_ZN7G20x7y0C1Ev),
+ NSPAIR(_ZN7G20x7y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E20x7;
+extern VTBL_ENTRY _ZTI5E20x7[];
+extern VTBL_ENTRY _ZTV5E20x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G20x7y0[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E20x7, 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 _ZTI7G20x7y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY vtc_G20x7y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x7y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G20x7y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G20x7y0[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x7y0[];
+static VTBL_ENTRY _tg__ZTV5E20x7__7G20x7y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x7[0]),
+};
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY _tg__ZTV3C20__5E20x7__7G20x7y0[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E20x7[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+static VTT_ENTRY vtt_G20x7y0[] = {
+ {&(_ZTV7G20x7y0[4]), 4,11},
+ {&(_tg__ZTV5E20x7__7G20x7y0[4]), 4,4},
+ {&(_tg__ZTV3C20__5E20x7__7G20x7y0[3]), 3,4},
+ {&(_ZTV7G20x7y0[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI7G20x7y0[];
+extern VTBL_ENTRY _ZTV7G20x7y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x7y0[];
+Class_Descriptor cd_G20x7y0 = { "G20x7y0", // class name
+ bases_G20x7y0, 6,
+ &(vtc_G20x7y0[0]), // expected_vtbl_contents
+ &(vtt_G20x7y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G20x7y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x7y0),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x7y0),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 G20x7y1 : virtual E20x7 , F1 {
+ int ff;
+ ~G20x7y1(); // tgen
+ G20x7y1(); // tgen
+};
+//SIG(1 G20x7y1) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G20x7y1 ::~G20x7y1(){ note_dtor("G20x7y1", this);} // tgen
+G20x7y1 ::G20x7y1(){ note_ctor("G20x7y1", this);} // tgen
+
+static void Test_G20x7y1()
+{
+ extern Class_Descriptor cd_G20x7y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G20x7y1, buf);
+ G20x7y1 *dp, &lv = *(dp=new (buf) G20x7y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G20x7y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x7y1)");
+ check_base_class_offset(lv, (A0*)(C20*), ABISELECT(44,28), "G20x7y1");
+ check_base_class_offset(lv, (B1*)(C20*), ABISELECT(32,20), "G20x7y1");
+ check_base_class_offset(lv, (C20*)(E20x7*), ABISELECT(32,20), "G20x7y1");
+ check_base_class_offset(lv, (D0*)(E20x7*), ABISELECT(52,36), "G20x7y1");
+ check_base_class_offset(lv, (E20x7*), ABISELECT(16,12), "G20x7y1");
+ check_base_class_offset(lv, (F1*), 0, "G20x7y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G20x7y1.ff");
+ test_class_info(&lv, &cd_G20x7y1);
+ dp->~G20x7y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x7y1(Test_G20x7y1, "G20x7y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G20x7y1C1Ev();
+extern void _ZN7G20x7y1D1Ev();
+Name_Map name_map_G20x7y1[] = {
+ NSPAIR(_ZN7G20x7y1C1Ev),
+ NSPAIR(_ZN7G20x7y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E20x7;
+extern VTBL_ENTRY _ZTI5E20x7[];
+extern VTBL_ENTRY _ZTV5E20x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G20x7y1[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E20x7, 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 _ZTI7G20x7y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY vtc_G20x7y1[] = {
+ ABISELECT(52,36),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x7y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G20x7y1[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G20x7y1[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x7y1[];
+static VTBL_ENTRY _tg__ZTV5E20x7__7G20x7y1[] = {
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x7[0]),
+};
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY _tg__ZTV3C20__5E20x7__7G20x7y1[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E20x7[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+static VTT_ENTRY vtt_G20x7y1[] = {
+ {&(_ZTV7G20x7y1[5]), 5,14},
+ {&(_ZTV7G20x7y1[10]), 10,14},
+ {&(_ZTV7G20x7y1[13]), 13,14},
+ {&(_tg__ZTV5E20x7__7G20x7y1[4]), 4,4},
+ {&(_tg__ZTV3C20__5E20x7__7G20x7y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G20x7y1[];
+extern VTBL_ENTRY _ZTV7G20x7y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x7y1[];
+Class_Descriptor cd_G20x7y1 = { "G20x7y1", // class name
+ bases_G20x7y1, 6,
+ &(vtc_G20x7y1[0]), // expected_vtbl_contents
+ &(vtt_G20x7y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G20x7y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x7y1),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x7y1),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 G20x7y2 : E20x7 , virtual F1 {
+ int ff;
+ ~G20x7y2(); // tgen
+ G20x7y2(); // tgen
+};
+//SIG(1 G20x7y2) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G20x7y2 ::~G20x7y2(){ note_dtor("G20x7y2", this);} // tgen
+G20x7y2 ::G20x7y2(){ note_ctor("G20x7y2", this);} // tgen
+
+static void Test_G20x7y2()
+{
+ extern Class_Descriptor cd_G20x7y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G20x7y2, buf);
+ G20x7y2 *dp, &lv = *(dp=new (buf) G20x7y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G20x7y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x7y2)");
+ check_base_class_offset(lv, (A0*)(C20*), ABISELECT(28,20), "G20x7y2");
+ check_base_class_offset(lv, (B1*)(C20*), ABISELECT(16,12), "G20x7y2");
+ check_base_class_offset(lv, (C20*)(E20x7*), ABISELECT(16,12), "G20x7y2");
+ check_base_class_offset(lv, (D0*)(E20x7*), ABISELECT(36,28), "G20x7y2");
+ check_base_class_offset(lv, (E20x7*), 0, "G20x7y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(40,32), "G20x7y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G20x7y2.ff");
+ test_class_info(&lv, &cd_G20x7y2);
+ dp->~G20x7y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x7y2(Test_G20x7y2, "G20x7y2", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G20x7y2C1Ev();
+extern void _ZN7G20x7y2D1Ev();
+Name_Map name_map_G20x7y2[] = {
+ NSPAIR(_ZN7G20x7y2C1Ev),
+ NSPAIR(_ZN7G20x7y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E20x7;
+extern VTBL_ENTRY _ZTI5E20x7[];
+extern VTBL_ENTRY _ZTV5E20x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G20x7y2[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E20x7, 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(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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G20x7y2[];
+extern void _ZN3C203fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G20x7y2[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x7y2[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G20x7y2[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G20x7y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x7y2[];
+static VTBL_ENTRY _tg__ZTV5E20x7__7G20x7y2[] = {
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x7[0]),
+};
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY _tg__ZTV3C20__5E20x7__7G20x7y2[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E20x7[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+static VTT_ENTRY vtt_G20x7y2[] = {
+ {&(_ZTV7G20x7y2[5]), 5,13},
+ {&(_tg__ZTV5E20x7__7G20x7y2[4]), 4,4},
+ {&(_tg__ZTV3C20__5E20x7__7G20x7y2[3]), 3,4},
+ {&(_ZTV7G20x7y2[8]), 8,13},
+ {&(_ZTV7G20x7y2[12]), 12,13},
+};
+extern VTBL_ENTRY _ZTI7G20x7y2[];
+extern VTBL_ENTRY _ZTV7G20x7y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x7y2[];
+Class_Descriptor cd_G20x7y2 = { "G20x7y2", // class name
+ bases_G20x7y2, 6,
+ &(vtc_G20x7y2[0]), // expected_vtbl_contents
+ &(vtt_G20x7y2[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G20x7y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x7y2),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x7y2),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 G20x7y3 : virtual E20x7 , virtual F1 {
+ int ff;
+ ~G20x7y3(); // tgen
+ G20x7y3(); // tgen
+};
+//SIG(1 G20x7y3) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G20x7y3 ::~G20x7y3(){ note_dtor("G20x7y3", this);} // tgen
+G20x7y3 ::G20x7y3(){ note_ctor("G20x7y3", this);} // tgen
+
+static void Test_G20x7y3()
+{
+ extern Class_Descriptor cd_G20x7y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G20x7y3, buf);
+ G20x7y3 *dp, &lv = *(dp=new (buf) G20x7y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G20x7y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x7y3)");
+ check_base_class_offset(lv, (A0*)(C20*), ABISELECT(44,24), "G20x7y3");
+ check_base_class_offset(lv, (B1*)(C20*), ABISELECT(32,16), "G20x7y3");
+ check_base_class_offset(lv, (C20*)(E20x7*), ABISELECT(32,16), "G20x7y3");
+ check_base_class_offset(lv, (D0*)(E20x7*), ABISELECT(52,32), "G20x7y3");
+ check_base_class_offset(lv, (E20x7*), ABISELECT(16,8), "G20x7y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G20x7y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G20x7y3.ff");
+ test_class_info(&lv, &cd_G20x7y3);
+ dp->~G20x7y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x7y3(Test_G20x7y3, "G20x7y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G20x7y3C1Ev();
+extern void _ZN7G20x7y3D1Ev();
+Name_Map name_map_G20x7y3[] = {
+ NSPAIR(_ZN7G20x7y3C1Ev),
+ NSPAIR(_ZN7G20x7y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E20x7;
+extern VTBL_ENTRY _ZTI5E20x7[];
+extern VTBL_ENTRY _ZTV5E20x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G20x7y3[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E20x7, 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 _ZTI7G20x7y3[];
+extern void _ZN3C203fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G20x7y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x7y3[0]),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G20x7y3[0]),
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G20x7y3[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G20x7y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x7y3[];
+static VTBL_ENTRY _tg__ZTV5E20x7__7G20x7y3[] = {
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x7[0]),
+};
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY _tg__ZTV3C20__5E20x7__7G20x7y3[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E20x7[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+static VTT_ENTRY vtt_G20x7y3[] = {
+ {&(_ZTV7G20x7y3[6]), 6,18},
+ {&(_ZTV7G20x7y3[10]), 10,18},
+ {&(_ZTV7G20x7y3[13]), 13,18},
+ {&(_ZTV7G20x7y3[17]), 17,18},
+ {&(_tg__ZTV5E20x7__7G20x7y3[4]), 4,4},
+ {&(_tg__ZTV3C20__5E20x7__7G20x7y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G20x7y3[];
+extern VTBL_ENTRY _ZTV7G20x7y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x7y3[];
+Class_Descriptor cd_G20x7y3 = { "G20x7y3", // class name
+ bases_G20x7y3, 6,
+ &(vtc_G20x7y3[0]), // expected_vtbl_contents
+ &(vtt_G20x7y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G20x7y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x7y3),18, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x7y3),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 G20x7y4 : E20x7 , F0 {
+ int ff;
+ ~G20x7y4(); // tgen
+ G20x7y4(); // tgen
+};
+//SIG(1 G20x7y4) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G20x7y4 ::~G20x7y4(){ note_dtor("G20x7y4", this);} // tgen
+G20x7y4 ::G20x7y4(){ note_ctor("G20x7y4", this);} // tgen
+
+static void Test_G20x7y4()
+{
+ extern Class_Descriptor cd_G20x7y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G20x7y4, buf);
+ G20x7y4 *dp, &lv = *(dp=new (buf) G20x7y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G20x7y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x7y4)");
+ check_base_class_offset(lv, (A0*)(C20*), ABISELECT(36,24), "G20x7y4");
+ check_base_class_offset(lv, (B1*)(C20*), ABISELECT(24,16), "G20x7y4");
+ check_base_class_offset(lv, (C20*)(E20x7*), ABISELECT(24,16), "G20x7y4");
+ check_base_class_offset(lv, (D0*)(E20x7*), ABISELECT(44,32), "G20x7y4");
+ check_base_class_offset(lv, (E20x7*), 0, "G20x7y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G20x7y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G20x7y4.ff");
+ test_class_info(&lv, &cd_G20x7y4);
+ dp->~G20x7y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x7y4(Test_G20x7y4, "G20x7y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G20x7y4C1Ev();
+extern void _ZN7G20x7y4D1Ev();
+Name_Map name_map_G20x7y4[] = {
+ NSPAIR(_ZN7G20x7y4C1Ev),
+ NSPAIR(_ZN7G20x7y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E20x7;
+extern VTBL_ENTRY _ZTI5E20x7[];
+extern VTBL_ENTRY _ZTV5E20x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G20x7y4[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E20x7, 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 _ZTI7G20x7y4[];
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY vtc_G20x7y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x7y4[0]),
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G20x7y4[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x7y4[];
+static VTBL_ENTRY _tg__ZTV5E20x7__7G20x7y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x7[0]),
+};
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY _tg__ZTV3C20__5E20x7__7G20x7y4[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E20x7[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+static VTT_ENTRY vtt_G20x7y4[] = {
+ {&(_ZTV7G20x7y4[4]), 4,8},
+ {&(_tg__ZTV5E20x7__7G20x7y4[4]), 4,4},
+ {&(_tg__ZTV3C20__5E20x7__7G20x7y4[3]), 3,4},
+ {&(_ZTV7G20x7y4[7]), 7,8},
+};
+extern VTBL_ENTRY _ZTI7G20x7y4[];
+extern VTBL_ENTRY _ZTV7G20x7y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x7y4[];
+Class_Descriptor cd_G20x7y4 = { "G20x7y4", // class name
+ bases_G20x7y4, 6,
+ &(vtc_G20x7y4[0]), // expected_vtbl_contents
+ &(vtt_G20x7y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G20x7y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x7y4),8, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x7y4),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 G20x7y5 : virtual E20x7 , F0 {
+ int ff;
+ ~G20x7y5(); // tgen
+ G20x7y5(); // tgen
+};
+//SIG(1 G20x7y5) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G20x7y5 ::~G20x7y5(){ note_dtor("G20x7y5", this);} // tgen
+G20x7y5 ::G20x7y5(){ note_ctor("G20x7y5", this);} // tgen
+
+static void Test_G20x7y5()
+{
+ extern Class_Descriptor cd_G20x7y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G20x7y5, buf);
+ G20x7y5 *dp, &lv = *(dp=new (buf) G20x7y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G20x7y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x7y5)");
+ check_base_class_offset(lv, (A0*)(C20*), ABISELECT(44,28), "G20x7y5");
+ check_base_class_offset(lv, (B1*)(C20*), ABISELECT(32,20), "G20x7y5");
+ check_base_class_offset(lv, (C20*)(E20x7*), ABISELECT(32,20), "G20x7y5");
+ check_base_class_offset(lv, (D0*)(E20x7*), ABISELECT(52,36), "G20x7y5");
+ check_base_class_offset(lv, (E20x7*), ABISELECT(16,12), "G20x7y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G20x7y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G20x7y5.ff");
+ test_class_info(&lv, &cd_G20x7y5);
+ dp->~G20x7y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x7y5(Test_G20x7y5, "G20x7y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G20x7y5C1Ev();
+extern void _ZN7G20x7y5D1Ev();
+Name_Map name_map_G20x7y5[] = {
+ NSPAIR(_ZN7G20x7y5C1Ev),
+ NSPAIR(_ZN7G20x7y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E20x7;
+extern VTBL_ENTRY _ZTI5E20x7[];
+extern VTBL_ENTRY _ZTV5E20x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G20x7y5[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E20x7, 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 _ZTI7G20x7y5[];
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY vtc_G20x7y5[] = {
+ ABISELECT(52,36),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x7y5[0]),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G20x7y5[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G20x7y5[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x7y5[];
+static VTBL_ENTRY _tg__ZTV5E20x7__7G20x7y5[] = {
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x7[0]),
+};
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY _tg__ZTV3C20__5E20x7__7G20x7y5[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E20x7[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+static VTT_ENTRY vtt_G20x7y5[] = {
+ {&(_ZTV7G20x7y5[5]), 5,13},
+ {&(_ZTV7G20x7y5[9]), 9,13},
+ {&(_ZTV7G20x7y5[12]), 12,13},
+ {&(_tg__ZTV5E20x7__7G20x7y5[4]), 4,4},
+ {&(_tg__ZTV3C20__5E20x7__7G20x7y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G20x7y5[];
+extern VTBL_ENTRY _ZTV7G20x7y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x7y5[];
+Class_Descriptor cd_G20x7y5 = { "G20x7y5", // class name
+ bases_G20x7y5, 6,
+ &(vtc_G20x7y5[0]), // expected_vtbl_contents
+ &(vtt_G20x7y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G20x7y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x7y5),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x7y5),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 G20x7y6 : E20x7 , virtual F0 {
+ int ff;
+ ~G20x7y6(); // tgen
+ G20x7y6(); // tgen
+};
+//SIG(1 G20x7y6) C1{ BC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G20x7y6 ::~G20x7y6(){ note_dtor("G20x7y6", this);} // tgen
+G20x7y6 ::G20x7y6(){ note_ctor("G20x7y6", this);} // tgen
+
+static void Test_G20x7y6()
+{
+ extern Class_Descriptor cd_G20x7y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G20x7y6, buf);
+ G20x7y6 *dp, &lv = *(dp=new (buf) G20x7y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G20x7y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x7y6)");
+ check_base_class_offset(lv, (A0*)(C20*), ABISELECT(28,20), "G20x7y6");
+ check_base_class_offset(lv, (B1*)(C20*), ABISELECT(16,12), "G20x7y6");
+ check_base_class_offset(lv, (C20*)(E20x7*), ABISELECT(16,12), "G20x7y6");
+ check_base_class_offset(lv, (D0*)(E20x7*), ABISELECT(36,28), "G20x7y6");
+ check_base_class_offset(lv, (E20x7*), 0, "G20x7y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(40,32), "G20x7y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G20x7y6.ff");
+ test_class_info(&lv, &cd_G20x7y6);
+ dp->~G20x7y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x7y6(Test_G20x7y6, "G20x7y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G20x7y6C1Ev();
+extern void _ZN7G20x7y6D1Ev();
+Name_Map name_map_G20x7y6[] = {
+ NSPAIR(_ZN7G20x7y6C1Ev),
+ NSPAIR(_ZN7G20x7y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E20x7;
+extern VTBL_ENTRY _ZTI5E20x7[];
+extern VTBL_ENTRY _ZTV5E20x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G20x7y6[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E20x7, 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(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 _ZTI7G20x7y6[];
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY vtc_G20x7y6[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x7y6[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G20x7y6[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x7y6[];
+static VTBL_ENTRY _tg__ZTV5E20x7__7G20x7y6[] = {
+ ABISELECT(36,28),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x7[0]),
+};
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY _tg__ZTV3C20__5E20x7__7G20x7y6[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E20x7[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+static VTT_ENTRY vtt_G20x7y6[] = {
+ {&(_ZTV7G20x7y6[5]), 5,9},
+ {&(_tg__ZTV5E20x7__7G20x7y6[4]), 4,4},
+ {&(_tg__ZTV3C20__5E20x7__7G20x7y6[3]), 3,4},
+ {&(_ZTV7G20x7y6[8]), 8,9},
+};
+extern VTBL_ENTRY _ZTI7G20x7y6[];
+extern VTBL_ENTRY _ZTV7G20x7y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x7y6[];
+Class_Descriptor cd_G20x7y6 = { "G20x7y6", // class name
+ bases_G20x7y6, 6,
+ &(vtc_G20x7y6[0]), // expected_vtbl_contents
+ &(vtt_G20x7y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G20x7y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x7y6),9, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x7y6),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 G20x7y7 : virtual E20x7 , virtual F0 {
+ int ff;
+ ~G20x7y7(); // tgen
+ G20x7y7(); // tgen
+};
+//SIG(1 G20x7y7) C1{ VBC2{ VBC3{ BC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G20x7y7 ::~G20x7y7(){ note_dtor("G20x7y7", this);} // tgen
+G20x7y7 ::G20x7y7(){ note_ctor("G20x7y7", this);} // tgen
+
+static void Test_G20x7y7()
+{
+ extern Class_Descriptor cd_G20x7y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G20x7y7, buf);
+ G20x7y7 *dp, &lv = *(dp=new (buf) G20x7y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G20x7y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G20x7y7)");
+ check_base_class_offset(lv, (A0*)(C20*), ABISELECT(44,24), "G20x7y7");
+ check_base_class_offset(lv, (B1*)(C20*), ABISELECT(32,16), "G20x7y7");
+ check_base_class_offset(lv, (C20*)(E20x7*), ABISELECT(32,16), "G20x7y7");
+ check_base_class_offset(lv, (D0*)(E20x7*), ABISELECT(52,32), "G20x7y7");
+ check_base_class_offset(lv, (E20x7*), ABISELECT(16,8), "G20x7y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G20x7y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G20x7y7.ff");
+ test_class_info(&lv, &cd_G20x7y7);
+ dp->~G20x7y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG20x7y7(Test_G20x7y7, "G20x7y7", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G20x7y7C1Ev();
+extern void _ZN7G20x7y7D1Ev();
+Name_Map name_map_G20x7y7[] = {
+ NSPAIR(_ZN7G20x7y7C1Ev),
+ NSPAIR(_ZN7G20x7y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E20x7;
+extern VTBL_ENTRY _ZTI5E20x7[];
+extern VTBL_ENTRY _ZTV5E20x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E20x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G20x7y7[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E20x7, 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(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 _ZTI7G20x7y7[];
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY vtc_G20x7y7[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G20x7y7[0]),
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G20x7y7[0]),
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G20x7y7[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+extern VTBL_ENTRY _ZTV7G20x7y7[];
+static VTBL_ENTRY _tg__ZTV5E20x7__7G20x7y7[] = {
+ ABISELECT(36,24),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E20x7[0]),
+};
+extern void _ZN3C203fooEv();
+static VTBL_ENTRY _tg__ZTV3C20__5E20x7__7G20x7y7[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E20x7[0]),
+ (VTBL_ENTRY)&_ZN3C203fooEv,
+};
+static VTT_ENTRY vtt_G20x7y7[] = {
+ {&(_ZTV7G20x7y7[6]), 6,14},
+ {&(_ZTV7G20x7y7[10]), 10,14},
+ {&(_ZTV7G20x7y7[13]), 13,14},
+ {&(_tg__ZTV5E20x7__7G20x7y7[4]), 4,4},
+ {&(_tg__ZTV3C20__5E20x7__7G20x7y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G20x7y7[];
+extern VTBL_ENTRY _ZTV7G20x7y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G20x7y7[];
+Class_Descriptor cd_G20x7y7 = { "G20x7y7", // class name
+ bases_G20x7y7, 6,
+ &(vtc_G20x7y7[0]), // expected_vtbl_contents
+ &(vtt_G20x7y7[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G20x7y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G20x7y7),14, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G20x7y7),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 E21x7 : virtual C21 , virtual D0 {
+ int fd;
+ ~E21x7(); // tgen
+ E21x7(); // tgen
+};
+//SIG(-1 E21x7) C1{ VBC2{ BC3{ v1 Fi} BC4{ v1 Fi} v1 Fi} VBC5{ Fi} Fi}
+
+
+E21x7 ::~E21x7(){ note_dtor("E21x7", this);} // tgen
+E21x7 ::E21x7(){ note_ctor("E21x7", this);} // tgen
+
+static void Test_E21x7()
+{
+ extern Class_Descriptor cd_E21x7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,9)];
+ init_test(&cd_E21x7, buf);
+ E21x7 *dp, &lv = *(dp=new (buf) E21x7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,32), "sizeof(E21x7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E21x7)");
+ check_base_class_offset(lv, (A1*)(C21*), ABISELECT(16,8), "E21x7");
+ check_base_class_offset(lv, (B1*)(C21*), ABISELECT(32,16), "E21x7");
+ check_base_class_offset(lv, (C21*), ABISELECT(16,8), "E21x7");
+ check_base_class_offset(lv, (D0*), ABISELECT(48,28), "E21x7");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E21x7.fd");
+ test_class_info(&lv, &cd_E21x7);
+ dp->~E21x7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE21x7(Test_E21x7, "E21x7", ABISELECT(56,32));
+
+#else // __cplusplus
+
+extern void _ZN5E21x7C1Ev();
+extern void _ZN5E21x7D1Ev();
+Name_Map name_map_E21x7[] = {
+ NSPAIR(_ZN5E21x7C1Ev),
+ NSPAIR(_ZN5E21x7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E21x7[] = {
+ // 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_D0, 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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E21x7[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY vtc_E21x7[] = {
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x7[0]),
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E21x7[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI5E21x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+extern VTBL_ENTRY _ZTV5E21x7[];
+static VTT_ENTRY vtt_E21x7[] = {
+ {&(_ZTV5E21x7[4]), 4,11},
+ {&(_ZTV5E21x7[7]), 7,11},
+ {&(_ZTV5E21x7[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI5E21x7[];
+extern VTBL_ENTRY _ZTV5E21x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x7[];
+Class_Descriptor cd_E21x7 = { "E21x7", // class name
+ bases_E21x7, 4,
+ &(vtc_E21x7[0]), // expected_vtbl_contents
+ &(vtt_E21x7[0]), // expected_vtt_contents
+ ABISELECT(56,32), // object size
+ NSPAIRA(_ZTI5E21x7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E21x7),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E21x7),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 G21x7y0 : E21x7 , F1 {
+ int ff;
+ ~G21x7y0(); // tgen
+ G21x7y0(); // tgen
+};
+//SIG(1 G21x7y0) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G21x7y0 ::~G21x7y0(){ note_dtor("G21x7y0", this);} // tgen
+G21x7y0 ::G21x7y0(){ note_ctor("G21x7y0", this);} // tgen
+
+static void Test_G21x7y0()
+{
+ extern Class_Descriptor cd_G21x7y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G21x7y0, buf);
+ G21x7y0 *dp, &lv = *(dp=new (buf) G21x7y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G21x7y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x7y0)");
+ check_base_class_offset(lv, (A1*)(C21*), ABISELECT(32,20), "G21x7y0");
+ check_base_class_offset(lv, (B1*)(C21*), ABISELECT(48,28), "G21x7y0");
+ check_base_class_offset(lv, (C21*)(E21x7*), ABISELECT(32,20), "G21x7y0");
+ check_base_class_offset(lv, (D0*)(E21x7*), ABISELECT(64,40), "G21x7y0");
+ check_base_class_offset(lv, (E21x7*), 0, "G21x7y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G21x7y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G21x7y0.ff");
+ test_class_info(&lv, &cd_G21x7y0);
+ dp->~G21x7y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x7y0(Test_G21x7y0, "G21x7y0", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G21x7y0C1Ev();
+extern void _ZN7G21x7y0D1Ev();
+Name_Map name_map_G21x7y0[] = {
+ NSPAIR(_ZN7G21x7y0C1Ev),
+ NSPAIR(_ZN7G21x7y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E21x7;
+extern VTBL_ENTRY _ZTI5E21x7[];
+extern VTBL_ENTRY _ZTV5E21x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G21x7y0[] = {
+ // 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)
+ 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,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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E21x7, 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 _ZTI7G21x7y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY vtc_G21x7y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x7y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G21x7y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G21x7y0[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G21x7y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+extern VTBL_ENTRY _ZTV7G21x7y0[];
+static VTBL_ENTRY _tg__ZTV5E21x7__7G21x7y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x7[0]),
+};
+extern void _ZN3C213fooEv();
+static VTBL_ENTRY _tg__ZTV3C21__5E21x7__7G21x7y0[] = {
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E21x7[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+};
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY _tg__ZTV2B13C21__5E21x7__7G21x7y0[] = {
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E21x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+static VTT_ENTRY vtt_G21x7y0[] = {
+ {&(_ZTV7G21x7y0[4]), 4,14},
+ {&(_tg__ZTV5E21x7__7G21x7y0[4]), 4,4},
+ {&(_tg__ZTV3C21__5E21x7__7G21x7y0[3]), 3,4},
+ {&(_tg__ZTV2B13C21__5E21x7__7G21x7y0[2]), 2,3},
+ {&(_ZTV7G21x7y0[10]), 10,14},
+ {&(_ZTV7G21x7y0[13]), 13,14},
+};
+extern VTBL_ENTRY _ZTI7G21x7y0[];
+extern VTBL_ENTRY _ZTV7G21x7y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x7y0[];
+Class_Descriptor cd_G21x7y0 = { "G21x7y0", // class name
+ bases_G21x7y0, 6,
+ &(vtc_G21x7y0[0]), // expected_vtbl_contents
+ &(vtt_G21x7y0[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G21x7y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x7y0),14, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x7y0),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 G21x7y1 : virtual E21x7 , F1 {
+ int ff;
+ ~G21x7y1(); // tgen
+ G21x7y1(); // tgen
+};
+//SIG(1 G21x7y1) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G21x7y1 ::~G21x7y1(){ note_dtor("G21x7y1", this);} // tgen
+G21x7y1 ::G21x7y1(){ note_ctor("G21x7y1", this);} // tgen
+
+static void Test_G21x7y1()
+{
+ extern Class_Descriptor cd_G21x7y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G21x7y1, buf);
+ G21x7y1 *dp, &lv = *(dp=new (buf) G21x7y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G21x7y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x7y1)");
+ check_base_class_offset(lv, (A1*)(C21*), ABISELECT(32,20), "G21x7y1");
+ check_base_class_offset(lv, (B1*)(C21*), ABISELECT(48,28), "G21x7y1");
+ check_base_class_offset(lv, (C21*)(E21x7*), ABISELECT(32,20), "G21x7y1");
+ check_base_class_offset(lv, (D0*)(E21x7*), ABISELECT(64,40), "G21x7y1");
+ check_base_class_offset(lv, (E21x7*), ABISELECT(16,12), "G21x7y1");
+ check_base_class_offset(lv, (F1*), 0, "G21x7y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G21x7y1.ff");
+ test_class_info(&lv, &cd_G21x7y1);
+ dp->~G21x7y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x7y1(Test_G21x7y1, "G21x7y1", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G21x7y1C1Ev();
+extern void _ZN7G21x7y1D1Ev();
+Name_Map name_map_G21x7y1[] = {
+ NSPAIR(_ZN7G21x7y1C1Ev),
+ NSPAIR(_ZN7G21x7y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E21x7;
+extern VTBL_ENTRY _ZTI5E21x7[];
+extern VTBL_ENTRY _ZTV5E21x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G21x7y1[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E21x7, 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 _ZTI7G21x7y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY vtc_G21x7y1[] = {
+ ABISELECT(64,40),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x7y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G21x7y1[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G21x7y1[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G21x7y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+extern VTBL_ENTRY _ZTV7G21x7y1[];
+static VTBL_ENTRY _tg__ZTV5E21x7__7G21x7y1[] = {
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x7[0]),
+};
+extern void _ZN3C213fooEv();
+static VTBL_ENTRY _tg__ZTV3C21__5E21x7__7G21x7y1[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E21x7[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+};
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY _tg__ZTV2B13C21__5E21x7__7G21x7y1[] = {
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI5E21x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+static VTT_ENTRY vtt_G21x7y1[] = {
+ {&(_ZTV7G21x7y1[5]), 5,17},
+ {&(_ZTV7G21x7y1[10]), 10,17},
+ {&(_ZTV7G21x7y1[13]), 13,17},
+ {&(_ZTV7G21x7y1[16]), 16,17},
+ {&(_tg__ZTV5E21x7__7G21x7y1[4]), 4,4},
+ {&(_tg__ZTV3C21__5E21x7__7G21x7y1[3]), 3,4},
+ {&(_tg__ZTV2B13C21__5E21x7__7G21x7y1[2]), 2,3},
+};
+extern VTBL_ENTRY _ZTI7G21x7y1[];
+extern VTBL_ENTRY _ZTV7G21x7y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x7y1[];
+Class_Descriptor cd_G21x7y1 = { "G21x7y1", // class name
+ bases_G21x7y1, 6,
+ &(vtc_G21x7y1[0]), // expected_vtbl_contents
+ &(vtt_G21x7y1[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G21x7y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x7y1),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x7y1),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 G21x7y2 : E21x7 , virtual F1 {
+ int ff;
+ ~G21x7y2(); // tgen
+ G21x7y2(); // tgen
+};
+//SIG(1 G21x7y2) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G21x7y2 ::~G21x7y2(){ note_dtor("G21x7y2", this);} // tgen
+G21x7y2 ::G21x7y2(){ note_ctor("G21x7y2", this);} // tgen
+
+static void Test_G21x7y2()
+{
+ extern Class_Descriptor cd_G21x7y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G21x7y2, buf);
+ G21x7y2 *dp, &lv = *(dp=new (buf) G21x7y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G21x7y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x7y2)");
+ check_base_class_offset(lv, (A1*)(C21*), ABISELECT(16,12), "G21x7y2");
+ check_base_class_offset(lv, (B1*)(C21*), ABISELECT(32,20), "G21x7y2");
+ check_base_class_offset(lv, (C21*)(E21x7*), ABISELECT(16,12), "G21x7y2");
+ check_base_class_offset(lv, (D0*)(E21x7*), ABISELECT(48,32), "G21x7y2");
+ check_base_class_offset(lv, (E21x7*), 0, "G21x7y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G21x7y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G21x7y2.ff");
+ test_class_info(&lv, &cd_G21x7y2);
+ dp->~G21x7y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x7y2(Test_G21x7y2, "G21x7y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G21x7y2C1Ev();
+extern void _ZN7G21x7y2D1Ev();
+Name_Map name_map_G21x7y2[] = {
+ NSPAIR(_ZN7G21x7y2C1Ev),
+ NSPAIR(_ZN7G21x7y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E21x7;
+extern VTBL_ENTRY _ZTI5E21x7[];
+extern VTBL_ENTRY _ZTV5E21x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G21x7y2[] = {
+ // 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)
+ 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(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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E21x7, 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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G21x7y2[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G21x7y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x7y2[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G21x7y2[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G21x7y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G21x7y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G21x7y2[];
+static VTBL_ENTRY _tg__ZTV5E21x7__7G21x7y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x7[0]),
+};
+extern void _ZN3C213fooEv();
+static VTBL_ENTRY _tg__ZTV3C21__5E21x7__7G21x7y2[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E21x7[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+};
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY _tg__ZTV2B13C21__5E21x7__7G21x7y2[] = {
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E21x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+static VTT_ENTRY vtt_G21x7y2[] = {
+ {&(_ZTV7G21x7y2[5]), 5,16},
+ {&(_tg__ZTV5E21x7__7G21x7y2[4]), 4,4},
+ {&(_tg__ZTV3C21__5E21x7__7G21x7y2[3]), 3,4},
+ {&(_tg__ZTV2B13C21__5E21x7__7G21x7y2[2]), 2,3},
+ {&(_ZTV7G21x7y2[8]), 8,16},
+ {&(_ZTV7G21x7y2[11]), 11,16},
+ {&(_ZTV7G21x7y2[15]), 15,16},
+};
+extern VTBL_ENTRY _ZTI7G21x7y2[];
+extern VTBL_ENTRY _ZTV7G21x7y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x7y2[];
+Class_Descriptor cd_G21x7y2 = { "G21x7y2", // class name
+ bases_G21x7y2, 6,
+ &(vtc_G21x7y2[0]), // expected_vtbl_contents
+ &(vtt_G21x7y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G21x7y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x7y2),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x7y2),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 G21x7y3 : virtual E21x7 , virtual F1 {
+ int ff;
+ ~G21x7y3(); // tgen
+ G21x7y3(); // tgen
+};
+//SIG(1 G21x7y3) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G21x7y3 ::~G21x7y3(){ note_dtor("G21x7y3", this);} // tgen
+G21x7y3 ::G21x7y3(){ note_ctor("G21x7y3", this);} // tgen
+
+static void Test_G21x7y3()
+{
+ extern Class_Descriptor cd_G21x7y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(12,13)];
+ init_test(&cd_G21x7y3, buf);
+ G21x7y3 *dp, &lv = *(dp=new (buf) G21x7y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(88,48), "sizeof(G21x7y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x7y3)");
+ check_base_class_offset(lv, (A1*)(C21*), ABISELECT(32,16), "G21x7y3");
+ check_base_class_offset(lv, (B1*)(C21*), ABISELECT(48,24), "G21x7y3");
+ check_base_class_offset(lv, (C21*)(E21x7*), ABISELECT(32,16), "G21x7y3");
+ check_base_class_offset(lv, (D0*)(E21x7*), ABISELECT(64,36), "G21x7y3");
+ check_base_class_offset(lv, (E21x7*), ABISELECT(16,8), "G21x7y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(72,40), "G21x7y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G21x7y3.ff");
+ test_class_info(&lv, &cd_G21x7y3);
+ dp->~G21x7y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x7y3(Test_G21x7y3, "G21x7y3", ABISELECT(88,48));
+
+#else // __cplusplus
+
+extern void _ZN7G21x7y3C1Ev();
+extern void _ZN7G21x7y3D1Ev();
+Name_Map name_map_G21x7y3[] = {
+ NSPAIR(_ZN7G21x7y3C1Ev),
+ NSPAIR(_ZN7G21x7y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E21x7;
+extern VTBL_ENTRY _ZTI5E21x7[];
+extern VTBL_ENTRY _ZTV5E21x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G21x7y3[] = {
+ // 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_D0, ABISELECT(64,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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E21x7, 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
+ 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 _ZTI7G21x7y3[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G21x7y3[] = {
+ ABISELECT(72,40),
+ ABISELECT(64,36),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x7y3[0]),
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G21x7y3[0]),
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G21x7y3[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-48,-24),
+ (VTBL_ENTRY)&(_ZTI7G21x7y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+ 0,
+ ABISELECT(-72,-40),
+ (VTBL_ENTRY)&(_ZTI7G21x7y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G21x7y3[];
+static VTBL_ENTRY _tg__ZTV5E21x7__7G21x7y3[] = {
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x7[0]),
+};
+extern void _ZN3C213fooEv();
+static VTBL_ENTRY _tg__ZTV3C21__5E21x7__7G21x7y3[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E21x7[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+};
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY _tg__ZTV2B13C21__5E21x7__7G21x7y3[] = {
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI5E21x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+static VTT_ENTRY vtt_G21x7y3[] = {
+ {&(_ZTV7G21x7y3[6]), 6,21},
+ {&(_ZTV7G21x7y3[10]), 10,21},
+ {&(_ZTV7G21x7y3[13]), 13,21},
+ {&(_ZTV7G21x7y3[16]), 16,21},
+ {&(_ZTV7G21x7y3[20]), 20,21},
+ {&(_tg__ZTV5E21x7__7G21x7y3[4]), 4,4},
+ {&(_tg__ZTV3C21__5E21x7__7G21x7y3[3]), 3,4},
+ {&(_tg__ZTV2B13C21__5E21x7__7G21x7y3[2]), 2,3},
+};
+extern VTBL_ENTRY _ZTI7G21x7y3[];
+extern VTBL_ENTRY _ZTV7G21x7y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x7y3[];
+Class_Descriptor cd_G21x7y3 = { "G21x7y3", // class name
+ bases_G21x7y3, 6,
+ &(vtc_G21x7y3[0]), // expected_vtbl_contents
+ &(vtt_G21x7y3[0]), // expected_vtt_contents
+ ABISELECT(88,48), // object size
+ NSPAIRA(_ZTI7G21x7y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x7y3),21, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x7y3),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 G21x7y4 : E21x7 , F0 {
+ int ff;
+ ~G21x7y4(); // tgen
+ G21x7y4(); // tgen
+};
+//SIG(1 G21x7y4) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G21x7y4 ::~G21x7y4(){ note_dtor("G21x7y4", this);} // tgen
+G21x7y4 ::G21x7y4(){ note_ctor("G21x7y4", this);} // tgen
+
+static void Test_G21x7y4()
+{
+ extern Class_Descriptor cd_G21x7y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G21x7y4, buf);
+ G21x7y4 *dp, &lv = *(dp=new (buf) G21x7y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G21x7y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x7y4)");
+ check_base_class_offset(lv, (A1*)(C21*), ABISELECT(24,16), "G21x7y4");
+ check_base_class_offset(lv, (B1*)(C21*), ABISELECT(40,24), "G21x7y4");
+ check_base_class_offset(lv, (C21*)(E21x7*), ABISELECT(24,16), "G21x7y4");
+ check_base_class_offset(lv, (D0*)(E21x7*), ABISELECT(56,36), "G21x7y4");
+ check_base_class_offset(lv, (E21x7*), 0, "G21x7y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G21x7y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G21x7y4.ff");
+ test_class_info(&lv, &cd_G21x7y4);
+ dp->~G21x7y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x7y4(Test_G21x7y4, "G21x7y4", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G21x7y4C1Ev();
+extern void _ZN7G21x7y4D1Ev();
+Name_Map name_map_G21x7y4[] = {
+ NSPAIR(_ZN7G21x7y4C1Ev),
+ NSPAIR(_ZN7G21x7y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E21x7;
+extern VTBL_ENTRY _ZTI5E21x7[];
+extern VTBL_ENTRY _ZTV5E21x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G21x7y4[] = {
+ // 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)
+ 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
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E21x7, 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 _ZTI7G21x7y4[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY vtc_G21x7y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x7y4[0]),
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G21x7y4[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G21x7y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+extern VTBL_ENTRY _ZTV7G21x7y4[];
+static VTBL_ENTRY _tg__ZTV5E21x7__7G21x7y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x7[0]),
+};
+extern void _ZN3C213fooEv();
+static VTBL_ENTRY _tg__ZTV3C21__5E21x7__7G21x7y4[] = {
+ 0,
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E21x7[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+};
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY _tg__ZTV2B13C21__5E21x7__7G21x7y4[] = {
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E21x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+static VTT_ENTRY vtt_G21x7y4[] = {
+ {&(_ZTV7G21x7y4[4]), 4,11},
+ {&(_tg__ZTV5E21x7__7G21x7y4[4]), 4,4},
+ {&(_tg__ZTV3C21__5E21x7__7G21x7y4[3]), 3,4},
+ {&(_tg__ZTV2B13C21__5E21x7__7G21x7y4[2]), 2,3},
+ {&(_ZTV7G21x7y4[7]), 7,11},
+ {&(_ZTV7G21x7y4[10]), 10,11},
+};
+extern VTBL_ENTRY _ZTI7G21x7y4[];
+extern VTBL_ENTRY _ZTV7G21x7y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x7y4[];
+Class_Descriptor cd_G21x7y4 = { "G21x7y4", // class name
+ bases_G21x7y4, 6,
+ &(vtc_G21x7y4[0]), // expected_vtbl_contents
+ &(vtt_G21x7y4[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G21x7y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x7y4),11, //virtual function table var
+ 4, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x7y4),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 G21x7y5 : virtual E21x7 , F0 {
+ int ff;
+ ~G21x7y5(); // tgen
+ G21x7y5(); // tgen
+};
+//SIG(1 G21x7y5) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G21x7y5 ::~G21x7y5(){ note_dtor("G21x7y5", this);} // tgen
+G21x7y5 ::G21x7y5(){ note_ctor("G21x7y5", this);} // tgen
+
+static void Test_G21x7y5()
+{
+ extern Class_Descriptor cd_G21x7y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G21x7y5, buf);
+ G21x7y5 *dp, &lv = *(dp=new (buf) G21x7y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G21x7y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x7y5)");
+ check_base_class_offset(lv, (A1*)(C21*), ABISELECT(32,20), "G21x7y5");
+ check_base_class_offset(lv, (B1*)(C21*), ABISELECT(48,28), "G21x7y5");
+ check_base_class_offset(lv, (C21*)(E21x7*), ABISELECT(32,20), "G21x7y5");
+ check_base_class_offset(lv, (D0*)(E21x7*), ABISELECT(64,40), "G21x7y5");
+ check_base_class_offset(lv, (E21x7*), ABISELECT(16,12), "G21x7y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G21x7y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G21x7y5.ff");
+ test_class_info(&lv, &cd_G21x7y5);
+ dp->~G21x7y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x7y5(Test_G21x7y5, "G21x7y5", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G21x7y5C1Ev();
+extern void _ZN7G21x7y5D1Ev();
+Name_Map name_map_G21x7y5[] = {
+ NSPAIR(_ZN7G21x7y5C1Ev),
+ NSPAIR(_ZN7G21x7y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E21x7;
+extern VTBL_ENTRY _ZTI5E21x7[];
+extern VTBL_ENTRY _ZTV5E21x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G21x7y5[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E21x7, 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 _ZTI7G21x7y5[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY vtc_G21x7y5[] = {
+ ABISELECT(64,40),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x7y5[0]),
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G21x7y5[0]),
+ 0,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G21x7y5[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G21x7y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+extern VTBL_ENTRY _ZTV7G21x7y5[];
+static VTBL_ENTRY _tg__ZTV5E21x7__7G21x7y5[] = {
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x7[0]),
+};
+extern void _ZN3C213fooEv();
+static VTBL_ENTRY _tg__ZTV3C21__5E21x7__7G21x7y5[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E21x7[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+};
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY _tg__ZTV2B13C21__5E21x7__7G21x7y5[] = {
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI5E21x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+static VTT_ENTRY vtt_G21x7y5[] = {
+ {&(_ZTV7G21x7y5[5]), 5,16},
+ {&(_ZTV7G21x7y5[9]), 9,16},
+ {&(_ZTV7G21x7y5[12]), 12,16},
+ {&(_ZTV7G21x7y5[15]), 15,16},
+ {&(_tg__ZTV5E21x7__7G21x7y5[4]), 4,4},
+ {&(_tg__ZTV3C21__5E21x7__7G21x7y5[3]), 3,4},
+ {&(_tg__ZTV2B13C21__5E21x7__7G21x7y5[2]), 2,3},
+};
+extern VTBL_ENTRY _ZTI7G21x7y5[];
+extern VTBL_ENTRY _ZTV7G21x7y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x7y5[];
+Class_Descriptor cd_G21x7y5 = { "G21x7y5", // class name
+ bases_G21x7y5, 6,
+ &(vtc_G21x7y5[0]), // expected_vtbl_contents
+ &(vtt_G21x7y5[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G21x7y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x7y5),16, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x7y5),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 G21x7y6 : E21x7 , virtual F0 {
+ int ff;
+ ~G21x7y6(); // tgen
+ G21x7y6(); // tgen
+};
+//SIG(1 G21x7y6) C1{ BC2{ VBC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G21x7y6 ::~G21x7y6(){ note_dtor("G21x7y6", this);} // tgen
+G21x7y6 ::G21x7y6(){ note_ctor("G21x7y6", this);} // tgen
+
+static void Test_G21x7y6()
+{
+ extern Class_Descriptor cd_G21x7y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G21x7y6, buf);
+ G21x7y6 *dp, &lv = *(dp=new (buf) G21x7y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G21x7y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x7y6)");
+ check_base_class_offset(lv, (A1*)(C21*), ABISELECT(16,12), "G21x7y6");
+ check_base_class_offset(lv, (B1*)(C21*), ABISELECT(32,20), "G21x7y6");
+ check_base_class_offset(lv, (C21*)(E21x7*), ABISELECT(16,12), "G21x7y6");
+ check_base_class_offset(lv, (D0*)(E21x7*), ABISELECT(48,32), "G21x7y6");
+ check_base_class_offset(lv, (E21x7*), 0, "G21x7y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G21x7y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G21x7y6.ff");
+ test_class_info(&lv, &cd_G21x7y6);
+ dp->~G21x7y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x7y6(Test_G21x7y6, "G21x7y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G21x7y6C1Ev();
+extern void _ZN7G21x7y6D1Ev();
+Name_Map name_map_G21x7y6[] = {
+ NSPAIR(_ZN7G21x7y6C1Ev),
+ NSPAIR(_ZN7G21x7y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E21x7;
+extern VTBL_ENTRY _ZTI5E21x7[];
+extern VTBL_ENTRY _ZTV5E21x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G21x7y6[] = {
+ // 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)
+ 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(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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E21x7, 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 _ZTI7G21x7y6[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY vtc_G21x7y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x7y6[0]),
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G21x7y6[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G21x7y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+extern VTBL_ENTRY _ZTV7G21x7y6[];
+static VTBL_ENTRY _tg__ZTV5E21x7__7G21x7y6[] = {
+ ABISELECT(48,32),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x7[0]),
+};
+extern void _ZN3C213fooEv();
+static VTBL_ENTRY _tg__ZTV3C21__5E21x7__7G21x7y6[] = {
+ 0,
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E21x7[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+};
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY _tg__ZTV2B13C21__5E21x7__7G21x7y6[] = {
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E21x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+static VTT_ENTRY vtt_G21x7y6[] = {
+ {&(_ZTV7G21x7y6[5]), 5,12},
+ {&(_tg__ZTV5E21x7__7G21x7y6[4]), 4,4},
+ {&(_tg__ZTV3C21__5E21x7__7G21x7y6[3]), 3,4},
+ {&(_tg__ZTV2B13C21__5E21x7__7G21x7y6[2]), 2,3},
+ {&(_ZTV7G21x7y6[8]), 8,12},
+ {&(_ZTV7G21x7y6[11]), 11,12},
+};
+extern VTBL_ENTRY _ZTI7G21x7y6[];
+extern VTBL_ENTRY _ZTV7G21x7y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x7y6[];
+Class_Descriptor cd_G21x7y6 = { "G21x7y6", // class name
+ bases_G21x7y6, 6,
+ &(vtc_G21x7y6[0]), // expected_vtbl_contents
+ &(vtt_G21x7y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G21x7y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x7y6),12, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x7y6),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 G21x7y7 : virtual E21x7 , virtual F0 {
+ int ff;
+ ~G21x7y7(); // tgen
+ G21x7y7(); // tgen
+};
+//SIG(1 G21x7y7) C1{ VBC2{ VBC3{ BC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G21x7y7 ::~G21x7y7(){ note_dtor("G21x7y7", this);} // tgen
+G21x7y7 ::G21x7y7(){ note_ctor("G21x7y7", this);} // tgen
+
+static void Test_G21x7y7()
+{
+ extern Class_Descriptor cd_G21x7y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G21x7y7, buf);
+ G21x7y7 *dp, &lv = *(dp=new (buf) G21x7y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G21x7y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G21x7y7)");
+ check_base_class_offset(lv, (A1*)(C21*), ABISELECT(32,16), "G21x7y7");
+ check_base_class_offset(lv, (B1*)(C21*), ABISELECT(48,24), "G21x7y7");
+ check_base_class_offset(lv, (C21*)(E21x7*), ABISELECT(32,16), "G21x7y7");
+ check_base_class_offset(lv, (D0*)(E21x7*), ABISELECT(64,36), "G21x7y7");
+ check_base_class_offset(lv, (E21x7*), ABISELECT(16,8), "G21x7y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(68,40), "G21x7y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G21x7y7.ff");
+ test_class_info(&lv, &cd_G21x7y7);
+ dp->~G21x7y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG21x7y7(Test_G21x7y7, "G21x7y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G21x7y7C1Ev();
+extern void _ZN7G21x7y7D1Ev();
+Name_Map name_map_G21x7y7[] = {
+ NSPAIR(_ZN7G21x7y7C1Ev),
+ NSPAIR(_ZN7G21x7y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E21x7;
+extern VTBL_ENTRY _ZTI5E21x7[];
+extern VTBL_ENTRY _ZTV5E21x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E21x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G21x7y7[] = {
+ // 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_D0, ABISELECT(64,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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E21x7, 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 _ZTI7G21x7y7[];
+extern void _ZN3C213fooEv();
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY vtc_G21x7y7[] = {
+ ABISELECT(68,40),
+ ABISELECT(64,36),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G21x7y7[0]),
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G21x7y7[0]),
+ 0,
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G21x7y7[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+ ABISELECT(-48,-24),
+ (VTBL_ENTRY)&(_ZTI7G21x7y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+extern VTBL_ENTRY _ZTV7G21x7y7[];
+static VTBL_ENTRY _tg__ZTV5E21x7__7G21x7y7[] = {
+ ABISELECT(48,28),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E21x7[0]),
+};
+extern void _ZN3C213fooEv();
+static VTBL_ENTRY _tg__ZTV3C21__5E21x7__7G21x7y7[] = {
+ 0,
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E21x7[0]),
+ (VTBL_ENTRY)&_ZN3C213fooEv,
+};
+extern void ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv)();
+static VTBL_ENTRY _tg__ZTV2B13C21__5E21x7__7G21x7y7[] = {
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI5E21x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZThn16_N3C213fooEv,_ZThn8_N3C213fooEv),
+};
+static VTT_ENTRY vtt_G21x7y7[] = {
+ {&(_ZTV7G21x7y7[6]), 6,17},
+ {&(_ZTV7G21x7y7[10]), 10,17},
+ {&(_ZTV7G21x7y7[13]), 13,17},
+ {&(_ZTV7G21x7y7[16]), 16,17},
+ {&(_tg__ZTV5E21x7__7G21x7y7[4]), 4,4},
+ {&(_tg__ZTV3C21__5E21x7__7G21x7y7[3]), 3,4},
+ {&(_tg__ZTV2B13C21__5E21x7__7G21x7y7[2]), 2,3},
+};
+extern VTBL_ENTRY _ZTI7G21x7y7[];
+extern VTBL_ENTRY _ZTV7G21x7y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G21x7y7[];
+Class_Descriptor cd_G21x7y7 = { "G21x7y7", // class name
+ bases_G21x7y7, 6,
+ &(vtc_G21x7y7[0]), // expected_vtbl_contents
+ &(vtt_G21x7y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G21x7y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G21x7y7),17, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G21x7y7),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 E22x7 : virtual C22 , virtual D0 {
+ int fd;
+ ~E22x7(); // tgen
+ E22x7(); // tgen
+};
+//SIG(-1 E22x7) C1{ VBC2{ VBC3{ Fi} BC4{ v1 Fi} v1 Fi} VBC5{ Fi} Fi}
+
+
+E22x7 ::~E22x7(){ note_dtor("E22x7", this);} // tgen
+E22x7 ::E22x7(){ note_ctor("E22x7", this);} // tgen
+
+static void Test_E22x7()
+{
+ extern Class_Descriptor cd_E22x7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E22x7, buf);
+ E22x7 *dp, &lv = *(dp=new (buf) E22x7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E22x7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E22x7)");
+ check_base_class_offset(lv, (A0*)(C22*), ABISELECT(32,20), "E22x7");
+ check_base_class_offset(lv, (B1*)(C22*), ABISELECT(16,8), "E22x7");
+ check_base_class_offset(lv, (C22*), ABISELECT(16,8), "E22x7");
+ check_base_class_offset(lv, (D0*), ABISELECT(36,24), "E22x7");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E22x7.fd");
+ test_class_info(&lv, &cd_E22x7);
+ dp->~E22x7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE22x7(Test_E22x7, "E22x7", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E22x7C1Ev();
+extern void _ZN5E22x7D1Ev();
+Name_Map name_map_E22x7[] = {
+ NSPAIR(_ZN5E22x7C1Ev),
+ NSPAIR(_ZN5E22x7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E22x7[] = {
+ // 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
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D0, 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, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E22x7[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY vtc_E22x7[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E22x7[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern VTBL_ENTRY _ZTV5E22x7[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__5E22x7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_E22x7[] = {
+ {&(_ZTV5E22x7[5]), 5,10},
+ {&(_ZTV5E22x7[9]), 9,10},
+ {&(_tg__ZTV3C22__5E22x7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E22x7[];
+extern VTBL_ENTRY _ZTV5E22x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x7[];
+Class_Descriptor cd_E22x7 = { "E22x7", // class name
+ bases_E22x7, 4,
+ &(vtc_E22x7[0]), // expected_vtbl_contents
+ &(vtt_E22x7[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E22x7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E22x7),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E22x7),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 G22x7y0 : E22x7 , F1 {
+ int ff;
+ ~G22x7y0(); // tgen
+ G22x7y0(); // tgen
+};
+//SIG(1 G22x7y0) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G22x7y0 ::~G22x7y0(){ note_dtor("G22x7y0", this);} // tgen
+G22x7y0 ::G22x7y0(){ note_ctor("G22x7y0", this);} // tgen
+
+static void Test_G22x7y0()
+{
+ extern Class_Descriptor cd_G22x7y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G22x7y0, buf);
+ G22x7y0 *dp, &lv = *(dp=new (buf) G22x7y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G22x7y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x7y0)");
+ check_base_class_offset(lv, (A0*)(C22*), ABISELECT(48,32), "G22x7y0");
+ check_base_class_offset(lv, (B1*)(C22*), ABISELECT(32,20), "G22x7y0");
+ check_base_class_offset(lv, (C22*)(E22x7*), ABISELECT(32,20), "G22x7y0");
+ check_base_class_offset(lv, (D0*)(E22x7*), ABISELECT(52,36), "G22x7y0");
+ check_base_class_offset(lv, (E22x7*), 0, "G22x7y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G22x7y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G22x7y0.ff");
+ test_class_info(&lv, &cd_G22x7y0);
+ dp->~G22x7y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x7y0(Test_G22x7y0, "G22x7y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G22x7y0C1Ev();
+extern void _ZN7G22x7y0D1Ev();
+Name_Map name_map_G22x7y0[] = {
+ NSPAIR(_ZN7G22x7y0C1Ev),
+ NSPAIR(_ZN7G22x7y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E22x7;
+extern VTBL_ENTRY _ZTI5E22x7[];
+extern VTBL_ENTRY _ZTV5E22x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G22x7y0[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E22x7, 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 _ZTI7G22x7y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY vtc_G22x7y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x7y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G22x7y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G22x7y0[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x7y0[];
+static VTBL_ENTRY _tg__ZTV5E22x7__7G22x7y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x7[0]),
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__5E22x7__7G22x7y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E22x7[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__7G22x7y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x7y0[] = {
+ {&(_ZTV7G22x7y0[5]), 5,13},
+ {&(_tg__ZTV5E22x7__7G22x7y0[5]), 5,5},
+ {&(_tg__ZTV3C22__5E22x7__7G22x7y0[4]), 4,5},
+ {&(_ZTV7G22x7y0[12]), 12,13},
+ {&(_tg__ZTV3C22__7G22x7y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x7y0[];
+extern VTBL_ENTRY _ZTV7G22x7y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x7y0[];
+Class_Descriptor cd_G22x7y0 = { "G22x7y0", // class name
+ bases_G22x7y0, 6,
+ &(vtc_G22x7y0[0]), // expected_vtbl_contents
+ &(vtt_G22x7y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G22x7y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x7y0),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x7y0),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 G22x7y1 : virtual E22x7 , F1 {
+ int ff;
+ ~G22x7y1(); // tgen
+ G22x7y1(); // tgen
+};
+//SIG(1 G22x7y1) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G22x7y1 ::~G22x7y1(){ note_dtor("G22x7y1", this);} // tgen
+G22x7y1 ::G22x7y1(){ note_ctor("G22x7y1", this);} // tgen
+
+static void Test_G22x7y1()
+{
+ extern Class_Descriptor cd_G22x7y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G22x7y1, buf);
+ G22x7y1 *dp, &lv = *(dp=new (buf) G22x7y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G22x7y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x7y1)");
+ check_base_class_offset(lv, (A0*)(C22*), ABISELECT(48,32), "G22x7y1");
+ check_base_class_offset(lv, (B1*)(C22*), ABISELECT(32,20), "G22x7y1");
+ check_base_class_offset(lv, (C22*)(E22x7*), ABISELECT(32,20), "G22x7y1");
+ check_base_class_offset(lv, (D0*)(E22x7*), ABISELECT(52,36), "G22x7y1");
+ check_base_class_offset(lv, (E22x7*), ABISELECT(16,12), "G22x7y1");
+ check_base_class_offset(lv, (F1*), 0, "G22x7y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G22x7y1.ff");
+ test_class_info(&lv, &cd_G22x7y1);
+ dp->~G22x7y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x7y1(Test_G22x7y1, "G22x7y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G22x7y1C1Ev();
+extern void _ZN7G22x7y1D1Ev();
+Name_Map name_map_G22x7y1[] = {
+ NSPAIR(_ZN7G22x7y1C1Ev),
+ NSPAIR(_ZN7G22x7y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E22x7;
+extern VTBL_ENTRY _ZTI5E22x7[];
+extern VTBL_ENTRY _ZTV5E22x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G22x7y1[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E22x7, 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 _ZTI7G22x7y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY vtc_G22x7y1[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x7y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G22x7y1[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G22x7y1[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x7y1[];
+static VTBL_ENTRY _tg__ZTV5E22x7__7G22x7y1[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x7[0]),
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__5E22x7__7G22x7y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E22x7[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__7G22x7y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x7y1[] = {
+ {&(_ZTV7G22x7y1[6]), 6,17},
+ {&(_ZTV7G22x7y1[12]), 12,17},
+ {&(_ZTV7G22x7y1[16]), 16,17},
+ {&(_tg__ZTV5E22x7__7G22x7y1[5]), 5,5},
+ {&(_tg__ZTV3C22__5E22x7__7G22x7y1[4]), 4,5},
+ {&(_tg__ZTV3C22__7G22x7y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x7y1[];
+extern VTBL_ENTRY _ZTV7G22x7y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x7y1[];
+Class_Descriptor cd_G22x7y1 = { "G22x7y1", // class name
+ bases_G22x7y1, 6,
+ &(vtc_G22x7y1[0]), // expected_vtbl_contents
+ &(vtt_G22x7y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G22x7y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x7y1),17, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x7y1),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 G22x7y2 : E22x7 , virtual F1 {
+ int ff;
+ ~G22x7y2(); // tgen
+ G22x7y2(); // tgen
+};
+//SIG(1 G22x7y2) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G22x7y2 ::~G22x7y2(){ note_dtor("G22x7y2", this);} // tgen
+G22x7y2 ::G22x7y2(){ note_ctor("G22x7y2", this);} // tgen
+
+static void Test_G22x7y2()
+{
+ extern Class_Descriptor cd_G22x7y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G22x7y2, buf);
+ G22x7y2 *dp, &lv = *(dp=new (buf) G22x7y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G22x7y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x7y2)");
+ check_base_class_offset(lv, (A0*)(C22*), ABISELECT(32,24), "G22x7y2");
+ check_base_class_offset(lv, (B1*)(C22*), ABISELECT(16,12), "G22x7y2");
+ check_base_class_offset(lv, (C22*)(E22x7*), ABISELECT(16,12), "G22x7y2");
+ check_base_class_offset(lv, (D0*)(E22x7*), ABISELECT(36,28), "G22x7y2");
+ check_base_class_offset(lv, (E22x7*), 0, "G22x7y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(40,32), "G22x7y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G22x7y2.ff");
+ test_class_info(&lv, &cd_G22x7y2);
+ dp->~G22x7y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x7y2(Test_G22x7y2, "G22x7y2", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G22x7y2C1Ev();
+extern void _ZN7G22x7y2D1Ev();
+Name_Map name_map_G22x7y2[] = {
+ NSPAIR(_ZN7G22x7y2C1Ev),
+ NSPAIR(_ZN7G22x7y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E22x7;
+extern VTBL_ENTRY _ZTI5E22x7[];
+extern VTBL_ENTRY _ZTV5E22x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G22x7y2[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E22x7, 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(40,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 _ZTI7G22x7y2[];
+extern void _ZN3C223fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G22x7y2[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x7y2[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G22x7y2[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G22x7y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x7y2[];
+static VTBL_ENTRY _tg__ZTV5E22x7__7G22x7y2[] = {
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x7[0]),
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__5E22x7__7G22x7y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E22x7[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__7G22x7y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x7y2[] = {
+ {&(_ZTV7G22x7y2[6]), 6,15},
+ {&(_tg__ZTV5E22x7__7G22x7y2[5]), 5,5},
+ {&(_tg__ZTV3C22__5E22x7__7G22x7y2[4]), 4,5},
+ {&(_ZTV7G22x7y2[10]), 10,15},
+ {&(_ZTV7G22x7y2[14]), 14,15},
+ {&(_tg__ZTV3C22__7G22x7y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x7y2[];
+extern VTBL_ENTRY _ZTV7G22x7y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x7y2[];
+Class_Descriptor cd_G22x7y2 = { "G22x7y2", // class name
+ bases_G22x7y2, 6,
+ &(vtc_G22x7y2[0]), // expected_vtbl_contents
+ &(vtt_G22x7y2[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G22x7y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x7y2),15, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x7y2),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 G22x7y3 : virtual E22x7 , virtual F1 {
+ int ff;
+ ~G22x7y3(); // tgen
+ G22x7y3(); // tgen
+};
+//SIG(1 G22x7y3) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G22x7y3 ::~G22x7y3(){ note_dtor("G22x7y3", this);} // tgen
+G22x7y3 ::G22x7y3(){ note_ctor("G22x7y3", this);} // tgen
+
+static void Test_G22x7y3()
+{
+ extern Class_Descriptor cd_G22x7y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G22x7y3, buf);
+ G22x7y3 *dp, &lv = *(dp=new (buf) G22x7y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G22x7y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x7y3)");
+ check_base_class_offset(lv, (A0*)(C22*), ABISELECT(48,28), "G22x7y3");
+ check_base_class_offset(lv, (B1*)(C22*), ABISELECT(32,16), "G22x7y3");
+ check_base_class_offset(lv, (C22*)(E22x7*), ABISELECT(32,16), "G22x7y3");
+ check_base_class_offset(lv, (D0*)(E22x7*), ABISELECT(52,32), "G22x7y3");
+ check_base_class_offset(lv, (E22x7*), ABISELECT(16,8), "G22x7y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G22x7y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G22x7y3.ff");
+ test_class_info(&lv, &cd_G22x7y3);
+ dp->~G22x7y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x7y3(Test_G22x7y3, "G22x7y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G22x7y3C1Ev();
+extern void _ZN7G22x7y3D1Ev();
+Name_Map name_map_G22x7y3[] = {
+ NSPAIR(_ZN7G22x7y3C1Ev),
+ NSPAIR(_ZN7G22x7y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E22x7;
+extern VTBL_ENTRY _ZTI5E22x7[];
+extern VTBL_ENTRY _ZTV5E22x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G22x7y3[] = {
+ // 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
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E22x7, 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
+ 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 _ZTI7G22x7y3[];
+extern void _ZN3C223fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G22x7y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x7y3[0]),
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G22x7y3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G22x7y3[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G22x7y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x7y3[];
+static VTBL_ENTRY _tg__ZTV5E22x7__7G22x7y3[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x7[0]),
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__5E22x7__7G22x7y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E22x7[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__7G22x7y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x7y3[] = {
+ {&(_ZTV7G22x7y3[7]), 7,21},
+ {&(_ZTV7G22x7y3[12]), 12,21},
+ {&(_ZTV7G22x7y3[16]), 16,21},
+ {&(_ZTV7G22x7y3[20]), 20,21},
+ {&(_tg__ZTV5E22x7__7G22x7y3[5]), 5,5},
+ {&(_tg__ZTV3C22__5E22x7__7G22x7y3[4]), 4,5},
+ {&(_tg__ZTV3C22__7G22x7y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x7y3[];
+extern VTBL_ENTRY _ZTV7G22x7y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x7y3[];
+Class_Descriptor cd_G22x7y3 = { "G22x7y3", // class name
+ bases_G22x7y3, 6,
+ &(vtc_G22x7y3[0]), // expected_vtbl_contents
+ &(vtt_G22x7y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G22x7y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x7y3),21, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x7y3),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 G22x7y4 : E22x7 , F0 {
+ int ff;
+ ~G22x7y4(); // tgen
+ G22x7y4(); // tgen
+};
+//SIG(1 G22x7y4) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G22x7y4 ::~G22x7y4(){ note_dtor("G22x7y4", this);} // tgen
+G22x7y4 ::G22x7y4(){ note_ctor("G22x7y4", this);} // tgen
+
+static void Test_G22x7y4()
+{
+ extern Class_Descriptor cd_G22x7y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G22x7y4, buf);
+ G22x7y4 *dp, &lv = *(dp=new (buf) G22x7y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G22x7y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x7y4)");
+ check_base_class_offset(lv, (A0*)(C22*), ABISELECT(40,28), "G22x7y4");
+ check_base_class_offset(lv, (B1*)(C22*), ABISELECT(24,16), "G22x7y4");
+ check_base_class_offset(lv, (C22*)(E22x7*), ABISELECT(24,16), "G22x7y4");
+ check_base_class_offset(lv, (D0*)(E22x7*), ABISELECT(44,32), "G22x7y4");
+ check_base_class_offset(lv, (E22x7*), 0, "G22x7y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G22x7y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G22x7y4.ff");
+ test_class_info(&lv, &cd_G22x7y4);
+ dp->~G22x7y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x7y4(Test_G22x7y4, "G22x7y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G22x7y4C1Ev();
+extern void _ZN7G22x7y4D1Ev();
+Name_Map name_map_G22x7y4[] = {
+ NSPAIR(_ZN7G22x7y4C1Ev),
+ NSPAIR(_ZN7G22x7y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E22x7;
+extern VTBL_ENTRY _ZTI5E22x7[];
+extern VTBL_ENTRY _ZTV5E22x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G22x7y4[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E22x7, 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 _ZTI7G22x7y4[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY vtc_G22x7y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x7y4[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G22x7y4[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x7y4[];
+static VTBL_ENTRY _tg__ZTV5E22x7__7G22x7y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x7[0]),
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__5E22x7__7G22x7y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E22x7[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__7G22x7y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x7y4[] = {
+ {&(_ZTV7G22x7y4[5]), 5,10},
+ {&(_tg__ZTV5E22x7__7G22x7y4[5]), 5,5},
+ {&(_tg__ZTV3C22__5E22x7__7G22x7y4[4]), 4,5},
+ {&(_ZTV7G22x7y4[9]), 9,10},
+ {&(_tg__ZTV3C22__7G22x7y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x7y4[];
+extern VTBL_ENTRY _ZTV7G22x7y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x7y4[];
+Class_Descriptor cd_G22x7y4 = { "G22x7y4", // class name
+ bases_G22x7y4, 6,
+ &(vtc_G22x7y4[0]), // expected_vtbl_contents
+ &(vtt_G22x7y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G22x7y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x7y4),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x7y4),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 G22x7y5 : virtual E22x7 , F0 {
+ int ff;
+ ~G22x7y5(); // tgen
+ G22x7y5(); // tgen
+};
+//SIG(1 G22x7y5) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G22x7y5 ::~G22x7y5(){ note_dtor("G22x7y5", this);} // tgen
+G22x7y5 ::G22x7y5(){ note_ctor("G22x7y5", this);} // tgen
+
+static void Test_G22x7y5()
+{
+ extern Class_Descriptor cd_G22x7y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G22x7y5, buf);
+ G22x7y5 *dp, &lv = *(dp=new (buf) G22x7y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G22x7y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x7y5)");
+ check_base_class_offset(lv, (A0*)(C22*), ABISELECT(48,32), "G22x7y5");
+ check_base_class_offset(lv, (B1*)(C22*), ABISELECT(32,20), "G22x7y5");
+ check_base_class_offset(lv, (C22*)(E22x7*), ABISELECT(32,20), "G22x7y5");
+ check_base_class_offset(lv, (D0*)(E22x7*), ABISELECT(52,36), "G22x7y5");
+ check_base_class_offset(lv, (E22x7*), ABISELECT(16,12), "G22x7y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G22x7y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G22x7y5.ff");
+ test_class_info(&lv, &cd_G22x7y5);
+ dp->~G22x7y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x7y5(Test_G22x7y5, "G22x7y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G22x7y5C1Ev();
+extern void _ZN7G22x7y5D1Ev();
+Name_Map name_map_G22x7y5[] = {
+ NSPAIR(_ZN7G22x7y5C1Ev),
+ NSPAIR(_ZN7G22x7y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E22x7;
+extern VTBL_ENTRY _ZTI5E22x7[];
+extern VTBL_ENTRY _ZTV5E22x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G22x7y5[] = {
+ // 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
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E22x7, 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 _ZTI7G22x7y5[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY vtc_G22x7y5[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x7y5[0]),
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G22x7y5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G22x7y5[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x7y5[];
+static VTBL_ENTRY _tg__ZTV5E22x7__7G22x7y5[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x7[0]),
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__5E22x7__7G22x7y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E22x7[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__7G22x7y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x7y5[] = {
+ {&(_ZTV7G22x7y5[6]), 6,16},
+ {&(_ZTV7G22x7y5[11]), 11,16},
+ {&(_ZTV7G22x7y5[15]), 15,16},
+ {&(_tg__ZTV5E22x7__7G22x7y5[5]), 5,5},
+ {&(_tg__ZTV3C22__5E22x7__7G22x7y5[4]), 4,5},
+ {&(_tg__ZTV3C22__7G22x7y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x7y5[];
+extern VTBL_ENTRY _ZTV7G22x7y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x7y5[];
+Class_Descriptor cd_G22x7y5 = { "G22x7y5", // class name
+ bases_G22x7y5, 6,
+ &(vtc_G22x7y5[0]), // expected_vtbl_contents
+ &(vtt_G22x7y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G22x7y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x7y5),16, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x7y5),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 G22x7y6 : E22x7 , virtual F0 {
+ int ff;
+ ~G22x7y6(); // tgen
+ G22x7y6(); // tgen
+};
+//SIG(1 G22x7y6) C1{ BC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G22x7y6 ::~G22x7y6(){ note_dtor("G22x7y6", this);} // tgen
+G22x7y6 ::G22x7y6(){ note_ctor("G22x7y6", this);} // tgen
+
+static void Test_G22x7y6()
+{
+ extern Class_Descriptor cd_G22x7y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G22x7y6, buf);
+ G22x7y6 *dp, &lv = *(dp=new (buf) G22x7y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G22x7y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x7y6)");
+ check_base_class_offset(lv, (A0*)(C22*), ABISELECT(32,24), "G22x7y6");
+ check_base_class_offset(lv, (B1*)(C22*), ABISELECT(16,12), "G22x7y6");
+ check_base_class_offset(lv, (C22*)(E22x7*), ABISELECT(16,12), "G22x7y6");
+ check_base_class_offset(lv, (D0*)(E22x7*), ABISELECT(36,28), "G22x7y6");
+ check_base_class_offset(lv, (E22x7*), 0, "G22x7y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(40,32), "G22x7y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G22x7y6.ff");
+ test_class_info(&lv, &cd_G22x7y6);
+ dp->~G22x7y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x7y6(Test_G22x7y6, "G22x7y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G22x7y6C1Ev();
+extern void _ZN7G22x7y6D1Ev();
+Name_Map name_map_G22x7y6[] = {
+ NSPAIR(_ZN7G22x7y6C1Ev),
+ NSPAIR(_ZN7G22x7y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E22x7;
+extern VTBL_ENTRY _ZTI5E22x7[];
+extern VTBL_ENTRY _ZTV5E22x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G22x7y6[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E22x7, 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(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 _ZTI7G22x7y6[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY vtc_G22x7y6[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x7y6[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G22x7y6[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x7y6[];
+static VTBL_ENTRY _tg__ZTV5E22x7__7G22x7y6[] = {
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x7[0]),
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__5E22x7__7G22x7y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E22x7[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__7G22x7y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x7y6[] = {
+ {&(_ZTV7G22x7y6[6]), 6,11},
+ {&(_tg__ZTV5E22x7__7G22x7y6[5]), 5,5},
+ {&(_tg__ZTV3C22__5E22x7__7G22x7y6[4]), 4,5},
+ {&(_ZTV7G22x7y6[10]), 10,11},
+ {&(_tg__ZTV3C22__7G22x7y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x7y6[];
+extern VTBL_ENTRY _ZTV7G22x7y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x7y6[];
+Class_Descriptor cd_G22x7y6 = { "G22x7y6", // class name
+ bases_G22x7y6, 6,
+ &(vtc_G22x7y6[0]), // expected_vtbl_contents
+ &(vtt_G22x7y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G22x7y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x7y6),11, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x7y6),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 G22x7y7 : virtual E22x7 , virtual F0 {
+ int ff;
+ ~G22x7y7(); // tgen
+ G22x7y7(); // tgen
+};
+//SIG(1 G22x7y7) C1{ VBC2{ VBC3{ VBC4{ Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G22x7y7 ::~G22x7y7(){ note_dtor("G22x7y7", this);} // tgen
+G22x7y7 ::G22x7y7(){ note_ctor("G22x7y7", this);} // tgen
+
+static void Test_G22x7y7()
+{
+ extern Class_Descriptor cd_G22x7y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G22x7y7, buf);
+ G22x7y7 *dp, &lv = *(dp=new (buf) G22x7y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G22x7y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G22x7y7)");
+ check_base_class_offset(lv, (A0*)(C22*), ABISELECT(48,28), "G22x7y7");
+ check_base_class_offset(lv, (B1*)(C22*), ABISELECT(32,16), "G22x7y7");
+ check_base_class_offset(lv, (C22*)(E22x7*), ABISELECT(32,16), "G22x7y7");
+ check_base_class_offset(lv, (D0*)(E22x7*), ABISELECT(52,32), "G22x7y7");
+ check_base_class_offset(lv, (E22x7*), ABISELECT(16,8), "G22x7y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G22x7y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G22x7y7.ff");
+ test_class_info(&lv, &cd_G22x7y7);
+ dp->~G22x7y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG22x7y7(Test_G22x7y7, "G22x7y7", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G22x7y7C1Ev();
+extern void _ZN7G22x7y7D1Ev();
+Name_Map name_map_G22x7y7[] = {
+ NSPAIR(_ZN7G22x7y7C1Ev),
+ NSPAIR(_ZN7G22x7y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E22x7;
+extern VTBL_ENTRY _ZTI5E22x7[];
+extern VTBL_ENTRY _ZTV5E22x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E22x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G22x7y7[] = {
+ // 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
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E22x7, 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(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 _ZTI7G22x7y7[];
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY vtc_G22x7y7[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G22x7y7[0]),
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G22x7y7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G22x7y7[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern VTBL_ENTRY _ZTV7G22x7y7[];
+static VTBL_ENTRY _tg__ZTV5E22x7__7G22x7y7[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E22x7[0]),
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__5E22x7__7G22x7y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E22x7[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+extern void _ZN3C223fooEv();
+static VTBL_ENTRY _tg__ZTV3C22__7G22x7y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C22[0]),
+ (VTBL_ENTRY)&_ZN3C223fooEv,
+};
+static VTT_ENTRY vtt_G22x7y7[] = {
+ {&(_ZTV7G22x7y7[7]), 7,17},
+ {&(_ZTV7G22x7y7[12]), 12,17},
+ {&(_ZTV7G22x7y7[16]), 16,17},
+ {&(_tg__ZTV5E22x7__7G22x7y7[5]), 5,5},
+ {&(_tg__ZTV3C22__5E22x7__7G22x7y7[4]), 4,5},
+ {&(_tg__ZTV3C22__7G22x7y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G22x7y7[];
+extern VTBL_ENTRY _ZTV7G22x7y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G22x7y7[];
+Class_Descriptor cd_G22x7y7 = { "G22x7y7", // class name
+ bases_G22x7y7, 6,
+ &(vtc_G22x7y7[0]), // expected_vtbl_contents
+ &(vtt_G22x7y7[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G22x7y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G22x7y7),17, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G22x7y7),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 E23x7 : virtual C23 , virtual D0 {
+ int fd;
+ ~E23x7(); // tgen
+ E23x7(); // tgen
+};
+//SIG(-1 E23x7) C1{ VBC2{ VBC3{ v1 Fi} BC4{ v1 Fi} v1 Fi} VBC5{ Fi} Fi}
+
+
+E23x7 ::~E23x7(){ note_dtor("E23x7", this);} // tgen
+E23x7 ::E23x7(){ note_ctor("E23x7", this);} // tgen
+
+static void Test_E23x7()
+{
+ extern Class_Descriptor cd_E23x7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E23x7, buf);
+ E23x7 *dp, &lv = *(dp=new (buf) E23x7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E23x7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E23x7)");
+ check_base_class_offset(lv, (A1*)(C23*), ABISELECT(32,20), "E23x7");
+ check_base_class_offset(lv, (B1*)(C23*), ABISELECT(16,8), "E23x7");
+ check_base_class_offset(lv, (C23*), ABISELECT(16,8), "E23x7");
+ check_base_class_offset(lv, (D0*), ABISELECT(44,28), "E23x7");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E23x7.fd");
+ test_class_info(&lv, &cd_E23x7);
+ dp->~E23x7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE23x7(Test_E23x7, "E23x7", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN5E23x7C1Ev();
+extern void _ZN5E23x7D1Ev();
+Name_Map name_map_E23x7[] = {
+ NSPAIR(_ZN5E23x7C1Ev),
+ NSPAIR(_ZN5E23x7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E23x7[] = {
+ // 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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D0, 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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E23x7[];
+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_E23x7[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E23x7[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E23x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern VTBL_ENTRY _ZTV5E23x7[];
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__5E23x7[] = {
+ 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__5E23x7[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_E23x7[] = {
+ {&(_ZTV5E23x7[5]), 5,14},
+ {&(_ZTV5E23x7[9]), 9,14},
+ {&(_ZTV5E23x7[13]), 13,14},
+ {&(_tg__ZTV3C23__5E23x7[3]), 3,4},
+ {&(_tg__ZTV2A1__3C23__5E23x7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E23x7[];
+extern VTBL_ENTRY _ZTV5E23x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x7[];
+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_E23x7 = { "E23x7", // class name
+ bases_E23x7, 4,
+ &(vtc_E23x7[0]), // expected_vtbl_contents
+ &(vtt_E23x7[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI5E23x7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E23x7),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E23x7),5, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names206,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x7y0 : E23x7 , F1 {
+ int ff;
+ ~G23x7y0(); // tgen
+ G23x7y0(); // tgen
+};
+//SIG(1 G23x7y0) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G23x7y0 ::~G23x7y0(){ note_dtor("G23x7y0", this);} // tgen
+G23x7y0 ::G23x7y0(){ note_ctor("G23x7y0", this);} // tgen
+
+static void Test_G23x7y0()
+{
+ extern Class_Descriptor cd_G23x7y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G23x7y0, buf);
+ G23x7y0 *dp, &lv = *(dp=new (buf) G23x7y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G23x7y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x7y0)");
+ check_base_class_offset(lv, (A1*)(C23*), ABISELECT(48,32), "G23x7y0");
+ check_base_class_offset(lv, (B1*)(C23*), ABISELECT(32,20), "G23x7y0");
+ check_base_class_offset(lv, (C23*)(E23x7*), ABISELECT(32,20), "G23x7y0");
+ check_base_class_offset(lv, (D0*)(E23x7*), ABISELECT(60,40), "G23x7y0");
+ check_base_class_offset(lv, (E23x7*), 0, "G23x7y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G23x7y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G23x7y0.ff");
+ test_class_info(&lv, &cd_G23x7y0);
+ dp->~G23x7y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x7y0(Test_G23x7y0, "G23x7y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G23x7y0C1Ev();
+extern void _ZN7G23x7y0D1Ev();
+Name_Map name_map_G23x7y0[] = {
+ NSPAIR(_ZN7G23x7y0C1Ev),
+ NSPAIR(_ZN7G23x7y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E23x7;
+extern VTBL_ENTRY _ZTI5E23x7[];
+extern VTBL_ENTRY _ZTV5E23x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G23x7y0[] = {
+ // 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_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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E23x7, 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 _ZTI7G23x7y0[];
+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_G23x7y0[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x7y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G23x7y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G23x7y0[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G23x7y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern VTBL_ENTRY _ZTV7G23x7y0[];
+static VTBL_ENTRY _tg__ZTV5E23x7__7G23x7y0[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x7[0]),
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__5E23x7__7G23x7y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E23x7[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__5E23x7__7G23x7y0[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E23x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__7G23x7y0[] = {
+ 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__7G23x7y0[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x7y0[] = {
+ {&(_ZTV7G23x7y0[5]), 5,17},
+ {&(_tg__ZTV5E23x7__7G23x7y0[5]), 5,5},
+ {&(_tg__ZTV3C23__5E23x7__7G23x7y0[4]), 4,5},
+ {&(_tg__ZTV2A1__5E23x7__7G23x7y0[3]), 3,4},
+ {&(_ZTV7G23x7y0[12]), 12,17},
+ {&(_ZTV7G23x7y0[16]), 16,17},
+ {&(_tg__ZTV3C23__7G23x7y0[3]), 3,4},
+ {&(_tg__ZTV2A1__3C23__7G23x7y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G23x7y0[];
+extern VTBL_ENTRY _ZTV7G23x7y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x7y0[];
+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_G23x7y0 = { "G23x7y0", // class name
+ bases_G23x7y0, 6,
+ &(vtc_G23x7y0[0]), // expected_vtbl_contents
+ &(vtt_G23x7y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G23x7y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x7y0),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x7y0),8, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names207,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x7y1 : virtual E23x7 , F1 {
+ int ff;
+ ~G23x7y1(); // tgen
+ G23x7y1(); // tgen
+};
+//SIG(1 G23x7y1) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G23x7y1 ::~G23x7y1(){ note_dtor("G23x7y1", this);} // tgen
+G23x7y1 ::G23x7y1(){ note_ctor("G23x7y1", this);} // tgen
+
+static void Test_G23x7y1()
+{
+ extern Class_Descriptor cd_G23x7y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G23x7y1, buf);
+ G23x7y1 *dp, &lv = *(dp=new (buf) G23x7y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G23x7y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x7y1)");
+ check_base_class_offset(lv, (A1*)(C23*), ABISELECT(48,32), "G23x7y1");
+ check_base_class_offset(lv, (B1*)(C23*), ABISELECT(32,20), "G23x7y1");
+ check_base_class_offset(lv, (C23*)(E23x7*), ABISELECT(32,20), "G23x7y1");
+ check_base_class_offset(lv, (D0*)(E23x7*), ABISELECT(60,40), "G23x7y1");
+ check_base_class_offset(lv, (E23x7*), ABISELECT(16,12), "G23x7y1");
+ check_base_class_offset(lv, (F1*), 0, "G23x7y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G23x7y1.ff");
+ test_class_info(&lv, &cd_G23x7y1);
+ dp->~G23x7y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x7y1(Test_G23x7y1, "G23x7y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G23x7y1C1Ev();
+extern void _ZN7G23x7y1D1Ev();
+Name_Map name_map_G23x7y1[] = {
+ NSPAIR(_ZN7G23x7y1C1Ev),
+ NSPAIR(_ZN7G23x7y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E23x7;
+extern VTBL_ENTRY _ZTI5E23x7[];
+extern VTBL_ENTRY _ZTV5E23x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G23x7y1[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E23x7, 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 _ZTI7G23x7y1[];
+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_G23x7y1[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x7y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G23x7y1[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G23x7y1[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G23x7y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern VTBL_ENTRY _ZTV7G23x7y1[];
+static VTBL_ENTRY _tg__ZTV5E23x7__7G23x7y1[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x7[0]),
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__5E23x7__7G23x7y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E23x7[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__5E23x7__7G23x7y1[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E23x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__7G23x7y1[] = {
+ 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__7G23x7y1[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x7y1[] = {
+ {&(_ZTV7G23x7y1[6]), 6,21},
+ {&(_ZTV7G23x7y1[12]), 12,21},
+ {&(_ZTV7G23x7y1[16]), 16,21},
+ {&(_ZTV7G23x7y1[20]), 20,21},
+ {&(_tg__ZTV5E23x7__7G23x7y1[5]), 5,5},
+ {&(_tg__ZTV3C23__5E23x7__7G23x7y1[4]), 4,5},
+ {&(_tg__ZTV2A1__5E23x7__7G23x7y1[3]), 3,4},
+ {&(_tg__ZTV3C23__7G23x7y1[3]), 3,4},
+ {&(_tg__ZTV2A1__3C23__7G23x7y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G23x7y1[];
+extern VTBL_ENTRY _ZTV7G23x7y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x7y1[];
+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_G23x7y1 = { "G23x7y1", // class name
+ bases_G23x7y1, 6,
+ &(vtc_G23x7y1[0]), // expected_vtbl_contents
+ &(vtt_G23x7y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G23x7y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x7y1),21, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x7y1),9, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names208,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x7y2 : E23x7 , virtual F1 {
+ int ff;
+ ~G23x7y2(); // tgen
+ G23x7y2(); // tgen
+};
+//SIG(1 G23x7y2) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G23x7y2 ::~G23x7y2(){ note_dtor("G23x7y2", this);} // tgen
+G23x7y2 ::G23x7y2(){ note_ctor("G23x7y2", this);} // tgen
+
+static void Test_G23x7y2()
+{
+ extern Class_Descriptor cd_G23x7y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G23x7y2, buf);
+ G23x7y2 *dp, &lv = *(dp=new (buf) G23x7y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G23x7y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x7y2)");
+ check_base_class_offset(lv, (A1*)(C23*), ABISELECT(32,24), "G23x7y2");
+ check_base_class_offset(lv, (B1*)(C23*), ABISELECT(16,12), "G23x7y2");
+ check_base_class_offset(lv, (C23*)(E23x7*), ABISELECT(16,12), "G23x7y2");
+ check_base_class_offset(lv, (D0*)(E23x7*), ABISELECT(44,32), "G23x7y2");
+ check_base_class_offset(lv, (E23x7*), 0, "G23x7y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,36), "G23x7y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G23x7y2.ff");
+ test_class_info(&lv, &cd_G23x7y2);
+ dp->~G23x7y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x7y2(Test_G23x7y2, "G23x7y2", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G23x7y2C1Ev();
+extern void _ZN7G23x7y2D1Ev();
+Name_Map name_map_G23x7y2[] = {
+ NSPAIR(_ZN7G23x7y2C1Ev),
+ NSPAIR(_ZN7G23x7y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E23x7;
+extern VTBL_ENTRY _ZTI5E23x7[];
+extern VTBL_ENTRY _ZTV5E23x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G23x7y2[] = {
+ // 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)
+ 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(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E23x7, 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(48,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 _ZTI7G23x7y2[];
+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_G23x7y2[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x7y2[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G23x7y2[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G23x7y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G23x7y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G23x7y2[];
+static VTBL_ENTRY _tg__ZTV5E23x7__7G23x7y2[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x7[0]),
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__5E23x7__7G23x7y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E23x7[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__5E23x7__7G23x7y2[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E23x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__7G23x7y2[] = {
+ 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__7G23x7y2[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x7y2[] = {
+ {&(_ZTV7G23x7y2[6]), 6,19},
+ {&(_tg__ZTV5E23x7__7G23x7y2[5]), 5,5},
+ {&(_tg__ZTV3C23__5E23x7__7G23x7y2[4]), 4,5},
+ {&(_tg__ZTV2A1__5E23x7__7G23x7y2[3]), 3,4},
+ {&(_ZTV7G23x7y2[10]), 10,19},
+ {&(_ZTV7G23x7y2[14]), 14,19},
+ {&(_ZTV7G23x7y2[18]), 18,19},
+ {&(_tg__ZTV3C23__7G23x7y2[3]), 3,4},
+ {&(_tg__ZTV2A1__3C23__7G23x7y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G23x7y2[];
+extern VTBL_ENTRY _ZTV7G23x7y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x7y2[];
+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_G23x7y2 = { "G23x7y2", // class name
+ bases_G23x7y2, 6,
+ &(vtc_G23x7y2[0]), // expected_vtbl_contents
+ &(vtt_G23x7y2[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G23x7y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x7y2),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x7y2),9, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names209,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x7y3 : virtual E23x7 , virtual F1 {
+ int ff;
+ ~G23x7y3(); // tgen
+ G23x7y3(); // tgen
+};
+//SIG(1 G23x7y3) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G23x7y3 ::~G23x7y3(){ note_dtor("G23x7y3", this);} // tgen
+G23x7y3 ::G23x7y3(){ note_ctor("G23x7y3", this);} // tgen
+
+static void Test_G23x7y3()
+{
+ extern Class_Descriptor cd_G23x7y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G23x7y3, buf);
+ G23x7y3 *dp, &lv = *(dp=new (buf) G23x7y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G23x7y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x7y3)");
+ check_base_class_offset(lv, (A1*)(C23*), ABISELECT(48,28), "G23x7y3");
+ check_base_class_offset(lv, (B1*)(C23*), ABISELECT(32,16), "G23x7y3");
+ check_base_class_offset(lv, (C23*)(E23x7*), ABISELECT(32,16), "G23x7y3");
+ check_base_class_offset(lv, (D0*)(E23x7*), ABISELECT(60,36), "G23x7y3");
+ check_base_class_offset(lv, (E23x7*), ABISELECT(16,8), "G23x7y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G23x7y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G23x7y3.ff");
+ test_class_info(&lv, &cd_G23x7y3);
+ dp->~G23x7y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x7y3(Test_G23x7y3, "G23x7y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G23x7y3C1Ev();
+extern void _ZN7G23x7y3D1Ev();
+Name_Map name_map_G23x7y3[] = {
+ NSPAIR(_ZN7G23x7y3C1Ev),
+ NSPAIR(_ZN7G23x7y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E23x7;
+extern VTBL_ENTRY _ZTI5E23x7[];
+extern VTBL_ENTRY _ZTV5E23x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G23x7y3[] = {
+ // 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
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E23x7, 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
+ 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 _ZTI7G23x7y3[];
+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_G23x7y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x7y3[0]),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G23x7y3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G23x7y3[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G23x7y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G23x7y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G23x7y3[];
+static VTBL_ENTRY _tg__ZTV5E23x7__7G23x7y3[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x7[0]),
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__5E23x7__7G23x7y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E23x7[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__5E23x7__7G23x7y3[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E23x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__7G23x7y3[] = {
+ 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__7G23x7y3[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x7y3[] = {
+ {&(_ZTV7G23x7y3[7]), 7,25},
+ {&(_ZTV7G23x7y3[12]), 12,25},
+ {&(_ZTV7G23x7y3[16]), 16,25},
+ {&(_ZTV7G23x7y3[20]), 20,25},
+ {&(_ZTV7G23x7y3[24]), 24,25},
+ {&(_tg__ZTV5E23x7__7G23x7y3[5]), 5,5},
+ {&(_tg__ZTV3C23__5E23x7__7G23x7y3[4]), 4,5},
+ {&(_tg__ZTV2A1__5E23x7__7G23x7y3[3]), 3,4},
+ {&(_tg__ZTV3C23__7G23x7y3[3]), 3,4},
+ {&(_tg__ZTV2A1__3C23__7G23x7y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G23x7y3[];
+extern VTBL_ENTRY _ZTV7G23x7y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x7y3[];
+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_G23x7y3 = { "G23x7y3", // class name
+ bases_G23x7y3, 6,
+ &(vtc_G23x7y3[0]), // expected_vtbl_contents
+ &(vtt_G23x7y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G23x7y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x7y3),25, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x7y3),10, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names210,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x7y4 : E23x7 , F0 {
+ int ff;
+ ~G23x7y4(); // tgen
+ G23x7y4(); // tgen
+};
+//SIG(1 G23x7y4) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G23x7y4 ::~G23x7y4(){ note_dtor("G23x7y4", this);} // tgen
+G23x7y4 ::G23x7y4(){ note_ctor("G23x7y4", this);} // tgen
+
+static void Test_G23x7y4()
+{
+ extern Class_Descriptor cd_G23x7y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G23x7y4, buf);
+ G23x7y4 *dp, &lv = *(dp=new (buf) G23x7y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G23x7y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x7y4)");
+ check_base_class_offset(lv, (A1*)(C23*), ABISELECT(40,28), "G23x7y4");
+ check_base_class_offset(lv, (B1*)(C23*), ABISELECT(24,16), "G23x7y4");
+ check_base_class_offset(lv, (C23*)(E23x7*), ABISELECT(24,16), "G23x7y4");
+ check_base_class_offset(lv, (D0*)(E23x7*), ABISELECT(52,36), "G23x7y4");
+ check_base_class_offset(lv, (E23x7*), 0, "G23x7y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G23x7y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G23x7y4.ff");
+ test_class_info(&lv, &cd_G23x7y4);
+ dp->~G23x7y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x7y4(Test_G23x7y4, "G23x7y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G23x7y4C1Ev();
+extern void _ZN7G23x7y4D1Ev();
+Name_Map name_map_G23x7y4[] = {
+ NSPAIR(_ZN7G23x7y4C1Ev),
+ NSPAIR(_ZN7G23x7y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E23x7;
+extern VTBL_ENTRY _ZTI5E23x7[];
+extern VTBL_ENTRY _ZTV5E23x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G23x7y4[] = {
+ // 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_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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E23x7, 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 _ZTI7G23x7y4[];
+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_G23x7y4[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x7y4[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G23x7y4[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G23x7y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern VTBL_ENTRY _ZTV7G23x7y4[];
+static VTBL_ENTRY _tg__ZTV5E23x7__7G23x7y4[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x7[0]),
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__5E23x7__7G23x7y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E23x7[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__5E23x7__7G23x7y4[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E23x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__7G23x7y4[] = {
+ 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__7G23x7y4[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x7y4[] = {
+ {&(_ZTV7G23x7y4[5]), 5,14},
+ {&(_tg__ZTV5E23x7__7G23x7y4[5]), 5,5},
+ {&(_tg__ZTV3C23__5E23x7__7G23x7y4[4]), 4,5},
+ {&(_tg__ZTV2A1__5E23x7__7G23x7y4[3]), 3,4},
+ {&(_ZTV7G23x7y4[9]), 9,14},
+ {&(_ZTV7G23x7y4[13]), 13,14},
+ {&(_tg__ZTV3C23__7G23x7y4[3]), 3,4},
+ {&(_tg__ZTV2A1__3C23__7G23x7y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G23x7y4[];
+extern VTBL_ENTRY _ZTV7G23x7y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x7y4[];
+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_G23x7y4 = { "G23x7y4", // class name
+ bases_G23x7y4, 6,
+ &(vtc_G23x7y4[0]), // expected_vtbl_contents
+ &(vtt_G23x7y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G23x7y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x7y4),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x7y4),8, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names211,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x7y5 : virtual E23x7 , F0 {
+ int ff;
+ ~G23x7y5(); // tgen
+ G23x7y5(); // tgen
+};
+//SIG(1 G23x7y5) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G23x7y5 ::~G23x7y5(){ note_dtor("G23x7y5", this);} // tgen
+G23x7y5 ::G23x7y5(){ note_ctor("G23x7y5", this);} // tgen
+
+static void Test_G23x7y5()
+{
+ extern Class_Descriptor cd_G23x7y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G23x7y5, buf);
+ G23x7y5 *dp, &lv = *(dp=new (buf) G23x7y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G23x7y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x7y5)");
+ check_base_class_offset(lv, (A1*)(C23*), ABISELECT(48,32), "G23x7y5");
+ check_base_class_offset(lv, (B1*)(C23*), ABISELECT(32,20), "G23x7y5");
+ check_base_class_offset(lv, (C23*)(E23x7*), ABISELECT(32,20), "G23x7y5");
+ check_base_class_offset(lv, (D0*)(E23x7*), ABISELECT(60,40), "G23x7y5");
+ check_base_class_offset(lv, (E23x7*), ABISELECT(16,12), "G23x7y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G23x7y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G23x7y5.ff");
+ test_class_info(&lv, &cd_G23x7y5);
+ dp->~G23x7y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x7y5(Test_G23x7y5, "G23x7y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G23x7y5C1Ev();
+extern void _ZN7G23x7y5D1Ev();
+Name_Map name_map_G23x7y5[] = {
+ NSPAIR(_ZN7G23x7y5C1Ev),
+ NSPAIR(_ZN7G23x7y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E23x7;
+extern VTBL_ENTRY _ZTI5E23x7[];
+extern VTBL_ENTRY _ZTV5E23x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G23x7y5[] = {
+ // 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
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E23x7, 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 _ZTI7G23x7y5[];
+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_G23x7y5[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x7y5[0]),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G23x7y5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G23x7y5[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G23x7y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern VTBL_ENTRY _ZTV7G23x7y5[];
+static VTBL_ENTRY _tg__ZTV5E23x7__7G23x7y5[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x7[0]),
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__5E23x7__7G23x7y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E23x7[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__5E23x7__7G23x7y5[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E23x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__7G23x7y5[] = {
+ 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__7G23x7y5[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x7y5[] = {
+ {&(_ZTV7G23x7y5[6]), 6,20},
+ {&(_ZTV7G23x7y5[11]), 11,20},
+ {&(_ZTV7G23x7y5[15]), 15,20},
+ {&(_ZTV7G23x7y5[19]), 19,20},
+ {&(_tg__ZTV5E23x7__7G23x7y5[5]), 5,5},
+ {&(_tg__ZTV3C23__5E23x7__7G23x7y5[4]), 4,5},
+ {&(_tg__ZTV2A1__5E23x7__7G23x7y5[3]), 3,4},
+ {&(_tg__ZTV3C23__7G23x7y5[3]), 3,4},
+ {&(_tg__ZTV2A1__3C23__7G23x7y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G23x7y5[];
+extern VTBL_ENTRY _ZTV7G23x7y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x7y5[];
+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_G23x7y5 = { "G23x7y5", // class name
+ bases_G23x7y5, 6,
+ &(vtc_G23x7y5[0]), // expected_vtbl_contents
+ &(vtt_G23x7y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G23x7y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x7y5),20, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x7y5),9, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names212,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x7y6 : E23x7 , virtual F0 {
+ int ff;
+ ~G23x7y6(); // tgen
+ G23x7y6(); // tgen
+};
+//SIG(1 G23x7y6) C1{ BC2{ VBC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G23x7y6 ::~G23x7y6(){ note_dtor("G23x7y6", this);} // tgen
+G23x7y6 ::G23x7y6(){ note_ctor("G23x7y6", this);} // tgen
+
+static void Test_G23x7y6()
+{
+ extern Class_Descriptor cd_G23x7y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G23x7y6, buf);
+ G23x7y6 *dp, &lv = *(dp=new (buf) G23x7y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G23x7y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x7y6)");
+ check_base_class_offset(lv, (A1*)(C23*), ABISELECT(32,24), "G23x7y6");
+ check_base_class_offset(lv, (B1*)(C23*), ABISELECT(16,12), "G23x7y6");
+ check_base_class_offset(lv, (C23*)(E23x7*), ABISELECT(16,12), "G23x7y6");
+ check_base_class_offset(lv, (D0*)(E23x7*), ABISELECT(44,32), "G23x7y6");
+ check_base_class_offset(lv, (E23x7*), 0, "G23x7y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(48,36), "G23x7y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G23x7y6.ff");
+ test_class_info(&lv, &cd_G23x7y6);
+ dp->~G23x7y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x7y6(Test_G23x7y6, "G23x7y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G23x7y6C1Ev();
+extern void _ZN7G23x7y6D1Ev();
+Name_Map name_map_G23x7y6[] = {
+ NSPAIR(_ZN7G23x7y6C1Ev),
+ NSPAIR(_ZN7G23x7y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E23x7;
+extern VTBL_ENTRY _ZTI5E23x7[];
+extern VTBL_ENTRY _ZTV5E23x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G23x7y6[] = {
+ // 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)
+ 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(16,12), //bcp->offset
+ -1, //bcp->virtual_function_table_offset
+ 2, //num_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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E23x7, 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(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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G23x7y6[];
+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_G23x7y6[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x7y6[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G23x7y6[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G23x7y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern VTBL_ENTRY _ZTV7G23x7y6[];
+static VTBL_ENTRY _tg__ZTV5E23x7__7G23x7y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x7[0]),
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__5E23x7__7G23x7y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E23x7[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__5E23x7__7G23x7y6[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E23x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__7G23x7y6[] = {
+ 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__7G23x7y6[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x7y6[] = {
+ {&(_ZTV7G23x7y6[6]), 6,15},
+ {&(_tg__ZTV5E23x7__7G23x7y6[5]), 5,5},
+ {&(_tg__ZTV3C23__5E23x7__7G23x7y6[4]), 4,5},
+ {&(_tg__ZTV2A1__5E23x7__7G23x7y6[3]), 3,4},
+ {&(_ZTV7G23x7y6[10]), 10,15},
+ {&(_ZTV7G23x7y6[14]), 14,15},
+ {&(_tg__ZTV3C23__7G23x7y6[3]), 3,4},
+ {&(_tg__ZTV2A1__3C23__7G23x7y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G23x7y6[];
+extern VTBL_ENTRY _ZTV7G23x7y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x7y6[];
+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_G23x7y6 = { "G23x7y6", // class name
+ bases_G23x7y6, 6,
+ &(vtc_G23x7y6[0]), // expected_vtbl_contents
+ &(vtt_G23x7y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G23x7y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x7y6),15, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x7y6),8, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names213,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G23x7y7 : virtual E23x7 , virtual F0 {
+ int ff;
+ ~G23x7y7(); // tgen
+ G23x7y7(); // tgen
+};
+//SIG(1 G23x7y7) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} BC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G23x7y7 ::~G23x7y7(){ note_dtor("G23x7y7", this);} // tgen
+G23x7y7 ::G23x7y7(){ note_ctor("G23x7y7", this);} // tgen
+
+static void Test_G23x7y7()
+{
+ extern Class_Descriptor cd_G23x7y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G23x7y7, buf);
+ G23x7y7 *dp, &lv = *(dp=new (buf) G23x7y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G23x7y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G23x7y7)");
+ check_base_class_offset(lv, (A1*)(C23*), ABISELECT(48,28), "G23x7y7");
+ check_base_class_offset(lv, (B1*)(C23*), ABISELECT(32,16), "G23x7y7");
+ check_base_class_offset(lv, (C23*)(E23x7*), ABISELECT(32,16), "G23x7y7");
+ check_base_class_offset(lv, (D0*)(E23x7*), ABISELECT(60,36), "G23x7y7");
+ check_base_class_offset(lv, (E23x7*), ABISELECT(16,8), "G23x7y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(64,40), "G23x7y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G23x7y7.ff");
+ test_class_info(&lv, &cd_G23x7y7);
+ dp->~G23x7y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG23x7y7(Test_G23x7y7, "G23x7y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G23x7y7C1Ev();
+extern void _ZN7G23x7y7D1Ev();
+Name_Map name_map_G23x7y7[] = {
+ NSPAIR(_ZN7G23x7y7C1Ev),
+ NSPAIR(_ZN7G23x7y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E23x7;
+extern VTBL_ENTRY _ZTI5E23x7[];
+extern VTBL_ENTRY _ZTV5E23x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E23x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G23x7y7[] = {
+ // 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
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E23x7, 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(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 _ZTI7G23x7y7[];
+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_G23x7y7[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G23x7y7[0]),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G23x7y7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G23x7y7[0]),
+ (VTBL_ENTRY)&_ZN3C233fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G23x7y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern VTBL_ENTRY _ZTV7G23x7y7[];
+static VTBL_ENTRY _tg__ZTV5E23x7__7G23x7y7[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E23x7[0]),
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__5E23x7__7G23x7y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E23x7[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__5E23x7__7G23x7y7[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E23x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+extern void _ZN3C233fooEv();
+static VTBL_ENTRY _tg__ZTV3C23__7G23x7y7[] = {
+ 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__7G23x7y7[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C23[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C233fooEv,_ZTv0_n12_N3C233fooEv),
+};
+static VTT_ENTRY vtt_G23x7y7[] = {
+ {&(_ZTV7G23x7y7[7]), 7,21},
+ {&(_ZTV7G23x7y7[12]), 12,21},
+ {&(_ZTV7G23x7y7[16]), 16,21},
+ {&(_ZTV7G23x7y7[20]), 20,21},
+ {&(_tg__ZTV5E23x7__7G23x7y7[5]), 5,5},
+ {&(_tg__ZTV3C23__5E23x7__7G23x7y7[4]), 4,5},
+ {&(_tg__ZTV2A1__5E23x7__7G23x7y7[3]), 3,4},
+ {&(_tg__ZTV3C23__7G23x7y7[3]), 3,4},
+ {&(_tg__ZTV2A1__3C23__7G23x7y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G23x7y7[];
+extern VTBL_ENTRY _ZTV7G23x7y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G23x7y7[];
+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_G23x7y7 = { "G23x7y7", // class name
+ bases_G23x7y7, 6,
+ &(vtc_G23x7y7[0]), // expected_vtbl_contents
+ &(vtt_G23x7y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G23x7y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G23x7y7),21, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G23x7y7),9, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names214,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E24x7 : virtual C24 , virtual D0 {
+ int fd;
+ ~E24x7(); // tgen
+ E24x7(); // tgen
+};
+//SIG(-1 E24x7) C1{ VBC2{ BC3{ Fi} VBC4{ Fi} v1 Fi} VBC5{ Fi} Fi}
+
+
+E24x7 ::~E24x7(){ note_dtor("E24x7", this);} // tgen
+E24x7 ::E24x7(){ note_ctor("E24x7", this);} // tgen
+
+static void Test_E24x7()
+{
+ extern Class_Descriptor cd_E24x7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E24x7, buf);
+ E24x7 *dp, &lv = *(dp=new (buf) E24x7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E24x7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E24x7)");
+ check_base_class_offset(lv, (A0*)(C24*), ABISELECT(24,12), "E24x7");
+ check_base_class_offset(lv, (B0*)(C24*), ABISELECT(32,20), "E24x7");
+ check_base_class_offset(lv, (C24*), ABISELECT(16,8), "E24x7");
+ check_base_class_offset(lv, (D0*), ABISELECT(36,24), "E24x7");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E24x7.fd");
+ test_class_info(&lv, &cd_E24x7);
+ dp->~E24x7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE24x7(Test_E24x7, "E24x7", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E24x7C1Ev();
+extern void _ZN5E24x7D1Ev();
+Name_Map name_map_E24x7[] = {
+ NSPAIR(_ZN5E24x7C1Ev),
+ NSPAIR(_ZN5E24x7D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E24x7[] = {
+ // 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
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D0, 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, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E24x7[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY vtc_E24x7[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E24x7[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern VTBL_ENTRY _ZTV5E24x7[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__5E24x7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_E24x7[] = {
+ {&(_ZTV5E24x7[5]), 5,10},
+ {&(_ZTV5E24x7[9]), 9,10},
+ {&(_tg__ZTV3C24__5E24x7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E24x7[];
+extern VTBL_ENTRY _ZTV5E24x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x7[];
+Class_Descriptor cd_E24x7 = { "E24x7", // class name
+ bases_E24x7, 4,
+ &(vtc_E24x7[0]), // expected_vtbl_contents
+ &(vtt_E24x7[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E24x7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E24x7),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E24x7),3, //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 G24x7y0 : E24x7 , F1 {
+ int ff;
+ ~G24x7y0(); // tgen
+ G24x7y0(); // tgen
+};
+//SIG(1 G24x7y0) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G24x7y0 ::~G24x7y0(){ note_dtor("G24x7y0", this);} // tgen
+G24x7y0 ::G24x7y0(){ note_ctor("G24x7y0", this);} // tgen
+
+static void Test_G24x7y0()
+{
+ extern Class_Descriptor cd_G24x7y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G24x7y0, buf);
+ G24x7y0 *dp, &lv = *(dp=new (buf) G24x7y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G24x7y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x7y0)");
+ check_base_class_offset(lv, (A0*)(C24*), ABISELECT(40,24), "G24x7y0");
+ check_base_class_offset(lv, (B0*)(C24*), ABISELECT(48,32), "G24x7y0");
+ check_base_class_offset(lv, (C24*)(E24x7*), ABISELECT(32,20), "G24x7y0");
+ check_base_class_offset(lv, (D0*)(E24x7*), ABISELECT(52,36), "G24x7y0");
+ check_base_class_offset(lv, (E24x7*), 0, "G24x7y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G24x7y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G24x7y0.ff");
+ test_class_info(&lv, &cd_G24x7y0);
+ dp->~G24x7y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x7y0(Test_G24x7y0, "G24x7y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G24x7y0C1Ev();
+extern void _ZN7G24x7y0D1Ev();
+Name_Map name_map_G24x7y0[] = {
+ NSPAIR(_ZN7G24x7y0C1Ev),
+ NSPAIR(_ZN7G24x7y0D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E24x7;
+extern VTBL_ENTRY _ZTI5E24x7[];
+extern VTBL_ENTRY _ZTV5E24x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G24x7y0[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E24x7, 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
+ 2, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G24x7y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY vtc_G24x7y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x7y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G24x7y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G24x7y0[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x7y0[];
+static VTBL_ENTRY _tg__ZTV5E24x7__7G24x7y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x7[0]),
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__5E24x7__7G24x7y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E24x7[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__7G24x7y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x7y0[] = {
+ {&(_ZTV7G24x7y0[5]), 5,13},
+ {&(_tg__ZTV5E24x7__7G24x7y0[5]), 5,5},
+ {&(_tg__ZTV3C24__5E24x7__7G24x7y0[4]), 4,5},
+ {&(_ZTV7G24x7y0[12]), 12,13},
+ {&(_tg__ZTV3C24__7G24x7y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x7y0[];
+extern VTBL_ENTRY _ZTV7G24x7y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x7y0[];
+Class_Descriptor cd_G24x7y0 = { "G24x7y0", // class name
+ bases_G24x7y0, 6,
+ &(vtc_G24x7y0[0]), // expected_vtbl_contents
+ &(vtt_G24x7y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G24x7y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x7y0),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x7y0),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 G24x7y1 : virtual E24x7 , F1 {
+ int ff;
+ ~G24x7y1(); // tgen
+ G24x7y1(); // tgen
+};
+//SIG(1 G24x7y1) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G24x7y1 ::~G24x7y1(){ note_dtor("G24x7y1", this);} // tgen
+G24x7y1 ::G24x7y1(){ note_ctor("G24x7y1", this);} // tgen
+
+static void Test_G24x7y1()
+{
+ extern Class_Descriptor cd_G24x7y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G24x7y1, buf);
+ G24x7y1 *dp, &lv = *(dp=new (buf) G24x7y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G24x7y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x7y1)");
+ check_base_class_offset(lv, (A0*)(C24*), ABISELECT(40,24), "G24x7y1");
+ check_base_class_offset(lv, (B0*)(C24*), ABISELECT(48,32), "G24x7y1");
+ check_base_class_offset(lv, (C24*)(E24x7*), ABISELECT(32,20), "G24x7y1");
+ check_base_class_offset(lv, (D0*)(E24x7*), ABISELECT(52,36), "G24x7y1");
+ check_base_class_offset(lv, (E24x7*), ABISELECT(16,12), "G24x7y1");
+ check_base_class_offset(lv, (F1*), 0, "G24x7y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G24x7y1.ff");
+ test_class_info(&lv, &cd_G24x7y1);
+ dp->~G24x7y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x7y1(Test_G24x7y1, "G24x7y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G24x7y1C1Ev();
+extern void _ZN7G24x7y1D1Ev();
+Name_Map name_map_G24x7y1[] = {
+ NSPAIR(_ZN7G24x7y1C1Ev),
+ NSPAIR(_ZN7G24x7y1D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E24x7;
+extern VTBL_ENTRY _ZTI5E24x7[];
+extern VTBL_ENTRY _ZTV5E24x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G24x7y1[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E24x7, 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
+ 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 _ZTI7G24x7y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY vtc_G24x7y1[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x7y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G24x7y1[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G24x7y1[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x7y1[];
+static VTBL_ENTRY _tg__ZTV5E24x7__7G24x7y1[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x7[0]),
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__5E24x7__7G24x7y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E24x7[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__7G24x7y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x7y1[] = {
+ {&(_ZTV7G24x7y1[6]), 6,17},
+ {&(_ZTV7G24x7y1[12]), 12,17},
+ {&(_ZTV7G24x7y1[16]), 16,17},
+ {&(_tg__ZTV5E24x7__7G24x7y1[5]), 5,5},
+ {&(_tg__ZTV3C24__5E24x7__7G24x7y1[4]), 4,5},
+ {&(_tg__ZTV3C24__7G24x7y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x7y1[];
+extern VTBL_ENTRY _ZTV7G24x7y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x7y1[];
+Class_Descriptor cd_G24x7y1 = { "G24x7y1", // class name
+ bases_G24x7y1, 6,
+ &(vtc_G24x7y1[0]), // expected_vtbl_contents
+ &(vtt_G24x7y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G24x7y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x7y1),17, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x7y1),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 G24x7y2 : E24x7 , virtual F1 {
+ int ff;
+ ~G24x7y2(); // tgen
+ G24x7y2(); // tgen
+};
+//SIG(1 G24x7y2) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G24x7y2 ::~G24x7y2(){ note_dtor("G24x7y2", this);} // tgen
+G24x7y2 ::G24x7y2(){ note_ctor("G24x7y2", this);} // tgen
+
+static void Test_G24x7y2()
+{
+ extern Class_Descriptor cd_G24x7y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G24x7y2, buf);
+ G24x7y2 *dp, &lv = *(dp=new (buf) G24x7y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G24x7y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x7y2)");
+ check_base_class_offset(lv, (A0*)(C24*), ABISELECT(24,16), "G24x7y2");
+ check_base_class_offset(lv, (B0*)(C24*), ABISELECT(32,24), "G24x7y2");
+ check_base_class_offset(lv, (C24*)(E24x7*), ABISELECT(16,12), "G24x7y2");
+ check_base_class_offset(lv, (D0*)(E24x7*), ABISELECT(36,28), "G24x7y2");
+ check_base_class_offset(lv, (E24x7*), 0, "G24x7y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(40,32), "G24x7y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G24x7y2.ff");
+ test_class_info(&lv, &cd_G24x7y2);
+ dp->~G24x7y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x7y2(Test_G24x7y2, "G24x7y2", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G24x7y2C1Ev();
+extern void _ZN7G24x7y2D1Ev();
+Name_Map name_map_G24x7y2[] = {
+ NSPAIR(_ZN7G24x7y2C1Ev),
+ NSPAIR(_ZN7G24x7y2D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E24x7;
+extern VTBL_ENTRY _ZTI5E24x7[];
+extern VTBL_ENTRY _ZTV5E24x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G24x7y2[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E24x7, 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(40,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 _ZTI7G24x7y2[];
+extern void _ZN3C243fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G24x7y2[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x7y2[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G24x7y2[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G24x7y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x7y2[];
+static VTBL_ENTRY _tg__ZTV5E24x7__7G24x7y2[] = {
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x7[0]),
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__5E24x7__7G24x7y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E24x7[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__7G24x7y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x7y2[] = {
+ {&(_ZTV7G24x7y2[6]), 6,15},
+ {&(_tg__ZTV5E24x7__7G24x7y2[5]), 5,5},
+ {&(_tg__ZTV3C24__5E24x7__7G24x7y2[4]), 4,5},
+ {&(_ZTV7G24x7y2[10]), 10,15},
+ {&(_ZTV7G24x7y2[14]), 14,15},
+ {&(_tg__ZTV3C24__7G24x7y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x7y2[];
+extern VTBL_ENTRY _ZTV7G24x7y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x7y2[];
+Class_Descriptor cd_G24x7y2 = { "G24x7y2", // class name
+ bases_G24x7y2, 6,
+ &(vtc_G24x7y2[0]), // expected_vtbl_contents
+ &(vtt_G24x7y2[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G24x7y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x7y2),15, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x7y2),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 G24x7y3 : virtual E24x7 , virtual F1 {
+ int ff;
+ ~G24x7y3(); // tgen
+ G24x7y3(); // tgen
+};
+//SIG(1 G24x7y3) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G24x7y3 ::~G24x7y3(){ note_dtor("G24x7y3", this);} // tgen
+G24x7y3 ::G24x7y3(){ note_ctor("G24x7y3", this);} // tgen
+
+static void Test_G24x7y3()
+{
+ extern Class_Descriptor cd_G24x7y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G24x7y3, buf);
+ G24x7y3 *dp, &lv = *(dp=new (buf) G24x7y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G24x7y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x7y3)");
+ check_base_class_offset(lv, (A0*)(C24*), ABISELECT(40,20), "G24x7y3");
+ check_base_class_offset(lv, (B0*)(C24*), ABISELECT(48,28), "G24x7y3");
+ check_base_class_offset(lv, (C24*)(E24x7*), ABISELECT(32,16), "G24x7y3");
+ check_base_class_offset(lv, (D0*)(E24x7*), ABISELECT(52,32), "G24x7y3");
+ check_base_class_offset(lv, (E24x7*), ABISELECT(16,8), "G24x7y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G24x7y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G24x7y3.ff");
+ test_class_info(&lv, &cd_G24x7y3);
+ dp->~G24x7y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x7y3(Test_G24x7y3, "G24x7y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G24x7y3C1Ev();
+extern void _ZN7G24x7y3D1Ev();
+Name_Map name_map_G24x7y3[] = {
+ NSPAIR(_ZN7G24x7y3C1Ev),
+ NSPAIR(_ZN7G24x7y3D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E24x7;
+extern VTBL_ENTRY _ZTI5E24x7[];
+extern VTBL_ENTRY _ZTV5E24x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G24x7y3[] = {
+ // 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
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E24x7, 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
+ 2, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G24x7y3[];
+extern void _ZN3C243fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G24x7y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x7y3[0]),
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G24x7y3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G24x7y3[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G24x7y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x7y3[];
+static VTBL_ENTRY _tg__ZTV5E24x7__7G24x7y3[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x7[0]),
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__5E24x7__7G24x7y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E24x7[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__7G24x7y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x7y3[] = {
+ {&(_ZTV7G24x7y3[7]), 7,21},
+ {&(_ZTV7G24x7y3[12]), 12,21},
+ {&(_ZTV7G24x7y3[16]), 16,21},
+ {&(_ZTV7G24x7y3[20]), 20,21},
+ {&(_tg__ZTV5E24x7__7G24x7y3[5]), 5,5},
+ {&(_tg__ZTV3C24__5E24x7__7G24x7y3[4]), 4,5},
+ {&(_tg__ZTV3C24__7G24x7y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x7y3[];
+extern VTBL_ENTRY _ZTV7G24x7y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x7y3[];
+Class_Descriptor cd_G24x7y3 = { "G24x7y3", // class name
+ bases_G24x7y3, 6,
+ &(vtc_G24x7y3[0]), // expected_vtbl_contents
+ &(vtt_G24x7y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G24x7y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x7y3),21, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x7y3),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 G24x7y4 : E24x7 , F0 {
+ int ff;
+ ~G24x7y4(); // tgen
+ G24x7y4(); // tgen
+};
+//SIG(1 G24x7y4) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G24x7y4 ::~G24x7y4(){ note_dtor("G24x7y4", this);} // tgen
+G24x7y4 ::G24x7y4(){ note_ctor("G24x7y4", this);} // tgen
+
+static void Test_G24x7y4()
+{
+ extern Class_Descriptor cd_G24x7y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G24x7y4, buf);
+ G24x7y4 *dp, &lv = *(dp=new (buf) G24x7y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G24x7y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x7y4)");
+ check_base_class_offset(lv, (A0*)(C24*), ABISELECT(32,20), "G24x7y4");
+ check_base_class_offset(lv, (B0*)(C24*), ABISELECT(40,28), "G24x7y4");
+ check_base_class_offset(lv, (C24*)(E24x7*), ABISELECT(24,16), "G24x7y4");
+ check_base_class_offset(lv, (D0*)(E24x7*), ABISELECT(44,32), "G24x7y4");
+ check_base_class_offset(lv, (E24x7*), 0, "G24x7y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G24x7y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G24x7y4.ff");
+ test_class_info(&lv, &cd_G24x7y4);
+ dp->~G24x7y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x7y4(Test_G24x7y4, "G24x7y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G24x7y4C1Ev();
+extern void _ZN7G24x7y4D1Ev();
+Name_Map name_map_G24x7y4[] = {
+ NSPAIR(_ZN7G24x7y4C1Ev),
+ NSPAIR(_ZN7G24x7y4D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E24x7;
+extern VTBL_ENTRY _ZTI5E24x7[];
+extern VTBL_ENTRY _ZTV5E24x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G24x7y4[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E24x7, 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
+ 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 _ZTI7G24x7y4[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY vtc_G24x7y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x7y4[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G24x7y4[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x7y4[];
+static VTBL_ENTRY _tg__ZTV5E24x7__7G24x7y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x7[0]),
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__5E24x7__7G24x7y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E24x7[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__7G24x7y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x7y4[] = {
+ {&(_ZTV7G24x7y4[5]), 5,10},
+ {&(_tg__ZTV5E24x7__7G24x7y4[5]), 5,5},
+ {&(_tg__ZTV3C24__5E24x7__7G24x7y4[4]), 4,5},
+ {&(_ZTV7G24x7y4[9]), 9,10},
+ {&(_tg__ZTV3C24__7G24x7y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x7y4[];
+extern VTBL_ENTRY _ZTV7G24x7y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x7y4[];
+Class_Descriptor cd_G24x7y4 = { "G24x7y4", // class name
+ bases_G24x7y4, 6,
+ &(vtc_G24x7y4[0]), // expected_vtbl_contents
+ &(vtt_G24x7y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G24x7y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x7y4),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x7y4),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 G24x7y5 : virtual E24x7 , F0 {
+ int ff;
+ ~G24x7y5(); // tgen
+ G24x7y5(); // tgen
+};
+//SIG(1 G24x7y5) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G24x7y5 ::~G24x7y5(){ note_dtor("G24x7y5", this);} // tgen
+G24x7y5 ::G24x7y5(){ note_ctor("G24x7y5", this);} // tgen
+
+static void Test_G24x7y5()
+{
+ extern Class_Descriptor cd_G24x7y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G24x7y5, buf);
+ G24x7y5 *dp, &lv = *(dp=new (buf) G24x7y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G24x7y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x7y5)");
+ check_base_class_offset(lv, (A0*)(C24*), ABISELECT(40,24), "G24x7y5");
+ check_base_class_offset(lv, (B0*)(C24*), ABISELECT(48,32), "G24x7y5");
+ check_base_class_offset(lv, (C24*)(E24x7*), ABISELECT(32,20), "G24x7y5");
+ check_base_class_offset(lv, (D0*)(E24x7*), ABISELECT(52,36), "G24x7y5");
+ check_base_class_offset(lv, (E24x7*), ABISELECT(16,12), "G24x7y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G24x7y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G24x7y5.ff");
+ test_class_info(&lv, &cd_G24x7y5);
+ dp->~G24x7y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x7y5(Test_G24x7y5, "G24x7y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G24x7y5C1Ev();
+extern void _ZN7G24x7y5D1Ev();
+Name_Map name_map_G24x7y5[] = {
+ NSPAIR(_ZN7G24x7y5C1Ev),
+ NSPAIR(_ZN7G24x7y5D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E24x7;
+extern VTBL_ENTRY _ZTI5E24x7[];
+extern VTBL_ENTRY _ZTV5E24x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G24x7y5[] = {
+ // 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
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E24x7, 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_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 _ZTI7G24x7y5[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY vtc_G24x7y5[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x7y5[0]),
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G24x7y5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G24x7y5[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x7y5[];
+static VTBL_ENTRY _tg__ZTV5E24x7__7G24x7y5[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x7[0]),
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__5E24x7__7G24x7y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E24x7[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__7G24x7y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x7y5[] = {
+ {&(_ZTV7G24x7y5[6]), 6,16},
+ {&(_ZTV7G24x7y5[11]), 11,16},
+ {&(_ZTV7G24x7y5[15]), 15,16},
+ {&(_tg__ZTV5E24x7__7G24x7y5[5]), 5,5},
+ {&(_tg__ZTV3C24__5E24x7__7G24x7y5[4]), 4,5},
+ {&(_tg__ZTV3C24__7G24x7y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x7y5[];
+extern VTBL_ENTRY _ZTV7G24x7y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x7y5[];
+Class_Descriptor cd_G24x7y5 = { "G24x7y5", // class name
+ bases_G24x7y5, 6,
+ &(vtc_G24x7y5[0]), // expected_vtbl_contents
+ &(vtt_G24x7y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G24x7y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x7y5),16, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x7y5),6, //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 G24x7y6 : E24x7 , virtual F0 {
+ int ff;
+ ~G24x7y6(); // tgen
+ G24x7y6(); // tgen
+};
+//SIG(1 G24x7y6) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G24x7y6 ::~G24x7y6(){ note_dtor("G24x7y6", this);} // tgen
+G24x7y6 ::G24x7y6(){ note_ctor("G24x7y6", this);} // tgen
+
+static void Test_G24x7y6()
+{
+ extern Class_Descriptor cd_G24x7y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G24x7y6, buf);
+ G24x7y6 *dp, &lv = *(dp=new (buf) G24x7y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G24x7y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x7y6)");
+ check_base_class_offset(lv, (A0*)(C24*), ABISELECT(24,16), "G24x7y6");
+ check_base_class_offset(lv, (B0*)(C24*), ABISELECT(32,24), "G24x7y6");
+ check_base_class_offset(lv, (C24*)(E24x7*), ABISELECT(16,12), "G24x7y6");
+ check_base_class_offset(lv, (D0*)(E24x7*), ABISELECT(36,28), "G24x7y6");
+ check_base_class_offset(lv, (E24x7*), 0, "G24x7y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(40,32), "G24x7y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G24x7y6.ff");
+ test_class_info(&lv, &cd_G24x7y6);
+ dp->~G24x7y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x7y6(Test_G24x7y6, "G24x7y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G24x7y6C1Ev();
+extern void _ZN7G24x7y6D1Ev();
+Name_Map name_map_G24x7y6[] = {
+ NSPAIR(_ZN7G24x7y6C1Ev),
+ NSPAIR(_ZN7G24x7y6D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E24x7;
+extern VTBL_ENTRY _ZTI5E24x7[];
+extern VTBL_ENTRY _ZTV5E24x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G24x7y6[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E24x7, 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
+ 2, //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 _ZTI7G24x7y6[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY vtc_G24x7y6[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x7y6[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G24x7y6[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x7y6[];
+static VTBL_ENTRY _tg__ZTV5E24x7__7G24x7y6[] = {
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x7[0]),
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__5E24x7__7G24x7y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E24x7[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__7G24x7y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x7y6[] = {
+ {&(_ZTV7G24x7y6[6]), 6,11},
+ {&(_tg__ZTV5E24x7__7G24x7y6[5]), 5,5},
+ {&(_tg__ZTV3C24__5E24x7__7G24x7y6[4]), 4,5},
+ {&(_ZTV7G24x7y6[10]), 10,11},
+ {&(_tg__ZTV3C24__7G24x7y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x7y6[];
+extern VTBL_ENTRY _ZTV7G24x7y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x7y6[];
+Class_Descriptor cd_G24x7y6 = { "G24x7y6", // class name
+ bases_G24x7y6, 6,
+ &(vtc_G24x7y6[0]), // expected_vtbl_contents
+ &(vtt_G24x7y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G24x7y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x7y6),11, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x7y6),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 G24x7y7 : virtual E24x7 , virtual F0 {
+ int ff;
+ ~G24x7y7(); // tgen
+ G24x7y7(); // tgen
+};
+//SIG(1 G24x7y7) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G24x7y7 ::~G24x7y7(){ note_dtor("G24x7y7", this);} // tgen
+G24x7y7 ::G24x7y7(){ note_ctor("G24x7y7", this);} // tgen
+
+static void Test_G24x7y7()
+{
+ extern Class_Descriptor cd_G24x7y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G24x7y7, buf);
+ G24x7y7 *dp, &lv = *(dp=new (buf) G24x7y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G24x7y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G24x7y7)");
+ check_base_class_offset(lv, (A0*)(C24*), ABISELECT(40,20), "G24x7y7");
+ check_base_class_offset(lv, (B0*)(C24*), ABISELECT(48,28), "G24x7y7");
+ check_base_class_offset(lv, (C24*)(E24x7*), ABISELECT(32,16), "G24x7y7");
+ check_base_class_offset(lv, (D0*)(E24x7*), ABISELECT(52,32), "G24x7y7");
+ check_base_class_offset(lv, (E24x7*), ABISELECT(16,8), "G24x7y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G24x7y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G24x7y7.ff");
+ test_class_info(&lv, &cd_G24x7y7);
+ dp->~G24x7y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG24x7y7(Test_G24x7y7, "G24x7y7", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G24x7y7C1Ev();
+extern void _ZN7G24x7y7D1Ev();
+Name_Map name_map_G24x7y7[] = {
+ NSPAIR(_ZN7G24x7y7C1Ev),
+ NSPAIR(_ZN7G24x7y7D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E24x7;
+extern VTBL_ENTRY _ZTI5E24x7[];
+extern VTBL_ENTRY _ZTV5E24x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E24x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G24x7y7[] = {
+ // 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
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E24x7, 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
+ 2, //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 _ZTI7G24x7y7[];
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY vtc_G24x7y7[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G24x7y7[0]),
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G24x7y7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G24x7y7[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern VTBL_ENTRY _ZTV7G24x7y7[];
+static VTBL_ENTRY _tg__ZTV5E24x7__7G24x7y7[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E24x7[0]),
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__5E24x7__7G24x7y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E24x7[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+extern void _ZN3C243fooEv();
+static VTBL_ENTRY _tg__ZTV3C24__7G24x7y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C24[0]),
+ (VTBL_ENTRY)&_ZN3C243fooEv,
+};
+static VTT_ENTRY vtt_G24x7y7[] = {
+ {&(_ZTV7G24x7y7[7]), 7,17},
+ {&(_ZTV7G24x7y7[12]), 12,17},
+ {&(_ZTV7G24x7y7[16]), 16,17},
+ {&(_tg__ZTV5E24x7__7G24x7y7[5]), 5,5},
+ {&(_tg__ZTV3C24__5E24x7__7G24x7y7[4]), 4,5},
+ {&(_tg__ZTV3C24__7G24x7y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G24x7y7[];
+extern VTBL_ENTRY _ZTV7G24x7y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G24x7y7[];
+Class_Descriptor cd_G24x7y7 = { "G24x7y7", // class name
+ bases_G24x7y7, 6,
+ &(vtc_G24x7y7[0]), // expected_vtbl_contents
+ &(vtt_G24x7y7[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G24x7y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G24x7y7),17, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G24x7y7),6, //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 E25x7 : virtual C25 , virtual D0 {
+ int fd;
+ ~E25x7(); // tgen
+ E25x7(); // tgen
+};
+//SIG(-1 E25x7) C1{ VBC2{ BC3{ v1 Fi} VBC4{ Fi} v1 Fi} VBC5{ Fi} Fi}
+
+
+E25x7 ::~E25x7(){ note_dtor("E25x7", this);} // tgen
+E25x7 ::E25x7(){ note_ctor("E25x7", this);} // tgen
+
+static void Test_E25x7()
+{
+ extern Class_Descriptor cd_E25x7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E25x7, buf);
+ E25x7 *dp, &lv = *(dp=new (buf) E25x7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E25x7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E25x7)");
+ check_base_class_offset(lv, (A1*)(C25*), ABISELECT(16,8), "E25x7");
+ check_base_class_offset(lv, (B0*)(C25*), ABISELECT(32,20), "E25x7");
+ check_base_class_offset(lv, (C25*), ABISELECT(16,8), "E25x7");
+ check_base_class_offset(lv, (D0*), ABISELECT(36,24), "E25x7");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E25x7.fd");
+ test_class_info(&lv, &cd_E25x7);
+ dp->~E25x7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE25x7(Test_E25x7, "E25x7", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E25x7C1Ev();
+extern void _ZN5E25x7D1Ev();
+Name_Map name_map_E25x7[] = {
+ NSPAIR(_ZN5E25x7C1Ev),
+ NSPAIR(_ZN5E25x7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E25x7[] = {
+ // 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
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D0, 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, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E25x7[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY vtc_E25x7[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E25x7[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern VTBL_ENTRY _ZTV5E25x7[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__5E25x7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_E25x7[] = {
+ {&(_ZTV5E25x7[5]), 5,10},
+ {&(_ZTV5E25x7[9]), 9,10},
+ {&(_tg__ZTV3C25__5E25x7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E25x7[];
+extern VTBL_ENTRY _ZTV5E25x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x7[];
+Class_Descriptor cd_E25x7 = { "E25x7", // class name
+ bases_E25x7, 4,
+ &(vtc_E25x7[0]), // expected_vtbl_contents
+ &(vtt_E25x7[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E25x7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E25x7),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E25x7),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 G25x7y0 : E25x7 , F1 {
+ int ff;
+ ~G25x7y0(); // tgen
+ G25x7y0(); // tgen
+};
+//SIG(1 G25x7y0) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G25x7y0 ::~G25x7y0(){ note_dtor("G25x7y0", this);} // tgen
+G25x7y0 ::G25x7y0(){ note_ctor("G25x7y0", this);} // tgen
+
+static void Test_G25x7y0()
+{
+ extern Class_Descriptor cd_G25x7y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G25x7y0, buf);
+ G25x7y0 *dp, &lv = *(dp=new (buf) G25x7y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G25x7y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x7y0)");
+ check_base_class_offset(lv, (A1*)(C25*), ABISELECT(32,20), "G25x7y0");
+ check_base_class_offset(lv, (B0*)(C25*), ABISELECT(48,32), "G25x7y0");
+ check_base_class_offset(lv, (C25*)(E25x7*), ABISELECT(32,20), "G25x7y0");
+ check_base_class_offset(lv, (D0*)(E25x7*), ABISELECT(52,36), "G25x7y0");
+ check_base_class_offset(lv, (E25x7*), 0, "G25x7y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G25x7y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G25x7y0.ff");
+ test_class_info(&lv, &cd_G25x7y0);
+ dp->~G25x7y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x7y0(Test_G25x7y0, "G25x7y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G25x7y0C1Ev();
+extern void _ZN7G25x7y0D1Ev();
+Name_Map name_map_G25x7y0[] = {
+ NSPAIR(_ZN7G25x7y0C1Ev),
+ NSPAIR(_ZN7G25x7y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E25x7;
+extern VTBL_ENTRY _ZTI5E25x7[];
+extern VTBL_ENTRY _ZTV5E25x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G25x7y0[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E25x7, 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 _ZTI7G25x7y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY vtc_G25x7y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x7y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G25x7y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G25x7y0[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x7y0[];
+static VTBL_ENTRY _tg__ZTV5E25x7__7G25x7y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x7[0]),
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__5E25x7__7G25x7y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E25x7[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__7G25x7y0[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x7y0[] = {
+ {&(_ZTV7G25x7y0[5]), 5,13},
+ {&(_tg__ZTV5E25x7__7G25x7y0[5]), 5,5},
+ {&(_tg__ZTV3C25__5E25x7__7G25x7y0[4]), 4,5},
+ {&(_ZTV7G25x7y0[12]), 12,13},
+ {&(_tg__ZTV3C25__7G25x7y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x7y0[];
+extern VTBL_ENTRY _ZTV7G25x7y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x7y0[];
+Class_Descriptor cd_G25x7y0 = { "G25x7y0", // class name
+ bases_G25x7y0, 6,
+ &(vtc_G25x7y0[0]), // expected_vtbl_contents
+ &(vtt_G25x7y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G25x7y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x7y0),13, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x7y0),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 G25x7y1 : virtual E25x7 , F1 {
+ int ff;
+ ~G25x7y1(); // tgen
+ G25x7y1(); // tgen
+};
+//SIG(1 G25x7y1) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G25x7y1 ::~G25x7y1(){ note_dtor("G25x7y1", this);} // tgen
+G25x7y1 ::G25x7y1(){ note_ctor("G25x7y1", this);} // tgen
+
+static void Test_G25x7y1()
+{
+ extern Class_Descriptor cd_G25x7y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G25x7y1, buf);
+ G25x7y1 *dp, &lv = *(dp=new (buf) G25x7y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G25x7y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x7y1)");
+ check_base_class_offset(lv, (A1*)(C25*), ABISELECT(32,20), "G25x7y1");
+ check_base_class_offset(lv, (B0*)(C25*), ABISELECT(48,32), "G25x7y1");
+ check_base_class_offset(lv, (C25*)(E25x7*), ABISELECT(32,20), "G25x7y1");
+ check_base_class_offset(lv, (D0*)(E25x7*), ABISELECT(52,36), "G25x7y1");
+ check_base_class_offset(lv, (E25x7*), ABISELECT(16,12), "G25x7y1");
+ check_base_class_offset(lv, (F1*), 0, "G25x7y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G25x7y1.ff");
+ test_class_info(&lv, &cd_G25x7y1);
+ dp->~G25x7y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x7y1(Test_G25x7y1, "G25x7y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G25x7y1C1Ev();
+extern void _ZN7G25x7y1D1Ev();
+Name_Map name_map_G25x7y1[] = {
+ NSPAIR(_ZN7G25x7y1C1Ev),
+ NSPAIR(_ZN7G25x7y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E25x7;
+extern VTBL_ENTRY _ZTI5E25x7[];
+extern VTBL_ENTRY _ZTV5E25x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G25x7y1[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E25x7, 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 _ZTI7G25x7y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY vtc_G25x7y1[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x7y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G25x7y1[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G25x7y1[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x7y1[];
+static VTBL_ENTRY _tg__ZTV5E25x7__7G25x7y1[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x7[0]),
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__5E25x7__7G25x7y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E25x7[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__7G25x7y1[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x7y1[] = {
+ {&(_ZTV7G25x7y1[6]), 6,17},
+ {&(_ZTV7G25x7y1[12]), 12,17},
+ {&(_ZTV7G25x7y1[16]), 16,17},
+ {&(_tg__ZTV5E25x7__7G25x7y1[5]), 5,5},
+ {&(_tg__ZTV3C25__5E25x7__7G25x7y1[4]), 4,5},
+ {&(_tg__ZTV3C25__7G25x7y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x7y1[];
+extern VTBL_ENTRY _ZTV7G25x7y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x7y1[];
+Class_Descriptor cd_G25x7y1 = { "G25x7y1", // class name
+ bases_G25x7y1, 6,
+ &(vtc_G25x7y1[0]), // expected_vtbl_contents
+ &(vtt_G25x7y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G25x7y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x7y1),17, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x7y1),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 G25x7y2 : E25x7 , virtual F1 {
+ int ff;
+ ~G25x7y2(); // tgen
+ G25x7y2(); // tgen
+};
+//SIG(1 G25x7y2) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G25x7y2 ::~G25x7y2(){ note_dtor("G25x7y2", this);} // tgen
+G25x7y2 ::G25x7y2(){ note_ctor("G25x7y2", this);} // tgen
+
+static void Test_G25x7y2()
+{
+ extern Class_Descriptor cd_G25x7y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G25x7y2, buf);
+ G25x7y2 *dp, &lv = *(dp=new (buf) G25x7y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G25x7y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x7y2)");
+ check_base_class_offset(lv, (A1*)(C25*), ABISELECT(16,12), "G25x7y2");
+ check_base_class_offset(lv, (B0*)(C25*), ABISELECT(32,24), "G25x7y2");
+ check_base_class_offset(lv, (C25*)(E25x7*), ABISELECT(16,12), "G25x7y2");
+ check_base_class_offset(lv, (D0*)(E25x7*), ABISELECT(36,28), "G25x7y2");
+ check_base_class_offset(lv, (E25x7*), 0, "G25x7y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(40,32), "G25x7y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G25x7y2.ff");
+ test_class_info(&lv, &cd_G25x7y2);
+ dp->~G25x7y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x7y2(Test_G25x7y2, "G25x7y2", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G25x7y2C1Ev();
+extern void _ZN7G25x7y2D1Ev();
+Name_Map name_map_G25x7y2[] = {
+ NSPAIR(_ZN7G25x7y2C1Ev),
+ NSPAIR(_ZN7G25x7y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E25x7;
+extern VTBL_ENTRY _ZTI5E25x7[];
+extern VTBL_ENTRY _ZTV5E25x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G25x7y2[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E25x7, 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(40,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 _ZTI7G25x7y2[];
+extern void _ZN3C253fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G25x7y2[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x7y2[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G25x7y2[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G25x7y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x7y2[];
+static VTBL_ENTRY _tg__ZTV5E25x7__7G25x7y2[] = {
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x7[0]),
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__5E25x7__7G25x7y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E25x7[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__7G25x7y2[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x7y2[] = {
+ {&(_ZTV7G25x7y2[6]), 6,15},
+ {&(_tg__ZTV5E25x7__7G25x7y2[5]), 5,5},
+ {&(_tg__ZTV3C25__5E25x7__7G25x7y2[4]), 4,5},
+ {&(_ZTV7G25x7y2[10]), 10,15},
+ {&(_ZTV7G25x7y2[14]), 14,15},
+ {&(_tg__ZTV3C25__7G25x7y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x7y2[];
+extern VTBL_ENTRY _ZTV7G25x7y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x7y2[];
+Class_Descriptor cd_G25x7y2 = { "G25x7y2", // class name
+ bases_G25x7y2, 6,
+ &(vtc_G25x7y2[0]), // expected_vtbl_contents
+ &(vtt_G25x7y2[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G25x7y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x7y2),15, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x7y2),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 G25x7y3 : virtual E25x7 , virtual F1 {
+ int ff;
+ ~G25x7y3(); // tgen
+ G25x7y3(); // tgen
+};
+//SIG(1 G25x7y3) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G25x7y3 ::~G25x7y3(){ note_dtor("G25x7y3", this);} // tgen
+G25x7y3 ::G25x7y3(){ note_ctor("G25x7y3", this);} // tgen
+
+static void Test_G25x7y3()
+{
+ extern Class_Descriptor cd_G25x7y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G25x7y3, buf);
+ G25x7y3 *dp, &lv = *(dp=new (buf) G25x7y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G25x7y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x7y3)");
+ check_base_class_offset(lv, (A1*)(C25*), ABISELECT(32,16), "G25x7y3");
+ check_base_class_offset(lv, (B0*)(C25*), ABISELECT(48,28), "G25x7y3");
+ check_base_class_offset(lv, (C25*)(E25x7*), ABISELECT(32,16), "G25x7y3");
+ check_base_class_offset(lv, (D0*)(E25x7*), ABISELECT(52,32), "G25x7y3");
+ check_base_class_offset(lv, (E25x7*), ABISELECT(16,8), "G25x7y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G25x7y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G25x7y3.ff");
+ test_class_info(&lv, &cd_G25x7y3);
+ dp->~G25x7y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x7y3(Test_G25x7y3, "G25x7y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G25x7y3C1Ev();
+extern void _ZN7G25x7y3D1Ev();
+Name_Map name_map_G25x7y3[] = {
+ NSPAIR(_ZN7G25x7y3C1Ev),
+ NSPAIR(_ZN7G25x7y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E25x7;
+extern VTBL_ENTRY _ZTI5E25x7[];
+extern VTBL_ENTRY _ZTV5E25x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G25x7y3[] = {
+ // 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
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E25x7, 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
+ 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 _ZTI7G25x7y3[];
+extern void _ZN3C253fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G25x7y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x7y3[0]),
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G25x7y3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G25x7y3[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G25x7y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x7y3[];
+static VTBL_ENTRY _tg__ZTV5E25x7__7G25x7y3[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x7[0]),
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__5E25x7__7G25x7y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E25x7[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__7G25x7y3[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x7y3[] = {
+ {&(_ZTV7G25x7y3[7]), 7,21},
+ {&(_ZTV7G25x7y3[12]), 12,21},
+ {&(_ZTV7G25x7y3[16]), 16,21},
+ {&(_ZTV7G25x7y3[20]), 20,21},
+ {&(_tg__ZTV5E25x7__7G25x7y3[5]), 5,5},
+ {&(_tg__ZTV3C25__5E25x7__7G25x7y3[4]), 4,5},
+ {&(_tg__ZTV3C25__7G25x7y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x7y3[];
+extern VTBL_ENTRY _ZTV7G25x7y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x7y3[];
+Class_Descriptor cd_G25x7y3 = { "G25x7y3", // class name
+ bases_G25x7y3, 6,
+ &(vtc_G25x7y3[0]), // expected_vtbl_contents
+ &(vtt_G25x7y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G25x7y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x7y3),21, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x7y3),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 G25x7y4 : E25x7 , F0 {
+ int ff;
+ ~G25x7y4(); // tgen
+ G25x7y4(); // tgen
+};
+//SIG(1 G25x7y4) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G25x7y4 ::~G25x7y4(){ note_dtor("G25x7y4", this);} // tgen
+G25x7y4 ::G25x7y4(){ note_ctor("G25x7y4", this);} // tgen
+
+static void Test_G25x7y4()
+{
+ extern Class_Descriptor cd_G25x7y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G25x7y4, buf);
+ G25x7y4 *dp, &lv = *(dp=new (buf) G25x7y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G25x7y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x7y4)");
+ check_base_class_offset(lv, (A1*)(C25*), ABISELECT(24,16), "G25x7y4");
+ check_base_class_offset(lv, (B0*)(C25*), ABISELECT(40,28), "G25x7y4");
+ check_base_class_offset(lv, (C25*)(E25x7*), ABISELECT(24,16), "G25x7y4");
+ check_base_class_offset(lv, (D0*)(E25x7*), ABISELECT(44,32), "G25x7y4");
+ check_base_class_offset(lv, (E25x7*), 0, "G25x7y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G25x7y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G25x7y4.ff");
+ test_class_info(&lv, &cd_G25x7y4);
+ dp->~G25x7y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x7y4(Test_G25x7y4, "G25x7y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G25x7y4C1Ev();
+extern void _ZN7G25x7y4D1Ev();
+Name_Map name_map_G25x7y4[] = {
+ NSPAIR(_ZN7G25x7y4C1Ev),
+ NSPAIR(_ZN7G25x7y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E25x7;
+extern VTBL_ENTRY _ZTI5E25x7[];
+extern VTBL_ENTRY _ZTV5E25x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G25x7y4[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E25x7, 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 _ZTI7G25x7y4[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY vtc_G25x7y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x7y4[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G25x7y4[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x7y4[];
+static VTBL_ENTRY _tg__ZTV5E25x7__7G25x7y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x7[0]),
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__5E25x7__7G25x7y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E25x7[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__7G25x7y4[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x7y4[] = {
+ {&(_ZTV7G25x7y4[5]), 5,10},
+ {&(_tg__ZTV5E25x7__7G25x7y4[5]), 5,5},
+ {&(_tg__ZTV3C25__5E25x7__7G25x7y4[4]), 4,5},
+ {&(_ZTV7G25x7y4[9]), 9,10},
+ {&(_tg__ZTV3C25__7G25x7y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x7y4[];
+extern VTBL_ENTRY _ZTV7G25x7y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x7y4[];
+Class_Descriptor cd_G25x7y4 = { "G25x7y4", // class name
+ bases_G25x7y4, 6,
+ &(vtc_G25x7y4[0]), // expected_vtbl_contents
+ &(vtt_G25x7y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G25x7y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x7y4),10, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x7y4),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 G25x7y5 : virtual E25x7 , F0 {
+ int ff;
+ ~G25x7y5(); // tgen
+ G25x7y5(); // tgen
+};
+//SIG(1 G25x7y5) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G25x7y5 ::~G25x7y5(){ note_dtor("G25x7y5", this);} // tgen
+G25x7y5 ::G25x7y5(){ note_ctor("G25x7y5", this);} // tgen
+
+static void Test_G25x7y5()
+{
+ extern Class_Descriptor cd_G25x7y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G25x7y5, buf);
+ G25x7y5 *dp, &lv = *(dp=new (buf) G25x7y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G25x7y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x7y5)");
+ check_base_class_offset(lv, (A1*)(C25*), ABISELECT(32,20), "G25x7y5");
+ check_base_class_offset(lv, (B0*)(C25*), ABISELECT(48,32), "G25x7y5");
+ check_base_class_offset(lv, (C25*)(E25x7*), ABISELECT(32,20), "G25x7y5");
+ check_base_class_offset(lv, (D0*)(E25x7*), ABISELECT(52,36), "G25x7y5");
+ check_base_class_offset(lv, (E25x7*), ABISELECT(16,12), "G25x7y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G25x7y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G25x7y5.ff");
+ test_class_info(&lv, &cd_G25x7y5);
+ dp->~G25x7y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x7y5(Test_G25x7y5, "G25x7y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G25x7y5C1Ev();
+extern void _ZN7G25x7y5D1Ev();
+Name_Map name_map_G25x7y5[] = {
+ NSPAIR(_ZN7G25x7y5C1Ev),
+ NSPAIR(_ZN7G25x7y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E25x7;
+extern VTBL_ENTRY _ZTI5E25x7[];
+extern VTBL_ENTRY _ZTV5E25x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G25x7y5[] = {
+ // 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
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E25x7, 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 _ZTI7G25x7y5[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY vtc_G25x7y5[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x7y5[0]),
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G25x7y5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G25x7y5[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x7y5[];
+static VTBL_ENTRY _tg__ZTV5E25x7__7G25x7y5[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x7[0]),
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__5E25x7__7G25x7y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E25x7[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__7G25x7y5[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x7y5[] = {
+ {&(_ZTV7G25x7y5[6]), 6,16},
+ {&(_ZTV7G25x7y5[11]), 11,16},
+ {&(_ZTV7G25x7y5[15]), 15,16},
+ {&(_tg__ZTV5E25x7__7G25x7y5[5]), 5,5},
+ {&(_tg__ZTV3C25__5E25x7__7G25x7y5[4]), 4,5},
+ {&(_tg__ZTV3C25__7G25x7y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x7y5[];
+extern VTBL_ENTRY _ZTV7G25x7y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x7y5[];
+Class_Descriptor cd_G25x7y5 = { "G25x7y5", // class name
+ bases_G25x7y5, 6,
+ &(vtc_G25x7y5[0]), // expected_vtbl_contents
+ &(vtt_G25x7y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G25x7y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x7y5),16, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x7y5),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 G25x7y6 : E25x7 , virtual F0 {
+ int ff;
+ ~G25x7y6(); // tgen
+ G25x7y6(); // tgen
+};
+//SIG(1 G25x7y6) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G25x7y6 ::~G25x7y6(){ note_dtor("G25x7y6", this);} // tgen
+G25x7y6 ::G25x7y6(){ note_ctor("G25x7y6", this);} // tgen
+
+static void Test_G25x7y6()
+{
+ extern Class_Descriptor cd_G25x7y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G25x7y6, buf);
+ G25x7y6 *dp, &lv = *(dp=new (buf) G25x7y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G25x7y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x7y6)");
+ check_base_class_offset(lv, (A1*)(C25*), ABISELECT(16,12), "G25x7y6");
+ check_base_class_offset(lv, (B0*)(C25*), ABISELECT(32,24), "G25x7y6");
+ check_base_class_offset(lv, (C25*)(E25x7*), ABISELECT(16,12), "G25x7y6");
+ check_base_class_offset(lv, (D0*)(E25x7*), ABISELECT(36,28), "G25x7y6");
+ check_base_class_offset(lv, (E25x7*), 0, "G25x7y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(40,32), "G25x7y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G25x7y6.ff");
+ test_class_info(&lv, &cd_G25x7y6);
+ dp->~G25x7y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x7y6(Test_G25x7y6, "G25x7y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G25x7y6C1Ev();
+extern void _ZN7G25x7y6D1Ev();
+Name_Map name_map_G25x7y6[] = {
+ NSPAIR(_ZN7G25x7y6C1Ev),
+ NSPAIR(_ZN7G25x7y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E25x7;
+extern VTBL_ENTRY _ZTI5E25x7[];
+extern VTBL_ENTRY _ZTV5E25x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G25x7y6[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E25x7, 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(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 _ZTI7G25x7y6[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY vtc_G25x7y6[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x7y6[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G25x7y6[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x7y6[];
+static VTBL_ENTRY _tg__ZTV5E25x7__7G25x7y6[] = {
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x7[0]),
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__5E25x7__7G25x7y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E25x7[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__7G25x7y6[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x7y6[] = {
+ {&(_ZTV7G25x7y6[6]), 6,11},
+ {&(_tg__ZTV5E25x7__7G25x7y6[5]), 5,5},
+ {&(_tg__ZTV3C25__5E25x7__7G25x7y6[4]), 4,5},
+ {&(_ZTV7G25x7y6[10]), 10,11},
+ {&(_tg__ZTV3C25__7G25x7y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x7y6[];
+extern VTBL_ENTRY _ZTV7G25x7y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x7y6[];
+Class_Descriptor cd_G25x7y6 = { "G25x7y6", // class name
+ bases_G25x7y6, 6,
+ &(vtc_G25x7y6[0]), // expected_vtbl_contents
+ &(vtt_G25x7y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G25x7y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x7y6),11, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x7y6),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 G25x7y7 : virtual E25x7 , virtual F0 {
+ int ff;
+ ~G25x7y7(); // tgen
+ G25x7y7(); // tgen
+};
+//SIG(1 G25x7y7) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G25x7y7 ::~G25x7y7(){ note_dtor("G25x7y7", this);} // tgen
+G25x7y7 ::G25x7y7(){ note_ctor("G25x7y7", this);} // tgen
+
+static void Test_G25x7y7()
+{
+ extern Class_Descriptor cd_G25x7y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G25x7y7, buf);
+ G25x7y7 *dp, &lv = *(dp=new (buf) G25x7y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G25x7y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G25x7y7)");
+ check_base_class_offset(lv, (A1*)(C25*), ABISELECT(32,16), "G25x7y7");
+ check_base_class_offset(lv, (B0*)(C25*), ABISELECT(48,28), "G25x7y7");
+ check_base_class_offset(lv, (C25*)(E25x7*), ABISELECT(32,16), "G25x7y7");
+ check_base_class_offset(lv, (D0*)(E25x7*), ABISELECT(52,32), "G25x7y7");
+ check_base_class_offset(lv, (E25x7*), ABISELECT(16,8), "G25x7y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G25x7y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G25x7y7.ff");
+ test_class_info(&lv, &cd_G25x7y7);
+ dp->~G25x7y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG25x7y7(Test_G25x7y7, "G25x7y7", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G25x7y7C1Ev();
+extern void _ZN7G25x7y7D1Ev();
+Name_Map name_map_G25x7y7[] = {
+ NSPAIR(_ZN7G25x7y7C1Ev),
+ NSPAIR(_ZN7G25x7y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E25x7;
+extern VTBL_ENTRY _ZTI5E25x7[];
+extern VTBL_ENTRY _ZTV5E25x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E25x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G25x7y7[] = {
+ // 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
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E25x7, 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(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 _ZTI7G25x7y7[];
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY vtc_G25x7y7[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G25x7y7[0]),
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G25x7y7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G25x7y7[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern VTBL_ENTRY _ZTV7G25x7y7[];
+static VTBL_ENTRY _tg__ZTV5E25x7__7G25x7y7[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E25x7[0]),
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__5E25x7__7G25x7y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E25x7[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+extern void _ZN3C253fooEv();
+static VTBL_ENTRY _tg__ZTV3C25__7G25x7y7[] = {
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C25[0]),
+ (VTBL_ENTRY)&_ZN3C253fooEv,
+};
+static VTT_ENTRY vtt_G25x7y7[] = {
+ {&(_ZTV7G25x7y7[7]), 7,17},
+ {&(_ZTV7G25x7y7[12]), 12,17},
+ {&(_ZTV7G25x7y7[16]), 16,17},
+ {&(_tg__ZTV5E25x7__7G25x7y7[5]), 5,5},
+ {&(_tg__ZTV3C25__5E25x7__7G25x7y7[4]), 4,5},
+ {&(_tg__ZTV3C25__7G25x7y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G25x7y7[];
+extern VTBL_ENTRY _ZTV7G25x7y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G25x7y7[];
+Class_Descriptor cd_G25x7y7 = { "G25x7y7", // class name
+ bases_G25x7y7, 6,
+ &(vtc_G25x7y7[0]), // expected_vtbl_contents
+ &(vtt_G25x7y7[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G25x7y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G25x7y7),17, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G25x7y7),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 E26x7 : virtual C26 , virtual D0 {
+ int fd;
+ ~E26x7(); // tgen
+ E26x7(); // tgen
+};
+//SIG(-1 E26x7) C1{ VBC2{ VBC3{ Fi} VBC4{ Fi} v1 Fi} VBC5{ Fi} Fi}
+
+
+E26x7 ::~E26x7(){ note_dtor("E26x7", this);} // tgen
+E26x7 ::E26x7(){ note_ctor("E26x7", this);} // tgen
+
+static void Test_E26x7()
+{
+ extern Class_Descriptor cd_E26x7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(6,8)];
+ init_test(&cd_E26x7, buf);
+ E26x7 *dp, &lv = *(dp=new (buf) E26x7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(40,28), "sizeof(E26x7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E26x7)");
+ check_base_class_offset(lv, (A0*)(C26*), ABISELECT(28,16), "E26x7");
+ check_base_class_offset(lv, (B0*)(C26*), ABISELECT(32,20), "E26x7");
+ check_base_class_offset(lv, (C26*), ABISELECT(16,8), "E26x7");
+ check_base_class_offset(lv, (D0*), ABISELECT(36,24), "E26x7");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E26x7.fd");
+ test_class_info(&lv, &cd_E26x7);
+ dp->~E26x7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE26x7(Test_E26x7, "E26x7", ABISELECT(40,28));
+
+#else // __cplusplus
+
+extern void _ZN5E26x7C1Ev();
+extern void _ZN5E26x7D1Ev();
+Name_Map name_map_E26x7[] = {
+ NSPAIR(_ZN5E26x7C1Ev),
+ NSPAIR(_ZN5E26x7D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E26x7[] = {
+ // 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
+ 3, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D0, 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, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E26x7[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY vtc_E26x7[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E26x7[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern VTBL_ENTRY _ZTV5E26x7[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__5E26x7[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_E26x7[] = {
+ {&(_ZTV5E26x7[6]), 6,12},
+ {&(_ZTV5E26x7[11]), 11,12},
+ {&(_tg__ZTV3C26__5E26x7[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI5E26x7[];
+extern VTBL_ENTRY _ZTV5E26x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x7[];
+Class_Descriptor cd_E26x7 = { "E26x7", // class name
+ bases_E26x7, 4,
+ &(vtc_E26x7[0]), // expected_vtbl_contents
+ &(vtt_E26x7[0]), // expected_vtt_contents
+ ABISELECT(40,28), // object size
+ NSPAIRA(_ZTI5E26x7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E26x7),12, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E26x7),3, //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 G26x7y0 : E26x7 , F1 {
+ int ff;
+ ~G26x7y0(); // tgen
+ G26x7y0(); // tgen
+};
+//SIG(1 G26x7y0) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G26x7y0 ::~G26x7y0(){ note_dtor("G26x7y0", this);} // tgen
+G26x7y0 ::G26x7y0(){ note_ctor("G26x7y0", this);} // tgen
+
+static void Test_G26x7y0()
+{
+ extern Class_Descriptor cd_G26x7y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G26x7y0, buf);
+ G26x7y0 *dp, &lv = *(dp=new (buf) G26x7y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G26x7y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x7y0)");
+ check_base_class_offset(lv, (A0*)(C26*), ABISELECT(44,28), "G26x7y0");
+ check_base_class_offset(lv, (B0*)(C26*), ABISELECT(48,32), "G26x7y0");
+ check_base_class_offset(lv, (C26*)(E26x7*), ABISELECT(32,20), "G26x7y0");
+ check_base_class_offset(lv, (D0*)(E26x7*), ABISELECT(52,36), "G26x7y0");
+ check_base_class_offset(lv, (E26x7*), 0, "G26x7y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G26x7y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G26x7y0.ff");
+ test_class_info(&lv, &cd_G26x7y0);
+ dp->~G26x7y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x7y0(Test_G26x7y0, "G26x7y0", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G26x7y0C1Ev();
+extern void _ZN7G26x7y0D1Ev();
+Name_Map name_map_G26x7y0[] = {
+ NSPAIR(_ZN7G26x7y0C1Ev),
+ NSPAIR(_ZN7G26x7y0D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E26x7;
+extern VTBL_ENTRY _ZTI5E26x7[];
+extern VTBL_ENTRY _ZTV5E26x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G26x7y0[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E26x7, 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
+ 2, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 0},
+ {0}};
+extern VTBL_ENTRY _ZTI7G26x7y0[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY vtc_G26x7y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x7y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G26x7y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G26x7y0[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x7y0[];
+static VTBL_ENTRY _tg__ZTV5E26x7__7G26x7y0[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x7[0]),
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__5E26x7__7G26x7y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E26x7[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__7G26x7y0[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x7y0[] = {
+ {&(_ZTV7G26x7y0[6]), 6,15},
+ {&(_tg__ZTV5E26x7__7G26x7y0[6]), 6,6},
+ {&(_tg__ZTV3C26__5E26x7__7G26x7y0[5]), 5,6},
+ {&(_ZTV7G26x7y0[14]), 14,15},
+ {&(_tg__ZTV3C26__7G26x7y0[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x7y0[];
+extern VTBL_ENTRY _ZTV7G26x7y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x7y0[];
+Class_Descriptor cd_G26x7y0 = { "G26x7y0", // class name
+ bases_G26x7y0, 6,
+ &(vtc_G26x7y0[0]), // expected_vtbl_contents
+ &(vtt_G26x7y0[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G26x7y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x7y0),15, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x7y0),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 G26x7y1 : virtual E26x7 , F1 {
+ int ff;
+ ~G26x7y1(); // tgen
+ G26x7y1(); // tgen
+};
+//SIG(1 G26x7y1) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G26x7y1 ::~G26x7y1(){ note_dtor("G26x7y1", this);} // tgen
+G26x7y1 ::G26x7y1(){ note_ctor("G26x7y1", this);} // tgen
+
+static void Test_G26x7y1()
+{
+ extern Class_Descriptor cd_G26x7y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G26x7y1, buf);
+ G26x7y1 *dp, &lv = *(dp=new (buf) G26x7y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G26x7y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x7y1)");
+ check_base_class_offset(lv, (A0*)(C26*), ABISELECT(44,28), "G26x7y1");
+ check_base_class_offset(lv, (B0*)(C26*), ABISELECT(48,32), "G26x7y1");
+ check_base_class_offset(lv, (C26*)(E26x7*), ABISELECT(32,20), "G26x7y1");
+ check_base_class_offset(lv, (D0*)(E26x7*), ABISELECT(52,36), "G26x7y1");
+ check_base_class_offset(lv, (E26x7*), ABISELECT(16,12), "G26x7y1");
+ check_base_class_offset(lv, (F1*), 0, "G26x7y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G26x7y1.ff");
+ test_class_info(&lv, &cd_G26x7y1);
+ dp->~G26x7y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x7y1(Test_G26x7y1, "G26x7y1", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G26x7y1C1Ev();
+extern void _ZN7G26x7y1D1Ev();
+Name_Map name_map_G26x7y1[] = {
+ NSPAIR(_ZN7G26x7y1C1Ev),
+ NSPAIR(_ZN7G26x7y1D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E26x7;
+extern VTBL_ENTRY _ZTI5E26x7[];
+extern VTBL_ENTRY _ZTV5E26x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G26x7y1[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E26x7, 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
+ 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 _ZTI7G26x7y1[];
+extern void _ZN2F13fooEv();
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY vtc_G26x7y1[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x7y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G26x7y1[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G26x7y1[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x7y1[];
+static VTBL_ENTRY _tg__ZTV5E26x7__7G26x7y1[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x7[0]),
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__5E26x7__7G26x7y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E26x7[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__7G26x7y1[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x7y1[] = {
+ {&(_ZTV7G26x7y1[7]), 7,20},
+ {&(_ZTV7G26x7y1[14]), 14,20},
+ {&(_ZTV7G26x7y1[19]), 19,20},
+ {&(_tg__ZTV5E26x7__7G26x7y1[6]), 6,6},
+ {&(_tg__ZTV3C26__5E26x7__7G26x7y1[5]), 5,6},
+ {&(_tg__ZTV3C26__7G26x7y1[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x7y1[];
+extern VTBL_ENTRY _ZTV7G26x7y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x7y1[];
+Class_Descriptor cd_G26x7y1 = { "G26x7y1", // class name
+ bases_G26x7y1, 6,
+ &(vtc_G26x7y1[0]), // expected_vtbl_contents
+ &(vtt_G26x7y1[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G26x7y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x7y1),20, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x7y1),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 G26x7y2 : E26x7 , virtual F1 {
+ int ff;
+ ~G26x7y2(); // tgen
+ G26x7y2(); // tgen
+};
+//SIG(1 G26x7y2) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G26x7y2 ::~G26x7y2(){ note_dtor("G26x7y2", this);} // tgen
+G26x7y2 ::G26x7y2(){ note_ctor("G26x7y2", this);} // tgen
+
+static void Test_G26x7y2()
+{
+ extern Class_Descriptor cd_G26x7y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G26x7y2, buf);
+ G26x7y2 *dp, &lv = *(dp=new (buf) G26x7y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G26x7y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x7y2)");
+ check_base_class_offset(lv, (A0*)(C26*), ABISELECT(28,20), "G26x7y2");
+ check_base_class_offset(lv, (B0*)(C26*), ABISELECT(32,24), "G26x7y2");
+ check_base_class_offset(lv, (C26*)(E26x7*), ABISELECT(16,12), "G26x7y2");
+ check_base_class_offset(lv, (D0*)(E26x7*), ABISELECT(36,28), "G26x7y2");
+ check_base_class_offset(lv, (E26x7*), 0, "G26x7y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(40,32), "G26x7y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G26x7y2.ff");
+ test_class_info(&lv, &cd_G26x7y2);
+ dp->~G26x7y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x7y2(Test_G26x7y2, "G26x7y2", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G26x7y2C1Ev();
+extern void _ZN7G26x7y2D1Ev();
+Name_Map name_map_G26x7y2[] = {
+ NSPAIR(_ZN7G26x7y2C1Ev),
+ NSPAIR(_ZN7G26x7y2D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E26x7;
+extern VTBL_ENTRY _ZTI5E26x7[];
+extern VTBL_ENTRY _ZTV5E26x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G26x7y2[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E26x7, 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(40,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 _ZTI7G26x7y2[];
+extern void _ZN3C263fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G26x7y2[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x7y2[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G26x7y2[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+ 0,
+ ABISELECT(-40,-32),
+ (VTBL_ENTRY)&(_ZTI7G26x7y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x7y2[];
+static VTBL_ENTRY _tg__ZTV5E26x7__7G26x7y2[] = {
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x7[0]),
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__5E26x7__7G26x7y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E26x7[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__7G26x7y2[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x7y2[] = {
+ {&(_ZTV7G26x7y2[7]), 7,17},
+ {&(_tg__ZTV5E26x7__7G26x7y2[6]), 6,6},
+ {&(_tg__ZTV3C26__5E26x7__7G26x7y2[5]), 5,6},
+ {&(_ZTV7G26x7y2[12]), 12,17},
+ {&(_ZTV7G26x7y2[16]), 16,17},
+ {&(_tg__ZTV3C26__7G26x7y2[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x7y2[];
+extern VTBL_ENTRY _ZTV7G26x7y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x7y2[];
+Class_Descriptor cd_G26x7y2 = { "G26x7y2", // class name
+ bases_G26x7y2, 6,
+ &(vtc_G26x7y2[0]), // expected_vtbl_contents
+ &(vtt_G26x7y2[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G26x7y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x7y2),17, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x7y2),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 G26x7y3 : virtual E26x7 , virtual F1 {
+ int ff;
+ ~G26x7y3(); // tgen
+ G26x7y3(); // tgen
+};
+//SIG(1 G26x7y3) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G26x7y3 ::~G26x7y3(){ note_dtor("G26x7y3", this);} // tgen
+G26x7y3 ::G26x7y3(){ note_ctor("G26x7y3", this);} // tgen
+
+static void Test_G26x7y3()
+{
+ extern Class_Descriptor cd_G26x7y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G26x7y3, buf);
+ G26x7y3 *dp, &lv = *(dp=new (buf) G26x7y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G26x7y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x7y3)");
+ check_base_class_offset(lv, (A0*)(C26*), ABISELECT(44,24), "G26x7y3");
+ check_base_class_offset(lv, (B0*)(C26*), ABISELECT(48,28), "G26x7y3");
+ check_base_class_offset(lv, (C26*)(E26x7*), ABISELECT(32,16), "G26x7y3");
+ check_base_class_offset(lv, (D0*)(E26x7*), ABISELECT(52,32), "G26x7y3");
+ check_base_class_offset(lv, (E26x7*), ABISELECT(16,8), "G26x7y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G26x7y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G26x7y3.ff");
+ test_class_info(&lv, &cd_G26x7y3);
+ dp->~G26x7y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x7y3(Test_G26x7y3, "G26x7y3", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G26x7y3C1Ev();
+extern void _ZN7G26x7y3D1Ev();
+Name_Map name_map_G26x7y3[] = {
+ NSPAIR(_ZN7G26x7y3C1Ev),
+ NSPAIR(_ZN7G26x7y3D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E26x7;
+extern VTBL_ENTRY _ZTI5E26x7[];
+extern VTBL_ENTRY _ZTV5E26x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G26x7y3[] = {
+ // 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
+ 7, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E26x7, 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
+ 2, //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
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G26x7y3[];
+extern void _ZN3C263fooEv();
+extern void _ZN2F13fooEv();
+static VTBL_ENTRY vtc_G26x7y3[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(48,28),
+ ABISELECT(44,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x7y3[0]),
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G26x7y3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G26x7y3[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G26x7y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x7y3[];
+static VTBL_ENTRY _tg__ZTV5E26x7__7G26x7y3[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x7[0]),
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__5E26x7__7G26x7y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E26x7[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__7G26x7y3[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x7y3[] = {
+ {&(_ZTV7G26x7y3[8]), 8,24},
+ {&(_ZTV7G26x7y3[14]), 14,24},
+ {&(_ZTV7G26x7y3[19]), 19,24},
+ {&(_ZTV7G26x7y3[23]), 23,24},
+ {&(_tg__ZTV5E26x7__7G26x7y3[6]), 6,6},
+ {&(_tg__ZTV3C26__5E26x7__7G26x7y3[5]), 5,6},
+ {&(_tg__ZTV3C26__7G26x7y3[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x7y3[];
+extern VTBL_ENTRY _ZTV7G26x7y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x7y3[];
+Class_Descriptor cd_G26x7y3 = { "G26x7y3", // class name
+ bases_G26x7y3, 6,
+ &(vtc_G26x7y3[0]), // expected_vtbl_contents
+ &(vtt_G26x7y3[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G26x7y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x7y3),24, //virtual function table var
+ 8, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x7y3),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 G26x7y4 : E26x7 , F0 {
+ int ff;
+ ~G26x7y4(); // tgen
+ G26x7y4(); // tgen
+};
+//SIG(1 G26x7y4) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G26x7y4 ::~G26x7y4(){ note_dtor("G26x7y4", this);} // tgen
+G26x7y4 ::G26x7y4(){ note_ctor("G26x7y4", this);} // tgen
+
+static void Test_G26x7y4()
+{
+ extern Class_Descriptor cd_G26x7y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G26x7y4, buf);
+ G26x7y4 *dp, &lv = *(dp=new (buf) G26x7y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G26x7y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x7y4)");
+ check_base_class_offset(lv, (A0*)(C26*), ABISELECT(36,24), "G26x7y4");
+ check_base_class_offset(lv, (B0*)(C26*), ABISELECT(40,28), "G26x7y4");
+ check_base_class_offset(lv, (C26*)(E26x7*), ABISELECT(24,16), "G26x7y4");
+ check_base_class_offset(lv, (D0*)(E26x7*), ABISELECT(44,32), "G26x7y4");
+ check_base_class_offset(lv, (E26x7*), 0, "G26x7y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G26x7y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G26x7y4.ff");
+ test_class_info(&lv, &cd_G26x7y4);
+ dp->~G26x7y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x7y4(Test_G26x7y4, "G26x7y4", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G26x7y4C1Ev();
+extern void _ZN7G26x7y4D1Ev();
+Name_Map name_map_G26x7y4[] = {
+ NSPAIR(_ZN7G26x7y4C1Ev),
+ NSPAIR(_ZN7G26x7y4D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E26x7;
+extern VTBL_ENTRY _ZTI5E26x7[];
+extern VTBL_ENTRY _ZTV5E26x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G26x7y4[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E26x7, 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
+ 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 _ZTI7G26x7y4[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY vtc_G26x7y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x7y4[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G26x7y4[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x7y4[];
+static VTBL_ENTRY _tg__ZTV5E26x7__7G26x7y4[] = {
+ ABISELECT(44,32),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x7[0]),
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__5E26x7__7G26x7y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E26x7[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__7G26x7y4[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x7y4[] = {
+ {&(_ZTV7G26x7y4[6]), 6,12},
+ {&(_tg__ZTV5E26x7__7G26x7y4[6]), 6,6},
+ {&(_tg__ZTV3C26__5E26x7__7G26x7y4[5]), 5,6},
+ {&(_ZTV7G26x7y4[11]), 11,12},
+ {&(_tg__ZTV3C26__7G26x7y4[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x7y4[];
+extern VTBL_ENTRY _ZTV7G26x7y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x7y4[];
+Class_Descriptor cd_G26x7y4 = { "G26x7y4", // class name
+ bases_G26x7y4, 6,
+ &(vtc_G26x7y4[0]), // expected_vtbl_contents
+ &(vtt_G26x7y4[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G26x7y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x7y4),12, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x7y4),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 G26x7y5 : virtual E26x7 , F0 {
+ int ff;
+ ~G26x7y5(); // tgen
+ G26x7y5(); // tgen
+};
+//SIG(1 G26x7y5) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G26x7y5 ::~G26x7y5(){ note_dtor("G26x7y5", this);} // tgen
+G26x7y5 ::G26x7y5(){ note_ctor("G26x7y5", this);} // tgen
+
+static void Test_G26x7y5()
+{
+ extern Class_Descriptor cd_G26x7y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G26x7y5, buf);
+ G26x7y5 *dp, &lv = *(dp=new (buf) G26x7y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G26x7y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x7y5)");
+ check_base_class_offset(lv, (A0*)(C26*), ABISELECT(44,28), "G26x7y5");
+ check_base_class_offset(lv, (B0*)(C26*), ABISELECT(48,32), "G26x7y5");
+ check_base_class_offset(lv, (C26*)(E26x7*), ABISELECT(32,20), "G26x7y5");
+ check_base_class_offset(lv, (D0*)(E26x7*), ABISELECT(52,36), "G26x7y5");
+ check_base_class_offset(lv, (E26x7*), ABISELECT(16,12), "G26x7y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G26x7y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G26x7y5.ff");
+ test_class_info(&lv, &cd_G26x7y5);
+ dp->~G26x7y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x7y5(Test_G26x7y5, "G26x7y5", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G26x7y5C1Ev();
+extern void _ZN7G26x7y5D1Ev();
+Name_Map name_map_G26x7y5[] = {
+ NSPAIR(_ZN7G26x7y5C1Ev),
+ NSPAIR(_ZN7G26x7y5D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E26x7;
+extern VTBL_ENTRY _ZTI5E26x7[];
+extern VTBL_ENTRY _ZTV5E26x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G26x7y5[] = {
+ // 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
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E26x7, 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
+ 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 _ZTI7G26x7y5[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY vtc_G26x7y5[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x7y5[0]),
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G26x7y5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G26x7y5[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x7y5[];
+static VTBL_ENTRY _tg__ZTV5E26x7__7G26x7y5[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x7[0]),
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__5E26x7__7G26x7y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E26x7[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__7G26x7y5[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x7y5[] = {
+ {&(_ZTV7G26x7y5[7]), 7,19},
+ {&(_ZTV7G26x7y5[13]), 13,19},
+ {&(_ZTV7G26x7y5[18]), 18,19},
+ {&(_tg__ZTV5E26x7__7G26x7y5[6]), 6,6},
+ {&(_tg__ZTV3C26__5E26x7__7G26x7y5[5]), 5,6},
+ {&(_tg__ZTV3C26__7G26x7y5[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x7y5[];
+extern VTBL_ENTRY _ZTV7G26x7y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x7y5[];
+Class_Descriptor cd_G26x7y5 = { "G26x7y5", // class name
+ bases_G26x7y5, 6,
+ &(vtc_G26x7y5[0]), // expected_vtbl_contents
+ &(vtt_G26x7y5[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G26x7y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x7y5),19, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x7y5),6, //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 G26x7y6 : E26x7 , virtual F0 {
+ int ff;
+ ~G26x7y6(); // tgen
+ G26x7y6(); // tgen
+};
+//SIG(1 G26x7y6) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G26x7y6 ::~G26x7y6(){ note_dtor("G26x7y6", this);} // tgen
+G26x7y6 ::G26x7y6(){ note_ctor("G26x7y6", this);} // tgen
+
+static void Test_G26x7y6()
+{
+ extern Class_Descriptor cd_G26x7y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,10)];
+ init_test(&cd_G26x7y6, buf);
+ G26x7y6 *dp, &lv = *(dp=new (buf) G26x7y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,36), "sizeof(G26x7y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x7y6)");
+ check_base_class_offset(lv, (A0*)(C26*), ABISELECT(28,20), "G26x7y6");
+ check_base_class_offset(lv, (B0*)(C26*), ABISELECT(32,24), "G26x7y6");
+ check_base_class_offset(lv, (C26*)(E26x7*), ABISELECT(16,12), "G26x7y6");
+ check_base_class_offset(lv, (D0*)(E26x7*), ABISELECT(36,28), "G26x7y6");
+ check_base_class_offset(lv, (E26x7*), 0, "G26x7y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(40,32), "G26x7y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G26x7y6.ff");
+ test_class_info(&lv, &cd_G26x7y6);
+ dp->~G26x7y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x7y6(Test_G26x7y6, "G26x7y6", ABISELECT(48,36));
+
+#else // __cplusplus
+
+extern void _ZN7G26x7y6C1Ev();
+extern void _ZN7G26x7y6D1Ev();
+Name_Map name_map_G26x7y6[] = {
+ NSPAIR(_ZN7G26x7y6C1Ev),
+ NSPAIR(_ZN7G26x7y6D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E26x7;
+extern VTBL_ENTRY _ZTI5E26x7[];
+extern VTBL_ENTRY _ZTV5E26x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G26x7y6[] = {
+ // 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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E26x7, 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
+ 2, //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 _ZTI7G26x7y6[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY vtc_G26x7y6[] = {
+ ABISELECT(40,32),
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x7y6[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G26x7y6[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x7y6[];
+static VTBL_ENTRY _tg__ZTV5E26x7__7G26x7y6[] = {
+ ABISELECT(36,28),
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x7[0]),
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__5E26x7__7G26x7y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E26x7[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__7G26x7y6[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x7y6[] = {
+ {&(_ZTV7G26x7y6[7]), 7,13},
+ {&(_tg__ZTV5E26x7__7G26x7y6[6]), 6,6},
+ {&(_tg__ZTV3C26__5E26x7__7G26x7y6[5]), 5,6},
+ {&(_ZTV7G26x7y6[12]), 12,13},
+ {&(_tg__ZTV3C26__7G26x7y6[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x7y6[];
+extern VTBL_ENTRY _ZTV7G26x7y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x7y6[];
+Class_Descriptor cd_G26x7y6 = { "G26x7y6", // class name
+ bases_G26x7y6, 6,
+ &(vtc_G26x7y6[0]), // expected_vtbl_contents
+ &(vtt_G26x7y6[0]), // expected_vtt_contents
+ ABISELECT(48,36), // object size
+ NSPAIRA(_ZTI7G26x7y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x7y6),13, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x7y6),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 G26x7y7 : virtual E26x7 , virtual F0 {
+ int ff;
+ ~G26x7y7(); // tgen
+ G26x7y7(); // tgen
+};
+//SIG(1 G26x7y7) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G26x7y7 ::~G26x7y7(){ note_dtor("G26x7y7", this);} // tgen
+G26x7y7 ::G26x7y7(){ note_ctor("G26x7y7", this);} // tgen
+
+static void Test_G26x7y7()
+{
+ extern Class_Descriptor cd_G26x7y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G26x7y7, buf);
+ G26x7y7 *dp, &lv = *(dp=new (buf) G26x7y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G26x7y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G26x7y7)");
+ check_base_class_offset(lv, (A0*)(C26*), ABISELECT(44,24), "G26x7y7");
+ check_base_class_offset(lv, (B0*)(C26*), ABISELECT(48,28), "G26x7y7");
+ check_base_class_offset(lv, (C26*)(E26x7*), ABISELECT(32,16), "G26x7y7");
+ check_base_class_offset(lv, (D0*)(E26x7*), ABISELECT(52,32), "G26x7y7");
+ check_base_class_offset(lv, (E26x7*), ABISELECT(16,8), "G26x7y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(56,36), "G26x7y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G26x7y7.ff");
+ test_class_info(&lv, &cd_G26x7y7);
+ dp->~G26x7y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG26x7y7(Test_G26x7y7, "G26x7y7", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G26x7y7C1Ev();
+extern void _ZN7G26x7y7D1Ev();
+Name_Map name_map_G26x7y7[] = {
+ NSPAIR(_ZN7G26x7y7C1Ev),
+ NSPAIR(_ZN7G26x7y7D1Ev),
+ {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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E26x7;
+extern VTBL_ENTRY _ZTI5E26x7[];
+extern VTBL_ENTRY _ZTV5E26x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E26x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G26x7y7[] = {
+ // 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
+ 6, //bcp->base_subarray_index_in_construction_vtbl_array
+ 1, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E26x7, 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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //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 _ZTI7G26x7y7[];
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY vtc_G26x7y7[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(48,28),
+ ABISELECT(44,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G26x7y7[0]),
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G26x7y7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G26x7y7[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern VTBL_ENTRY _ZTV7G26x7y7[];
+static VTBL_ENTRY _tg__ZTV5E26x7__7G26x7y7[] = {
+ ABISELECT(36,24),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E26x7[0]),
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__5E26x7__7G26x7y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E26x7[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+extern void _ZN3C263fooEv();
+static VTBL_ENTRY _tg__ZTV3C26__7G26x7y7[] = {
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI3C26[0]),
+ (VTBL_ENTRY)&_ZN3C263fooEv,
+};
+static VTT_ENTRY vtt_G26x7y7[] = {
+ {&(_ZTV7G26x7y7[8]), 8,20},
+ {&(_ZTV7G26x7y7[14]), 14,20},
+ {&(_ZTV7G26x7y7[19]), 19,20},
+ {&(_tg__ZTV5E26x7__7G26x7y7[6]), 6,6},
+ {&(_tg__ZTV3C26__5E26x7__7G26x7y7[5]), 5,6},
+ {&(_tg__ZTV3C26__7G26x7y7[4]), 4,5},
+};
+extern VTBL_ENTRY _ZTI7G26x7y7[];
+extern VTBL_ENTRY _ZTV7G26x7y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G26x7y7[];
+Class_Descriptor cd_G26x7y7 = { "G26x7y7", // class name
+ bases_G26x7y7, 6,
+ &(vtc_G26x7y7[0]), // expected_vtbl_contents
+ &(vtt_G26x7y7[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G26x7y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G26x7y7),20, //virtual function table var
+ 8, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G26x7y7),6, //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 E27x7 : virtual C27 , virtual D0 {
+ int fd;
+ ~E27x7(); // tgen
+ E27x7(); // tgen
+};
+//SIG(-1 E27x7) C1{ VBC2{ VBC3{ v1 Fi} VBC4{ Fi} v1 Fi} VBC5{ Fi} Fi}
+
+
+E27x7 ::~E27x7(){ note_dtor("E27x7", this);} // tgen
+E27x7 ::E27x7(){ note_ctor("E27x7", this);} // tgen
+
+static void Test_E27x7()
+{
+ extern Class_Descriptor cd_E27x7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,9)];
+ init_test(&cd_E27x7, buf);
+ E27x7 *dp, &lv = *(dp=new (buf) E27x7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,32), "sizeof(E27x7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E27x7)");
+ check_base_class_offset(lv, (A1*)(C27*), ABISELECT(32,16), "E27x7");
+ check_base_class_offset(lv, (B0*)(C27*), ABISELECT(44,24), "E27x7");
+ check_base_class_offset(lv, (C27*), ABISELECT(16,8), "E27x7");
+ check_base_class_offset(lv, (D0*), ABISELECT(48,28), "E27x7");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E27x7.fd");
+ test_class_info(&lv, &cd_E27x7);
+ dp->~E27x7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE27x7(Test_E27x7, "E27x7", ABISELECT(56,32));
+
+#else // __cplusplus
+
+extern void _ZN5E27x7C1Ev();
+extern void _ZN5E27x7D1Ev();
+Name_Map name_map_E27x7[] = {
+ NSPAIR(_ZN5E27x7C1Ev),
+ NSPAIR(_ZN5E27x7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E27x7[] = {
+ // 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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D0, 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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E27x7[];
+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_E27x7[] = {
+ ABISELECT(48,28),
+ ABISELECT(44,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x7[0]),
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E27x7[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI5E27x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern VTBL_ENTRY _ZTV5E27x7[];
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__5E27x7[] = {
+ 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__5E27x7[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_E27x7[] = {
+ {&(_ZTV5E27x7[6]), 6,16},
+ {&(_ZTV5E27x7[11]), 11,16},
+ {&(_ZTV5E27x7[15]), 15,16},
+ {&(_tg__ZTV3C27__5E27x7[4]), 4,5},
+ {&(_tg__ZTV2A1__3C27__5E27x7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E27x7[];
+extern VTBL_ENTRY _ZTV5E27x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x7[];
+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_E27x7 = { "E27x7", // class name
+ bases_E27x7, 4,
+ &(vtc_E27x7[0]), // expected_vtbl_contents
+ &(vtt_E27x7[0]), // expected_vtt_contents
+ ABISELECT(56,32), // object size
+ NSPAIRA(_ZTI5E27x7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E27x7),16, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E27x7),5, //virtual table table var
+ 2, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names215,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x7y0 : E27x7 , F1 {
+ int ff;
+ ~G27x7y0(); // tgen
+ G27x7y0(); // tgen
+};
+//SIG(1 G27x7y0) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G27x7y0 ::~G27x7y0(){ note_dtor("G27x7y0", this);} // tgen
+G27x7y0 ::G27x7y0(){ note_ctor("G27x7y0", this);} // tgen
+
+static void Test_G27x7y0()
+{
+ extern Class_Descriptor cd_G27x7y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G27x7y0, buf);
+ G27x7y0 *dp, &lv = *(dp=new (buf) G27x7y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G27x7y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x7y0)");
+ check_base_class_offset(lv, (A1*)(C27*), ABISELECT(48,28), "G27x7y0");
+ check_base_class_offset(lv, (B0*)(C27*), ABISELECT(60,36), "G27x7y0");
+ check_base_class_offset(lv, (C27*)(E27x7*), ABISELECT(32,20), "G27x7y0");
+ check_base_class_offset(lv, (D0*)(E27x7*), ABISELECT(64,40), "G27x7y0");
+ check_base_class_offset(lv, (E27x7*), 0, "G27x7y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G27x7y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G27x7y0.ff");
+ test_class_info(&lv, &cd_G27x7y0);
+ dp->~G27x7y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x7y0(Test_G27x7y0, "G27x7y0", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G27x7y0C1Ev();
+extern void _ZN7G27x7y0D1Ev();
+Name_Map name_map_G27x7y0[] = {
+ NSPAIR(_ZN7G27x7y0C1Ev),
+ NSPAIR(_ZN7G27x7y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E27x7;
+extern VTBL_ENTRY _ZTI5E27x7[];
+extern VTBL_ENTRY _ZTV5E27x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G27x7y0[] = {
+ // 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)
+ 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,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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E27x7, 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 _ZTI7G27x7y0[];
+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_G27x7y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x7y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G27x7y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G27x7y0[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G27x7y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern VTBL_ENTRY _ZTV7G27x7y0[];
+static VTBL_ENTRY _tg__ZTV5E27x7__7G27x7y0[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x7[0]),
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__5E27x7__7G27x7y0[] = {
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E27x7[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__5E27x7__7G27x7y0[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E27x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__7G27x7y0[] = {
+ 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__7G27x7y0[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x7y0[] = {
+ {&(_ZTV7G27x7y0[6]), 6,19},
+ {&(_tg__ZTV5E27x7__7G27x7y0[6]), 6,6},
+ {&(_tg__ZTV3C27__5E27x7__7G27x7y0[5]), 5,6},
+ {&(_tg__ZTV2A1__5E27x7__7G27x7y0[3]), 3,4},
+ {&(_ZTV7G27x7y0[14]), 14,19},
+ {&(_ZTV7G27x7y0[18]), 18,19},
+ {&(_tg__ZTV3C27__7G27x7y0[4]), 4,5},
+ {&(_tg__ZTV2A1__3C27__7G27x7y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G27x7y0[];
+extern VTBL_ENTRY _ZTV7G27x7y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x7y0[];
+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_G27x7y0 = { "G27x7y0", // class name
+ bases_G27x7y0, 6,
+ &(vtc_G27x7y0[0]), // expected_vtbl_contents
+ &(vtt_G27x7y0[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G27x7y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x7y0),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x7y0),8, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names216,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x7y1 : virtual E27x7 , F1 {
+ int ff;
+ ~G27x7y1(); // tgen
+ G27x7y1(); // tgen
+};
+//SIG(1 G27x7y1) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G27x7y1 ::~G27x7y1(){ note_dtor("G27x7y1", this);} // tgen
+G27x7y1 ::G27x7y1(){ note_ctor("G27x7y1", this);} // tgen
+
+static void Test_G27x7y1()
+{
+ extern Class_Descriptor cd_G27x7y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G27x7y1, buf);
+ G27x7y1 *dp, &lv = *(dp=new (buf) G27x7y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G27x7y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x7y1)");
+ check_base_class_offset(lv, (A1*)(C27*), ABISELECT(48,28), "G27x7y1");
+ check_base_class_offset(lv, (B0*)(C27*), ABISELECT(60,36), "G27x7y1");
+ check_base_class_offset(lv, (C27*)(E27x7*), ABISELECT(32,20), "G27x7y1");
+ check_base_class_offset(lv, (D0*)(E27x7*), ABISELECT(64,40), "G27x7y1");
+ check_base_class_offset(lv, (E27x7*), ABISELECT(16,12), "G27x7y1");
+ check_base_class_offset(lv, (F1*), 0, "G27x7y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G27x7y1.ff");
+ test_class_info(&lv, &cd_G27x7y1);
+ dp->~G27x7y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x7y1(Test_G27x7y1, "G27x7y1", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G27x7y1C1Ev();
+extern void _ZN7G27x7y1D1Ev();
+Name_Map name_map_G27x7y1[] = {
+ NSPAIR(_ZN7G27x7y1C1Ev),
+ NSPAIR(_ZN7G27x7y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E27x7;
+extern VTBL_ENTRY _ZTI5E27x7[];
+extern VTBL_ENTRY _ZTV5E27x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G27x7y1[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E27x7, 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 _ZTI7G27x7y1[];
+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_G27x7y1[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x7y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(48,28),
+ ABISELECT(44,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G27x7y1[0]),
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G27x7y1[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G27x7y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern VTBL_ENTRY _ZTV7G27x7y1[];
+static VTBL_ENTRY _tg__ZTV5E27x7__7G27x7y1[] = {
+ ABISELECT(48,28),
+ ABISELECT(44,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x7[0]),
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__5E27x7__7G27x7y1[] = {
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E27x7[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__5E27x7__7G27x7y1[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI5E27x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__7G27x7y1[] = {
+ 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__7G27x7y1[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x7y1[] = {
+ {&(_ZTV7G27x7y1[7]), 7,24},
+ {&(_ZTV7G27x7y1[14]), 14,24},
+ {&(_ZTV7G27x7y1[19]), 19,24},
+ {&(_ZTV7G27x7y1[23]), 23,24},
+ {&(_tg__ZTV5E27x7__7G27x7y1[6]), 6,6},
+ {&(_tg__ZTV3C27__5E27x7__7G27x7y1[5]), 5,6},
+ {&(_tg__ZTV2A1__5E27x7__7G27x7y1[3]), 3,4},
+ {&(_tg__ZTV3C27__7G27x7y1[4]), 4,5},
+ {&(_tg__ZTV2A1__3C27__7G27x7y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G27x7y1[];
+extern VTBL_ENTRY _ZTV7G27x7y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x7y1[];
+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_G27x7y1 = { "G27x7y1", // class name
+ bases_G27x7y1, 6,
+ &(vtc_G27x7y1[0]), // expected_vtbl_contents
+ &(vtt_G27x7y1[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G27x7y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x7y1),24, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x7y1),9, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names217,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x7y2 : E27x7 , virtual F1 {
+ int ff;
+ ~G27x7y2(); // tgen
+ G27x7y2(); // tgen
+};
+//SIG(1 G27x7y2) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G27x7y2 ::~G27x7y2(){ note_dtor("G27x7y2", this);} // tgen
+G27x7y2 ::G27x7y2(){ note_ctor("G27x7y2", this);} // tgen
+
+static void Test_G27x7y2()
+{
+ extern Class_Descriptor cd_G27x7y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G27x7y2, buf);
+ G27x7y2 *dp, &lv = *(dp=new (buf) G27x7y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G27x7y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x7y2)");
+ check_base_class_offset(lv, (A1*)(C27*), ABISELECT(32,20), "G27x7y2");
+ check_base_class_offset(lv, (B0*)(C27*), ABISELECT(44,28), "G27x7y2");
+ check_base_class_offset(lv, (C27*)(E27x7*), ABISELECT(16,12), "G27x7y2");
+ check_base_class_offset(lv, (D0*)(E27x7*), ABISELECT(48,32), "G27x7y2");
+ check_base_class_offset(lv, (E27x7*), 0, "G27x7y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(56,36), "G27x7y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G27x7y2.ff");
+ test_class_info(&lv, &cd_G27x7y2);
+ dp->~G27x7y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x7y2(Test_G27x7y2, "G27x7y2", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G27x7y2C1Ev();
+extern void _ZN7G27x7y2D1Ev();
+Name_Map name_map_G27x7y2[] = {
+ NSPAIR(_ZN7G27x7y2C1Ev),
+ NSPAIR(_ZN7G27x7y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E27x7;
+extern VTBL_ENTRY _ZTI5E27x7[];
+extern VTBL_ENTRY _ZTV5E27x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G27x7y2[] = {
+ // 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)
+ 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(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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E27x7, 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 _ZTI7G27x7y2[];
+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_G27x7y2[] = {
+ ABISELECT(56,36),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x7y2[0]),
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G27x7y2[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G27x7y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+ 0,
+ ABISELECT(-56,-36),
+ (VTBL_ENTRY)&(_ZTI7G27x7y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G27x7y2[];
+static VTBL_ENTRY _tg__ZTV5E27x7__7G27x7y2[] = {
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x7[0]),
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__5E27x7__7G27x7y2[] = {
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E27x7[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__5E27x7__7G27x7y2[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E27x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__7G27x7y2[] = {
+ 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__7G27x7y2[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x7y2[] = {
+ {&(_ZTV7G27x7y2[7]), 7,21},
+ {&(_tg__ZTV5E27x7__7G27x7y2[6]), 6,6},
+ {&(_tg__ZTV3C27__5E27x7__7G27x7y2[5]), 5,6},
+ {&(_tg__ZTV2A1__5E27x7__7G27x7y2[3]), 3,4},
+ {&(_ZTV7G27x7y2[12]), 12,21},
+ {&(_ZTV7G27x7y2[16]), 16,21},
+ {&(_ZTV7G27x7y2[20]), 20,21},
+ {&(_tg__ZTV3C27__7G27x7y2[4]), 4,5},
+ {&(_tg__ZTV2A1__3C27__7G27x7y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G27x7y2[];
+extern VTBL_ENTRY _ZTV7G27x7y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x7y2[];
+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_G27x7y2 = { "G27x7y2", // class name
+ bases_G27x7y2, 6,
+ &(vtc_G27x7y2[0]), // expected_vtbl_contents
+ &(vtt_G27x7y2[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G27x7y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x7y2),21, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x7y2),9, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names218,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x7y3 : virtual E27x7 , virtual F1 {
+ int ff;
+ ~G27x7y3(); // tgen
+ G27x7y3(); // tgen
+};
+//SIG(1 G27x7y3) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G27x7y3 ::~G27x7y3(){ note_dtor("G27x7y3", this);} // tgen
+G27x7y3 ::G27x7y3(){ note_ctor("G27x7y3", this);} // tgen
+
+static void Test_G27x7y3()
+{
+ extern Class_Descriptor cd_G27x7y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(12,13)];
+ init_test(&cd_G27x7y3, buf);
+ G27x7y3 *dp, &lv = *(dp=new (buf) G27x7y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(88,48), "sizeof(G27x7y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x7y3)");
+ check_base_class_offset(lv, (A1*)(C27*), ABISELECT(48,24), "G27x7y3");
+ check_base_class_offset(lv, (B0*)(C27*), ABISELECT(60,32), "G27x7y3");
+ check_base_class_offset(lv, (C27*)(E27x7*), ABISELECT(32,16), "G27x7y3");
+ check_base_class_offset(lv, (D0*)(E27x7*), ABISELECT(64,36), "G27x7y3");
+ check_base_class_offset(lv, (E27x7*), ABISELECT(16,8), "G27x7y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(72,40), "G27x7y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G27x7y3.ff");
+ test_class_info(&lv, &cd_G27x7y3);
+ dp->~G27x7y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x7y3(Test_G27x7y3, "G27x7y3", ABISELECT(88,48));
+
+#else // __cplusplus
+
+extern void _ZN7G27x7y3C1Ev();
+extern void _ZN7G27x7y3D1Ev();
+Name_Map name_map_G27x7y3[] = {
+ NSPAIR(_ZN7G27x7y3C1Ev),
+ NSPAIR(_ZN7G27x7y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E27x7;
+extern VTBL_ENTRY _ZTI5E27x7[];
+extern VTBL_ENTRY _ZTV5E27x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G27x7y3[] = {
+ // 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
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, ABISELECT(64,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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E27x7, 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 _ZTI7G27x7y3[];
+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_G27x7y3[] = {
+ ABISELECT(72,40),
+ ABISELECT(64,36),
+ ABISELECT(60,32),
+ ABISELECT(48,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x7y3[0]),
+ ABISELECT(48,28),
+ ABISELECT(44,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G27x7y3[0]),
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G27x7y3[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-48,-24),
+ (VTBL_ENTRY)&(_ZTI7G27x7y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+ 0,
+ ABISELECT(-72,-40),
+ (VTBL_ENTRY)&(_ZTI7G27x7y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G27x7y3[];
+static VTBL_ENTRY _tg__ZTV5E27x7__7G27x7y3[] = {
+ ABISELECT(48,28),
+ ABISELECT(44,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x7[0]),
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__5E27x7__7G27x7y3[] = {
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E27x7[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__5E27x7__7G27x7y3[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI5E27x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__7G27x7y3[] = {
+ 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__7G27x7y3[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x7y3[] = {
+ {&(_ZTV7G27x7y3[8]), 8,28},
+ {&(_ZTV7G27x7y3[14]), 14,28},
+ {&(_ZTV7G27x7y3[19]), 19,28},
+ {&(_ZTV7G27x7y3[23]), 23,28},
+ {&(_ZTV7G27x7y3[27]), 27,28},
+ {&(_tg__ZTV5E27x7__7G27x7y3[6]), 6,6},
+ {&(_tg__ZTV3C27__5E27x7__7G27x7y3[5]), 5,6},
+ {&(_tg__ZTV2A1__5E27x7__7G27x7y3[3]), 3,4},
+ {&(_tg__ZTV3C27__7G27x7y3[4]), 4,5},
+ {&(_tg__ZTV2A1__3C27__7G27x7y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G27x7y3[];
+extern VTBL_ENTRY _ZTV7G27x7y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x7y3[];
+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_G27x7y3 = { "G27x7y3", // class name
+ bases_G27x7y3, 6,
+ &(vtc_G27x7y3[0]), // expected_vtbl_contents
+ &(vtt_G27x7y3[0]), // expected_vtt_contents
+ ABISELECT(88,48), // object size
+ NSPAIRA(_ZTI7G27x7y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x7y3),28, //virtual function table var
+ 8, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x7y3),10, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names219,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x7y4 : E27x7 , F0 {
+ int ff;
+ ~G27x7y4(); // tgen
+ G27x7y4(); // tgen
+};
+//SIG(1 G27x7y4) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G27x7y4 ::~G27x7y4(){ note_dtor("G27x7y4", this);} // tgen
+G27x7y4 ::G27x7y4(){ note_ctor("G27x7y4", this);} // tgen
+
+static void Test_G27x7y4()
+{
+ extern Class_Descriptor cd_G27x7y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,11)];
+ init_test(&cd_G27x7y4, buf);
+ G27x7y4 *dp, &lv = *(dp=new (buf) G27x7y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,40), "sizeof(G27x7y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x7y4)");
+ check_base_class_offset(lv, (A1*)(C27*), ABISELECT(40,24), "G27x7y4");
+ check_base_class_offset(lv, (B0*)(C27*), ABISELECT(52,32), "G27x7y4");
+ check_base_class_offset(lv, (C27*)(E27x7*), ABISELECT(24,16), "G27x7y4");
+ check_base_class_offset(lv, (D0*)(E27x7*), ABISELECT(56,36), "G27x7y4");
+ check_base_class_offset(lv, (E27x7*), 0, "G27x7y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G27x7y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G27x7y4.ff");
+ test_class_info(&lv, &cd_G27x7y4);
+ dp->~G27x7y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x7y4(Test_G27x7y4, "G27x7y4", ABISELECT(64,40));
+
+#else // __cplusplus
+
+extern void _ZN7G27x7y4C1Ev();
+extern void _ZN7G27x7y4D1Ev();
+Name_Map name_map_G27x7y4[] = {
+ NSPAIR(_ZN7G27x7y4C1Ev),
+ NSPAIR(_ZN7G27x7y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E27x7;
+extern VTBL_ENTRY _ZTI5E27x7[];
+extern VTBL_ENTRY _ZTV5E27x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G27x7y4[] = {
+ // 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)
+ 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
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E27x7, 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 _ZTI7G27x7y4[];
+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_G27x7y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x7y4[0]),
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G27x7y4[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G27x7y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern VTBL_ENTRY _ZTV7G27x7y4[];
+static VTBL_ENTRY _tg__ZTV5E27x7__7G27x7y4[] = {
+ ABISELECT(56,36),
+ ABISELECT(52,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x7[0]),
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__5E27x7__7G27x7y4[] = {
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E27x7[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__5E27x7__7G27x7y4[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E27x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__7G27x7y4[] = {
+ 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__7G27x7y4[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x7y4[] = {
+ {&(_ZTV7G27x7y4[6]), 6,16},
+ {&(_tg__ZTV5E27x7__7G27x7y4[6]), 6,6},
+ {&(_tg__ZTV3C27__5E27x7__7G27x7y4[5]), 5,6},
+ {&(_tg__ZTV2A1__5E27x7__7G27x7y4[3]), 3,4},
+ {&(_ZTV7G27x7y4[11]), 11,16},
+ {&(_ZTV7G27x7y4[15]), 15,16},
+ {&(_tg__ZTV3C27__7G27x7y4[4]), 4,5},
+ {&(_tg__ZTV2A1__3C27__7G27x7y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G27x7y4[];
+extern VTBL_ENTRY _ZTV7G27x7y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x7y4[];
+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_G27x7y4 = { "G27x7y4", // class name
+ bases_G27x7y4, 6,
+ &(vtc_G27x7y4[0]), // expected_vtbl_contents
+ &(vtt_G27x7y4[0]), // expected_vtt_contents
+ ABISELECT(64,40), // object size
+ NSPAIRA(_ZTI7G27x7y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x7y4),16, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x7y4),8, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names220,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x7y5 : virtual E27x7 , F0 {
+ int ff;
+ ~G27x7y5(); // tgen
+ G27x7y5(); // tgen
+};
+//SIG(1 G27x7y5) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G27x7y5 ::~G27x7y5(){ note_dtor("G27x7y5", this);} // tgen
+G27x7y5 ::G27x7y5(){ note_ctor("G27x7y5", this);} // tgen
+
+static void Test_G27x7y5()
+{
+ extern Class_Descriptor cd_G27x7y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G27x7y5, buf);
+ G27x7y5 *dp, &lv = *(dp=new (buf) G27x7y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G27x7y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x7y5)");
+ check_base_class_offset(lv, (A1*)(C27*), ABISELECT(48,28), "G27x7y5");
+ check_base_class_offset(lv, (B0*)(C27*), ABISELECT(60,36), "G27x7y5");
+ check_base_class_offset(lv, (C27*)(E27x7*), ABISELECT(32,20), "G27x7y5");
+ check_base_class_offset(lv, (D0*)(E27x7*), ABISELECT(64,40), "G27x7y5");
+ check_base_class_offset(lv, (E27x7*), ABISELECT(16,12), "G27x7y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G27x7y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G27x7y5.ff");
+ test_class_info(&lv, &cd_G27x7y5);
+ dp->~G27x7y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x7y5(Test_G27x7y5, "G27x7y5", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G27x7y5C1Ev();
+extern void _ZN7G27x7y5D1Ev();
+Name_Map name_map_G27x7y5[] = {
+ NSPAIR(_ZN7G27x7y5C1Ev),
+ NSPAIR(_ZN7G27x7y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E27x7;
+extern VTBL_ENTRY _ZTI5E27x7[];
+extern VTBL_ENTRY _ZTV5E27x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G27x7y5[] = {
+ // 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
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E27x7, 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 _ZTI7G27x7y5[];
+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_G27x7y5[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x7y5[0]),
+ ABISELECT(48,28),
+ ABISELECT(44,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G27x7y5[0]),
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G27x7y5[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G27x7y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern VTBL_ENTRY _ZTV7G27x7y5[];
+static VTBL_ENTRY _tg__ZTV5E27x7__7G27x7y5[] = {
+ ABISELECT(48,28),
+ ABISELECT(44,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x7[0]),
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__5E27x7__7G27x7y5[] = {
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E27x7[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__5E27x7__7G27x7y5[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI5E27x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__7G27x7y5[] = {
+ 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__7G27x7y5[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x7y5[] = {
+ {&(_ZTV7G27x7y5[7]), 7,23},
+ {&(_ZTV7G27x7y5[13]), 13,23},
+ {&(_ZTV7G27x7y5[18]), 18,23},
+ {&(_ZTV7G27x7y5[22]), 22,23},
+ {&(_tg__ZTV5E27x7__7G27x7y5[6]), 6,6},
+ {&(_tg__ZTV3C27__5E27x7__7G27x7y5[5]), 5,6},
+ {&(_tg__ZTV2A1__5E27x7__7G27x7y5[3]), 3,4},
+ {&(_tg__ZTV3C27__7G27x7y5[4]), 4,5},
+ {&(_tg__ZTV2A1__3C27__7G27x7y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G27x7y5[];
+extern VTBL_ENTRY _ZTV7G27x7y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x7y5[];
+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_G27x7y5 = { "G27x7y5", // class name
+ bases_G27x7y5, 6,
+ &(vtc_G27x7y5[0]), // expected_vtbl_contents
+ &(vtt_G27x7y5[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G27x7y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x7y5),23, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x7y5),9, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names221,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x7y6 : E27x7 , virtual F0 {
+ int ff;
+ ~G27x7y6(); // tgen
+ G27x7y6(); // tgen
+};
+//SIG(1 G27x7y6) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G27x7y6 ::~G27x7y6(){ note_dtor("G27x7y6", this);} // tgen
+G27x7y6 ::G27x7y6(){ note_ctor("G27x7y6", this);} // tgen
+
+static void Test_G27x7y6()
+{
+ extern Class_Descriptor cd_G27x7y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G27x7y6, buf);
+ G27x7y6 *dp, &lv = *(dp=new (buf) G27x7y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G27x7y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x7y6)");
+ check_base_class_offset(lv, (A1*)(C27*), ABISELECT(32,20), "G27x7y6");
+ check_base_class_offset(lv, (B0*)(C27*), ABISELECT(44,28), "G27x7y6");
+ check_base_class_offset(lv, (C27*)(E27x7*), ABISELECT(16,12), "G27x7y6");
+ check_base_class_offset(lv, (D0*)(E27x7*), ABISELECT(48,32), "G27x7y6");
+ check_base_class_offset(lv, (E27x7*), 0, "G27x7y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(52,36), "G27x7y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G27x7y6.ff");
+ test_class_info(&lv, &cd_G27x7y6);
+ dp->~G27x7y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x7y6(Test_G27x7y6, "G27x7y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G27x7y6C1Ev();
+extern void _ZN7G27x7y6D1Ev();
+Name_Map name_map_G27x7y6[] = {
+ NSPAIR(_ZN7G27x7y6C1Ev),
+ NSPAIR(_ZN7G27x7y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E27x7;
+extern VTBL_ENTRY _ZTI5E27x7[];
+extern VTBL_ENTRY _ZTV5E27x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G27x7y6[] = {
+ // 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)
+ 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(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)
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E27x7, 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 _ZTI7G27x7y6[];
+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_G27x7y6[] = {
+ ABISELECT(52,36),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x7y6[0]),
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G27x7y6[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G27x7y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern VTBL_ENTRY _ZTV7G27x7y6[];
+static VTBL_ENTRY _tg__ZTV5E27x7__7G27x7y6[] = {
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x7[0]),
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__5E27x7__7G27x7y6[] = {
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E27x7[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__5E27x7__7G27x7y6[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E27x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__7G27x7y6[] = {
+ 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__7G27x7y6[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x7y6[] = {
+ {&(_ZTV7G27x7y6[7]), 7,17},
+ {&(_tg__ZTV5E27x7__7G27x7y6[6]), 6,6},
+ {&(_tg__ZTV3C27__5E27x7__7G27x7y6[5]), 5,6},
+ {&(_tg__ZTV2A1__5E27x7__7G27x7y6[3]), 3,4},
+ {&(_ZTV7G27x7y6[12]), 12,17},
+ {&(_ZTV7G27x7y6[16]), 16,17},
+ {&(_tg__ZTV3C27__7G27x7y6[4]), 4,5},
+ {&(_tg__ZTV2A1__3C27__7G27x7y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G27x7y6[];
+extern VTBL_ENTRY _ZTV7G27x7y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x7y6[];
+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_G27x7y6 = { "G27x7y6", // class name
+ bases_G27x7y6, 6,
+ &(vtc_G27x7y6[0]), // expected_vtbl_contents
+ &(vtt_G27x7y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G27x7y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x7y6),17, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x7y6),8, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names222,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G27x7y7 : virtual E27x7 , virtual F0 {
+ int ff;
+ ~G27x7y7(); // tgen
+ G27x7y7(); // tgen
+};
+//SIG(1 G27x7y7) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G27x7y7 ::~G27x7y7(){ note_dtor("G27x7y7", this);} // tgen
+G27x7y7 ::G27x7y7(){ note_ctor("G27x7y7", this);} // tgen
+
+static void Test_G27x7y7()
+{
+ extern Class_Descriptor cd_G27x7y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G27x7y7, buf);
+ G27x7y7 *dp, &lv = *(dp=new (buf) G27x7y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G27x7y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G27x7y7)");
+ check_base_class_offset(lv, (A1*)(C27*), ABISELECT(48,24), "G27x7y7");
+ check_base_class_offset(lv, (B0*)(C27*), ABISELECT(60,32), "G27x7y7");
+ check_base_class_offset(lv, (C27*)(E27x7*), ABISELECT(32,16), "G27x7y7");
+ check_base_class_offset(lv, (D0*)(E27x7*), ABISELECT(64,36), "G27x7y7");
+ check_base_class_offset(lv, (E27x7*), ABISELECT(16,8), "G27x7y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(68,40), "G27x7y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G27x7y7.ff");
+ test_class_info(&lv, &cd_G27x7y7);
+ dp->~G27x7y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG27x7y7(Test_G27x7y7, "G27x7y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G27x7y7C1Ev();
+extern void _ZN7G27x7y7D1Ev();
+Name_Map name_map_G27x7y7[] = {
+ NSPAIR(_ZN7G27x7y7C1Ev),
+ NSPAIR(_ZN7G27x7y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E27x7;
+extern VTBL_ENTRY _ZTI5E27x7[];
+extern VTBL_ENTRY _ZTV5E27x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E27x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G27x7y7[] = {
+ // 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
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, ABISELECT(64,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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E27x7, 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 _ZTI7G27x7y7[];
+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_G27x7y7[] = {
+ ABISELECT(68,40),
+ ABISELECT(64,36),
+ ABISELECT(60,32),
+ ABISELECT(48,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G27x7y7[0]),
+ ABISELECT(48,28),
+ ABISELECT(44,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G27x7y7[0]),
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G27x7y7[0]),
+ (VTBL_ENTRY)&_ZN3C273fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-48,-24),
+ (VTBL_ENTRY)&(_ZTI7G27x7y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern VTBL_ENTRY _ZTV7G27x7y7[];
+static VTBL_ENTRY _tg__ZTV5E27x7__7G27x7y7[] = {
+ ABISELECT(48,28),
+ ABISELECT(44,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E27x7[0]),
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__5E27x7__7G27x7y7[] = {
+ 0,
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E27x7[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__5E27x7__7G27x7y7[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI5E27x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+extern void _ZN3C273fooEv();
+static VTBL_ENTRY _tg__ZTV3C27__7G27x7y7[] = {
+ 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__7G27x7y7[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI3C27[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C273fooEv,_ZTv0_n12_N3C273fooEv),
+};
+static VTT_ENTRY vtt_G27x7y7[] = {
+ {&(_ZTV7G27x7y7[8]), 8,24},
+ {&(_ZTV7G27x7y7[14]), 14,24},
+ {&(_ZTV7G27x7y7[19]), 19,24},
+ {&(_ZTV7G27x7y7[23]), 23,24},
+ {&(_tg__ZTV5E27x7__7G27x7y7[6]), 6,6},
+ {&(_tg__ZTV3C27__5E27x7__7G27x7y7[5]), 5,6},
+ {&(_tg__ZTV2A1__5E27x7__7G27x7y7[3]), 3,4},
+ {&(_tg__ZTV3C27__7G27x7y7[4]), 4,5},
+ {&(_tg__ZTV2A1__3C27__7G27x7y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G27x7y7[];
+extern VTBL_ENTRY _ZTV7G27x7y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G27x7y7[];
+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_G27x7y7 = { "G27x7y7", // class name
+ bases_G27x7y7, 6,
+ &(vtc_G27x7y7[0]), // expected_vtbl_contents
+ &(vtt_G27x7y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G27x7y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G27x7y7),24, //virtual function table var
+ 8, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G27x7y7),9, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names223,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E28x7 : virtual C28 , virtual D0 {
+ int fd;
+ ~E28x7(); // tgen
+ E28x7(); // tgen
+};
+//SIG(-1 E28x7) C1{ VBC2{ BC3{ Fi} VBC4{ v1 Fi} v1 Fi} VBC5{ Fi} Fi}
+
+
+E28x7 ::~E28x7(){ note_dtor("E28x7", this);} // tgen
+E28x7 ::E28x7(){ note_ctor("E28x7", this);} // tgen
+
+static void Test_E28x7()
+{
+ extern Class_Descriptor cd_E28x7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E28x7, buf);
+ E28x7 *dp, &lv = *(dp=new (buf) E28x7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E28x7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E28x7)");
+ check_base_class_offset(lv, (A0*)(C28*), ABISELECT(24,12), "E28x7");
+ check_base_class_offset(lv, (B1*)(C28*), ABISELECT(32,20), "E28x7");
+ check_base_class_offset(lv, (C28*), ABISELECT(16,8), "E28x7");
+ check_base_class_offset(lv, (D0*), ABISELECT(44,28), "E28x7");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E28x7.fd");
+ test_class_info(&lv, &cd_E28x7);
+ dp->~E28x7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE28x7(Test_E28x7, "E28x7", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN5E28x7C1Ev();
+extern void _ZN5E28x7D1Ev();
+Name_Map name_map_E28x7[] = {
+ NSPAIR(_ZN5E28x7C1Ev),
+ NSPAIR(_ZN5E28x7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E28x7[] = {
+ // 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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D0, 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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E28x7[];
+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_E28x7[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E28x7[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E28x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern VTBL_ENTRY _ZTV5E28x7[];
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__5E28x7[] = {
+ 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__5E28x7[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_E28x7[] = {
+ {&(_ZTV5E28x7[5]), 5,14},
+ {&(_ZTV5E28x7[9]), 9,14},
+ {&(_ZTV5E28x7[13]), 13,14},
+ {&(_tg__ZTV3C28__5E28x7[3]), 3,4},
+ {&(_tg__ZTV2B1__3C28__5E28x7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E28x7[];
+extern VTBL_ENTRY _ZTV5E28x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x7[];
+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_E28x7 = { "E28x7", // class name
+ bases_E28x7, 4,
+ &(vtc_E28x7[0]), // expected_vtbl_contents
+ &(vtt_E28x7[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI5E28x7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E28x7),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E28x7),5, //virtual table table var
+ 2, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names224,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x7y0 : E28x7 , F1 {
+ int ff;
+ ~G28x7y0(); // tgen
+ G28x7y0(); // tgen
+};
+//SIG(1 G28x7y0) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G28x7y0 ::~G28x7y0(){ note_dtor("G28x7y0", this);} // tgen
+G28x7y0 ::G28x7y0(){ note_ctor("G28x7y0", this);} // tgen
+
+static void Test_G28x7y0()
+{
+ extern Class_Descriptor cd_G28x7y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G28x7y0, buf);
+ G28x7y0 *dp, &lv = *(dp=new (buf) G28x7y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G28x7y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x7y0)");
+ check_base_class_offset(lv, (A0*)(C28*), ABISELECT(40,24), "G28x7y0");
+ check_base_class_offset(lv, (B1*)(C28*), ABISELECT(48,32), "G28x7y0");
+ check_base_class_offset(lv, (C28*)(E28x7*), ABISELECT(32,20), "G28x7y0");
+ check_base_class_offset(lv, (D0*)(E28x7*), ABISELECT(60,40), "G28x7y0");
+ check_base_class_offset(lv, (E28x7*), 0, "G28x7y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G28x7y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G28x7y0.ff");
+ test_class_info(&lv, &cd_G28x7y0);
+ dp->~G28x7y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x7y0(Test_G28x7y0, "G28x7y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G28x7y0C1Ev();
+extern void _ZN7G28x7y0D1Ev();
+Name_Map name_map_G28x7y0[] = {
+ NSPAIR(_ZN7G28x7y0C1Ev),
+ NSPAIR(_ZN7G28x7y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E28x7;
+extern VTBL_ENTRY _ZTI5E28x7[];
+extern VTBL_ENTRY _ZTV5E28x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G28x7y0[] = {
+ // 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)
+ 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,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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E28x7, 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 _ZTI7G28x7y0[];
+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_G28x7y0[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x7y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G28x7y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G28x7y0[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G28x7y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern VTBL_ENTRY _ZTV7G28x7y0[];
+static VTBL_ENTRY _tg__ZTV5E28x7__7G28x7y0[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x7[0]),
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__5E28x7__7G28x7y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E28x7[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__5E28x7__7G28x7y0[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E28x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__7G28x7y0[] = {
+ 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__7G28x7y0[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x7y0[] = {
+ {&(_ZTV7G28x7y0[5]), 5,17},
+ {&(_tg__ZTV5E28x7__7G28x7y0[5]), 5,5},
+ {&(_tg__ZTV3C28__5E28x7__7G28x7y0[4]), 4,5},
+ {&(_tg__ZTV2B1__5E28x7__7G28x7y0[3]), 3,4},
+ {&(_ZTV7G28x7y0[12]), 12,17},
+ {&(_ZTV7G28x7y0[16]), 16,17},
+ {&(_tg__ZTV3C28__7G28x7y0[3]), 3,4},
+ {&(_tg__ZTV2B1__3C28__7G28x7y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G28x7y0[];
+extern VTBL_ENTRY _ZTV7G28x7y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x7y0[];
+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_G28x7y0 = { "G28x7y0", // class name
+ bases_G28x7y0, 6,
+ &(vtc_G28x7y0[0]), // expected_vtbl_contents
+ &(vtt_G28x7y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G28x7y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x7y0),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x7y0),8, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names225,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x7y1 : virtual E28x7 , F1 {
+ int ff;
+ ~G28x7y1(); // tgen
+ G28x7y1(); // tgen
+};
+//SIG(1 G28x7y1) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G28x7y1 ::~G28x7y1(){ note_dtor("G28x7y1", this);} // tgen
+G28x7y1 ::G28x7y1(){ note_ctor("G28x7y1", this);} // tgen
+
+static void Test_G28x7y1()
+{
+ extern Class_Descriptor cd_G28x7y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G28x7y1, buf);
+ G28x7y1 *dp, &lv = *(dp=new (buf) G28x7y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G28x7y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x7y1)");
+ check_base_class_offset(lv, (A0*)(C28*), ABISELECT(40,24), "G28x7y1");
+ check_base_class_offset(lv, (B1*)(C28*), ABISELECT(48,32), "G28x7y1");
+ check_base_class_offset(lv, (C28*)(E28x7*), ABISELECT(32,20), "G28x7y1");
+ check_base_class_offset(lv, (D0*)(E28x7*), ABISELECT(60,40), "G28x7y1");
+ check_base_class_offset(lv, (E28x7*), ABISELECT(16,12), "G28x7y1");
+ check_base_class_offset(lv, (F1*), 0, "G28x7y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G28x7y1.ff");
+ test_class_info(&lv, &cd_G28x7y1);
+ dp->~G28x7y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x7y1(Test_G28x7y1, "G28x7y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G28x7y1C1Ev();
+extern void _ZN7G28x7y1D1Ev();
+Name_Map name_map_G28x7y1[] = {
+ NSPAIR(_ZN7G28x7y1C1Ev),
+ NSPAIR(_ZN7G28x7y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E28x7;
+extern VTBL_ENTRY _ZTI5E28x7[];
+extern VTBL_ENTRY _ZTV5E28x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G28x7y1[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E28x7, 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 _ZTI7G28x7y1[];
+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_G28x7y1[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x7y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G28x7y1[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G28x7y1[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G28x7y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern VTBL_ENTRY _ZTV7G28x7y1[];
+static VTBL_ENTRY _tg__ZTV5E28x7__7G28x7y1[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x7[0]),
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__5E28x7__7G28x7y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E28x7[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__5E28x7__7G28x7y1[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E28x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__7G28x7y1[] = {
+ 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__7G28x7y1[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x7y1[] = {
+ {&(_ZTV7G28x7y1[6]), 6,21},
+ {&(_ZTV7G28x7y1[12]), 12,21},
+ {&(_ZTV7G28x7y1[16]), 16,21},
+ {&(_ZTV7G28x7y1[20]), 20,21},
+ {&(_tg__ZTV5E28x7__7G28x7y1[5]), 5,5},
+ {&(_tg__ZTV3C28__5E28x7__7G28x7y1[4]), 4,5},
+ {&(_tg__ZTV2B1__5E28x7__7G28x7y1[3]), 3,4},
+ {&(_tg__ZTV3C28__7G28x7y1[3]), 3,4},
+ {&(_tg__ZTV2B1__3C28__7G28x7y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G28x7y1[];
+extern VTBL_ENTRY _ZTV7G28x7y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x7y1[];
+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_G28x7y1 = { "G28x7y1", // class name
+ bases_G28x7y1, 6,
+ &(vtc_G28x7y1[0]), // expected_vtbl_contents
+ &(vtt_G28x7y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G28x7y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x7y1),21, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x7y1),9, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names226,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x7y2 : E28x7 , virtual F1 {
+ int ff;
+ ~G28x7y2(); // tgen
+ G28x7y2(); // tgen
+};
+//SIG(1 G28x7y2) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G28x7y2 ::~G28x7y2(){ note_dtor("G28x7y2", this);} // tgen
+G28x7y2 ::G28x7y2(){ note_ctor("G28x7y2", this);} // tgen
+
+static void Test_G28x7y2()
+{
+ extern Class_Descriptor cd_G28x7y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G28x7y2, buf);
+ G28x7y2 *dp, &lv = *(dp=new (buf) G28x7y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G28x7y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x7y2)");
+ check_base_class_offset(lv, (A0*)(C28*), ABISELECT(24,16), "G28x7y2");
+ check_base_class_offset(lv, (B1*)(C28*), ABISELECT(32,24), "G28x7y2");
+ check_base_class_offset(lv, (C28*)(E28x7*), ABISELECT(16,12), "G28x7y2");
+ check_base_class_offset(lv, (D0*)(E28x7*), ABISELECT(44,32), "G28x7y2");
+ check_base_class_offset(lv, (E28x7*), 0, "G28x7y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,36), "G28x7y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G28x7y2.ff");
+ test_class_info(&lv, &cd_G28x7y2);
+ dp->~G28x7y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x7y2(Test_G28x7y2, "G28x7y2", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G28x7y2C1Ev();
+extern void _ZN7G28x7y2D1Ev();
+Name_Map name_map_G28x7y2[] = {
+ NSPAIR(_ZN7G28x7y2C1Ev),
+ NSPAIR(_ZN7G28x7y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E28x7;
+extern VTBL_ENTRY _ZTI5E28x7[];
+extern VTBL_ENTRY _ZTV5E28x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G28x7y2[] = {
+ // 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)
+ 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(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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E28x7, 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,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 _ZTI7G28x7y2[];
+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_G28x7y2[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x7y2[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G28x7y2[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G28x7y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G28x7y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G28x7y2[];
+static VTBL_ENTRY _tg__ZTV5E28x7__7G28x7y2[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x7[0]),
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__5E28x7__7G28x7y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E28x7[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__5E28x7__7G28x7y2[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E28x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__7G28x7y2[] = {
+ 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__7G28x7y2[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x7y2[] = {
+ {&(_ZTV7G28x7y2[6]), 6,19},
+ {&(_tg__ZTV5E28x7__7G28x7y2[5]), 5,5},
+ {&(_tg__ZTV3C28__5E28x7__7G28x7y2[4]), 4,5},
+ {&(_tg__ZTV2B1__5E28x7__7G28x7y2[3]), 3,4},
+ {&(_ZTV7G28x7y2[10]), 10,19},
+ {&(_ZTV7G28x7y2[14]), 14,19},
+ {&(_ZTV7G28x7y2[18]), 18,19},
+ {&(_tg__ZTV3C28__7G28x7y2[3]), 3,4},
+ {&(_tg__ZTV2B1__3C28__7G28x7y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G28x7y2[];
+extern VTBL_ENTRY _ZTV7G28x7y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x7y2[];
+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_G28x7y2 = { "G28x7y2", // class name
+ bases_G28x7y2, 6,
+ &(vtc_G28x7y2[0]), // expected_vtbl_contents
+ &(vtt_G28x7y2[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G28x7y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x7y2),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x7y2),9, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names227,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x7y3 : virtual E28x7 , virtual F1 {
+ int ff;
+ ~G28x7y3(); // tgen
+ G28x7y3(); // tgen
+};
+//SIG(1 G28x7y3) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G28x7y3 ::~G28x7y3(){ note_dtor("G28x7y3", this);} // tgen
+G28x7y3 ::G28x7y3(){ note_ctor("G28x7y3", this);} // tgen
+
+static void Test_G28x7y3()
+{
+ extern Class_Descriptor cd_G28x7y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G28x7y3, buf);
+ G28x7y3 *dp, &lv = *(dp=new (buf) G28x7y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G28x7y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x7y3)");
+ check_base_class_offset(lv, (A0*)(C28*), ABISELECT(40,20), "G28x7y3");
+ check_base_class_offset(lv, (B1*)(C28*), ABISELECT(48,28), "G28x7y3");
+ check_base_class_offset(lv, (C28*)(E28x7*), ABISELECT(32,16), "G28x7y3");
+ check_base_class_offset(lv, (D0*)(E28x7*), ABISELECT(60,36), "G28x7y3");
+ check_base_class_offset(lv, (E28x7*), ABISELECT(16,8), "G28x7y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G28x7y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G28x7y3.ff");
+ test_class_info(&lv, &cd_G28x7y3);
+ dp->~G28x7y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x7y3(Test_G28x7y3, "G28x7y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G28x7y3C1Ev();
+extern void _ZN7G28x7y3D1Ev();
+Name_Map name_map_G28x7y3[] = {
+ NSPAIR(_ZN7G28x7y3C1Ev),
+ NSPAIR(_ZN7G28x7y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E28x7;
+extern VTBL_ENTRY _ZTI5E28x7[];
+extern VTBL_ENTRY _ZTV5E28x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G28x7y3[] = {
+ // 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
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E28x7, 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(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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G28x7y3[];
+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_G28x7y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x7y3[0]),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G28x7y3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G28x7y3[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G28x7y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G28x7y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G28x7y3[];
+static VTBL_ENTRY _tg__ZTV5E28x7__7G28x7y3[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x7[0]),
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__5E28x7__7G28x7y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E28x7[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__5E28x7__7G28x7y3[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E28x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__7G28x7y3[] = {
+ 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__7G28x7y3[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x7y3[] = {
+ {&(_ZTV7G28x7y3[7]), 7,25},
+ {&(_ZTV7G28x7y3[12]), 12,25},
+ {&(_ZTV7G28x7y3[16]), 16,25},
+ {&(_ZTV7G28x7y3[20]), 20,25},
+ {&(_ZTV7G28x7y3[24]), 24,25},
+ {&(_tg__ZTV5E28x7__7G28x7y3[5]), 5,5},
+ {&(_tg__ZTV3C28__5E28x7__7G28x7y3[4]), 4,5},
+ {&(_tg__ZTV2B1__5E28x7__7G28x7y3[3]), 3,4},
+ {&(_tg__ZTV3C28__7G28x7y3[3]), 3,4},
+ {&(_tg__ZTV2B1__3C28__7G28x7y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G28x7y3[];
+extern VTBL_ENTRY _ZTV7G28x7y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x7y3[];
+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_G28x7y3 = { "G28x7y3", // class name
+ bases_G28x7y3, 6,
+ &(vtc_G28x7y3[0]), // expected_vtbl_contents
+ &(vtt_G28x7y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G28x7y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x7y3),25, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x7y3),10, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names228,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x7y4 : E28x7 , F0 {
+ int ff;
+ ~G28x7y4(); // tgen
+ G28x7y4(); // tgen
+};
+//SIG(1 G28x7y4) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G28x7y4 ::~G28x7y4(){ note_dtor("G28x7y4", this);} // tgen
+G28x7y4 ::G28x7y4(){ note_ctor("G28x7y4", this);} // tgen
+
+static void Test_G28x7y4()
+{
+ extern Class_Descriptor cd_G28x7y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G28x7y4, buf);
+ G28x7y4 *dp, &lv = *(dp=new (buf) G28x7y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G28x7y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x7y4)");
+ check_base_class_offset(lv, (A0*)(C28*), ABISELECT(32,20), "G28x7y4");
+ check_base_class_offset(lv, (B1*)(C28*), ABISELECT(40,28), "G28x7y4");
+ check_base_class_offset(lv, (C28*)(E28x7*), ABISELECT(24,16), "G28x7y4");
+ check_base_class_offset(lv, (D0*)(E28x7*), ABISELECT(52,36), "G28x7y4");
+ check_base_class_offset(lv, (E28x7*), 0, "G28x7y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G28x7y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G28x7y4.ff");
+ test_class_info(&lv, &cd_G28x7y4);
+ dp->~G28x7y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x7y4(Test_G28x7y4, "G28x7y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G28x7y4C1Ev();
+extern void _ZN7G28x7y4D1Ev();
+Name_Map name_map_G28x7y4[] = {
+ NSPAIR(_ZN7G28x7y4C1Ev),
+ NSPAIR(_ZN7G28x7y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E28x7;
+extern VTBL_ENTRY _ZTI5E28x7[];
+extern VTBL_ENTRY _ZTV5E28x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G28x7y4[] = {
+ // 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)
+ 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
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E28x7, 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 _ZTI7G28x7y4[];
+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_G28x7y4[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x7y4[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G28x7y4[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G28x7y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern VTBL_ENTRY _ZTV7G28x7y4[];
+static VTBL_ENTRY _tg__ZTV5E28x7__7G28x7y4[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x7[0]),
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__5E28x7__7G28x7y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E28x7[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__5E28x7__7G28x7y4[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E28x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__7G28x7y4[] = {
+ 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__7G28x7y4[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x7y4[] = {
+ {&(_ZTV7G28x7y4[5]), 5,14},
+ {&(_tg__ZTV5E28x7__7G28x7y4[5]), 5,5},
+ {&(_tg__ZTV3C28__5E28x7__7G28x7y4[4]), 4,5},
+ {&(_tg__ZTV2B1__5E28x7__7G28x7y4[3]), 3,4},
+ {&(_ZTV7G28x7y4[9]), 9,14},
+ {&(_ZTV7G28x7y4[13]), 13,14},
+ {&(_tg__ZTV3C28__7G28x7y4[3]), 3,4},
+ {&(_tg__ZTV2B1__3C28__7G28x7y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G28x7y4[];
+extern VTBL_ENTRY _ZTV7G28x7y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x7y4[];
+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_G28x7y4 = { "G28x7y4", // class name
+ bases_G28x7y4, 6,
+ &(vtc_G28x7y4[0]), // expected_vtbl_contents
+ &(vtt_G28x7y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G28x7y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x7y4),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x7y4),8, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names229,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x7y5 : virtual E28x7 , F0 {
+ int ff;
+ ~G28x7y5(); // tgen
+ G28x7y5(); // tgen
+};
+//SIG(1 G28x7y5) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G28x7y5 ::~G28x7y5(){ note_dtor("G28x7y5", this);} // tgen
+G28x7y5 ::G28x7y5(){ note_ctor("G28x7y5", this);} // tgen
+
+static void Test_G28x7y5()
+{
+ extern Class_Descriptor cd_G28x7y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G28x7y5, buf);
+ G28x7y5 *dp, &lv = *(dp=new (buf) G28x7y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G28x7y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x7y5)");
+ check_base_class_offset(lv, (A0*)(C28*), ABISELECT(40,24), "G28x7y5");
+ check_base_class_offset(lv, (B1*)(C28*), ABISELECT(48,32), "G28x7y5");
+ check_base_class_offset(lv, (C28*)(E28x7*), ABISELECT(32,20), "G28x7y5");
+ check_base_class_offset(lv, (D0*)(E28x7*), ABISELECT(60,40), "G28x7y5");
+ check_base_class_offset(lv, (E28x7*), ABISELECT(16,12), "G28x7y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G28x7y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G28x7y5.ff");
+ test_class_info(&lv, &cd_G28x7y5);
+ dp->~G28x7y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x7y5(Test_G28x7y5, "G28x7y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G28x7y5C1Ev();
+extern void _ZN7G28x7y5D1Ev();
+Name_Map name_map_G28x7y5[] = {
+ NSPAIR(_ZN7G28x7y5C1Ev),
+ NSPAIR(_ZN7G28x7y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E28x7;
+extern VTBL_ENTRY _ZTI5E28x7[];
+extern VTBL_ENTRY _ZTV5E28x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G28x7y5[] = {
+ // 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
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E28x7, 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 _ZTI7G28x7y5[];
+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_G28x7y5[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x7y5[0]),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G28x7y5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G28x7y5[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G28x7y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern VTBL_ENTRY _ZTV7G28x7y5[];
+static VTBL_ENTRY _tg__ZTV5E28x7__7G28x7y5[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x7[0]),
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__5E28x7__7G28x7y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E28x7[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__5E28x7__7G28x7y5[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E28x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__7G28x7y5[] = {
+ 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__7G28x7y5[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x7y5[] = {
+ {&(_ZTV7G28x7y5[6]), 6,20},
+ {&(_ZTV7G28x7y5[11]), 11,20},
+ {&(_ZTV7G28x7y5[15]), 15,20},
+ {&(_ZTV7G28x7y5[19]), 19,20},
+ {&(_tg__ZTV5E28x7__7G28x7y5[5]), 5,5},
+ {&(_tg__ZTV3C28__5E28x7__7G28x7y5[4]), 4,5},
+ {&(_tg__ZTV2B1__5E28x7__7G28x7y5[3]), 3,4},
+ {&(_tg__ZTV3C28__7G28x7y5[3]), 3,4},
+ {&(_tg__ZTV2B1__3C28__7G28x7y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G28x7y5[];
+extern VTBL_ENTRY _ZTV7G28x7y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x7y5[];
+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_G28x7y5 = { "G28x7y5", // class name
+ bases_G28x7y5, 6,
+ &(vtc_G28x7y5[0]), // expected_vtbl_contents
+ &(vtt_G28x7y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G28x7y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x7y5),20, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x7y5),9, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names230,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x7y6 : E28x7 , virtual F0 {
+ int ff;
+ ~G28x7y6(); // tgen
+ G28x7y6(); // tgen
+};
+//SIG(1 G28x7y6) C1{ BC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G28x7y6 ::~G28x7y6(){ note_dtor("G28x7y6", this);} // tgen
+G28x7y6 ::G28x7y6(){ note_ctor("G28x7y6", this);} // tgen
+
+static void Test_G28x7y6()
+{
+ extern Class_Descriptor cd_G28x7y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G28x7y6, buf);
+ G28x7y6 *dp, &lv = *(dp=new (buf) G28x7y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G28x7y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x7y6)");
+ check_base_class_offset(lv, (A0*)(C28*), ABISELECT(24,16), "G28x7y6");
+ check_base_class_offset(lv, (B1*)(C28*), ABISELECT(32,24), "G28x7y6");
+ check_base_class_offset(lv, (C28*)(E28x7*), ABISELECT(16,12), "G28x7y6");
+ check_base_class_offset(lv, (D0*)(E28x7*), ABISELECT(44,32), "G28x7y6");
+ check_base_class_offset(lv, (E28x7*), 0, "G28x7y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(48,36), "G28x7y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G28x7y6.ff");
+ test_class_info(&lv, &cd_G28x7y6);
+ dp->~G28x7y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x7y6(Test_G28x7y6, "G28x7y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G28x7y6C1Ev();
+extern void _ZN7G28x7y6D1Ev();
+Name_Map name_map_G28x7y6[] = {
+ NSPAIR(_ZN7G28x7y6C1Ev),
+ NSPAIR(_ZN7G28x7y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E28x7;
+extern VTBL_ENTRY _ZTI5E28x7[];
+extern VTBL_ENTRY _ZTV5E28x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G28x7y6[] = {
+ // 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)
+ 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(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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E28x7, 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(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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G28x7y6[];
+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_G28x7y6[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x7y6[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G28x7y6[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G28x7y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern VTBL_ENTRY _ZTV7G28x7y6[];
+static VTBL_ENTRY _tg__ZTV5E28x7__7G28x7y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x7[0]),
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__5E28x7__7G28x7y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E28x7[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__5E28x7__7G28x7y6[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E28x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__7G28x7y6[] = {
+ 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__7G28x7y6[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x7y6[] = {
+ {&(_ZTV7G28x7y6[6]), 6,15},
+ {&(_tg__ZTV5E28x7__7G28x7y6[5]), 5,5},
+ {&(_tg__ZTV3C28__5E28x7__7G28x7y6[4]), 4,5},
+ {&(_tg__ZTV2B1__5E28x7__7G28x7y6[3]), 3,4},
+ {&(_ZTV7G28x7y6[10]), 10,15},
+ {&(_ZTV7G28x7y6[14]), 14,15},
+ {&(_tg__ZTV3C28__7G28x7y6[3]), 3,4},
+ {&(_tg__ZTV2B1__3C28__7G28x7y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G28x7y6[];
+extern VTBL_ENTRY _ZTV7G28x7y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x7y6[];
+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_G28x7y6 = { "G28x7y6", // class name
+ bases_G28x7y6, 6,
+ &(vtc_G28x7y6[0]), // expected_vtbl_contents
+ &(vtt_G28x7y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G28x7y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x7y6),15, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x7y6),8, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names231,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G28x7y7 : virtual E28x7 , virtual F0 {
+ int ff;
+ ~G28x7y7(); // tgen
+ G28x7y7(); // tgen
+};
+//SIG(1 G28x7y7) C1{ VBC2{ VBC3{ BC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G28x7y7 ::~G28x7y7(){ note_dtor("G28x7y7", this);} // tgen
+G28x7y7 ::G28x7y7(){ note_ctor("G28x7y7", this);} // tgen
+
+static void Test_G28x7y7()
+{
+ extern Class_Descriptor cd_G28x7y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G28x7y7, buf);
+ G28x7y7 *dp, &lv = *(dp=new (buf) G28x7y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G28x7y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G28x7y7)");
+ check_base_class_offset(lv, (A0*)(C28*), ABISELECT(40,20), "G28x7y7");
+ check_base_class_offset(lv, (B1*)(C28*), ABISELECT(48,28), "G28x7y7");
+ check_base_class_offset(lv, (C28*)(E28x7*), ABISELECT(32,16), "G28x7y7");
+ check_base_class_offset(lv, (D0*)(E28x7*), ABISELECT(60,36), "G28x7y7");
+ check_base_class_offset(lv, (E28x7*), ABISELECT(16,8), "G28x7y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(64,40), "G28x7y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G28x7y7.ff");
+ test_class_info(&lv, &cd_G28x7y7);
+ dp->~G28x7y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG28x7y7(Test_G28x7y7, "G28x7y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G28x7y7C1Ev();
+extern void _ZN7G28x7y7D1Ev();
+Name_Map name_map_G28x7y7[] = {
+ NSPAIR(_ZN7G28x7y7C1Ev),
+ NSPAIR(_ZN7G28x7y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E28x7;
+extern VTBL_ENTRY _ZTI5E28x7[];
+extern VTBL_ENTRY _ZTV5E28x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E28x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G28x7y7[] = {
+ // 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
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E28x7, 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(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 _ZTI7G28x7y7[];
+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_G28x7y7[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G28x7y7[0]),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G28x7y7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G28x7y7[0]),
+ (VTBL_ENTRY)&_ZN3C283fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G28x7y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern VTBL_ENTRY _ZTV7G28x7y7[];
+static VTBL_ENTRY _tg__ZTV5E28x7__7G28x7y7[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E28x7[0]),
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__5E28x7__7G28x7y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E28x7[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__5E28x7__7G28x7y7[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E28x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+extern void _ZN3C283fooEv();
+static VTBL_ENTRY _tg__ZTV3C28__7G28x7y7[] = {
+ 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__7G28x7y7[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C28[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C283fooEv,_ZTv0_n12_N3C283fooEv),
+};
+static VTT_ENTRY vtt_G28x7y7[] = {
+ {&(_ZTV7G28x7y7[7]), 7,21},
+ {&(_ZTV7G28x7y7[12]), 12,21},
+ {&(_ZTV7G28x7y7[16]), 16,21},
+ {&(_ZTV7G28x7y7[20]), 20,21},
+ {&(_tg__ZTV5E28x7__7G28x7y7[5]), 5,5},
+ {&(_tg__ZTV3C28__5E28x7__7G28x7y7[4]), 4,5},
+ {&(_tg__ZTV2B1__5E28x7__7G28x7y7[3]), 3,4},
+ {&(_tg__ZTV3C28__7G28x7y7[3]), 3,4},
+ {&(_tg__ZTV2B1__3C28__7G28x7y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G28x7y7[];
+extern VTBL_ENTRY _ZTV7G28x7y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G28x7y7[];
+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_G28x7y7 = { "G28x7y7", // class name
+ bases_G28x7y7, 6,
+ &(vtc_G28x7y7[0]), // expected_vtbl_contents
+ &(vtt_G28x7y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G28x7y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G28x7y7),21, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G28x7y7),9, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names232,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E29x7 : virtual C29 , virtual D0 {
+ int fd;
+ ~E29x7(); // tgen
+ E29x7(); // tgen
+};
+//SIG(-1 E29x7) C1{ VBC2{ BC3{ v1 Fi} VBC4{ v1 Fi} v1 Fi} VBC5{ Fi} Fi}
+
+
+E29x7 ::~E29x7(){ note_dtor("E29x7", this);} // tgen
+E29x7 ::E29x7(){ note_ctor("E29x7", this);} // tgen
+
+static void Test_E29x7()
+{
+ extern Class_Descriptor cd_E29x7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E29x7, buf);
+ E29x7 *dp, &lv = *(dp=new (buf) E29x7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E29x7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E29x7)");
+ check_base_class_offset(lv, (A1*)(C29*), ABISELECT(16,8), "E29x7");
+ check_base_class_offset(lv, (B1*)(C29*), ABISELECT(32,20), "E29x7");
+ check_base_class_offset(lv, (C29*), ABISELECT(16,8), "E29x7");
+ check_base_class_offset(lv, (D0*), ABISELECT(44,28), "E29x7");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E29x7.fd");
+ test_class_info(&lv, &cd_E29x7);
+ dp->~E29x7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE29x7(Test_E29x7, "E29x7", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN5E29x7C1Ev();
+extern void _ZN5E29x7D1Ev();
+Name_Map name_map_E29x7[] = {
+ NSPAIR(_ZN5E29x7C1Ev),
+ NSPAIR(_ZN5E29x7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E29x7[] = {
+ // 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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D0, 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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E29x7[];
+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_E29x7[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E29x7[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E29x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern VTBL_ENTRY _ZTV5E29x7[];
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__5E29x7[] = {
+ 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__5E29x7[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_E29x7[] = {
+ {&(_ZTV5E29x7[5]), 5,14},
+ {&(_ZTV5E29x7[9]), 9,14},
+ {&(_ZTV5E29x7[13]), 13,14},
+ {&(_tg__ZTV3C29__5E29x7[3]), 3,4},
+ {&(_tg__ZTV2B1__3C29__5E29x7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E29x7[];
+extern VTBL_ENTRY _ZTV5E29x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x7[];
+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_E29x7 = { "E29x7", // class name
+ bases_E29x7, 4,
+ &(vtc_E29x7[0]), // expected_vtbl_contents
+ &(vtt_E29x7[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI5E29x7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E29x7),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E29x7),5, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names233,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x7y0 : E29x7 , F1 {
+ int ff;
+ ~G29x7y0(); // tgen
+ G29x7y0(); // tgen
+};
+//SIG(1 G29x7y0) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G29x7y0 ::~G29x7y0(){ note_dtor("G29x7y0", this);} // tgen
+G29x7y0 ::G29x7y0(){ note_ctor("G29x7y0", this);} // tgen
+
+static void Test_G29x7y0()
+{
+ extern Class_Descriptor cd_G29x7y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G29x7y0, buf);
+ G29x7y0 *dp, &lv = *(dp=new (buf) G29x7y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G29x7y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x7y0)");
+ check_base_class_offset(lv, (A1*)(C29*), ABISELECT(32,20), "G29x7y0");
+ check_base_class_offset(lv, (B1*)(C29*), ABISELECT(48,32), "G29x7y0");
+ check_base_class_offset(lv, (C29*)(E29x7*), ABISELECT(32,20), "G29x7y0");
+ check_base_class_offset(lv, (D0*)(E29x7*), ABISELECT(60,40), "G29x7y0");
+ check_base_class_offset(lv, (E29x7*), 0, "G29x7y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G29x7y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G29x7y0.ff");
+ test_class_info(&lv, &cd_G29x7y0);
+ dp->~G29x7y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x7y0(Test_G29x7y0, "G29x7y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G29x7y0C1Ev();
+extern void _ZN7G29x7y0D1Ev();
+Name_Map name_map_G29x7y0[] = {
+ NSPAIR(_ZN7G29x7y0C1Ev),
+ NSPAIR(_ZN7G29x7y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E29x7;
+extern VTBL_ENTRY _ZTI5E29x7[];
+extern VTBL_ENTRY _ZTV5E29x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G29x7y0[] = {
+ // 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)
+ 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,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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E29x7, 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 _ZTI7G29x7y0[];
+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_G29x7y0[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x7y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G29x7y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G29x7y0[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G29x7y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern VTBL_ENTRY _ZTV7G29x7y0[];
+static VTBL_ENTRY _tg__ZTV5E29x7__7G29x7y0[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x7[0]),
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__5E29x7__7G29x7y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E29x7[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__5E29x7__7G29x7y0[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E29x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__7G29x7y0[] = {
+ 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__7G29x7y0[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x7y0[] = {
+ {&(_ZTV7G29x7y0[5]), 5,17},
+ {&(_tg__ZTV5E29x7__7G29x7y0[5]), 5,5},
+ {&(_tg__ZTV3C29__5E29x7__7G29x7y0[4]), 4,5},
+ {&(_tg__ZTV2B1__5E29x7__7G29x7y0[3]), 3,4},
+ {&(_ZTV7G29x7y0[12]), 12,17},
+ {&(_ZTV7G29x7y0[16]), 16,17},
+ {&(_tg__ZTV3C29__7G29x7y0[3]), 3,4},
+ {&(_tg__ZTV2B1__3C29__7G29x7y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G29x7y0[];
+extern VTBL_ENTRY _ZTV7G29x7y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x7y0[];
+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_G29x7y0 = { "G29x7y0", // class name
+ bases_G29x7y0, 6,
+ &(vtc_G29x7y0[0]), // expected_vtbl_contents
+ &(vtt_G29x7y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G29x7y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x7y0),17, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x7y0),8, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names234,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x7y1 : virtual E29x7 , F1 {
+ int ff;
+ ~G29x7y1(); // tgen
+ G29x7y1(); // tgen
+};
+//SIG(1 G29x7y1) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G29x7y1 ::~G29x7y1(){ note_dtor("G29x7y1", this);} // tgen
+G29x7y1 ::G29x7y1(){ note_ctor("G29x7y1", this);} // tgen
+
+static void Test_G29x7y1()
+{
+ extern Class_Descriptor cd_G29x7y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G29x7y1, buf);
+ G29x7y1 *dp, &lv = *(dp=new (buf) G29x7y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G29x7y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x7y1)");
+ check_base_class_offset(lv, (A1*)(C29*), ABISELECT(32,20), "G29x7y1");
+ check_base_class_offset(lv, (B1*)(C29*), ABISELECT(48,32), "G29x7y1");
+ check_base_class_offset(lv, (C29*)(E29x7*), ABISELECT(32,20), "G29x7y1");
+ check_base_class_offset(lv, (D0*)(E29x7*), ABISELECT(60,40), "G29x7y1");
+ check_base_class_offset(lv, (E29x7*), ABISELECT(16,12), "G29x7y1");
+ check_base_class_offset(lv, (F1*), 0, "G29x7y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G29x7y1.ff");
+ test_class_info(&lv, &cd_G29x7y1);
+ dp->~G29x7y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x7y1(Test_G29x7y1, "G29x7y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G29x7y1C1Ev();
+extern void _ZN7G29x7y1D1Ev();
+Name_Map name_map_G29x7y1[] = {
+ NSPAIR(_ZN7G29x7y1C1Ev),
+ NSPAIR(_ZN7G29x7y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E29x7;
+extern VTBL_ENTRY _ZTI5E29x7[];
+extern VTBL_ENTRY _ZTV5E29x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G29x7y1[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E29x7, 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 _ZTI7G29x7y1[];
+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_G29x7y1[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x7y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G29x7y1[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G29x7y1[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G29x7y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern VTBL_ENTRY _ZTV7G29x7y1[];
+static VTBL_ENTRY _tg__ZTV5E29x7__7G29x7y1[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x7[0]),
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__5E29x7__7G29x7y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E29x7[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__5E29x7__7G29x7y1[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E29x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__7G29x7y1[] = {
+ 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__7G29x7y1[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x7y1[] = {
+ {&(_ZTV7G29x7y1[6]), 6,21},
+ {&(_ZTV7G29x7y1[12]), 12,21},
+ {&(_ZTV7G29x7y1[16]), 16,21},
+ {&(_ZTV7G29x7y1[20]), 20,21},
+ {&(_tg__ZTV5E29x7__7G29x7y1[5]), 5,5},
+ {&(_tg__ZTV3C29__5E29x7__7G29x7y1[4]), 4,5},
+ {&(_tg__ZTV2B1__5E29x7__7G29x7y1[3]), 3,4},
+ {&(_tg__ZTV3C29__7G29x7y1[3]), 3,4},
+ {&(_tg__ZTV2B1__3C29__7G29x7y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G29x7y1[];
+extern VTBL_ENTRY _ZTV7G29x7y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x7y1[];
+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_G29x7y1 = { "G29x7y1", // class name
+ bases_G29x7y1, 6,
+ &(vtc_G29x7y1[0]), // expected_vtbl_contents
+ &(vtt_G29x7y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G29x7y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x7y1),21, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x7y1),9, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names235,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x7y2 : E29x7 , virtual F1 {
+ int ff;
+ ~G29x7y2(); // tgen
+ G29x7y2(); // tgen
+};
+//SIG(1 G29x7y2) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G29x7y2 ::~G29x7y2(){ note_dtor("G29x7y2", this);} // tgen
+G29x7y2 ::G29x7y2(){ note_ctor("G29x7y2", this);} // tgen
+
+static void Test_G29x7y2()
+{
+ extern Class_Descriptor cd_G29x7y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G29x7y2, buf);
+ G29x7y2 *dp, &lv = *(dp=new (buf) G29x7y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G29x7y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x7y2)");
+ check_base_class_offset(lv, (A1*)(C29*), ABISELECT(16,12), "G29x7y2");
+ check_base_class_offset(lv, (B1*)(C29*), ABISELECT(32,24), "G29x7y2");
+ check_base_class_offset(lv, (C29*)(E29x7*), ABISELECT(16,12), "G29x7y2");
+ check_base_class_offset(lv, (D0*)(E29x7*), ABISELECT(44,32), "G29x7y2");
+ check_base_class_offset(lv, (E29x7*), 0, "G29x7y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,36), "G29x7y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G29x7y2.ff");
+ test_class_info(&lv, &cd_G29x7y2);
+ dp->~G29x7y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x7y2(Test_G29x7y2, "G29x7y2", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G29x7y2C1Ev();
+extern void _ZN7G29x7y2D1Ev();
+Name_Map name_map_G29x7y2[] = {
+ NSPAIR(_ZN7G29x7y2C1Ev),
+ NSPAIR(_ZN7G29x7y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E29x7;
+extern VTBL_ENTRY _ZTI5E29x7[];
+extern VTBL_ENTRY _ZTV5E29x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G29x7y2[] = {
+ // 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)
+ 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(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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E29x7, 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(48,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 _ZTI7G29x7y2[];
+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_G29x7y2[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x7y2[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G29x7y2[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G29x7y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G29x7y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G29x7y2[];
+static VTBL_ENTRY _tg__ZTV5E29x7__7G29x7y2[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x7[0]),
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__5E29x7__7G29x7y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E29x7[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__5E29x7__7G29x7y2[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E29x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__7G29x7y2[] = {
+ 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__7G29x7y2[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x7y2[] = {
+ {&(_ZTV7G29x7y2[6]), 6,19},
+ {&(_tg__ZTV5E29x7__7G29x7y2[5]), 5,5},
+ {&(_tg__ZTV3C29__5E29x7__7G29x7y2[4]), 4,5},
+ {&(_tg__ZTV2B1__5E29x7__7G29x7y2[3]), 3,4},
+ {&(_ZTV7G29x7y2[10]), 10,19},
+ {&(_ZTV7G29x7y2[14]), 14,19},
+ {&(_ZTV7G29x7y2[18]), 18,19},
+ {&(_tg__ZTV3C29__7G29x7y2[3]), 3,4},
+ {&(_tg__ZTV2B1__3C29__7G29x7y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G29x7y2[];
+extern VTBL_ENTRY _ZTV7G29x7y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x7y2[];
+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_G29x7y2 = { "G29x7y2", // class name
+ bases_G29x7y2, 6,
+ &(vtc_G29x7y2[0]), // expected_vtbl_contents
+ &(vtt_G29x7y2[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G29x7y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x7y2),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x7y2),9, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names236,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x7y3 : virtual E29x7 , virtual F1 {
+ int ff;
+ ~G29x7y3(); // tgen
+ G29x7y3(); // tgen
+};
+//SIG(1 G29x7y3) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G29x7y3 ::~G29x7y3(){ note_dtor("G29x7y3", this);} // tgen
+G29x7y3 ::G29x7y3(){ note_ctor("G29x7y3", this);} // tgen
+
+static void Test_G29x7y3()
+{
+ extern Class_Descriptor cd_G29x7y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G29x7y3, buf);
+ G29x7y3 *dp, &lv = *(dp=new (buf) G29x7y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G29x7y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x7y3)");
+ check_base_class_offset(lv, (A1*)(C29*), ABISELECT(32,16), "G29x7y3");
+ check_base_class_offset(lv, (B1*)(C29*), ABISELECT(48,28), "G29x7y3");
+ check_base_class_offset(lv, (C29*)(E29x7*), ABISELECT(32,16), "G29x7y3");
+ check_base_class_offset(lv, (D0*)(E29x7*), ABISELECT(60,36), "G29x7y3");
+ check_base_class_offset(lv, (E29x7*), ABISELECT(16,8), "G29x7y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G29x7y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G29x7y3.ff");
+ test_class_info(&lv, &cd_G29x7y3);
+ dp->~G29x7y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x7y3(Test_G29x7y3, "G29x7y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G29x7y3C1Ev();
+extern void _ZN7G29x7y3D1Ev();
+Name_Map name_map_G29x7y3[] = {
+ NSPAIR(_ZN7G29x7y3C1Ev),
+ NSPAIR(_ZN7G29x7y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E29x7;
+extern VTBL_ENTRY _ZTI5E29x7[];
+extern VTBL_ENTRY _ZTV5E29x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G29x7y3[] = {
+ // 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
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E29x7, 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
+ 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 _ZTI7G29x7y3[];
+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_G29x7y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x7y3[0]),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G29x7y3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G29x7y3[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G29x7y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G29x7y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G29x7y3[];
+static VTBL_ENTRY _tg__ZTV5E29x7__7G29x7y3[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x7[0]),
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__5E29x7__7G29x7y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E29x7[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__5E29x7__7G29x7y3[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E29x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__7G29x7y3[] = {
+ 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__7G29x7y3[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x7y3[] = {
+ {&(_ZTV7G29x7y3[7]), 7,25},
+ {&(_ZTV7G29x7y3[12]), 12,25},
+ {&(_ZTV7G29x7y3[16]), 16,25},
+ {&(_ZTV7G29x7y3[20]), 20,25},
+ {&(_ZTV7G29x7y3[24]), 24,25},
+ {&(_tg__ZTV5E29x7__7G29x7y3[5]), 5,5},
+ {&(_tg__ZTV3C29__5E29x7__7G29x7y3[4]), 4,5},
+ {&(_tg__ZTV2B1__5E29x7__7G29x7y3[3]), 3,4},
+ {&(_tg__ZTV3C29__7G29x7y3[3]), 3,4},
+ {&(_tg__ZTV2B1__3C29__7G29x7y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G29x7y3[];
+extern VTBL_ENTRY _ZTV7G29x7y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x7y3[];
+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_G29x7y3 = { "G29x7y3", // class name
+ bases_G29x7y3, 6,
+ &(vtc_G29x7y3[0]), // expected_vtbl_contents
+ &(vtt_G29x7y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G29x7y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x7y3),25, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x7y3),10, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names237,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x7y4 : E29x7 , F0 {
+ int ff;
+ ~G29x7y4(); // tgen
+ G29x7y4(); // tgen
+};
+//SIG(1 G29x7y4) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G29x7y4 ::~G29x7y4(){ note_dtor("G29x7y4", this);} // tgen
+G29x7y4 ::G29x7y4(){ note_ctor("G29x7y4", this);} // tgen
+
+static void Test_G29x7y4()
+{
+ extern Class_Descriptor cd_G29x7y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G29x7y4, buf);
+ G29x7y4 *dp, &lv = *(dp=new (buf) G29x7y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G29x7y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x7y4)");
+ check_base_class_offset(lv, (A1*)(C29*), ABISELECT(24,16), "G29x7y4");
+ check_base_class_offset(lv, (B1*)(C29*), ABISELECT(40,28), "G29x7y4");
+ check_base_class_offset(lv, (C29*)(E29x7*), ABISELECT(24,16), "G29x7y4");
+ check_base_class_offset(lv, (D0*)(E29x7*), ABISELECT(52,36), "G29x7y4");
+ check_base_class_offset(lv, (E29x7*), 0, "G29x7y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G29x7y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G29x7y4.ff");
+ test_class_info(&lv, &cd_G29x7y4);
+ dp->~G29x7y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x7y4(Test_G29x7y4, "G29x7y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G29x7y4C1Ev();
+extern void _ZN7G29x7y4D1Ev();
+Name_Map name_map_G29x7y4[] = {
+ NSPAIR(_ZN7G29x7y4C1Ev),
+ NSPAIR(_ZN7G29x7y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E29x7;
+extern VTBL_ENTRY _ZTI5E29x7[];
+extern VTBL_ENTRY _ZTV5E29x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G29x7y4[] = {
+ // 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)
+ 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
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E29x7, 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 _ZTI7G29x7y4[];
+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_G29x7y4[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x7y4[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G29x7y4[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G29x7y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern VTBL_ENTRY _ZTV7G29x7y4[];
+static VTBL_ENTRY _tg__ZTV5E29x7__7G29x7y4[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x7[0]),
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__5E29x7__7G29x7y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E29x7[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__5E29x7__7G29x7y4[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E29x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__7G29x7y4[] = {
+ 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__7G29x7y4[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x7y4[] = {
+ {&(_ZTV7G29x7y4[5]), 5,14},
+ {&(_tg__ZTV5E29x7__7G29x7y4[5]), 5,5},
+ {&(_tg__ZTV3C29__5E29x7__7G29x7y4[4]), 4,5},
+ {&(_tg__ZTV2B1__5E29x7__7G29x7y4[3]), 3,4},
+ {&(_ZTV7G29x7y4[9]), 9,14},
+ {&(_ZTV7G29x7y4[13]), 13,14},
+ {&(_tg__ZTV3C29__7G29x7y4[3]), 3,4},
+ {&(_tg__ZTV2B1__3C29__7G29x7y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G29x7y4[];
+extern VTBL_ENTRY _ZTV7G29x7y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x7y4[];
+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_G29x7y4 = { "G29x7y4", // class name
+ bases_G29x7y4, 6,
+ &(vtc_G29x7y4[0]), // expected_vtbl_contents
+ &(vtt_G29x7y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G29x7y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x7y4),14, //virtual function table var
+ 5, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x7y4),8, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names238,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x7y5 : virtual E29x7 , F0 {
+ int ff;
+ ~G29x7y5(); // tgen
+ G29x7y5(); // tgen
+};
+//SIG(1 G29x7y5) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G29x7y5 ::~G29x7y5(){ note_dtor("G29x7y5", this);} // tgen
+G29x7y5 ::G29x7y5(){ note_ctor("G29x7y5", this);} // tgen
+
+static void Test_G29x7y5()
+{
+ extern Class_Descriptor cd_G29x7y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G29x7y5, buf);
+ G29x7y5 *dp, &lv = *(dp=new (buf) G29x7y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G29x7y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x7y5)");
+ check_base_class_offset(lv, (A1*)(C29*), ABISELECT(32,20), "G29x7y5");
+ check_base_class_offset(lv, (B1*)(C29*), ABISELECT(48,32), "G29x7y5");
+ check_base_class_offset(lv, (C29*)(E29x7*), ABISELECT(32,20), "G29x7y5");
+ check_base_class_offset(lv, (D0*)(E29x7*), ABISELECT(60,40), "G29x7y5");
+ check_base_class_offset(lv, (E29x7*), ABISELECT(16,12), "G29x7y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G29x7y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G29x7y5.ff");
+ test_class_info(&lv, &cd_G29x7y5);
+ dp->~G29x7y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x7y5(Test_G29x7y5, "G29x7y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G29x7y5C1Ev();
+extern void _ZN7G29x7y5D1Ev();
+Name_Map name_map_G29x7y5[] = {
+ NSPAIR(_ZN7G29x7y5C1Ev),
+ NSPAIR(_ZN7G29x7y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E29x7;
+extern VTBL_ENTRY _ZTI5E29x7[];
+extern VTBL_ENTRY _ZTV5E29x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G29x7y5[] = {
+ // 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
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E29x7, 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 _ZTI7G29x7y5[];
+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_G29x7y5[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x7y5[0]),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G29x7y5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G29x7y5[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G29x7y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern VTBL_ENTRY _ZTV7G29x7y5[];
+static VTBL_ENTRY _tg__ZTV5E29x7__7G29x7y5[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x7[0]),
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__5E29x7__7G29x7y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E29x7[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__5E29x7__7G29x7y5[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E29x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__7G29x7y5[] = {
+ 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__7G29x7y5[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x7y5[] = {
+ {&(_ZTV7G29x7y5[6]), 6,20},
+ {&(_ZTV7G29x7y5[11]), 11,20},
+ {&(_ZTV7G29x7y5[15]), 15,20},
+ {&(_ZTV7G29x7y5[19]), 19,20},
+ {&(_tg__ZTV5E29x7__7G29x7y5[5]), 5,5},
+ {&(_tg__ZTV3C29__5E29x7__7G29x7y5[4]), 4,5},
+ {&(_tg__ZTV2B1__5E29x7__7G29x7y5[3]), 3,4},
+ {&(_tg__ZTV3C29__7G29x7y5[3]), 3,4},
+ {&(_tg__ZTV2B1__3C29__7G29x7y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G29x7y5[];
+extern VTBL_ENTRY _ZTV7G29x7y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x7y5[];
+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_G29x7y5 = { "G29x7y5", // class name
+ bases_G29x7y5, 6,
+ &(vtc_G29x7y5[0]), // expected_vtbl_contents
+ &(vtt_G29x7y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G29x7y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x7y5),20, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x7y5),9, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names239,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x7y6 : E29x7 , virtual F0 {
+ int ff;
+ ~G29x7y6(); // tgen
+ G29x7y6(); // tgen
+};
+//SIG(1 G29x7y6) C1{ BC2{ VBC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G29x7y6 ::~G29x7y6(){ note_dtor("G29x7y6", this);} // tgen
+G29x7y6 ::G29x7y6(){ note_ctor("G29x7y6", this);} // tgen
+
+static void Test_G29x7y6()
+{
+ extern Class_Descriptor cd_G29x7y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G29x7y6, buf);
+ G29x7y6 *dp, &lv = *(dp=new (buf) G29x7y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G29x7y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x7y6)");
+ check_base_class_offset(lv, (A1*)(C29*), ABISELECT(16,12), "G29x7y6");
+ check_base_class_offset(lv, (B1*)(C29*), ABISELECT(32,24), "G29x7y6");
+ check_base_class_offset(lv, (C29*)(E29x7*), ABISELECT(16,12), "G29x7y6");
+ check_base_class_offset(lv, (D0*)(E29x7*), ABISELECT(44,32), "G29x7y6");
+ check_base_class_offset(lv, (E29x7*), 0, "G29x7y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(48,36), "G29x7y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G29x7y6.ff");
+ test_class_info(&lv, &cd_G29x7y6);
+ dp->~G29x7y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x7y6(Test_G29x7y6, "G29x7y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G29x7y6C1Ev();
+extern void _ZN7G29x7y6D1Ev();
+Name_Map name_map_G29x7y6[] = {
+ NSPAIR(_ZN7G29x7y6C1Ev),
+ NSPAIR(_ZN7G29x7y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E29x7;
+extern VTBL_ENTRY _ZTI5E29x7[];
+extern VTBL_ENTRY _ZTV5E29x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G29x7y6[] = {
+ // 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)
+ 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(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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E29x7, 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(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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G29x7y6[];
+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_G29x7y6[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x7y6[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G29x7y6[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G29x7y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern VTBL_ENTRY _ZTV7G29x7y6[];
+static VTBL_ENTRY _tg__ZTV5E29x7__7G29x7y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x7[0]),
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__5E29x7__7G29x7y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E29x7[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__5E29x7__7G29x7y6[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E29x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__7G29x7y6[] = {
+ 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__7G29x7y6[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x7y6[] = {
+ {&(_ZTV7G29x7y6[6]), 6,15},
+ {&(_tg__ZTV5E29x7__7G29x7y6[5]), 5,5},
+ {&(_tg__ZTV3C29__5E29x7__7G29x7y6[4]), 4,5},
+ {&(_tg__ZTV2B1__5E29x7__7G29x7y6[3]), 3,4},
+ {&(_ZTV7G29x7y6[10]), 10,15},
+ {&(_ZTV7G29x7y6[14]), 14,15},
+ {&(_tg__ZTV3C29__7G29x7y6[3]), 3,4},
+ {&(_tg__ZTV2B1__3C29__7G29x7y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G29x7y6[];
+extern VTBL_ENTRY _ZTV7G29x7y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x7y6[];
+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_G29x7y6 = { "G29x7y6", // class name
+ bases_G29x7y6, 6,
+ &(vtc_G29x7y6[0]), // expected_vtbl_contents
+ &(vtt_G29x7y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G29x7y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x7y6),15, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x7y6),8, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names240,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G29x7y7 : virtual E29x7 , virtual F0 {
+ int ff;
+ ~G29x7y7(); // tgen
+ G29x7y7(); // tgen
+};
+//SIG(1 G29x7y7) C1{ VBC2{ VBC3{ BC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G29x7y7 ::~G29x7y7(){ note_dtor("G29x7y7", this);} // tgen
+G29x7y7 ::G29x7y7(){ note_ctor("G29x7y7", this);} // tgen
+
+static void Test_G29x7y7()
+{
+ extern Class_Descriptor cd_G29x7y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G29x7y7, buf);
+ G29x7y7 *dp, &lv = *(dp=new (buf) G29x7y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G29x7y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G29x7y7)");
+ check_base_class_offset(lv, (A1*)(C29*), ABISELECT(32,16), "G29x7y7");
+ check_base_class_offset(lv, (B1*)(C29*), ABISELECT(48,28), "G29x7y7");
+ check_base_class_offset(lv, (C29*)(E29x7*), ABISELECT(32,16), "G29x7y7");
+ check_base_class_offset(lv, (D0*)(E29x7*), ABISELECT(60,36), "G29x7y7");
+ check_base_class_offset(lv, (E29x7*), ABISELECT(16,8), "G29x7y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(64,40), "G29x7y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G29x7y7.ff");
+ test_class_info(&lv, &cd_G29x7y7);
+ dp->~G29x7y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG29x7y7(Test_G29x7y7, "G29x7y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G29x7y7C1Ev();
+extern void _ZN7G29x7y7D1Ev();
+Name_Map name_map_G29x7y7[] = {
+ NSPAIR(_ZN7G29x7y7C1Ev),
+ NSPAIR(_ZN7G29x7y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E29x7;
+extern VTBL_ENTRY _ZTI5E29x7[];
+extern VTBL_ENTRY _ZTV5E29x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E29x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G29x7y7[] = {
+ // 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
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E29x7, 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(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 _ZTI7G29x7y7[];
+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_G29x7y7[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G29x7y7[0]),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G29x7y7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G29x7y7[0]),
+ (VTBL_ENTRY)&_ZN3C293fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G29x7y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern VTBL_ENTRY _ZTV7G29x7y7[];
+static VTBL_ENTRY _tg__ZTV5E29x7__7G29x7y7[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E29x7[0]),
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__5E29x7__7G29x7y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E29x7[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__5E29x7__7G29x7y7[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E29x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+extern void _ZN3C293fooEv();
+static VTBL_ENTRY _tg__ZTV3C29__7G29x7y7[] = {
+ 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__7G29x7y7[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C29[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C293fooEv,_ZTv0_n12_N3C293fooEv),
+};
+static VTT_ENTRY vtt_G29x7y7[] = {
+ {&(_ZTV7G29x7y7[7]), 7,21},
+ {&(_ZTV7G29x7y7[12]), 12,21},
+ {&(_ZTV7G29x7y7[16]), 16,21},
+ {&(_ZTV7G29x7y7[20]), 20,21},
+ {&(_tg__ZTV5E29x7__7G29x7y7[5]), 5,5},
+ {&(_tg__ZTV3C29__5E29x7__7G29x7y7[4]), 4,5},
+ {&(_tg__ZTV2B1__5E29x7__7G29x7y7[3]), 3,4},
+ {&(_tg__ZTV3C29__7G29x7y7[3]), 3,4},
+ {&(_tg__ZTV2B1__3C29__7G29x7y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G29x7y7[];
+extern VTBL_ENTRY _ZTV7G29x7y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G29x7y7[];
+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_G29x7y7 = { "G29x7y7", // class name
+ bases_G29x7y7, 6,
+ &(vtc_G29x7y7[0]), // expected_vtbl_contents
+ &(vtt_G29x7y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G29x7y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G29x7y7),21, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G29x7y7),9, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names241,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E30x7 : virtual C30 , virtual D0 {
+ int fd;
+ ~E30x7(); // tgen
+ E30x7(); // tgen
+};
+//SIG(-1 E30x7) C1{ VBC2{ VBC3{ Fi} VBC4{ v1 Fi} v1 Fi} VBC5{ Fi} Fi}
+
+
+E30x7 ::~E30x7(){ note_dtor("E30x7", this);} // tgen
+E30x7 ::E30x7(){ note_ctor("E30x7", this);} // tgen
+
+static void Test_E30x7()
+{
+ extern Class_Descriptor cd_E30x7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(7,9)];
+ init_test(&cd_E30x7, buf);
+ E30x7 *dp, &lv = *(dp=new (buf) E30x7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(48,32), "sizeof(E30x7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E30x7)");
+ check_base_class_offset(lv, (A0*)(C30*), ABISELECT(28,16), "E30x7");
+ check_base_class_offset(lv, (B1*)(C30*), ABISELECT(32,20), "E30x7");
+ check_base_class_offset(lv, (C30*), ABISELECT(16,8), "E30x7");
+ check_base_class_offset(lv, (D0*), ABISELECT(44,28), "E30x7");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E30x7.fd");
+ test_class_info(&lv, &cd_E30x7);
+ dp->~E30x7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE30x7(Test_E30x7, "E30x7", ABISELECT(48,32));
+
+#else // __cplusplus
+
+extern void _ZN5E30x7C1Ev();
+extern void _ZN5E30x7D1Ev();
+Name_Map name_map_E30x7[] = {
+ NSPAIR(_ZN5E30x7C1Ev),
+ NSPAIR(_ZN5E30x7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E30x7[] = {
+ // 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
+ 4, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D0, 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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E30x7[];
+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_E30x7[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E30x7[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E30x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern VTBL_ENTRY _ZTV5E30x7[];
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__5E30x7[] = {
+ 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__5E30x7[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_E30x7[] = {
+ {&(_ZTV5E30x7[6]), 6,16},
+ {&(_ZTV5E30x7[11]), 11,16},
+ {&(_ZTV5E30x7[15]), 15,16},
+ {&(_tg__ZTV3C30__5E30x7[4]), 4,5},
+ {&(_tg__ZTV2B1__3C30__5E30x7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E30x7[];
+extern VTBL_ENTRY _ZTV5E30x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x7[];
+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_E30x7 = { "E30x7", // class name
+ bases_E30x7, 4,
+ &(vtc_E30x7[0]), // expected_vtbl_contents
+ &(vtt_E30x7[0]), // expected_vtt_contents
+ ABISELECT(48,32), // object size
+ NSPAIRA(_ZTI5E30x7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E30x7),16, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E30x7),5, //virtual table table var
+ 2, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names242,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x7y0 : E30x7 , F1 {
+ int ff;
+ ~G30x7y0(); // tgen
+ G30x7y0(); // tgen
+};
+//SIG(1 G30x7y0) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G30x7y0 ::~G30x7y0(){ note_dtor("G30x7y0", this);} // tgen
+G30x7y0 ::G30x7y0(){ note_ctor("G30x7y0", this);} // tgen
+
+static void Test_G30x7y0()
+{
+ extern Class_Descriptor cd_G30x7y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G30x7y0, buf);
+ G30x7y0 *dp, &lv = *(dp=new (buf) G30x7y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G30x7y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x7y0)");
+ check_base_class_offset(lv, (A0*)(C30*), ABISELECT(44,28), "G30x7y0");
+ check_base_class_offset(lv, (B1*)(C30*), ABISELECT(48,32), "G30x7y0");
+ check_base_class_offset(lv, (C30*)(E30x7*), ABISELECT(32,20), "G30x7y0");
+ check_base_class_offset(lv, (D0*)(E30x7*), ABISELECT(60,40), "G30x7y0");
+ check_base_class_offset(lv, (E30x7*), 0, "G30x7y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G30x7y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G30x7y0.ff");
+ test_class_info(&lv, &cd_G30x7y0);
+ dp->~G30x7y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x7y0(Test_G30x7y0, "G30x7y0", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G30x7y0C1Ev();
+extern void _ZN7G30x7y0D1Ev();
+Name_Map name_map_G30x7y0[] = {
+ NSPAIR(_ZN7G30x7y0C1Ev),
+ NSPAIR(_ZN7G30x7y0D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E30x7;
+extern VTBL_ENTRY _ZTI5E30x7[];
+extern VTBL_ENTRY _ZTV5E30x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G30x7y0[] = {
+ // 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)
+ 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,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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E30x7, 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 _ZTI7G30x7y0[];
+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_G30x7y0[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x7y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G30x7y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G30x7y0[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G30x7y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern VTBL_ENTRY _ZTV7G30x7y0[];
+static VTBL_ENTRY _tg__ZTV5E30x7__7G30x7y0[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x7[0]),
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__5E30x7__7G30x7y0[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E30x7[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__5E30x7__7G30x7y0[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI5E30x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__7G30x7y0[] = {
+ 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__7G30x7y0[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x7y0[] = {
+ {&(_ZTV7G30x7y0[6]), 6,19},
+ {&(_tg__ZTV5E30x7__7G30x7y0[6]), 6,6},
+ {&(_tg__ZTV3C30__5E30x7__7G30x7y0[5]), 5,6},
+ {&(_tg__ZTV2B1__5E30x7__7G30x7y0[3]), 3,4},
+ {&(_ZTV7G30x7y0[14]), 14,19},
+ {&(_ZTV7G30x7y0[18]), 18,19},
+ {&(_tg__ZTV3C30__7G30x7y0[4]), 4,5},
+ {&(_tg__ZTV2B1__3C30__7G30x7y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G30x7y0[];
+extern VTBL_ENTRY _ZTV7G30x7y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x7y0[];
+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_G30x7y0 = { "G30x7y0", // class name
+ bases_G30x7y0, 6,
+ &(vtc_G30x7y0[0]), // expected_vtbl_contents
+ &(vtt_G30x7y0[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G30x7y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x7y0),19, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x7y0),8, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names243,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x7y1 : virtual E30x7 , F1 {
+ int ff;
+ ~G30x7y1(); // tgen
+ G30x7y1(); // tgen
+};
+//SIG(1 G30x7y1) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G30x7y1 ::~G30x7y1(){ note_dtor("G30x7y1", this);} // tgen
+G30x7y1 ::G30x7y1(){ note_ctor("G30x7y1", this);} // tgen
+
+static void Test_G30x7y1()
+{
+ extern Class_Descriptor cd_G30x7y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G30x7y1, buf);
+ G30x7y1 *dp, &lv = *(dp=new (buf) G30x7y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G30x7y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x7y1)");
+ check_base_class_offset(lv, (A0*)(C30*), ABISELECT(44,28), "G30x7y1");
+ check_base_class_offset(lv, (B1*)(C30*), ABISELECT(48,32), "G30x7y1");
+ check_base_class_offset(lv, (C30*)(E30x7*), ABISELECT(32,20), "G30x7y1");
+ check_base_class_offset(lv, (D0*)(E30x7*), ABISELECT(60,40), "G30x7y1");
+ check_base_class_offset(lv, (E30x7*), ABISELECT(16,12), "G30x7y1");
+ check_base_class_offset(lv, (F1*), 0, "G30x7y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G30x7y1.ff");
+ test_class_info(&lv, &cd_G30x7y1);
+ dp->~G30x7y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x7y1(Test_G30x7y1, "G30x7y1", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G30x7y1C1Ev();
+extern void _ZN7G30x7y1D1Ev();
+Name_Map name_map_G30x7y1[] = {
+ NSPAIR(_ZN7G30x7y1C1Ev),
+ NSPAIR(_ZN7G30x7y1D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E30x7;
+extern VTBL_ENTRY _ZTI5E30x7[];
+extern VTBL_ENTRY _ZTV5E30x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G30x7y1[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E30x7, 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 _ZTI7G30x7y1[];
+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_G30x7y1[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x7y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G30x7y1[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G30x7y1[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G30x7y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern VTBL_ENTRY _ZTV7G30x7y1[];
+static VTBL_ENTRY _tg__ZTV5E30x7__7G30x7y1[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x7[0]),
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__5E30x7__7G30x7y1[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E30x7[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__5E30x7__7G30x7y1[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E30x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__7G30x7y1[] = {
+ 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__7G30x7y1[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x7y1[] = {
+ {&(_ZTV7G30x7y1[7]), 7,24},
+ {&(_ZTV7G30x7y1[14]), 14,24},
+ {&(_ZTV7G30x7y1[19]), 19,24},
+ {&(_ZTV7G30x7y1[23]), 23,24},
+ {&(_tg__ZTV5E30x7__7G30x7y1[6]), 6,6},
+ {&(_tg__ZTV3C30__5E30x7__7G30x7y1[5]), 5,6},
+ {&(_tg__ZTV2B1__5E30x7__7G30x7y1[3]), 3,4},
+ {&(_tg__ZTV3C30__7G30x7y1[4]), 4,5},
+ {&(_tg__ZTV2B1__3C30__7G30x7y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G30x7y1[];
+extern VTBL_ENTRY _ZTV7G30x7y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x7y1[];
+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_G30x7y1 = { "G30x7y1", // class name
+ bases_G30x7y1, 6,
+ &(vtc_G30x7y1[0]), // expected_vtbl_contents
+ &(vtt_G30x7y1[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G30x7y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x7y1),24, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x7y1),9, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names244,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x7y2 : E30x7 , virtual F1 {
+ int ff;
+ ~G30x7y2(); // tgen
+ G30x7y2(); // tgen
+};
+//SIG(1 G30x7y2) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G30x7y2 ::~G30x7y2(){ note_dtor("G30x7y2", this);} // tgen
+G30x7y2 ::G30x7y2(){ note_ctor("G30x7y2", this);} // tgen
+
+static void Test_G30x7y2()
+{
+ extern Class_Descriptor cd_G30x7y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G30x7y2, buf);
+ G30x7y2 *dp, &lv = *(dp=new (buf) G30x7y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G30x7y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x7y2)");
+ check_base_class_offset(lv, (A0*)(C30*), ABISELECT(28,20), "G30x7y2");
+ check_base_class_offset(lv, (B1*)(C30*), ABISELECT(32,24), "G30x7y2");
+ check_base_class_offset(lv, (C30*)(E30x7*), ABISELECT(16,12), "G30x7y2");
+ check_base_class_offset(lv, (D0*)(E30x7*), ABISELECT(44,32), "G30x7y2");
+ check_base_class_offset(lv, (E30x7*), 0, "G30x7y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(48,36), "G30x7y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G30x7y2.ff");
+ test_class_info(&lv, &cd_G30x7y2);
+ dp->~G30x7y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x7y2(Test_G30x7y2, "G30x7y2", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G30x7y2C1Ev();
+extern void _ZN7G30x7y2D1Ev();
+Name_Map name_map_G30x7y2[] = {
+ NSPAIR(_ZN7G30x7y2C1Ev),
+ NSPAIR(_ZN7G30x7y2D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E30x7;
+extern VTBL_ENTRY _ZTI5E30x7[];
+extern VTBL_ENTRY _ZTV5E30x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G30x7y2[] = {
+ // 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)
+ 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(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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E30x7, 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(48,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 _ZTI7G30x7y2[];
+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_G30x7y2[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x7y2[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G30x7y2[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G30x7y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+ 0,
+ ABISELECT(-48,-36),
+ (VTBL_ENTRY)&(_ZTI7G30x7y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G30x7y2[];
+static VTBL_ENTRY _tg__ZTV5E30x7__7G30x7y2[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x7[0]),
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__5E30x7__7G30x7y2[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E30x7[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__5E30x7__7G30x7y2[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E30x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__7G30x7y2[] = {
+ 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__7G30x7y2[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x7y2[] = {
+ {&(_ZTV7G30x7y2[7]), 7,21},
+ {&(_tg__ZTV5E30x7__7G30x7y2[6]), 6,6},
+ {&(_tg__ZTV3C30__5E30x7__7G30x7y2[5]), 5,6},
+ {&(_tg__ZTV2B1__5E30x7__7G30x7y2[3]), 3,4},
+ {&(_ZTV7G30x7y2[12]), 12,21},
+ {&(_ZTV7G30x7y2[16]), 16,21},
+ {&(_ZTV7G30x7y2[20]), 20,21},
+ {&(_tg__ZTV3C30__7G30x7y2[4]), 4,5},
+ {&(_tg__ZTV2B1__3C30__7G30x7y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G30x7y2[];
+extern VTBL_ENTRY _ZTV7G30x7y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x7y2[];
+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_G30x7y2 = { "G30x7y2", // class name
+ bases_G30x7y2, 6,
+ &(vtc_G30x7y2[0]), // expected_vtbl_contents
+ &(vtt_G30x7y2[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G30x7y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x7y2),21, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x7y2),9, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names245,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x7y3 : virtual E30x7 , virtual F1 {
+ int ff;
+ ~G30x7y3(); // tgen
+ G30x7y3(); // tgen
+};
+//SIG(1 G30x7y3) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G30x7y3 ::~G30x7y3(){ note_dtor("G30x7y3", this);} // tgen
+G30x7y3 ::G30x7y3(){ note_ctor("G30x7y3", this);} // tgen
+
+static void Test_G30x7y3()
+{
+ extern Class_Descriptor cd_G30x7y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G30x7y3, buf);
+ G30x7y3 *dp, &lv = *(dp=new (buf) G30x7y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G30x7y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x7y3)");
+ check_base_class_offset(lv, (A0*)(C30*), ABISELECT(44,24), "G30x7y3");
+ check_base_class_offset(lv, (B1*)(C30*), ABISELECT(48,28), "G30x7y3");
+ check_base_class_offset(lv, (C30*)(E30x7*), ABISELECT(32,16), "G30x7y3");
+ check_base_class_offset(lv, (D0*)(E30x7*), ABISELECT(60,36), "G30x7y3");
+ check_base_class_offset(lv, (E30x7*), ABISELECT(16,8), "G30x7y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G30x7y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G30x7y3.ff");
+ test_class_info(&lv, &cd_G30x7y3);
+ dp->~G30x7y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x7y3(Test_G30x7y3, "G30x7y3", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G30x7y3C1Ev();
+extern void _ZN7G30x7y3D1Ev();
+Name_Map name_map_G30x7y3[] = {
+ NSPAIR(_ZN7G30x7y3C1Ev),
+ NSPAIR(_ZN7G30x7y3D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E30x7;
+extern VTBL_ENTRY _ZTI5E30x7[];
+extern VTBL_ENTRY _ZTV5E30x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G30x7y3[] = {
+ // 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
+ 9, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E30x7, 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(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
+ 4, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G30x7y3[];
+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_G30x7y3[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(44,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x7y3[0]),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G30x7y3[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G30x7y3[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G30x7y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G30x7y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G30x7y3[];
+static VTBL_ENTRY _tg__ZTV5E30x7__7G30x7y3[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x7[0]),
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__5E30x7__7G30x7y3[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E30x7[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__5E30x7__7G30x7y3[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E30x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__7G30x7y3[] = {
+ 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__7G30x7y3[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x7y3[] = {
+ {&(_ZTV7G30x7y3[8]), 8,28},
+ {&(_ZTV7G30x7y3[14]), 14,28},
+ {&(_ZTV7G30x7y3[19]), 19,28},
+ {&(_ZTV7G30x7y3[23]), 23,28},
+ {&(_ZTV7G30x7y3[27]), 27,28},
+ {&(_tg__ZTV5E30x7__7G30x7y3[6]), 6,6},
+ {&(_tg__ZTV3C30__5E30x7__7G30x7y3[5]), 5,6},
+ {&(_tg__ZTV2B1__5E30x7__7G30x7y3[3]), 3,4},
+ {&(_tg__ZTV3C30__7G30x7y3[4]), 4,5},
+ {&(_tg__ZTV2B1__3C30__7G30x7y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G30x7y3[];
+extern VTBL_ENTRY _ZTV7G30x7y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x7y3[];
+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_G30x7y3 = { "G30x7y3", // class name
+ bases_G30x7y3, 6,
+ &(vtc_G30x7y3[0]), // expected_vtbl_contents
+ &(vtt_G30x7y3[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G30x7y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x7y3),28, //virtual function table var
+ 8, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x7y3),10, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names246,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x7y4 : E30x7 , F0 {
+ int ff;
+ ~G30x7y4(); // tgen
+ G30x7y4(); // tgen
+};
+//SIG(1 G30x7y4) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G30x7y4 ::~G30x7y4(){ note_dtor("G30x7y4", this);} // tgen
+G30x7y4 ::G30x7y4(){ note_ctor("G30x7y4", this);} // tgen
+
+static void Test_G30x7y4()
+{
+ extern Class_Descriptor cd_G30x7y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G30x7y4, buf);
+ G30x7y4 *dp, &lv = *(dp=new (buf) G30x7y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G30x7y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x7y4)");
+ check_base_class_offset(lv, (A0*)(C30*), ABISELECT(36,24), "G30x7y4");
+ check_base_class_offset(lv, (B1*)(C30*), ABISELECT(40,28), "G30x7y4");
+ check_base_class_offset(lv, (C30*)(E30x7*), ABISELECT(24,16), "G30x7y4");
+ check_base_class_offset(lv, (D0*)(E30x7*), ABISELECT(52,36), "G30x7y4");
+ check_base_class_offset(lv, (E30x7*), 0, "G30x7y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G30x7y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G30x7y4.ff");
+ test_class_info(&lv, &cd_G30x7y4);
+ dp->~G30x7y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x7y4(Test_G30x7y4, "G30x7y4", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G30x7y4C1Ev();
+extern void _ZN7G30x7y4D1Ev();
+Name_Map name_map_G30x7y4[] = {
+ NSPAIR(_ZN7G30x7y4C1Ev),
+ NSPAIR(_ZN7G30x7y4D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E30x7;
+extern VTBL_ENTRY _ZTI5E30x7[];
+extern VTBL_ENTRY _ZTV5E30x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G30x7y4[] = {
+ // 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)
+ 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
+ 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E30x7, 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 _ZTI7G30x7y4[];
+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_G30x7y4[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x7y4[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G30x7y4[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI7G30x7y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern VTBL_ENTRY _ZTV7G30x7y4[];
+static VTBL_ENTRY _tg__ZTV5E30x7__7G30x7y4[] = {
+ ABISELECT(52,36),
+ ABISELECT(40,28),
+ ABISELECT(36,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x7[0]),
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__5E30x7__7G30x7y4[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E30x7[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__5E30x7__7G30x7y4[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-40,-28),
+ (VTBL_ENTRY)&(_ZTI5E30x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__7G30x7y4[] = {
+ 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__7G30x7y4[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x7y4[] = {
+ {&(_ZTV7G30x7y4[6]), 6,16},
+ {&(_tg__ZTV5E30x7__7G30x7y4[6]), 6,6},
+ {&(_tg__ZTV3C30__5E30x7__7G30x7y4[5]), 5,6},
+ {&(_tg__ZTV2B1__5E30x7__7G30x7y4[3]), 3,4},
+ {&(_ZTV7G30x7y4[11]), 11,16},
+ {&(_ZTV7G30x7y4[15]), 15,16},
+ {&(_tg__ZTV3C30__7G30x7y4[4]), 4,5},
+ {&(_tg__ZTV2B1__3C30__7G30x7y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G30x7y4[];
+extern VTBL_ENTRY _ZTV7G30x7y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x7y4[];
+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_G30x7y4 = { "G30x7y4", // class name
+ bases_G30x7y4, 6,
+ &(vtc_G30x7y4[0]), // expected_vtbl_contents
+ &(vtt_G30x7y4[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G30x7y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x7y4),16, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x7y4),8, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names247,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x7y5 : virtual E30x7 , F0 {
+ int ff;
+ ~G30x7y5(); // tgen
+ G30x7y5(); // tgen
+};
+//SIG(1 G30x7y5) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G30x7y5 ::~G30x7y5(){ note_dtor("G30x7y5", this);} // tgen
+G30x7y5 ::G30x7y5(){ note_ctor("G30x7y5", this);} // tgen
+
+static void Test_G30x7y5()
+{
+ extern Class_Descriptor cd_G30x7y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,12)];
+ init_test(&cd_G30x7y5, buf);
+ G30x7y5 *dp, &lv = *(dp=new (buf) G30x7y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,44), "sizeof(G30x7y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x7y5)");
+ check_base_class_offset(lv, (A0*)(C30*), ABISELECT(44,28), "G30x7y5");
+ check_base_class_offset(lv, (B1*)(C30*), ABISELECT(48,32), "G30x7y5");
+ check_base_class_offset(lv, (C30*)(E30x7*), ABISELECT(32,20), "G30x7y5");
+ check_base_class_offset(lv, (D0*)(E30x7*), ABISELECT(60,40), "G30x7y5");
+ check_base_class_offset(lv, (E30x7*), ABISELECT(16,12), "G30x7y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G30x7y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G30x7y5.ff");
+ test_class_info(&lv, &cd_G30x7y5);
+ dp->~G30x7y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x7y5(Test_G30x7y5, "G30x7y5", ABISELECT(64,44));
+
+#else // __cplusplus
+
+extern void _ZN7G30x7y5C1Ev();
+extern void _ZN7G30x7y5D1Ev();
+Name_Map name_map_G30x7y5[] = {
+ NSPAIR(_ZN7G30x7y5C1Ev),
+ NSPAIR(_ZN7G30x7y5D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E30x7;
+extern VTBL_ENTRY _ZTI5E30x7[];
+extern VTBL_ENTRY _ZTV5E30x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G30x7y5[] = {
+ // 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
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E30x7, 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 _ZTI7G30x7y5[];
+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_G30x7y5[] = {
+ ABISELECT(60,40),
+ ABISELECT(48,32),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x7y5[0]),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G30x7y5[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G30x7y5[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-32),
+ (VTBL_ENTRY)&(_ZTI7G30x7y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern VTBL_ENTRY _ZTV7G30x7y5[];
+static VTBL_ENTRY _tg__ZTV5E30x7__7G30x7y5[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x7[0]),
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__5E30x7__7G30x7y5[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E30x7[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__5E30x7__7G30x7y5[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E30x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__7G30x7y5[] = {
+ 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__7G30x7y5[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x7y5[] = {
+ {&(_ZTV7G30x7y5[7]), 7,23},
+ {&(_ZTV7G30x7y5[13]), 13,23},
+ {&(_ZTV7G30x7y5[18]), 18,23},
+ {&(_ZTV7G30x7y5[22]), 22,23},
+ {&(_tg__ZTV5E30x7__7G30x7y5[6]), 6,6},
+ {&(_tg__ZTV3C30__5E30x7__7G30x7y5[5]), 5,6},
+ {&(_tg__ZTV2B1__5E30x7__7G30x7y5[3]), 3,4},
+ {&(_tg__ZTV3C30__7G30x7y5[4]), 4,5},
+ {&(_tg__ZTV2B1__3C30__7G30x7y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G30x7y5[];
+extern VTBL_ENTRY _ZTV7G30x7y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x7y5[];
+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_G30x7y5 = { "G30x7y5", // class name
+ bases_G30x7y5, 6,
+ &(vtc_G30x7y5[0]), // expected_vtbl_contents
+ &(vtt_G30x7y5[0]), // expected_vtt_contents
+ ABISELECT(64,44), // object size
+ NSPAIRA(_ZTI7G30x7y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x7y5),23, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x7y5),9, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names248,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x7y6 : E30x7 , virtual F0 {
+ int ff;
+ ~G30x7y6(); // tgen
+ G30x7y6(); // tgen
+};
+//SIG(1 G30x7y6) C1{ BC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G30x7y6 ::~G30x7y6(){ note_dtor("G30x7y6", this);} // tgen
+G30x7y6 ::G30x7y6(){ note_ctor("G30x7y6", this);} // tgen
+
+static void Test_G30x7y6()
+{
+ extern Class_Descriptor cd_G30x7y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(8,11)];
+ init_test(&cd_G30x7y6, buf);
+ G30x7y6 *dp, &lv = *(dp=new (buf) G30x7y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(56,40), "sizeof(G30x7y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x7y6)");
+ check_base_class_offset(lv, (A0*)(C30*), ABISELECT(28,20), "G30x7y6");
+ check_base_class_offset(lv, (B1*)(C30*), ABISELECT(32,24), "G30x7y6");
+ check_base_class_offset(lv, (C30*)(E30x7*), ABISELECT(16,12), "G30x7y6");
+ check_base_class_offset(lv, (D0*)(E30x7*), ABISELECT(44,32), "G30x7y6");
+ check_base_class_offset(lv, (E30x7*), 0, "G30x7y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(48,36), "G30x7y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G30x7y6.ff");
+ test_class_info(&lv, &cd_G30x7y6);
+ dp->~G30x7y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x7y6(Test_G30x7y6, "G30x7y6", ABISELECT(56,40));
+
+#else // __cplusplus
+
+extern void _ZN7G30x7y6C1Ev();
+extern void _ZN7G30x7y6D1Ev();
+Name_Map name_map_G30x7y6[] = {
+ NSPAIR(_ZN7G30x7y6C1Ev),
+ NSPAIR(_ZN7G30x7y6D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E30x7;
+extern VTBL_ENTRY _ZTI5E30x7[];
+extern VTBL_ENTRY _ZTV5E30x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G30x7y6[] = {
+ // 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)
+ 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(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
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E30x7, 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(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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI7G30x7y6[];
+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_G30x7y6[] = {
+ ABISELECT(48,36),
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x7y6[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G30x7y6[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI7G30x7y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern VTBL_ENTRY _ZTV7G30x7y6[];
+static VTBL_ENTRY _tg__ZTV5E30x7__7G30x7y6[] = {
+ ABISELECT(44,32),
+ ABISELECT(32,24),
+ ABISELECT(28,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x7[0]),
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__5E30x7__7G30x7y6[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E30x7[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__5E30x7__7G30x7y6[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-24),
+ (VTBL_ENTRY)&(_ZTI5E30x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__7G30x7y6[] = {
+ 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__7G30x7y6[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x7y6[] = {
+ {&(_ZTV7G30x7y6[7]), 7,17},
+ {&(_tg__ZTV5E30x7__7G30x7y6[6]), 6,6},
+ {&(_tg__ZTV3C30__5E30x7__7G30x7y6[5]), 5,6},
+ {&(_tg__ZTV2B1__5E30x7__7G30x7y6[3]), 3,4},
+ {&(_ZTV7G30x7y6[12]), 12,17},
+ {&(_ZTV7G30x7y6[16]), 16,17},
+ {&(_tg__ZTV3C30__7G30x7y6[4]), 4,5},
+ {&(_tg__ZTV2B1__3C30__7G30x7y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G30x7y6[];
+extern VTBL_ENTRY _ZTV7G30x7y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x7y6[];
+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_G30x7y6 = { "G30x7y6", // class name
+ bases_G30x7y6, 6,
+ &(vtc_G30x7y6[0]), // expected_vtbl_contents
+ &(vtt_G30x7y6[0]), // expected_vtt_contents
+ ABISELECT(56,40), // object size
+ NSPAIRA(_ZTI7G30x7y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x7y6),17, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x7y6),8, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names249,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G30x7y7 : virtual E30x7 , virtual F0 {
+ int ff;
+ ~G30x7y7(); // tgen
+ G30x7y7(); // tgen
+};
+//SIG(1 G30x7y7) C1{ VBC2{ VBC3{ VBC4{ Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G30x7y7 ::~G30x7y7(){ note_dtor("G30x7y7", this);} // tgen
+G30x7y7 ::G30x7y7(){ note_ctor("G30x7y7", this);} // tgen
+
+static void Test_G30x7y7()
+{
+ extern Class_Descriptor cd_G30x7y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G30x7y7, buf);
+ G30x7y7 *dp, &lv = *(dp=new (buf) G30x7y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G30x7y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G30x7y7)");
+ check_base_class_offset(lv, (A0*)(C30*), ABISELECT(44,24), "G30x7y7");
+ check_base_class_offset(lv, (B1*)(C30*), ABISELECT(48,28), "G30x7y7");
+ check_base_class_offset(lv, (C30*)(E30x7*), ABISELECT(32,16), "G30x7y7");
+ check_base_class_offset(lv, (D0*)(E30x7*), ABISELECT(60,36), "G30x7y7");
+ check_base_class_offset(lv, (E30x7*), ABISELECT(16,8), "G30x7y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(64,40), "G30x7y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G30x7y7.ff");
+ test_class_info(&lv, &cd_G30x7y7);
+ dp->~G30x7y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG30x7y7(Test_G30x7y7, "G30x7y7", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G30x7y7C1Ev();
+extern void _ZN7G30x7y7D1Ev();
+Name_Map name_map_G30x7y7[] = {
+ NSPAIR(_ZN7G30x7y7C1Ev),
+ NSPAIR(_ZN7G30x7y7D1Ev),
+ {0,0}
+};
+extern Class_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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E30x7;
+extern VTBL_ENTRY _ZTI5E30x7[];
+extern VTBL_ENTRY _ZTV5E30x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E30x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G30x7y7[] = {
+ // 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
+ 8, //bcp->base_subarray_index_in_construction_vtbl_array
+ 2, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E30x7, 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(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 _ZTI7G30x7y7[];
+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_G30x7y7[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(44,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G30x7y7[0]),
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G30x7y7[0]),
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G30x7y7[0]),
+ (VTBL_ENTRY)&_ZN3C303fooEv,
+ ABISELECT(-16,-12),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G30x7y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern VTBL_ENTRY _ZTV7G30x7y7[];
+static VTBL_ENTRY _tg__ZTV5E30x7__7G30x7y7[] = {
+ ABISELECT(44,28),
+ ABISELECT(32,20),
+ ABISELECT(28,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E30x7[0]),
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__5E30x7__7G30x7y7[] = {
+ 0,
+ ABISELECT(16,12),
+ ABISELECT(12,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E30x7[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__5E30x7__7G30x7y7[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E30x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+extern void _ZN3C303fooEv();
+static VTBL_ENTRY _tg__ZTV3C30__7G30x7y7[] = {
+ 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__7G30x7y7[] = {
+ ABISELECT(-16,-12),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI3C30[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C303fooEv,_ZTv0_n12_N3C303fooEv),
+};
+static VTT_ENTRY vtt_G30x7y7[] = {
+ {&(_ZTV7G30x7y7[8]), 8,24},
+ {&(_ZTV7G30x7y7[14]), 14,24},
+ {&(_ZTV7G30x7y7[19]), 19,24},
+ {&(_ZTV7G30x7y7[23]), 23,24},
+ {&(_tg__ZTV5E30x7__7G30x7y7[6]), 6,6},
+ {&(_tg__ZTV3C30__5E30x7__7G30x7y7[5]), 5,6},
+ {&(_tg__ZTV2B1__5E30x7__7G30x7y7[3]), 3,4},
+ {&(_tg__ZTV3C30__7G30x7y7[4]), 4,5},
+ {&(_tg__ZTV2B1__3C30__7G30x7y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G30x7y7[];
+extern VTBL_ENTRY _ZTV7G30x7y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G30x7y7[];
+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_G30x7y7 = { "G30x7y7", // class name
+ bases_G30x7y7, 6,
+ &(vtc_G30x7y7[0]), // expected_vtbl_contents
+ &(vtt_G30x7y7[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G30x7y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G30x7y7),24, //virtual function table var
+ 8, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G30x7y7),9, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names250,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct E31x7 : virtual C31 , virtual D0 {
+ int fd;
+ ~E31x7(); // tgen
+ E31x7(); // tgen
+};
+//SIG(-1 E31x7) C1{ VBC2{ VBC3{ v1 Fi} VBC4{ v1 Fi} v1 Fi} VBC5{ Fi} Fi}
+
+
+E31x7 ::~E31x7(){ note_dtor("E31x7", this);} // tgen
+E31x7 ::E31x7(){ note_ctor("E31x7", this);} // tgen
+
+static void Test_E31x7()
+{
+ extern Class_Descriptor cd_E31x7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(9,10)];
+ init_test(&cd_E31x7, buf);
+ E31x7 *dp, &lv = *(dp=new (buf) E31x7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(64,36), "sizeof(E31x7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(E31x7)");
+ check_base_class_offset(lv, (A1*)(C31*), ABISELECT(32,16), "E31x7");
+ check_base_class_offset(lv, (B1*)(C31*), ABISELECT(48,24), "E31x7");
+ check_base_class_offset(lv, (C31*), ABISELECT(16,8), "E31x7");
+ check_base_class_offset(lv, (D0*), ABISELECT(60,32), "E31x7");
+ check_field_offset(lv, fd, ABISELECT(8,4), "E31x7.fd");
+ test_class_info(&lv, &cd_E31x7);
+ dp->~E31x7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vE31x7(Test_E31x7, "E31x7", ABISELECT(64,36));
+
+#else // __cplusplus
+
+extern void _ZN5E31x7C1Ev();
+extern void _ZN5E31x7D1Ev();
+Name_Map name_map_E31x7[] = {
+ NSPAIR(_ZN5E31x7C1Ev),
+ NSPAIR(_ZN5E31x7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+static Base_Class bases_E31x7[] = {
+ // 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
+ 5, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ -1, //immediately_derived
+ 1, 1},
+ {&cd_D0, 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
+ -1, //immediately_derived
+ 1, 1},
+ {0}};
+extern VTBL_ENTRY _ZTI5E31x7[];
+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_E31x7[] = {
+ ABISELECT(60,32),
+ ABISELECT(48,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x7[0]),
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E31x7[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI5E31x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-32,-16),
+ ABISELECT(-48,-24),
+ (VTBL_ENTRY)&(_ZTI5E31x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern VTBL_ENTRY _ZTV5E31x7[];
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__5E31x7[] = {
+ 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__5E31x7[] = {
+ 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__5E31x7[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_E31x7[] = {
+ {&(_ZTV5E31x7[6]), 6,20},
+ {&(_ZTV5E31x7[11]), 11,20},
+ {&(_ZTV5E31x7[15]), 15,20},
+ {&(_ZTV5E31x7[19]), 19,20},
+ {&(_tg__ZTV3C31__5E31x7[4]), 4,5},
+ {&(_tg__ZTV2A1__3C31__5E31x7[3]), 3,4},
+ {&(_tg__ZTV2B1__3C31__5E31x7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI5E31x7[];
+extern VTBL_ENTRY _ZTV5E31x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x7[];
+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_E31x7 = { "E31x7", // class name
+ bases_E31x7, 4,
+ &(vtc_E31x7[0]), // expected_vtbl_contents
+ &(vtt_E31x7[0]), // expected_vtt_contents
+ ABISELECT(64,36), // object size
+ NSPAIRA(_ZTI5E31x7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV5E31x7),20, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT5E31x7),7, //virtual table table var
+ 3, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names251,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x7y0 : E31x7 , F1 {
+ int ff;
+ ~G31x7y0(); // tgen
+ G31x7y0(); // tgen
+};
+//SIG(1 G31x7y0) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G31x7y0 ::~G31x7y0(){ note_dtor("G31x7y0", this);} // tgen
+G31x7y0 ::G31x7y0(){ note_ctor("G31x7y0", this);} // tgen
+
+static void Test_G31x7y0()
+{
+ extern Class_Descriptor cd_G31x7y0;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G31x7y0, buf);
+ G31x7y0 *dp, &lv = *(dp=new (buf) G31x7y0());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G31x7y0)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x7y0)");
+ check_base_class_offset(lv, (A1*)(C31*), ABISELECT(48,28), "G31x7y0");
+ check_base_class_offset(lv, (B1*)(C31*), ABISELECT(64,36), "G31x7y0");
+ check_base_class_offset(lv, (C31*)(E31x7*), ABISELECT(32,20), "G31x7y0");
+ check_base_class_offset(lv, (D0*)(E31x7*), ABISELECT(76,44), "G31x7y0");
+ check_base_class_offset(lv, (E31x7*), 0, "G31x7y0");
+ check_base_class_offset(lv, (F1*), ABISELECT(16,8), "G31x7y0");
+ check_field_offset(lv, ff, ABISELECT(28,16), "G31x7y0.ff");
+ test_class_info(&lv, &cd_G31x7y0);
+ dp->~G31x7y0();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x7y0(Test_G31x7y0, "G31x7y0", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G31x7y0C1Ev();
+extern void _ZN7G31x7y0D1Ev();
+Name_Map name_map_G31x7y0[] = {
+ NSPAIR(_ZN7G31x7y0C1Ev),
+ NSPAIR(_ZN7G31x7y0D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E31x7;
+extern VTBL_ENTRY _ZTI5E31x7[];
+extern VTBL_ENTRY _ZTV5E31x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G31x7y0[] = {
+ // 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_B1, ABISELECT(64,36), //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,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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E31x7, 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 _ZTI7G31x7y0[];
+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_G31x7y0[] = {
+ ABISELECT(76,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x7y0[0]),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G31x7y0[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G31x7y0[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G31x7y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-32,-16),
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G31x7y0[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern VTBL_ENTRY _ZTV7G31x7y0[];
+static VTBL_ENTRY _tg__ZTV5E31x7__7G31x7y0[] = {
+ ABISELECT(76,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x7[0]),
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__5E31x7__7G31x7y0[] = {
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E31x7[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__5E31x7__7G31x7y0[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E31x7[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__5E31x7__7G31x7y0[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI5E31x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__7G31x7y0[] = {
+ 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__7G31x7y0[] = {
+ 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__7G31x7y0[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x7y0[] = {
+ {&(_ZTV7G31x7y0[6]), 6,23},
+ {&(_tg__ZTV5E31x7__7G31x7y0[6]), 6,6},
+ {&(_tg__ZTV3C31__5E31x7__7G31x7y0[5]), 5,6},
+ {&(_tg__ZTV2A1__5E31x7__7G31x7y0[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x7__7G31x7y0[3]), 3,4},
+ {&(_ZTV7G31x7y0[14]), 14,23},
+ {&(_ZTV7G31x7y0[18]), 18,23},
+ {&(_ZTV7G31x7y0[22]), 22,23},
+ {&(_tg__ZTV3C31__7G31x7y0[4]), 4,5},
+ {&(_tg__ZTV2A1__3C31__7G31x7y0[3]), 3,4},
+ {&(_tg__ZTV2B1__3C31__7G31x7y0[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G31x7y0[];
+extern VTBL_ENTRY _ZTV7G31x7y0[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x7y0[];
+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_G31x7y0 = { "G31x7y0", // class name
+ bases_G31x7y0, 6,
+ &(vtc_G31x7y0[0]), // expected_vtbl_contents
+ &(vtt_G31x7y0[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G31x7y0),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x7y0),23, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x7y0),11, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names252,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x7y1 : virtual E31x7 , F1 {
+ int ff;
+ ~G31x7y1(); // tgen
+ G31x7y1(); // tgen
+};
+//SIG(1 G31x7y1) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ v2 Fi} Fi}
+
+
+G31x7y1 ::~G31x7y1(){ note_dtor("G31x7y1", this);} // tgen
+G31x7y1 ::G31x7y1(){ note_ctor("G31x7y1", this);} // tgen
+
+static void Test_G31x7y1()
+{
+ extern Class_Descriptor cd_G31x7y1;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G31x7y1, buf);
+ G31x7y1 *dp, &lv = *(dp=new (buf) G31x7y1());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G31x7y1)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x7y1)");
+ check_base_class_offset(lv, (A1*)(C31*), ABISELECT(48,28), "G31x7y1");
+ check_base_class_offset(lv, (B1*)(C31*), ABISELECT(64,36), "G31x7y1");
+ check_base_class_offset(lv, (C31*)(E31x7*), ABISELECT(32,20), "G31x7y1");
+ check_base_class_offset(lv, (D0*)(E31x7*), ABISELECT(76,44), "G31x7y1");
+ check_base_class_offset(lv, (E31x7*), ABISELECT(16,12), "G31x7y1");
+ check_base_class_offset(lv, (F1*), 0, "G31x7y1");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G31x7y1.ff");
+ test_class_info(&lv, &cd_G31x7y1);
+ dp->~G31x7y1();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x7y1(Test_G31x7y1, "G31x7y1", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G31x7y1C1Ev();
+extern void _ZN7G31x7y1D1Ev();
+Name_Map name_map_G31x7y1[] = {
+ NSPAIR(_ZN7G31x7y1C1Ev),
+ NSPAIR(_ZN7G31x7y1D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E31x7;
+extern VTBL_ENTRY _ZTI5E31x7[];
+extern VTBL_ENTRY _ZTV5E31x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G31x7y1[] = {
+ // 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_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E31x7, 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 _ZTI7G31x7y1[];
+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_G31x7y1[] = {
+ ABISELECT(76,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x7y1[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+ ABISELECT(60,32),
+ ABISELECT(48,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G31x7y1[0]),
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G31x7y1[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G31x7y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-32,-16),
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G31x7y1[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern VTBL_ENTRY _ZTV7G31x7y1[];
+static VTBL_ENTRY _tg__ZTV5E31x7__7G31x7y1[] = {
+ ABISELECT(60,32),
+ ABISELECT(48,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x7[0]),
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__5E31x7__7G31x7y1[] = {
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E31x7[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__5E31x7__7G31x7y1[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI5E31x7[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__5E31x7__7G31x7y1[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-48,-24),
+ (VTBL_ENTRY)&(_ZTI5E31x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__7G31x7y1[] = {
+ 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__7G31x7y1[] = {
+ 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__7G31x7y1[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x7y1[] = {
+ {&(_ZTV7G31x7y1[7]), 7,28},
+ {&(_ZTV7G31x7y1[14]), 14,28},
+ {&(_ZTV7G31x7y1[19]), 19,28},
+ {&(_ZTV7G31x7y1[23]), 23,28},
+ {&(_ZTV7G31x7y1[27]), 27,28},
+ {&(_tg__ZTV5E31x7__7G31x7y1[6]), 6,6},
+ {&(_tg__ZTV3C31__5E31x7__7G31x7y1[5]), 5,6},
+ {&(_tg__ZTV2A1__5E31x7__7G31x7y1[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x7__7G31x7y1[3]), 3,4},
+ {&(_tg__ZTV3C31__7G31x7y1[4]), 4,5},
+ {&(_tg__ZTV2A1__3C31__7G31x7y1[3]), 3,4},
+ {&(_tg__ZTV2B1__3C31__7G31x7y1[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G31x7y1[];
+extern VTBL_ENTRY _ZTV7G31x7y1[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x7y1[];
+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_G31x7y1 = { "G31x7y1", // class name
+ bases_G31x7y1, 6,
+ &(vtc_G31x7y1[0]), // expected_vtbl_contents
+ &(vtt_G31x7y1[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G31x7y1),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x7y1),28, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x7y1),12, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names253,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x7y2 : E31x7 , virtual F1 {
+ int ff;
+ ~G31x7y2(); // tgen
+ G31x7y2(); // tgen
+};
+//SIG(1 G31x7y2) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G31x7y2 ::~G31x7y2(){ note_dtor("G31x7y2", this);} // tgen
+G31x7y2 ::G31x7y2(){ note_ctor("G31x7y2", this);} // tgen
+
+static void Test_G31x7y2()
+{
+ extern Class_Descriptor cd_G31x7y2;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G31x7y2, buf);
+ G31x7y2 *dp, &lv = *(dp=new (buf) G31x7y2());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G31x7y2)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x7y2)");
+ check_base_class_offset(lv, (A1*)(C31*), ABISELECT(32,20), "G31x7y2");
+ check_base_class_offset(lv, (B1*)(C31*), ABISELECT(48,28), "G31x7y2");
+ check_base_class_offset(lv, (C31*)(E31x7*), ABISELECT(16,12), "G31x7y2");
+ check_base_class_offset(lv, (D0*)(E31x7*), ABISELECT(60,36), "G31x7y2");
+ check_base_class_offset(lv, (E31x7*), 0, "G31x7y2");
+ check_base_class_offset(lv, (F1*), ABISELECT(64,40), "G31x7y2");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G31x7y2.ff");
+ test_class_info(&lv, &cd_G31x7y2);
+ dp->~G31x7y2();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x7y2(Test_G31x7y2, "G31x7y2", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G31x7y2C1Ev();
+extern void _ZN7G31x7y2D1Ev();
+Name_Map name_map_G31x7y2[] = {
+ NSPAIR(_ZN7G31x7y2C1Ev),
+ NSPAIR(_ZN7G31x7y2D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E31x7;
+extern VTBL_ENTRY _ZTI5E31x7[];
+extern VTBL_ENTRY _ZTV5E31x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G31x7y2[] = {
+ // 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_B1, ABISELECT(48,28), //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(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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E31x7, 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 _ZTI7G31x7y2[];
+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_G31x7y2[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x7y2[0]),
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G31x7y2[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G31x7y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-32,-16),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G31x7y2[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ 0,
+ ABISELECT(-64,-40),
+ (VTBL_ENTRY)&(_ZTI7G31x7y2[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G31x7y2[];
+static VTBL_ENTRY _tg__ZTV5E31x7__7G31x7y2[] = {
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x7[0]),
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__5E31x7__7G31x7y2[] = {
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E31x7[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__5E31x7__7G31x7y2[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E31x7[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__5E31x7__7G31x7y2[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E31x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__7G31x7y2[] = {
+ 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__7G31x7y2[] = {
+ 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__7G31x7y2[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x7y2[] = {
+ {&(_ZTV7G31x7y2[7]), 7,25},
+ {&(_tg__ZTV5E31x7__7G31x7y2[6]), 6,6},
+ {&(_tg__ZTV3C31__5E31x7__7G31x7y2[5]), 5,6},
+ {&(_tg__ZTV2A1__5E31x7__7G31x7y2[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x7__7G31x7y2[3]), 3,4},
+ {&(_ZTV7G31x7y2[12]), 12,25},
+ {&(_ZTV7G31x7y2[16]), 16,25},
+ {&(_ZTV7G31x7y2[20]), 20,25},
+ {&(_ZTV7G31x7y2[24]), 24,25},
+ {&(_tg__ZTV3C31__7G31x7y2[4]), 4,5},
+ {&(_tg__ZTV2A1__3C31__7G31x7y2[3]), 3,4},
+ {&(_tg__ZTV2B1__3C31__7G31x7y2[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G31x7y2[];
+extern VTBL_ENTRY _ZTV7G31x7y2[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x7y2[];
+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_G31x7y2 = { "G31x7y2", // class name
+ bases_G31x7y2, 6,
+ &(vtc_G31x7y2[0]), // expected_vtbl_contents
+ &(vtt_G31x7y2[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G31x7y2),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x7y2),25, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x7y2),12, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names254,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x7y3 : virtual E31x7 , virtual F1 {
+ int ff;
+ ~G31x7y3(); // tgen
+ G31x7y3(); // tgen
+};
+//SIG(1 G31x7y3) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ v2 Fi} Fi}
+
+
+G31x7y3 ::~G31x7y3(){ note_dtor("G31x7y3", this);} // tgen
+G31x7y3 ::G31x7y3(){ note_ctor("G31x7y3", this);} // tgen
+
+static void Test_G31x7y3()
+{
+ extern Class_Descriptor cd_G31x7y3;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(13,14)];
+ init_test(&cd_G31x7y3, buf);
+ G31x7y3 *dp, &lv = *(dp=new (buf) G31x7y3());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(96,52), "sizeof(G31x7y3)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x7y3)");
+ check_base_class_offset(lv, (A1*)(C31*), ABISELECT(48,24), "G31x7y3");
+ check_base_class_offset(lv, (B1*)(C31*), ABISELECT(64,32), "G31x7y3");
+ check_base_class_offset(lv, (C31*)(E31x7*), ABISELECT(32,16), "G31x7y3");
+ check_base_class_offset(lv, (D0*)(E31x7*), ABISELECT(76,40), "G31x7y3");
+ check_base_class_offset(lv, (E31x7*), ABISELECT(16,8), "G31x7y3");
+ check_base_class_offset(lv, (F1*), ABISELECT(80,44), "G31x7y3");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G31x7y3.ff");
+ test_class_info(&lv, &cd_G31x7y3);
+ dp->~G31x7y3();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x7y3(Test_G31x7y3, "G31x7y3", ABISELECT(96,52));
+
+#else // __cplusplus
+
+extern void _ZN7G31x7y3C1Ev();
+extern void _ZN7G31x7y3D1Ev();
+Name_Map name_map_G31x7y3[] = {
+ NSPAIR(_ZN7G31x7y3C1Ev),
+ NSPAIR(_ZN7G31x7y3D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E31x7;
+extern VTBL_ENTRY _ZTI5E31x7[];
+extern VTBL_ENTRY _ZTV5E31x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x7[];
+extern Class_Descriptor cd_F1;
+extern VTBL_ENTRY _ZTI2F1[];
+extern VTBL_ENTRY _ZTV2F1[];
+static Base_Class bases_G31x7y3[] = {
+ // 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
+ 11, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, ABISELECT(76,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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E31x7, 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 _ZTI7G31x7y3[];
+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_G31x7y3[] = {
+ ABISELECT(80,44),
+ ABISELECT(76,40),
+ ABISELECT(64,32),
+ ABISELECT(48,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x7y3[0]),
+ ABISELECT(60,32),
+ ABISELECT(48,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G31x7y3[0]),
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G31x7y3[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-48,-24),
+ (VTBL_ENTRY)&(_ZTI7G31x7y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-32,-16),
+ ABISELECT(-64,-32),
+ (VTBL_ENTRY)&(_ZTI7G31x7y3[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ 0,
+ ABISELECT(-80,-44),
+ (VTBL_ENTRY)&(_ZTI7G31x7y3[0]),
+ (VTBL_ENTRY)&_ZN2F13fooEv,
+};
+extern VTBL_ENTRY _ZTV7G31x7y3[];
+static VTBL_ENTRY _tg__ZTV5E31x7__7G31x7y3[] = {
+ ABISELECT(60,32),
+ ABISELECT(48,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x7[0]),
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__5E31x7__7G31x7y3[] = {
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E31x7[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__5E31x7__7G31x7y3[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI5E31x7[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__5E31x7__7G31x7y3[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-48,-24),
+ (VTBL_ENTRY)&(_ZTI5E31x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__7G31x7y3[] = {
+ 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__7G31x7y3[] = {
+ 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__7G31x7y3[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x7y3[] = {
+ {&(_ZTV7G31x7y3[8]), 8,32},
+ {&(_ZTV7G31x7y3[14]), 14,32},
+ {&(_ZTV7G31x7y3[19]), 19,32},
+ {&(_ZTV7G31x7y3[23]), 23,32},
+ {&(_ZTV7G31x7y3[27]), 27,32},
+ {&(_ZTV7G31x7y3[31]), 31,32},
+ {&(_tg__ZTV5E31x7__7G31x7y3[6]), 6,6},
+ {&(_tg__ZTV3C31__5E31x7__7G31x7y3[5]), 5,6},
+ {&(_tg__ZTV2A1__5E31x7__7G31x7y3[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x7__7G31x7y3[3]), 3,4},
+ {&(_tg__ZTV3C31__7G31x7y3[4]), 4,5},
+ {&(_tg__ZTV2A1__3C31__7G31x7y3[3]), 3,4},
+ {&(_tg__ZTV2B1__3C31__7G31x7y3[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G31x7y3[];
+extern VTBL_ENTRY _ZTV7G31x7y3[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x7y3[];
+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_G31x7y3 = { "G31x7y3", // class name
+ bases_G31x7y3, 6,
+ &(vtc_G31x7y3[0]), // expected_vtbl_contents
+ &(vtt_G31x7y3[0]), // expected_vtt_contents
+ ABISELECT(96,52), // object size
+ NSPAIRA(_ZTI7G31x7y3),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x7y3),32, //virtual function table var
+ 8, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x7y3),13, //virtual table table var
+ 5, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names255,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x7y4 : E31x7 , F0 {
+ int ff;
+ ~G31x7y4(); // tgen
+ G31x7y4(); // tgen
+};
+//SIG(1 G31x7y4) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G31x7y4 ::~G31x7y4(){ note_dtor("G31x7y4", this);} // tgen
+G31x7y4 ::G31x7y4(){ note_ctor("G31x7y4", this);} // tgen
+
+static void Test_G31x7y4()
+{
+ extern Class_Descriptor cd_G31x7y4;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G31x7y4, buf);
+ G31x7y4 *dp, &lv = *(dp=new (buf) G31x7y4());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G31x7y4)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x7y4)");
+ check_base_class_offset(lv, (A1*)(C31*), ABISELECT(40,24), "G31x7y4");
+ check_base_class_offset(lv, (B1*)(C31*), ABISELECT(56,32), "G31x7y4");
+ check_base_class_offset(lv, (C31*)(E31x7*), ABISELECT(24,16), "G31x7y4");
+ check_base_class_offset(lv, (D0*)(E31x7*), ABISELECT(68,40), "G31x7y4");
+ check_base_class_offset(lv, (E31x7*), 0, "G31x7y4");
+ check_base_class_offset(lv, (F0*), ABISELECT(12,8), "G31x7y4");
+ check_field_offset(lv, ff, ABISELECT(16,12), "G31x7y4.ff");
+ test_class_info(&lv, &cd_G31x7y4);
+ dp->~G31x7y4();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x7y4(Test_G31x7y4, "G31x7y4", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G31x7y4C1Ev();
+extern void _ZN7G31x7y4D1Ev();
+Name_Map name_map_G31x7y4[] = {
+ NSPAIR(_ZN7G31x7y4C1Ev),
+ NSPAIR(_ZN7G31x7y4D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E31x7;
+extern VTBL_ENTRY _ZTI5E31x7[];
+extern VTBL_ENTRY _ZTV5E31x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G31x7y4[] = {
+ // 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_B1, ABISELECT(56,32), //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,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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E31x7, 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 _ZTI7G31x7y4[];
+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_G31x7y4[] = {
+ ABISELECT(68,40),
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x7y4[0]),
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI7G31x7y4[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI7G31x7y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-32,-16),
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI7G31x7y4[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern VTBL_ENTRY _ZTV7G31x7y4[];
+static VTBL_ENTRY _tg__ZTV5E31x7__7G31x7y4[] = {
+ ABISELECT(68,40),
+ ABISELECT(56,32),
+ ABISELECT(40,24),
+ ABISELECT(24,16),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x7[0]),
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__5E31x7__7G31x7y4[] = {
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-24,-16),
+ (VTBL_ENTRY)&(_ZTI5E31x7[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__5E31x7__7G31x7y4[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-40,-24),
+ (VTBL_ENTRY)&(_ZTI5E31x7[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__5E31x7__7G31x7y4[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-56,-32),
+ (VTBL_ENTRY)&(_ZTI5E31x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__7G31x7y4[] = {
+ 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__7G31x7y4[] = {
+ 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__7G31x7y4[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x7y4[] = {
+ {&(_ZTV7G31x7y4[6]), 6,20},
+ {&(_tg__ZTV5E31x7__7G31x7y4[6]), 6,6},
+ {&(_tg__ZTV3C31__5E31x7__7G31x7y4[5]), 5,6},
+ {&(_tg__ZTV2A1__5E31x7__7G31x7y4[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x7__7G31x7y4[3]), 3,4},
+ {&(_ZTV7G31x7y4[11]), 11,20},
+ {&(_ZTV7G31x7y4[15]), 15,20},
+ {&(_ZTV7G31x7y4[19]), 19,20},
+ {&(_tg__ZTV3C31__7G31x7y4[4]), 4,5},
+ {&(_tg__ZTV2A1__3C31__7G31x7y4[3]), 3,4},
+ {&(_tg__ZTV2B1__3C31__7G31x7y4[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G31x7y4[];
+extern VTBL_ENTRY _ZTV7G31x7y4[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x7y4[];
+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_G31x7y4 = { "G31x7y4", // class name
+ bases_G31x7y4, 6,
+ &(vtc_G31x7y4[0]), // expected_vtbl_contents
+ &(vtt_G31x7y4[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G31x7y4),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x7y4),20, //virtual function table var
+ 6, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x7y4),11, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names256,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x7y5 : virtual E31x7 , F0 {
+ int ff;
+ ~G31x7y5(); // tgen
+ G31x7y5(); // tgen
+};
+//SIG(1 G31x7y5) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} BC7{ Fi} Fi}
+
+
+G31x7y5 ::~G31x7y5(){ note_dtor("G31x7y5", this);} // tgen
+G31x7y5 ::G31x7y5(){ note_ctor("G31x7y5", this);} // tgen
+
+static void Test_G31x7y5()
+{
+ extern Class_Descriptor cd_G31x7y5;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(11,13)];
+ init_test(&cd_G31x7y5, buf);
+ G31x7y5 *dp, &lv = *(dp=new (buf) G31x7y5());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(80,48), "sizeof(G31x7y5)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x7y5)");
+ check_base_class_offset(lv, (A1*)(C31*), ABISELECT(48,28), "G31x7y5");
+ check_base_class_offset(lv, (B1*)(C31*), ABISELECT(64,36), "G31x7y5");
+ check_base_class_offset(lv, (C31*)(E31x7*), ABISELECT(32,20), "G31x7y5");
+ check_base_class_offset(lv, (D0*)(E31x7*), ABISELECT(76,44), "G31x7y5");
+ check_base_class_offset(lv, (E31x7*), ABISELECT(16,12), "G31x7y5");
+ check_base_class_offset(lv, (F0*), ABISELECT(8,4), "G31x7y5");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G31x7y5.ff");
+ test_class_info(&lv, &cd_G31x7y5);
+ dp->~G31x7y5();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x7y5(Test_G31x7y5, "G31x7y5", ABISELECT(80,48));
+
+#else // __cplusplus
+
+extern void _ZN7G31x7y5C1Ev();
+extern void _ZN7G31x7y5D1Ev();
+Name_Map name_map_G31x7y5[] = {
+ NSPAIR(_ZN7G31x7y5C1Ev),
+ NSPAIR(_ZN7G31x7y5D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E31x7;
+extern VTBL_ENTRY _ZTI5E31x7[];
+extern VTBL_ENTRY _ZTV5E31x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G31x7y5[] = {
+ // 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
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E31x7, 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 _ZTI7G31x7y5[];
+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_G31x7y5[] = {
+ ABISELECT(76,44),
+ ABISELECT(64,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x7y5[0]),
+ ABISELECT(60,32),
+ ABISELECT(48,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G31x7y5[0]),
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G31x7y5[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G31x7y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-32,-16),
+ ABISELECT(-64,-36),
+ (VTBL_ENTRY)&(_ZTI7G31x7y5[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern VTBL_ENTRY _ZTV7G31x7y5[];
+static VTBL_ENTRY _tg__ZTV5E31x7__7G31x7y5[] = {
+ ABISELECT(60,32),
+ ABISELECT(48,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x7[0]),
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__5E31x7__7G31x7y5[] = {
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E31x7[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__5E31x7__7G31x7y5[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI5E31x7[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__5E31x7__7G31x7y5[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-48,-24),
+ (VTBL_ENTRY)&(_ZTI5E31x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__7G31x7y5[] = {
+ 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__7G31x7y5[] = {
+ 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__7G31x7y5[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x7y5[] = {
+ {&(_ZTV7G31x7y5[7]), 7,27},
+ {&(_ZTV7G31x7y5[13]), 13,27},
+ {&(_ZTV7G31x7y5[18]), 18,27},
+ {&(_ZTV7G31x7y5[22]), 22,27},
+ {&(_ZTV7G31x7y5[26]), 26,27},
+ {&(_tg__ZTV5E31x7__7G31x7y5[6]), 6,6},
+ {&(_tg__ZTV3C31__5E31x7__7G31x7y5[5]), 5,6},
+ {&(_tg__ZTV2A1__5E31x7__7G31x7y5[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x7__7G31x7y5[3]), 3,4},
+ {&(_tg__ZTV3C31__7G31x7y5[4]), 4,5},
+ {&(_tg__ZTV2A1__3C31__7G31x7y5[3]), 3,4},
+ {&(_tg__ZTV2B1__3C31__7G31x7y5[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G31x7y5[];
+extern VTBL_ENTRY _ZTV7G31x7y5[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x7y5[];
+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_G31x7y5 = { "G31x7y5", // class name
+ bases_G31x7y5, 6,
+ &(vtc_G31x7y5[0]), // expected_vtbl_contents
+ &(vtt_G31x7y5[0]), // expected_vtt_contents
+ ABISELECT(80,48), // object size
+ NSPAIRA(_ZTI7G31x7y5),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x7y5),27, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x7y5),12, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names257,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x7y6 : E31x7 , virtual F0 {
+ int ff;
+ ~G31x7y6(); // tgen
+ G31x7y6(); // tgen
+};
+//SIG(1 G31x7y6) C1{ BC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G31x7y6 ::~G31x7y6(){ note_dtor("G31x7y6", this);} // tgen
+G31x7y6 ::G31x7y6(){ note_ctor("G31x7y6", this);} // tgen
+
+static void Test_G31x7y6()
+{
+ extern Class_Descriptor cd_G31x7y6;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(10,12)];
+ init_test(&cd_G31x7y6, buf);
+ G31x7y6 *dp, &lv = *(dp=new (buf) G31x7y6());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(72,44), "sizeof(G31x7y6)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x7y6)");
+ check_base_class_offset(lv, (A1*)(C31*), ABISELECT(32,20), "G31x7y6");
+ check_base_class_offset(lv, (B1*)(C31*), ABISELECT(48,28), "G31x7y6");
+ check_base_class_offset(lv, (C31*)(E31x7*), ABISELECT(16,12), "G31x7y6");
+ check_base_class_offset(lv, (D0*)(E31x7*), ABISELECT(60,36), "G31x7y6");
+ check_base_class_offset(lv, (E31x7*), 0, "G31x7y6");
+ check_base_class_offset(lv, (F0*), ABISELECT(64,40), "G31x7y6");
+ check_field_offset(lv, ff, ABISELECT(12,8), "G31x7y6.ff");
+ test_class_info(&lv, &cd_G31x7y6);
+ dp->~G31x7y6();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x7y6(Test_G31x7y6, "G31x7y6", ABISELECT(72,44));
+
+#else // __cplusplus
+
+extern void _ZN7G31x7y6C1Ev();
+extern void _ZN7G31x7y6D1Ev();
+Name_Map name_map_G31x7y6[] = {
+ NSPAIR(_ZN7G31x7y6C1Ev),
+ NSPAIR(_ZN7G31x7y6D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E31x7;
+extern VTBL_ENTRY _ZTI5E31x7[];
+extern VTBL_ENTRY _ZTV5E31x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G31x7y6[] = {
+ // 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_B1, ABISELECT(48,28), //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(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
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, 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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E31x7, 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(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 _ZTI7G31x7y6[];
+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_G31x7y6[] = {
+ ABISELECT(64,40),
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x7y6[0]),
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI7G31x7y6[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI7G31x7y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-32,-16),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI7G31x7y6[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern VTBL_ENTRY _ZTV7G31x7y6[];
+static VTBL_ENTRY _tg__ZTV5E31x7__7G31x7y6[] = {
+ ABISELECT(60,36),
+ ABISELECT(48,28),
+ ABISELECT(32,20),
+ ABISELECT(16,12),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x7[0]),
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__5E31x7__7G31x7y6[] = {
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-12),
+ (VTBL_ENTRY)&(_ZTI5E31x7[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__5E31x7__7G31x7y6[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-20),
+ (VTBL_ENTRY)&(_ZTI5E31x7[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__5E31x7__7G31x7y6[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-48,-28),
+ (VTBL_ENTRY)&(_ZTI5E31x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__7G31x7y6[] = {
+ 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__7G31x7y6[] = {
+ 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__7G31x7y6[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x7y6[] = {
+ {&(_ZTV7G31x7y6[7]), 7,21},
+ {&(_tg__ZTV5E31x7__7G31x7y6[6]), 6,6},
+ {&(_tg__ZTV3C31__5E31x7__7G31x7y6[5]), 5,6},
+ {&(_tg__ZTV2A1__5E31x7__7G31x7y6[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x7__7G31x7y6[3]), 3,4},
+ {&(_ZTV7G31x7y6[12]), 12,21},
+ {&(_ZTV7G31x7y6[16]), 16,21},
+ {&(_ZTV7G31x7y6[20]), 20,21},
+ {&(_tg__ZTV3C31__7G31x7y6[4]), 4,5},
+ {&(_tg__ZTV2A1__3C31__7G31x7y6[3]), 3,4},
+ {&(_tg__ZTV2B1__3C31__7G31x7y6[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G31x7y6[];
+extern VTBL_ENTRY _ZTV7G31x7y6[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x7y6[];
+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_G31x7y6 = { "G31x7y6", // class name
+ bases_G31x7y6, 6,
+ &(vtc_G31x7y6[0]), // expected_vtbl_contents
+ &(vtt_G31x7y6[0]), // expected_vtt_contents
+ ABISELECT(72,44), // object size
+ NSPAIRA(_ZTI7G31x7y6),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x7y6),21, //virtual function table var
+ 7, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x7y6),11, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names258,
+};
+#endif // __cplusplus
+
+//============================================================================
+
+#ifdef __cplusplus
+
+struct G31x7y7 : virtual E31x7 , virtual F0 {
+ int ff;
+ ~G31x7y7(); // tgen
+ G31x7y7(); // tgen
+};
+//SIG(1 G31x7y7) C1{ VBC2{ VBC3{ VBC4{ v1 Fi} VBC5{ v1 Fi} v1 Fi} VBC6{ Fi} Fi} VBC7{ Fi} Fi}
+
+
+G31x7y7 ::~G31x7y7(){ note_dtor("G31x7y7", this);} // tgen
+G31x7y7 ::G31x7y7(){ note_ctor("G31x7y7", this);} // tgen
+
+static void Test_G31x7y7()
+{
+ extern Class_Descriptor cd_G31x7y7;
+ void *lvp;
+ {
+ ABISELECT(double,int) buf[ABISELECT(12,13)];
+ init_test(&cd_G31x7y7, buf);
+ G31x7y7 *dp, &lv = *(dp=new (buf) G31x7y7());
+ lvp = (void*)&lv;
+ check2(sizeof(lv), ABISELECT(88,48), "sizeof(G31x7y7)");
+ check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(G31x7y7)");
+ check_base_class_offset(lv, (A1*)(C31*), ABISELECT(48,24), "G31x7y7");
+ check_base_class_offset(lv, (B1*)(C31*), ABISELECT(64,32), "G31x7y7");
+ check_base_class_offset(lv, (C31*)(E31x7*), ABISELECT(32,16), "G31x7y7");
+ check_base_class_offset(lv, (D0*)(E31x7*), ABISELECT(76,40), "G31x7y7");
+ check_base_class_offset(lv, (E31x7*), ABISELECT(16,8), "G31x7y7");
+ check_base_class_offset(lv, (F0*), ABISELECT(80,44), "G31x7y7");
+ check_field_offset(lv, ff, ABISELECT(8,4), "G31x7y7.ff");
+ test_class_info(&lv, &cd_G31x7y7);
+ dp->~G31x7y7();
+ }
+ Check_Ctor_Dtor_Calls(lvp);
+}
+static Arrange_To_Call_Me vG31x7y7(Test_G31x7y7, "G31x7y7", ABISELECT(88,48));
+
+#else // __cplusplus
+
+extern void _ZN7G31x7y7C1Ev();
+extern void _ZN7G31x7y7D1Ev();
+Name_Map name_map_G31x7y7[] = {
+ NSPAIR(_ZN7G31x7y7C1Ev),
+ NSPAIR(_ZN7G31x7y7D1Ev),
+ {0,0}
+};
+extern Class_Descriptor cd_A1;
+extern 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_D0;
+extern VTBL_ENTRY _ZTI2D0[];
+extern Class_Descriptor cd_E31x7;
+extern VTBL_ENTRY _ZTI5E31x7[];
+extern VTBL_ENTRY _ZTV5E31x7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT5E31x7[];
+extern Class_Descriptor cd_F0;
+extern VTBL_ENTRY _ZTI2F0[];
+static Base_Class bases_G31x7y7[] = {
+ // 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
+ 10, //bcp->base_subarray_index_in_construction_vtbl_array
+ 3, //init_seq
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_D0, ABISELECT(76,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
+ 4, //immediately_derived
+ 0, 1},
+ {&cd_E31x7, 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(80,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 _ZTI7G31x7y7[];
+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_G31x7y7[] = {
+ ABISELECT(80,44),
+ ABISELECT(76,40),
+ ABISELECT(64,32),
+ ABISELECT(48,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI7G31x7y7[0]),
+ ABISELECT(60,32),
+ ABISELECT(48,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI7G31x7y7[0]),
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI7G31x7y7[0]),
+ (VTBL_ENTRY)&_ZN3C313fooEv,
+ ABISELECT(-16,-8),
+ ABISELECT(-48,-24),
+ (VTBL_ENTRY)&(_ZTI7G31x7y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+ ABISELECT(-32,-16),
+ ABISELECT(-64,-32),
+ (VTBL_ENTRY)&(_ZTI7G31x7y7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern VTBL_ENTRY _ZTV7G31x7y7[];
+static VTBL_ENTRY _tg__ZTV5E31x7__7G31x7y7[] = {
+ ABISELECT(60,32),
+ ABISELECT(48,24),
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ 0,
+ (VTBL_ENTRY)&(_ZTI5E31x7[0]),
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__5E31x7__7G31x7y7[] = {
+ 0,
+ ABISELECT(32,16),
+ ABISELECT(16,8),
+ ABISELECT(-16,-8),
+ (VTBL_ENTRY)&(_ZTI5E31x7[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__5E31x7__7G31x7y7[] = {
+ ABISELECT(-16,-8),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI5E31x7[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__5E31x7__7G31x7y7[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-48,-24),
+ (VTBL_ENTRY)&(_ZTI5E31x7[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+extern void _ZN3C313fooEv();
+static VTBL_ENTRY _tg__ZTV3C31__7G31x7y7[] = {
+ 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__7G31x7y7[] = {
+ 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__7G31x7y7[] = {
+ ABISELECT(-32,-16),
+ ABISELECT(-32,-16),
+ (VTBL_ENTRY)&(_ZTI3C31[0]),
+ (VTBL_ENTRY)&ABISELECT(_ZTv0_n24_N3C313fooEv,_ZTv0_n12_N3C313fooEv),
+};
+static VTT_ENTRY vtt_G31x7y7[] = {
+ {&(_ZTV7G31x7y7[8]), 8,28},
+ {&(_ZTV7G31x7y7[14]), 14,28},
+ {&(_ZTV7G31x7y7[19]), 19,28},
+ {&(_ZTV7G31x7y7[23]), 23,28},
+ {&(_ZTV7G31x7y7[27]), 27,28},
+ {&(_tg__ZTV5E31x7__7G31x7y7[6]), 6,6},
+ {&(_tg__ZTV3C31__5E31x7__7G31x7y7[5]), 5,6},
+ {&(_tg__ZTV2A1__5E31x7__7G31x7y7[3]), 3,4},
+ {&(_tg__ZTV2B1__5E31x7__7G31x7y7[3]), 3,4},
+ {&(_tg__ZTV3C31__7G31x7y7[4]), 4,5},
+ {&(_tg__ZTV2A1__3C31__7G31x7y7[3]), 3,4},
+ {&(_tg__ZTV2B1__3C31__7G31x7y7[3]), 3,4},
+};
+extern VTBL_ENTRY _ZTI7G31x7y7[];
+extern VTBL_ENTRY _ZTV7G31x7y7[];
+extern VTBL_ENTRY * __attribute__((weak))_ZTT7G31x7y7[];
+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_G31x7y7 = { "G31x7y7", // class name
+ bases_G31x7y7, 6,
+ &(vtc_G31x7y7[0]), // expected_vtbl_contents
+ &(vtt_G31x7y7[0]), // expected_vtt_contents
+ ABISELECT(88,48), // object size
+ NSPAIRA(_ZTI7G31x7y7),ABISELECT(56,32), //typeinfo_var
+ NSPAIRA(_ZTV7G31x7y7),28, //virtual function table var
+ 8, // offset into main vftv pointed to by object[0]
+ NSPAIRA(_ZTT7G31x7y7),12, //virtual table table var
+ 4, // n_initialized_bases
+ 1, // has_virtual_bases
+ 0, // has_class_type_fields
+ alt_thunk_names259,
+};
+#endif // __cplusplus
+
+//============================================================================
+