| // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
| // See https://llvm.org/LICENSE.txt for license information. |
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| // 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 si { |
| }; |
| //SIG(-1 si) C1{} |
| |
| |
| |
| static void Test_si() |
| { |
| { |
| init_simple_test("si"); |
| si lv; |
| check2(sizeof(lv), 1, "sizeof(si)"); |
| check2(__alignof__(lv), 1, "__alignof__(si)"); |
| } |
| } |
| static Arrange_To_Call_Me vsi(Test_si, "si", 1); |
| |
| #else // __cplusplus |
| |
| extern VTBL_ENTRY _ZTI2si[]; |
| VTBL_ENTRY *P__ZTI2si = _ZTI2si; |
| Class_Descriptor cd_si = { "si", // class name |
| 0,0,//no base classes |
| 0, // no vftv |
| 0, //no vtt |
| 1, // object size |
| NSPAIRA(_ZTI2si),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 sj { |
| }; |
| //SIG(-1 sj) C1{} |
| |
| |
| |
| static void Test_sj() |
| { |
| { |
| init_simple_test("sj"); |
| sj lv; |
| check2(sizeof(lv), 1, "sizeof(sj)"); |
| check2(__alignof__(lv), 1, "__alignof__(sj)"); |
| } |
| } |
| static Arrange_To_Call_Me vsj(Test_sj, "sj", 1); |
| |
| #else // __cplusplus |
| |
| extern VTBL_ENTRY _ZTI2sj[]; |
| VTBL_ENTRY *P__ZTI2sj = _ZTI2sj; |
| Class_Descriptor cd_sj = { "sj", // class name |
| 0,0,//no base classes |
| 0, // no vftv |
| 0, //no vtt |
| 1, // object size |
| NSPAIRA(_ZTI2sj),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 sl { |
| }; |
| //SIG(-1 sl) C1{} |
| |
| |
| |
| static void Test_sl() |
| { |
| { |
| init_simple_test("sl"); |
| sl lv; |
| check2(sizeof(lv), 1, "sizeof(sl)"); |
| check2(__alignof__(lv), 1, "__alignof__(sl)"); |
| } |
| } |
| static Arrange_To_Call_Me vsl(Test_sl, "sl", 1); |
| |
| #else // __cplusplus |
| |
| Class_Descriptor cd_sl = { "sl", // class name |
| 0,0,//no base classes |
| 0, // no vftv |
| 0, //no vtt |
| 1, // 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 sm { |
| }; |
| //SIG(-1 sm) C1{} |
| |
| |
| |
| static void Test_sm() |
| { |
| { |
| init_simple_test("sm"); |
| sm lv; |
| check2(sizeof(lv), 1, "sizeof(sm)"); |
| check2(__alignof__(lv), 1, "__alignof__(sm)"); |
| } |
| } |
| static Arrange_To_Call_Me vsm(Test_sm, "sm", 1); |
| |
| #else // __cplusplus |
| |
| Class_Descriptor cd_sm = { "sm", // class name |
| 0,0,//no base classes |
| 0, // no vftv |
| 0, //no vtt |
| 1, // 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 sk { |
| }; |
| //SIG(-1 sk) C1{} |
| |
| |
| |
| static void Test_sk() |
| { |
| { |
| init_simple_test("sk"); |
| sk lv; |
| check2(sizeof(lv), 1, "sizeof(sk)"); |
| check2(__alignof__(lv), 1, "__alignof__(sk)"); |
| } |
| } |
| static Arrange_To_Call_Me vsk(Test_sk, "sk", 1); |
| |
| #else // __cplusplus |
| |
| Class_Descriptor cd_sk = { "sk", // class name |
| 0,0,//no base classes |
| 0, // no vftv |
| 0, //no vtt |
| 1, // 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 sk01 : virtual sj { |
| ~sk01(); // tgen |
| sk01(); // tgen |
| }; |
| //SIG(-1 sk01) C1{ VBC2{}} |
| |
| |
| sk01 ::~sk01(){ note_dtor("sk01", this);} // tgen |
| sk01 ::sk01(){ note_ctor("sk01", this);} // tgen |
| |
| static void Test_sk01() |
| { |
| extern Class_Descriptor cd_sk01; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_sk01, buf); |
| sk01 *dp, &lv = *(dp=new (buf) sk01()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(sk01)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(sk01)"); |
| check_base_class_offset(lv, (sj*), 0, "sk01"); |
| test_class_info(&lv, &cd_sk01); |
| dp->~sk01(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vsk01(Test_sk01, "sk01", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4sk01C1Ev(); |
| extern void _ZN4sk01D1Ev(); |
| Name_Map name_map_sk01[] = { |
| NSPAIR(_ZN4sk01C1Ev), |
| NSPAIR(_ZN4sk01D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| static Base_Class bases_sk01[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4sk01[]; |
| static VTBL_ENTRY vtc_sk01[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk01[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4sk01[]; |
| static VTT_ENTRY vtt_sk01[] = { |
| {&(_ZTV4sk01[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4sk01[]; |
| extern VTBL_ENTRY _ZTV4sk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk01[]; |
| Class_Descriptor cd_sk01 = { "sk01", // class name |
| bases_sk01, 1, |
| &(vtc_sk01[0]), // expected_vtbl_contents |
| &(vtt_sk01[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4sk01),ABISELECT(40,24), //typeinfo_var |
| NSPAIRA(_ZTV4sk01),3, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4sk01),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 sk02 : sj { |
| }; |
| //SIG(-1 sk02) C1{ BC2{}} |
| |
| |
| |
| static void Test_sk02() |
| { |
| extern Class_Descriptor cd_sk02; |
| void *lvp; |
| { |
| char buf[1]; |
| init_test(&cd_sk02, buf); |
| sk02 &lv = *(new (buf) sk02()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), 1, "sizeof(sk02)"); |
| check2(__alignof__(lv), 1, "__alignof__(sk02)"); |
| check_base_class_offset(lv, (sj*), 0, "sk02"); |
| test_class_info(&lv, &cd_sk02); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vsk02(Test_sk02, "sk02", 1); |
| |
| #else // __cplusplus |
| |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| static Base_Class bases_sk02[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4sk02[]; |
| Class_Descriptor cd_sk02 = { "sk02", // class name |
| bases_sk02, 1, |
| 0, // no vftv |
| 0, //no vtt |
| 1, // object size |
| NSPAIRA(_ZTI4sk02),ABISELECT(24,12), //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 sk11 : virtual si , virtual sj { |
| ~sk11(); // tgen |
| sk11(); // tgen |
| }; |
| //SIG(-1 sk11) C1{ VBC2{} VBC3{}} |
| |
| |
| sk11 ::~sk11(){ note_dtor("sk11", this);} // tgen |
| sk11 ::sk11(){ note_ctor("sk11", this);} // tgen |
| |
| static void Test_sk11() |
| { |
| extern Class_Descriptor cd_sk11; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_sk11, buf); |
| sk11 *dp, &lv = *(dp=new (buf) sk11()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(sk11)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(sk11)"); |
| check_base_class_offset(lv, (si*), 0, "sk11"); |
| check_base_class_offset(lv, (sj*), 0, "sk11"); |
| test_class_info(&lv, &cd_sk11); |
| dp->~sk11(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vsk11(Test_sk11, "sk11", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4sk11C1Ev(); |
| extern void _ZN4sk11D1Ev(); |
| Name_Map name_map_sk11[] = { |
| NSPAIR(_ZN4sk11C1Ev), |
| NSPAIR(_ZN4sk11D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| static Base_Class bases_sk11[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4sk11[]; |
| static VTBL_ENTRY vtc_sk11[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk11[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4sk11[]; |
| static VTT_ENTRY vtt_sk11[] = { |
| {&(_ZTV4sk11[4]), 4,4}, |
| }; |
| extern VTBL_ENTRY _ZTI4sk11[]; |
| extern VTBL_ENTRY _ZTV4sk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk11[]; |
| Class_Descriptor cd_sk11 = { "sk11", // class name |
| bases_sk11, 2, |
| &(vtc_sk11[0]), // expected_vtbl_contents |
| &(vtt_sk11[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4sk11),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4sk11),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4sk11),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 sk12 : virtual si , sj { |
| ~sk12(); // tgen |
| sk12(); // tgen |
| }; |
| //SIG(-1 sk12) C1{ VBC2{} BC3{}} |
| |
| |
| sk12 ::~sk12(){ note_dtor("sk12", this);} // tgen |
| sk12 ::sk12(){ note_ctor("sk12", this);} // tgen |
| |
| static void Test_sk12() |
| { |
| extern Class_Descriptor cd_sk12; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_sk12, buf); |
| sk12 *dp, &lv = *(dp=new (buf) sk12()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(sk12)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(sk12)"); |
| check_base_class_offset(lv, (si*), 0, "sk12"); |
| check_base_class_offset(lv, (sj*), 0, "sk12"); |
| test_class_info(&lv, &cd_sk12); |
| dp->~sk12(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vsk12(Test_sk12, "sk12", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4sk12C1Ev(); |
| extern void _ZN4sk12D1Ev(); |
| Name_Map name_map_sk12[] = { |
| NSPAIR(_ZN4sk12C1Ev), |
| NSPAIR(_ZN4sk12D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| static Base_Class bases_sk12[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4sk12[]; |
| static VTBL_ENTRY vtc_sk12[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk12[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4sk12[]; |
| static VTT_ENTRY vtt_sk12[] = { |
| {&(_ZTV4sk12[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4sk12[]; |
| extern VTBL_ENTRY _ZTV4sk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk12[]; |
| Class_Descriptor cd_sk12 = { "sk12", // class name |
| bases_sk12, 2, |
| &(vtc_sk12[0]), // expected_vtbl_contents |
| &(vtt_sk12[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4sk12),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4sk12),3, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4sk12),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 sk21 : si , virtual sj { |
| ~sk21(); // tgen |
| sk21(); // tgen |
| }; |
| //SIG(-1 sk21) C1{ BC2{} VBC3{}} |
| |
| |
| sk21 ::~sk21(){ note_dtor("sk21", this);} // tgen |
| sk21 ::sk21(){ note_ctor("sk21", this);} // tgen |
| |
| static void Test_sk21() |
| { |
| extern Class_Descriptor cd_sk21; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_sk21, buf); |
| sk21 *dp, &lv = *(dp=new (buf) sk21()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(sk21)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(sk21)"); |
| check_base_class_offset(lv, (si*), 0, "sk21"); |
| check_base_class_offset(lv, (sj*), 0, "sk21"); |
| test_class_info(&lv, &cd_sk21); |
| dp->~sk21(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vsk21(Test_sk21, "sk21", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4sk21C1Ev(); |
| extern void _ZN4sk21D1Ev(); |
| Name_Map name_map_sk21[] = { |
| NSPAIR(_ZN4sk21C1Ev), |
| NSPAIR(_ZN4sk21D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| static Base_Class bases_sk21[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4sk21[]; |
| static VTBL_ENTRY vtc_sk21[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk21[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4sk21[]; |
| static VTT_ENTRY vtt_sk21[] = { |
| {&(_ZTV4sk21[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4sk21[]; |
| extern VTBL_ENTRY _ZTV4sk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk21[]; |
| Class_Descriptor cd_sk21 = { "sk21", // class name |
| bases_sk21, 2, |
| &(vtc_sk21[0]), // expected_vtbl_contents |
| &(vtt_sk21[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4sk21),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4sk21),3, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4sk21),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 sk22 : si , sj { |
| }; |
| //SIG(-1 sk22) C1{ BC2{} BC3{}} |
| |
| |
| |
| static void Test_sk22() |
| { |
| extern Class_Descriptor cd_sk22; |
| void *lvp; |
| { |
| char buf[1]; |
| init_test(&cd_sk22, buf); |
| sk22 &lv = *(new (buf) sk22()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), 1, "sizeof(sk22)"); |
| check2(__alignof__(lv), 1, "__alignof__(sk22)"); |
| check_base_class_offset(lv, (si*), 0, "sk22"); |
| check_base_class_offset(lv, (sj*), 0, "sk22"); |
| test_class_info(&lv, &cd_sk22); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vsk22(Test_sk22, "sk22", 1); |
| |
| #else // __cplusplus |
| |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| static Base_Class bases_sk22[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4sk22[]; |
| Class_Descriptor cd_sk22 = { "sk22", // class name |
| bases_sk22, 2, |
| 0, // no vftv |
| 0, //no vtt |
| 1, // object size |
| NSPAIRA(_ZTI4sk22),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 sk00 { |
| }; |
| //SIG(-1 sk00) C1{} |
| |
| |
| |
| static void Test_sk00() |
| { |
| { |
| init_simple_test("sk00"); |
| sk00 lv; |
| check2(sizeof(lv), 1, "sizeof(sk00)"); |
| check2(__alignof__(lv), 1, "__alignof__(sk00)"); |
| } |
| } |
| static Arrange_To_Call_Me vsk00(Test_sk00, "sk00", 1); |
| |
| #else // __cplusplus |
| |
| extern VTBL_ENTRY _ZTI4sk00[]; |
| VTBL_ENTRY *P__ZTI4sk00 = _ZTI4sk00; |
| Class_Descriptor cd_sk00 = { "sk00", // class name |
| 0,0,//no base classes |
| 0, // no vftv |
| 0, //no vtt |
| 1, // object size |
| NSPAIRA(_ZTI4sk00),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 tk00 { |
| }; |
| //SIG(-1 tk00) C1{} |
| |
| |
| |
| static void Test_tk00() |
| { |
| { |
| init_simple_test("tk00"); |
| tk00 lv; |
| check2(sizeof(lv), 1, "sizeof(tk00)"); |
| check2(__alignof__(lv), 1, "__alignof__(tk00)"); |
| } |
| } |
| static Arrange_To_Call_Me vtk00(Test_tk00, "tk00", 1); |
| |
| #else // __cplusplus |
| |
| extern VTBL_ENTRY _ZTI4tk00[]; |
| VTBL_ENTRY *P__ZTI4tk00 = _ZTI4tk00; |
| Class_Descriptor cd_tk00 = { "tk00", // class name |
| 0,0,//no base classes |
| 0, // no vftv |
| 0, //no vtt |
| 1, // object size |
| NSPAIRA(_ZTI4tk00),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 tk01 : virtual sj { |
| ~tk01(); // tgen |
| tk01(); // tgen |
| }; |
| //SIG(-1 tk01) C1{ VBC2{}} |
| |
| |
| tk01 ::~tk01(){ note_dtor("tk01", this);} // tgen |
| tk01 ::tk01(){ note_ctor("tk01", this);} // tgen |
| |
| static void Test_tk01() |
| { |
| extern Class_Descriptor cd_tk01; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_tk01, buf); |
| tk01 *dp, &lv = *(dp=new (buf) tk01()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(tk01)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(tk01)"); |
| check_base_class_offset(lv, (sj*), 0, "tk01"); |
| test_class_info(&lv, &cd_tk01); |
| dp->~tk01(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vtk01(Test_tk01, "tk01", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4tk01C1Ev(); |
| extern void _ZN4tk01D1Ev(); |
| Name_Map name_map_tk01[] = { |
| NSPAIR(_ZN4tk01C1Ev), |
| NSPAIR(_ZN4tk01D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| static Base_Class bases_tk01[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4tk01[]; |
| static VTBL_ENTRY vtc_tk01[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk01[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4tk01[]; |
| static VTT_ENTRY vtt_tk01[] = { |
| {&(_ZTV4tk01[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4tk01[]; |
| extern VTBL_ENTRY _ZTV4tk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk01[]; |
| Class_Descriptor cd_tk01 = { "tk01", // class name |
| bases_tk01, 1, |
| &(vtc_tk01[0]), // expected_vtbl_contents |
| &(vtt_tk01[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4tk01),ABISELECT(40,24), //typeinfo_var |
| NSPAIRA(_ZTV4tk01),3, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4tk01),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 tk02 : sj { |
| }; |
| //SIG(-1 tk02) C1{ BC2{}} |
| |
| |
| |
| static void Test_tk02() |
| { |
| extern Class_Descriptor cd_tk02; |
| void *lvp; |
| { |
| char buf[1]; |
| init_test(&cd_tk02, buf); |
| tk02 &lv = *(new (buf) tk02()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), 1, "sizeof(tk02)"); |
| check2(__alignof__(lv), 1, "__alignof__(tk02)"); |
| check_base_class_offset(lv, (sj*), 0, "tk02"); |
| test_class_info(&lv, &cd_tk02); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vtk02(Test_tk02, "tk02", 1); |
| |
| #else // __cplusplus |
| |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| static Base_Class bases_tk02[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4tk02[]; |
| Class_Descriptor cd_tk02 = { "tk02", // class name |
| bases_tk02, 1, |
| 0, // no vftv |
| 0, //no vtt |
| 1, // object size |
| NSPAIRA(_ZTI4tk02),ABISELECT(24,12), //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 tk11 : virtual si , virtual sj { |
| ~tk11(); // tgen |
| tk11(); // tgen |
| }; |
| //SIG(-1 tk11) C1{ VBC2{} VBC3{}} |
| |
| |
| tk11 ::~tk11(){ note_dtor("tk11", this);} // tgen |
| tk11 ::tk11(){ note_ctor("tk11", this);} // tgen |
| |
| static void Test_tk11() |
| { |
| extern Class_Descriptor cd_tk11; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_tk11, buf); |
| tk11 *dp, &lv = *(dp=new (buf) tk11()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(tk11)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(tk11)"); |
| check_base_class_offset(lv, (si*), 0, "tk11"); |
| check_base_class_offset(lv, (sj*), 0, "tk11"); |
| test_class_info(&lv, &cd_tk11); |
| dp->~tk11(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vtk11(Test_tk11, "tk11", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4tk11C1Ev(); |
| extern void _ZN4tk11D1Ev(); |
| Name_Map name_map_tk11[] = { |
| NSPAIR(_ZN4tk11C1Ev), |
| NSPAIR(_ZN4tk11D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| static Base_Class bases_tk11[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4tk11[]; |
| static VTBL_ENTRY vtc_tk11[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk11[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4tk11[]; |
| static VTT_ENTRY vtt_tk11[] = { |
| {&(_ZTV4tk11[4]), 4,4}, |
| }; |
| extern VTBL_ENTRY _ZTI4tk11[]; |
| extern VTBL_ENTRY _ZTV4tk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk11[]; |
| Class_Descriptor cd_tk11 = { "tk11", // class name |
| bases_tk11, 2, |
| &(vtc_tk11[0]), // expected_vtbl_contents |
| &(vtt_tk11[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4tk11),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4tk11),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4tk11),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 tk12 : virtual si , sj { |
| ~tk12(); // tgen |
| tk12(); // tgen |
| }; |
| //SIG(-1 tk12) C1{ VBC2{} BC3{}} |
| |
| |
| tk12 ::~tk12(){ note_dtor("tk12", this);} // tgen |
| tk12 ::tk12(){ note_ctor("tk12", this);} // tgen |
| |
| static void Test_tk12() |
| { |
| extern Class_Descriptor cd_tk12; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_tk12, buf); |
| tk12 *dp, &lv = *(dp=new (buf) tk12()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(tk12)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(tk12)"); |
| check_base_class_offset(lv, (si*), 0, "tk12"); |
| check_base_class_offset(lv, (sj*), 0, "tk12"); |
| test_class_info(&lv, &cd_tk12); |
| dp->~tk12(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vtk12(Test_tk12, "tk12", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4tk12C1Ev(); |
| extern void _ZN4tk12D1Ev(); |
| Name_Map name_map_tk12[] = { |
| NSPAIR(_ZN4tk12C1Ev), |
| NSPAIR(_ZN4tk12D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| static Base_Class bases_tk12[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4tk12[]; |
| static VTBL_ENTRY vtc_tk12[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk12[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4tk12[]; |
| static VTT_ENTRY vtt_tk12[] = { |
| {&(_ZTV4tk12[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4tk12[]; |
| extern VTBL_ENTRY _ZTV4tk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk12[]; |
| Class_Descriptor cd_tk12 = { "tk12", // class name |
| bases_tk12, 2, |
| &(vtc_tk12[0]), // expected_vtbl_contents |
| &(vtt_tk12[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4tk12),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4tk12),3, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4tk12),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 tk21 : si , virtual sj { |
| ~tk21(); // tgen |
| tk21(); // tgen |
| }; |
| //SIG(-1 tk21) C1{ BC2{} VBC3{}} |
| |
| |
| tk21 ::~tk21(){ note_dtor("tk21", this);} // tgen |
| tk21 ::tk21(){ note_ctor("tk21", this);} // tgen |
| |
| static void Test_tk21() |
| { |
| extern Class_Descriptor cd_tk21; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_tk21, buf); |
| tk21 *dp, &lv = *(dp=new (buf) tk21()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(tk21)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(tk21)"); |
| check_base_class_offset(lv, (si*), 0, "tk21"); |
| check_base_class_offset(lv, (sj*), 0, "tk21"); |
| test_class_info(&lv, &cd_tk21); |
| dp->~tk21(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vtk21(Test_tk21, "tk21", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4tk21C1Ev(); |
| extern void _ZN4tk21D1Ev(); |
| Name_Map name_map_tk21[] = { |
| NSPAIR(_ZN4tk21C1Ev), |
| NSPAIR(_ZN4tk21D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| static Base_Class bases_tk21[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4tk21[]; |
| static VTBL_ENTRY vtc_tk21[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk21[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4tk21[]; |
| static VTT_ENTRY vtt_tk21[] = { |
| {&(_ZTV4tk21[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4tk21[]; |
| extern VTBL_ENTRY _ZTV4tk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk21[]; |
| Class_Descriptor cd_tk21 = { "tk21", // class name |
| bases_tk21, 2, |
| &(vtc_tk21[0]), // expected_vtbl_contents |
| &(vtt_tk21[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4tk21),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4tk21),3, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4tk21),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 tk22 : si , sj { |
| }; |
| //SIG(-1 tk22) C1{ BC2{} BC3{}} |
| |
| |
| |
| static void Test_tk22() |
| { |
| extern Class_Descriptor cd_tk22; |
| void *lvp; |
| { |
| char buf[1]; |
| init_test(&cd_tk22, buf); |
| tk22 &lv = *(new (buf) tk22()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), 1, "sizeof(tk22)"); |
| check2(__alignof__(lv), 1, "__alignof__(tk22)"); |
| check_base_class_offset(lv, (si*), 0, "tk22"); |
| check_base_class_offset(lv, (sj*), 0, "tk22"); |
| test_class_info(&lv, &cd_tk22); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vtk22(Test_tk22, "tk22", 1); |
| |
| #else // __cplusplus |
| |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| static Base_Class bases_tk22[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4tk22[]; |
| Class_Descriptor cd_tk22 = { "tk22", // class name |
| bases_tk22, 2, |
| 0, // no vftv |
| 0, //no vtt |
| 1, // object size |
| NSPAIRA(_ZTI4tk22),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 xt0 : tk00 { |
| }; |
| //SIG(1 xt0) C1{ BC2{}} |
| |
| |
| |
| static void Test_xt0() |
| { |
| extern Class_Descriptor cd_xt0; |
| void *lvp; |
| { |
| char buf[1]; |
| init_test(&cd_xt0, buf); |
| xt0 &lv = *(new (buf) xt0()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), 1, "sizeof(xt0)"); |
| check2(__alignof__(lv), 1, "__alignof__(xt0)"); |
| check_base_class_offset(lv, (tk00*), 0, "xt0"); |
| test_class_info(&lv, &cd_xt0); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vxt0(Test_xt0, "xt0", 1); |
| |
| #else // __cplusplus |
| |
| extern Class_Descriptor cd_tk00; |
| extern VTBL_ENTRY _ZTI4tk00[]; |
| static Base_Class bases_xt0[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_tk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //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_xt0 = { "xt0", // class name |
| bases_xt0, 1, |
| 0, // no vftv |
| 0, //no vtt |
| 1, // 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 yt0 : virtual tk00 { |
| ~yt0(); // tgen |
| yt0(); // tgen |
| }; |
| //SIG(1 yt0) C1{ VBC2{}} |
| |
| |
| yt0 ::~yt0(){ note_dtor("yt0", this);} // tgen |
| yt0 ::yt0(){ note_ctor("yt0", this);} // tgen |
| |
| static void Test_yt0() |
| { |
| extern Class_Descriptor cd_yt0; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_yt0, buf); |
| yt0 *dp, &lv = *(dp=new (buf) yt0()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(yt0)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(yt0)"); |
| check_base_class_offset(lv, (tk00*), 0, "yt0"); |
| test_class_info(&lv, &cd_yt0); |
| dp->~yt0(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vyt0(Test_yt0, "yt0", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN3yt0C1Ev(); |
| extern void _ZN3yt0D1Ev(); |
| Name_Map name_map_yt0[] = { |
| NSPAIR(_ZN3yt0C1Ev), |
| NSPAIR(_ZN3yt0D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_tk00; |
| extern VTBL_ENTRY _ZTI4tk00[]; |
| static Base_Class bases_yt0[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_tk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI3yt0[]; |
| static VTBL_ENTRY vtc_yt0[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI3yt0[0]), |
| }; |
| extern VTBL_ENTRY _ZTV3yt0[]; |
| static VTT_ENTRY vtt_yt0[] = { |
| {&(_ZTV3yt0[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI3yt0[]; |
| extern VTBL_ENTRY _ZTV3yt0[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT3yt0[]; |
| Class_Descriptor cd_yt0 = { "yt0", // class name |
| bases_yt0, 1, |
| &(vtc_yt0[0]), // expected_vtbl_contents |
| &(vtt_yt0[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI3yt0),ABISELECT(40,24), //typeinfo_var |
| NSPAIRA(_ZTV3yt0),3, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT3yt0),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 za00 : sk00 , tk00 { |
| }; |
| //SIG(1 za00) C1{ BC2{} BC3{}} |
| |
| |
| |
| static void Test_za00() |
| { |
| extern Class_Descriptor cd_za00; |
| void *lvp; |
| { |
| char buf[1]; |
| init_test(&cd_za00, buf); |
| za00 &lv = *(new (buf) za00()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), 1, "sizeof(za00)"); |
| check2(__alignof__(lv), 1, "__alignof__(za00)"); |
| check_base_class_offset(lv, (sk00*), 0, "za00"); |
| check_base_class_offset(lv, (tk00*), 0, "za00"); |
| test_class_info(&lv, &cd_za00); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vza00(Test_za00, "za00", 1); |
| |
| #else // __cplusplus |
| |
| extern Class_Descriptor cd_sk00; |
| extern VTBL_ENTRY _ZTI4sk00[]; |
| extern Class_Descriptor cd_tk00; |
| extern VTBL_ENTRY _ZTI4tk00[]; |
| static Base_Class bases_za00[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_tk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //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_za00 = { "za00", // class name |
| bases_za00, 2, |
| 0, // no vftv |
| 0, //no vtt |
| 1, // 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 zb00 : sk00 , virtual tk00 { |
| ~zb00(); // tgen |
| zb00(); // tgen |
| }; |
| //SIG(1 zb00) C1{ BC2{} VBC3{}} |
| |
| |
| zb00 ::~zb00(){ note_dtor("zb00", this);} // tgen |
| zb00 ::zb00(){ note_ctor("zb00", this);} // tgen |
| |
| static void Test_zb00() |
| { |
| extern Class_Descriptor cd_zb00; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_zb00, buf); |
| zb00 *dp, &lv = *(dp=new (buf) zb00()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(zb00)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zb00)"); |
| check_base_class_offset(lv, (sk00*), 0, "zb00"); |
| check_base_class_offset(lv, (tk00*), 0, "zb00"); |
| test_class_info(&lv, &cd_zb00); |
| dp->~zb00(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzb00(Test_zb00, "zb00", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zb00C1Ev(); |
| extern void _ZN4zb00D1Ev(); |
| Name_Map name_map_zb00[] = { |
| NSPAIR(_ZN4zb00C1Ev), |
| NSPAIR(_ZN4zb00D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sk00; |
| extern VTBL_ENTRY _ZTI4sk00[]; |
| extern Class_Descriptor cd_tk00; |
| extern VTBL_ENTRY _ZTI4tk00[]; |
| static Base_Class bases_zb00[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_tk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zb00[]; |
| static VTBL_ENTRY vtc_zb00[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zb00[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zb00[]; |
| static VTT_ENTRY vtt_zb00[] = { |
| {&(_ZTV4zb00[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zb00[]; |
| extern VTBL_ENTRY _ZTV4zb00[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zb00[]; |
| Class_Descriptor cd_zb00 = { "zb00", // class name |
| bases_zb00, 2, |
| &(vtc_zb00[0]), // expected_vtbl_contents |
| &(vtt_zb00[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4zb00),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zb00),3, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zb00),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 zc00 : virtual sk00 , tk00 { |
| ~zc00(); // tgen |
| zc00(); // tgen |
| }; |
| //SIG(1 zc00) C1{ VBC2{} BC3{}} |
| |
| |
| zc00 ::~zc00(){ note_dtor("zc00", this);} // tgen |
| zc00 ::zc00(){ note_ctor("zc00", this);} // tgen |
| |
| static void Test_zc00() |
| { |
| extern Class_Descriptor cd_zc00; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_zc00, buf); |
| zc00 *dp, &lv = *(dp=new (buf) zc00()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(zc00)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zc00)"); |
| check_base_class_offset(lv, (sk00*), 0, "zc00"); |
| check_base_class_offset(lv, (tk00*), 0, "zc00"); |
| test_class_info(&lv, &cd_zc00); |
| dp->~zc00(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzc00(Test_zc00, "zc00", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zc00C1Ev(); |
| extern void _ZN4zc00D1Ev(); |
| Name_Map name_map_zc00[] = { |
| NSPAIR(_ZN4zc00C1Ev), |
| NSPAIR(_ZN4zc00D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sk00; |
| extern VTBL_ENTRY _ZTI4sk00[]; |
| extern Class_Descriptor cd_tk00; |
| extern VTBL_ENTRY _ZTI4tk00[]; |
| static Base_Class bases_zc00[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_tk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zc00[]; |
| static VTBL_ENTRY vtc_zc00[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zc00[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zc00[]; |
| static VTT_ENTRY vtt_zc00[] = { |
| {&(_ZTV4zc00[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zc00[]; |
| extern VTBL_ENTRY _ZTV4zc00[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zc00[]; |
| Class_Descriptor cd_zc00 = { "zc00", // class name |
| bases_zc00, 2, |
| &(vtc_zc00[0]), // expected_vtbl_contents |
| &(vtt_zc00[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4zc00),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zc00),3, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zc00),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 zd00 : virtual sk00 , virtual tk00 { |
| ~zd00(); // tgen |
| zd00(); // tgen |
| }; |
| //SIG(1 zd00) C1{ VBC2{} VBC3{}} |
| |
| |
| zd00 ::~zd00(){ note_dtor("zd00", this);} // tgen |
| zd00 ::zd00(){ note_ctor("zd00", this);} // tgen |
| |
| static void Test_zd00() |
| { |
| extern Class_Descriptor cd_zd00; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_zd00, buf); |
| zd00 *dp, &lv = *(dp=new (buf) zd00()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(zd00)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zd00)"); |
| check_base_class_offset(lv, (sk00*), 0, "zd00"); |
| check_base_class_offset(lv, (tk00*), 0, "zd00"); |
| test_class_info(&lv, &cd_zd00); |
| dp->~zd00(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzd00(Test_zd00, "zd00", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zd00C1Ev(); |
| extern void _ZN4zd00D1Ev(); |
| Name_Map name_map_zd00[] = { |
| NSPAIR(_ZN4zd00C1Ev), |
| NSPAIR(_ZN4zd00D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sk00; |
| extern VTBL_ENTRY _ZTI4sk00[]; |
| extern Class_Descriptor cd_tk00; |
| extern VTBL_ENTRY _ZTI4tk00[]; |
| static Base_Class bases_zd00[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_tk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zd00[]; |
| static VTBL_ENTRY vtc_zd00[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zd00[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zd00[]; |
| static VTT_ENTRY vtt_zd00[] = { |
| {&(_ZTV4zd00[4]), 4,4}, |
| }; |
| extern VTBL_ENTRY _ZTI4zd00[]; |
| extern VTBL_ENTRY _ZTV4zd00[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zd00[]; |
| Class_Descriptor cd_zd00 = { "zd00", // class name |
| bases_zd00, 2, |
| &(vtc_zd00[0]), // expected_vtbl_contents |
| &(vtt_zd00[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4zd00),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zd00),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zd00),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 za01 : sk00 , tk01 { |
| ~za01(); // tgen |
| za01(); // tgen |
| }; |
| //SIG(1 za01) C1{ BC2{} BC3{ VBC4{}}} |
| |
| |
| za01 ::~za01(){ note_dtor("za01", this);} // tgen |
| za01 ::za01(){ note_ctor("za01", this);} // tgen |
| |
| static void Test_za01() |
| { |
| extern Class_Descriptor cd_za01; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_za01, buf); |
| za01 *dp, &lv = *(dp=new (buf) za01()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(za01)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(za01)"); |
| check_base_class_offset(lv, (sk00*), 0, "za01"); |
| check_base_class_offset(lv, (sj*)(tk01*), 0, "za01"); |
| check_base_class_offset(lv, (tk01*), 0, "za01"); |
| test_class_info(&lv, &cd_za01); |
| dp->~za01(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vza01(Test_za01, "za01", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4za01C1Ev(); |
| extern void _ZN4za01D1Ev(); |
| Name_Map name_map_za01[] = { |
| NSPAIR(_ZN4za01C1Ev), |
| NSPAIR(_ZN4za01D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sk00; |
| extern VTBL_ENTRY _ZTI4sk00[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk01; |
| extern VTBL_ENTRY _ZTI4tk01[]; |
| extern VTBL_ENTRY _ZTV4tk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk01[]; |
| static Base_Class bases_za01[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_tk01, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4za01[]; |
| static VTBL_ENTRY vtc_za01[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4za01[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4za01[]; |
| static VTBL_ENTRY _tg__ZTV4tk01__4za01[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk01[0]), |
| }; |
| static VTT_ENTRY vtt_za01[] = { |
| {&(_ZTV4za01[3]), 3,3}, |
| {&(_tg__ZTV4tk01__4za01[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4za01[]; |
| extern VTBL_ENTRY _ZTV4za01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4za01[]; |
| Class_Descriptor cd_za01 = { "za01", // class name |
| bases_za01, 3, |
| &(vtc_za01[0]), // expected_vtbl_contents |
| &(vtt_za01[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4za01),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4za01),3, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4za01),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 zb01 : sk00 , virtual tk01 { |
| ~zb01(); // tgen |
| zb01(); // tgen |
| }; |
| //SIG(1 zb01) C1{ BC2{} VBC3{ VBC4{}}} |
| |
| |
| zb01 ::~zb01(){ note_dtor("zb01", this);} // tgen |
| zb01 ::zb01(){ note_ctor("zb01", this);} // tgen |
| |
| static void Test_zb01() |
| { |
| extern Class_Descriptor cd_zb01; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_zb01, buf); |
| zb01 *dp, &lv = *(dp=new (buf) zb01()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(zb01)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zb01)"); |
| check_base_class_offset(lv, (sk00*), 0, "zb01"); |
| check_base_class_offset(lv, (sj*)(tk01*), 0, "zb01"); |
| check_base_class_offset(lv, (tk01*), 0, "zb01"); |
| test_class_info(&lv, &cd_zb01); |
| dp->~zb01(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzb01(Test_zb01, "zb01", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zb01C1Ev(); |
| extern void _ZN4zb01D1Ev(); |
| Name_Map name_map_zb01[] = { |
| NSPAIR(_ZN4zb01C1Ev), |
| NSPAIR(_ZN4zb01D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sk00; |
| extern VTBL_ENTRY _ZTI4sk00[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk01; |
| extern VTBL_ENTRY _ZTI4tk01[]; |
| extern VTBL_ENTRY _ZTV4tk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk01[]; |
| static Base_Class bases_zb01[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_tk01, 0, //bcp->offset |
| -1, //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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zb01[]; |
| static VTBL_ENTRY vtc_zb01[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zb01[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zb01[]; |
| static VTBL_ENTRY _tg__ZTV4tk01__4zb01[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk01[0]), |
| }; |
| static VTT_ENTRY vtt_zb01[] = { |
| {&(_ZTV4zb01[4]), 4,4}, |
| {&(_ZTV4zb01[4]), 4,4}, |
| {&(_tg__ZTV4tk01__4zb01[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zb01[]; |
| extern VTBL_ENTRY _ZTV4zb01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zb01[]; |
| Class_Descriptor cd_zb01 = { "zb01", // class name |
| bases_zb01, 3, |
| &(vtc_zb01[0]), // expected_vtbl_contents |
| &(vtt_zb01[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4zb01),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zb01),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zb01),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 zc01 : virtual sk00 , tk01 { |
| ~zc01(); // tgen |
| zc01(); // tgen |
| }; |
| //SIG(1 zc01) C1{ VBC2{} BC3{ VBC4{}}} |
| |
| |
| zc01 ::~zc01(){ note_dtor("zc01", this);} // tgen |
| zc01 ::zc01(){ note_ctor("zc01", this);} // tgen |
| |
| static void Test_zc01() |
| { |
| extern Class_Descriptor cd_zc01; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_zc01, buf); |
| zc01 *dp, &lv = *(dp=new (buf) zc01()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(zc01)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zc01)"); |
| check_base_class_offset(lv, (sk00*), 0, "zc01"); |
| check_base_class_offset(lv, (sj*)(tk01*), 0, "zc01"); |
| check_base_class_offset(lv, (tk01*), 0, "zc01"); |
| test_class_info(&lv, &cd_zc01); |
| dp->~zc01(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzc01(Test_zc01, "zc01", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zc01C1Ev(); |
| extern void _ZN4zc01D1Ev(); |
| Name_Map name_map_zc01[] = { |
| NSPAIR(_ZN4zc01C1Ev), |
| NSPAIR(_ZN4zc01D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sk00; |
| extern VTBL_ENTRY _ZTI4sk00[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk01; |
| extern VTBL_ENTRY _ZTI4tk01[]; |
| extern VTBL_ENTRY _ZTV4tk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk01[]; |
| static Base_Class bases_zc01[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_tk01, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zc01[]; |
| static VTBL_ENTRY vtc_zc01[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zc01[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zc01[]; |
| static VTBL_ENTRY _tg__ZTV4tk01__4zc01[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk01[0]), |
| }; |
| static VTT_ENTRY vtt_zc01[] = { |
| {&(_ZTV4zc01[4]), 4,4}, |
| {&(_tg__ZTV4tk01__4zc01[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zc01[]; |
| extern VTBL_ENTRY _ZTV4zc01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zc01[]; |
| Class_Descriptor cd_zc01 = { "zc01", // class name |
| bases_zc01, 3, |
| &(vtc_zc01[0]), // expected_vtbl_contents |
| &(vtt_zc01[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4zc01),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zc01),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zc01),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 zd01 : virtual sk00 , virtual tk01 { |
| ~zd01(); // tgen |
| zd01(); // tgen |
| }; |
| //SIG(1 zd01) C1{ VBC2{} VBC3{ VBC4{}}} |
| |
| |
| zd01 ::~zd01(){ note_dtor("zd01", this);} // tgen |
| zd01 ::zd01(){ note_ctor("zd01", this);} // tgen |
| |
| static void Test_zd01() |
| { |
| extern Class_Descriptor cd_zd01; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_zd01, buf); |
| zd01 *dp, &lv = *(dp=new (buf) zd01()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(zd01)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zd01)"); |
| check_base_class_offset(lv, (sk00*), 0, "zd01"); |
| check_base_class_offset(lv, (sj*)(tk01*), 0, "zd01"); |
| check_base_class_offset(lv, (tk01*), 0, "zd01"); |
| test_class_info(&lv, &cd_zd01); |
| dp->~zd01(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzd01(Test_zd01, "zd01", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zd01C1Ev(); |
| extern void _ZN4zd01D1Ev(); |
| Name_Map name_map_zd01[] = { |
| NSPAIR(_ZN4zd01C1Ev), |
| NSPAIR(_ZN4zd01D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sk00; |
| extern VTBL_ENTRY _ZTI4sk00[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk01; |
| extern VTBL_ENTRY _ZTI4tk01[]; |
| extern VTBL_ENTRY _ZTV4tk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk01[]; |
| static Base_Class bases_zd01[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_tk01, 0, //bcp->offset |
| -1, //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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zd01[]; |
| static VTBL_ENTRY vtc_zd01[] = { |
| 0, |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zd01[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zd01[]; |
| static VTBL_ENTRY _tg__ZTV4tk01__4zd01[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk01[0]), |
| }; |
| static VTT_ENTRY vtt_zd01[] = { |
| {&(_ZTV4zd01[5]), 5,5}, |
| {&(_ZTV4zd01[5]), 5,5}, |
| {&(_tg__ZTV4tk01__4zd01[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zd01[]; |
| extern VTBL_ENTRY _ZTV4zd01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zd01[]; |
| Class_Descriptor cd_zd01 = { "zd01", // class name |
| bases_zd01, 3, |
| &(vtc_zd01[0]), // expected_vtbl_contents |
| &(vtt_zd01[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4zd01),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zd01),5, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zd01),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 za02 : sk00 , tk02 { |
| }; |
| //SIG(1 za02) C1{ BC2{} BC3{ BC4{}}} |
| |
| |
| |
| static void Test_za02() |
| { |
| extern Class_Descriptor cd_za02; |
| void *lvp; |
| { |
| char buf[1]; |
| init_test(&cd_za02, buf); |
| za02 &lv = *(new (buf) za02()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), 1, "sizeof(za02)"); |
| check2(__alignof__(lv), 1, "__alignof__(za02)"); |
| check_base_class_offset(lv, (sk00*), 0, "za02"); |
| check_base_class_offset(lv, (sj*)(tk02*), 0, "za02"); |
| check_base_class_offset(lv, (tk02*), 0, "za02"); |
| test_class_info(&lv, &cd_za02); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vza02(Test_za02, "za02", 1); |
| |
| #else // __cplusplus |
| |
| extern Class_Descriptor cd_sk00; |
| extern VTBL_ENTRY _ZTI4sk00[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk02; |
| extern VTBL_ENTRY _ZTI4tk02[]; |
| static Base_Class bases_za02[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_tk02, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //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_za02 = { "za02", // class name |
| bases_za02, 3, |
| 0, // no vftv |
| 0, //no vtt |
| 1, // 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 zb02 : sk00 , virtual tk02 { |
| ~zb02(); // tgen |
| zb02(); // tgen |
| }; |
| //SIG(1 zb02) C1{ BC2{} VBC3{ BC4{}}} |
| |
| |
| zb02 ::~zb02(){ note_dtor("zb02", this);} // tgen |
| zb02 ::zb02(){ note_ctor("zb02", this);} // tgen |
| |
| static void Test_zb02() |
| { |
| extern Class_Descriptor cd_zb02; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_zb02, buf); |
| zb02 *dp, &lv = *(dp=new (buf) zb02()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(zb02)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zb02)"); |
| check_base_class_offset(lv, (sk00*), 0, "zb02"); |
| check_base_class_offset(lv, (sj*)(tk02*), 0, "zb02"); |
| check_base_class_offset(lv, (tk02*), 0, "zb02"); |
| test_class_info(&lv, &cd_zb02); |
| dp->~zb02(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzb02(Test_zb02, "zb02", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zb02C1Ev(); |
| extern void _ZN4zb02D1Ev(); |
| Name_Map name_map_zb02[] = { |
| NSPAIR(_ZN4zb02C1Ev), |
| NSPAIR(_ZN4zb02D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sk00; |
| extern VTBL_ENTRY _ZTI4sk00[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk02; |
| extern VTBL_ENTRY _ZTI4tk02[]; |
| static Base_Class bases_zb02[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_tk02, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zb02[]; |
| static VTBL_ENTRY vtc_zb02[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zb02[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zb02[]; |
| static VTT_ENTRY vtt_zb02[] = { |
| {&(_ZTV4zb02[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zb02[]; |
| extern VTBL_ENTRY _ZTV4zb02[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zb02[]; |
| Class_Descriptor cd_zb02 = { "zb02", // class name |
| bases_zb02, 3, |
| &(vtc_zb02[0]), // expected_vtbl_contents |
| &(vtt_zb02[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4zb02),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zb02),3, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zb02),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 zc02 : virtual sk00 , tk02 { |
| ~zc02(); // tgen |
| zc02(); // tgen |
| }; |
| //SIG(1 zc02) C1{ VBC2{} BC3{ BC4{}}} |
| |
| |
| zc02 ::~zc02(){ note_dtor("zc02", this);} // tgen |
| zc02 ::zc02(){ note_ctor("zc02", this);} // tgen |
| |
| static void Test_zc02() |
| { |
| extern Class_Descriptor cd_zc02; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_zc02, buf); |
| zc02 *dp, &lv = *(dp=new (buf) zc02()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(zc02)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zc02)"); |
| check_base_class_offset(lv, (sk00*), 0, "zc02"); |
| check_base_class_offset(lv, (sj*)(tk02*), 0, "zc02"); |
| check_base_class_offset(lv, (tk02*), 0, "zc02"); |
| test_class_info(&lv, &cd_zc02); |
| dp->~zc02(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzc02(Test_zc02, "zc02", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zc02C1Ev(); |
| extern void _ZN4zc02D1Ev(); |
| Name_Map name_map_zc02[] = { |
| NSPAIR(_ZN4zc02C1Ev), |
| NSPAIR(_ZN4zc02D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sk00; |
| extern VTBL_ENTRY _ZTI4sk00[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk02; |
| extern VTBL_ENTRY _ZTI4tk02[]; |
| static Base_Class bases_zc02[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_tk02, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zc02[]; |
| static VTBL_ENTRY vtc_zc02[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zc02[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zc02[]; |
| static VTT_ENTRY vtt_zc02[] = { |
| {&(_ZTV4zc02[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zc02[]; |
| extern VTBL_ENTRY _ZTV4zc02[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zc02[]; |
| Class_Descriptor cd_zc02 = { "zc02", // class name |
| bases_zc02, 3, |
| &(vtc_zc02[0]), // expected_vtbl_contents |
| &(vtt_zc02[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4zc02),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zc02),3, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zc02),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 zd02 : virtual sk00 , virtual tk02 { |
| ~zd02(); // tgen |
| zd02(); // tgen |
| }; |
| //SIG(1 zd02) C1{ VBC2{} VBC3{ BC4{}}} |
| |
| |
| zd02 ::~zd02(){ note_dtor("zd02", this);} // tgen |
| zd02 ::zd02(){ note_ctor("zd02", this);} // tgen |
| |
| static void Test_zd02() |
| { |
| extern Class_Descriptor cd_zd02; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_zd02, buf); |
| zd02 *dp, &lv = *(dp=new (buf) zd02()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(zd02)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zd02)"); |
| check_base_class_offset(lv, (sk00*), 0, "zd02"); |
| check_base_class_offset(lv, (sj*)(tk02*), 0, "zd02"); |
| check_base_class_offset(lv, (tk02*), 0, "zd02"); |
| test_class_info(&lv, &cd_zd02); |
| dp->~zd02(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzd02(Test_zd02, "zd02", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zd02C1Ev(); |
| extern void _ZN4zd02D1Ev(); |
| Name_Map name_map_zd02[] = { |
| NSPAIR(_ZN4zd02C1Ev), |
| NSPAIR(_ZN4zd02D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sk00; |
| extern VTBL_ENTRY _ZTI4sk00[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk02; |
| extern VTBL_ENTRY _ZTI4tk02[]; |
| static Base_Class bases_zd02[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_tk02, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zd02[]; |
| static VTBL_ENTRY vtc_zd02[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zd02[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zd02[]; |
| static VTT_ENTRY vtt_zd02[] = { |
| {&(_ZTV4zd02[4]), 4,4}, |
| }; |
| extern VTBL_ENTRY _ZTI4zd02[]; |
| extern VTBL_ENTRY _ZTV4zd02[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zd02[]; |
| Class_Descriptor cd_zd02 = { "zd02", // class name |
| bases_zd02, 3, |
| &(vtc_zd02[0]), // expected_vtbl_contents |
| &(vtt_zd02[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4zd02),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zd02),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zd02),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 za03 : sk00 , tk11 { |
| ~za03(); // tgen |
| za03(); // tgen |
| }; |
| //SIG(1 za03) C1{ BC2{} BC3{ VBC4{} VBC5{}}} |
| |
| |
| za03 ::~za03(){ note_dtor("za03", this);} // tgen |
| za03 ::za03(){ note_ctor("za03", this);} // tgen |
| |
| static void Test_za03() |
| { |
| extern Class_Descriptor cd_za03; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_za03, buf); |
| za03 *dp, &lv = *(dp=new (buf) za03()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(za03)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(za03)"); |
| check_base_class_offset(lv, (sk00*), 0, "za03"); |
| check_base_class_offset(lv, (si*)(tk11*), 0, "za03"); |
| check_base_class_offset(lv, (sj*)(tk11*), 0, "za03"); |
| check_base_class_offset(lv, (tk11*), 0, "za03"); |
| test_class_info(&lv, &cd_za03); |
| dp->~za03(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vza03(Test_za03, "za03", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4za03C1Ev(); |
| extern void _ZN4za03D1Ev(); |
| Name_Map name_map_za03[] = { |
| NSPAIR(_ZN4za03C1Ev), |
| NSPAIR(_ZN4za03D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sk00; |
| extern VTBL_ENTRY _ZTI4sk00[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk11; |
| extern VTBL_ENTRY _ZTI4tk11[]; |
| extern VTBL_ENTRY _ZTV4tk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk11[]; |
| static Base_Class bases_za03[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 3, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 3, //immediately_derived |
| 0, 1}, |
| {&cd_tk11, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4za03[]; |
| static VTBL_ENTRY vtc_za03[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4za03[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4za03[]; |
| static VTBL_ENTRY _tg__ZTV4tk11__4za03[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk11[0]), |
| }; |
| static VTT_ENTRY vtt_za03[] = { |
| {&(_ZTV4za03[4]), 4,4}, |
| {&(_tg__ZTV4tk11__4za03[4]), 4,4}, |
| }; |
| extern VTBL_ENTRY _ZTI4za03[]; |
| extern VTBL_ENTRY _ZTV4za03[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4za03[]; |
| Class_Descriptor cd_za03 = { "za03", // class name |
| bases_za03, 4, |
| &(vtc_za03[0]), // expected_vtbl_contents |
| &(vtt_za03[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4za03),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4za03),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4za03),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 zb03 : sk00 , virtual tk11 { |
| ~zb03(); // tgen |
| zb03(); // tgen |
| }; |
| //SIG(1 zb03) C1{ BC2{} VBC3{ VBC4{} VBC5{}}} |
| |
| |
| zb03 ::~zb03(){ note_dtor("zb03", this);} // tgen |
| zb03 ::zb03(){ note_ctor("zb03", this);} // tgen |
| |
| static void Test_zb03() |
| { |
| extern Class_Descriptor cd_zb03; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_zb03, buf); |
| zb03 *dp, &lv = *(dp=new (buf) zb03()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(zb03)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zb03)"); |
| check_base_class_offset(lv, (sk00*), 0, "zb03"); |
| check_base_class_offset(lv, (si*)(tk11*), 0, "zb03"); |
| check_base_class_offset(lv, (sj*)(tk11*), 0, "zb03"); |
| check_base_class_offset(lv, (tk11*), 0, "zb03"); |
| test_class_info(&lv, &cd_zb03); |
| dp->~zb03(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzb03(Test_zb03, "zb03", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zb03C1Ev(); |
| extern void _ZN4zb03D1Ev(); |
| Name_Map name_map_zb03[] = { |
| NSPAIR(_ZN4zb03C1Ev), |
| NSPAIR(_ZN4zb03D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sk00; |
| extern VTBL_ENTRY _ZTI4sk00[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk11; |
| extern VTBL_ENTRY _ZTI4tk11[]; |
| extern VTBL_ENTRY _ZTV4tk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk11[]; |
| static Base_Class bases_zb03[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 3, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 3, //immediately_derived |
| 0, 1}, |
| {&cd_tk11, 0, //bcp->offset |
| -1, //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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zb03[]; |
| static VTBL_ENTRY vtc_zb03[] = { |
| 0, |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zb03[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zb03[]; |
| static VTBL_ENTRY _tg__ZTV4tk11__4zb03[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk11[0]), |
| }; |
| static VTT_ENTRY vtt_zb03[] = { |
| {&(_ZTV4zb03[5]), 5,5}, |
| {&(_ZTV4zb03[5]), 5,5}, |
| {&(_tg__ZTV4tk11__4zb03[4]), 4,4}, |
| }; |
| extern VTBL_ENTRY _ZTI4zb03[]; |
| extern VTBL_ENTRY _ZTV4zb03[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zb03[]; |
| Class_Descriptor cd_zb03 = { "zb03", // class name |
| bases_zb03, 4, |
| &(vtc_zb03[0]), // expected_vtbl_contents |
| &(vtt_zb03[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4zb03),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zb03),5, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zb03),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 zc03 : virtual sk00 , tk11 { |
| ~zc03(); // tgen |
| zc03(); // tgen |
| }; |
| //SIG(1 zc03) C1{ VBC2{} BC3{ VBC4{} VBC5{}}} |
| |
| |
| zc03 ::~zc03(){ note_dtor("zc03", this);} // tgen |
| zc03 ::zc03(){ note_ctor("zc03", this);} // tgen |
| |
| static void Test_zc03() |
| { |
| extern Class_Descriptor cd_zc03; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_zc03, buf); |
| zc03 *dp, &lv = *(dp=new (buf) zc03()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(zc03)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zc03)"); |
| check_base_class_offset(lv, (sk00*), 0, "zc03"); |
| check_base_class_offset(lv, (si*)(tk11*), 0, "zc03"); |
| check_base_class_offset(lv, (sj*)(tk11*), 0, "zc03"); |
| check_base_class_offset(lv, (tk11*), 0, "zc03"); |
| test_class_info(&lv, &cd_zc03); |
| dp->~zc03(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzc03(Test_zc03, "zc03", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zc03C1Ev(); |
| extern void _ZN4zc03D1Ev(); |
| Name_Map name_map_zc03[] = { |
| NSPAIR(_ZN4zc03C1Ev), |
| NSPAIR(_ZN4zc03D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sk00; |
| extern VTBL_ENTRY _ZTI4sk00[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk11; |
| extern VTBL_ENTRY _ZTI4tk11[]; |
| extern VTBL_ENTRY _ZTV4tk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk11[]; |
| static Base_Class bases_zc03[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 3, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 3, //immediately_derived |
| 0, 1}, |
| {&cd_tk11, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zc03[]; |
| static VTBL_ENTRY vtc_zc03[] = { |
| 0, |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zc03[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zc03[]; |
| static VTBL_ENTRY _tg__ZTV4tk11__4zc03[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk11[0]), |
| }; |
| static VTT_ENTRY vtt_zc03[] = { |
| {&(_ZTV4zc03[5]), 5,5}, |
| {&(_tg__ZTV4tk11__4zc03[4]), 4,4}, |
| }; |
| extern VTBL_ENTRY _ZTI4zc03[]; |
| extern VTBL_ENTRY _ZTV4zc03[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zc03[]; |
| Class_Descriptor cd_zc03 = { "zc03", // class name |
| bases_zc03, 4, |
| &(vtc_zc03[0]), // expected_vtbl_contents |
| &(vtt_zc03[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4zc03),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zc03),5, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zc03),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 zd03 : virtual sk00 , virtual tk11 { |
| ~zd03(); // tgen |
| zd03(); // tgen |
| }; |
| //SIG(1 zd03) C1{ VBC2{} VBC3{ VBC4{} VBC5{}}} |
| |
| |
| zd03 ::~zd03(){ note_dtor("zd03", this);} // tgen |
| zd03 ::zd03(){ note_ctor("zd03", this);} // tgen |
| |
| static void Test_zd03() |
| { |
| extern Class_Descriptor cd_zd03; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_zd03, buf); |
| zd03 *dp, &lv = *(dp=new (buf) zd03()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(zd03)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zd03)"); |
| check_base_class_offset(lv, (sk00*), 0, "zd03"); |
| check_base_class_offset(lv, (si*)(tk11*), 0, "zd03"); |
| check_base_class_offset(lv, (sj*)(tk11*), 0, "zd03"); |
| check_base_class_offset(lv, (tk11*), 0, "zd03"); |
| test_class_info(&lv, &cd_zd03); |
| dp->~zd03(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzd03(Test_zd03, "zd03", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zd03C1Ev(); |
| extern void _ZN4zd03D1Ev(); |
| Name_Map name_map_zd03[] = { |
| NSPAIR(_ZN4zd03C1Ev), |
| NSPAIR(_ZN4zd03D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sk00; |
| extern VTBL_ENTRY _ZTI4sk00[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk11; |
| extern VTBL_ENTRY _ZTI4tk11[]; |
| extern VTBL_ENTRY _ZTV4tk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk11[]; |
| static Base_Class bases_zd03[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 3, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 3, //immediately_derived |
| 0, 1}, |
| {&cd_tk11, 0, //bcp->offset |
| -1, //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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zd03[]; |
| static VTBL_ENTRY vtc_zd03[] = { |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zd03[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zd03[]; |
| static VTBL_ENTRY _tg__ZTV4tk11__4zd03[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk11[0]), |
| }; |
| static VTT_ENTRY vtt_zd03[] = { |
| {&(_ZTV4zd03[6]), 6,6}, |
| {&(_ZTV4zd03[6]), 6,6}, |
| {&(_tg__ZTV4tk11__4zd03[4]), 4,4}, |
| }; |
| extern VTBL_ENTRY _ZTI4zd03[]; |
| extern VTBL_ENTRY _ZTV4zd03[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zd03[]; |
| Class_Descriptor cd_zd03 = { "zd03", // class name |
| bases_zd03, 4, |
| &(vtc_zd03[0]), // expected_vtbl_contents |
| &(vtt_zd03[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4zd03),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zd03),6, //virtual function table var |
| 6, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zd03),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 za04 : sk00 , tk12 { |
| ~za04(); // tgen |
| za04(); // tgen |
| }; |
| //SIG(1 za04) C1{ BC2{} BC3{ VBC4{} BC5{}}} |
| |
| |
| za04 ::~za04(){ note_dtor("za04", this);} // tgen |
| za04 ::za04(){ note_ctor("za04", this);} // tgen |
| |
| static void Test_za04() |
| { |
| extern Class_Descriptor cd_za04; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_za04, buf); |
| za04 *dp, &lv = *(dp=new (buf) za04()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(za04)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(za04)"); |
| check_base_class_offset(lv, (sk00*), 0, "za04"); |
| check_base_class_offset(lv, (si*)(tk12*), 0, "za04"); |
| check_base_class_offset(lv, (sj*)(tk12*), 0, "za04"); |
| check_base_class_offset(lv, (tk12*), 0, "za04"); |
| test_class_info(&lv, &cd_za04); |
| dp->~za04(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vza04(Test_za04, "za04", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4za04C1Ev(); |
| extern void _ZN4za04D1Ev(); |
| Name_Map name_map_za04[] = { |
| NSPAIR(_ZN4za04C1Ev), |
| NSPAIR(_ZN4za04D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sk00; |
| extern VTBL_ENTRY _ZTI4sk00[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk12; |
| extern VTBL_ENTRY _ZTI4tk12[]; |
| extern VTBL_ENTRY _ZTV4tk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk12[]; |
| static Base_Class bases_za04[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 3, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 3, //immediately_derived |
| 0, 0}, |
| {&cd_tk12, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4za04[]; |
| static VTBL_ENTRY vtc_za04[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4za04[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4za04[]; |
| static VTBL_ENTRY _tg__ZTV4tk12__4za04[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk12[0]), |
| }; |
| static VTT_ENTRY vtt_za04[] = { |
| {&(_ZTV4za04[3]), 3,3}, |
| {&(_tg__ZTV4tk12__4za04[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4za04[]; |
| extern VTBL_ENTRY _ZTV4za04[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4za04[]; |
| Class_Descriptor cd_za04 = { "za04", // class name |
| bases_za04, 4, |
| &(vtc_za04[0]), // expected_vtbl_contents |
| &(vtt_za04[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4za04),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4za04),3, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4za04),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 zb04 : sk00 , virtual tk12 { |
| ~zb04(); // tgen |
| zb04(); // tgen |
| }; |
| //SIG(1 zb04) C1{ BC2{} VBC3{ VBC4{} BC5{}}} |
| |
| |
| zb04 ::~zb04(){ note_dtor("zb04", this);} // tgen |
| zb04 ::zb04(){ note_ctor("zb04", this);} // tgen |
| |
| static void Test_zb04() |
| { |
| extern Class_Descriptor cd_zb04; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_zb04, buf); |
| zb04 *dp, &lv = *(dp=new (buf) zb04()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(zb04)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zb04)"); |
| check_base_class_offset(lv, (sk00*), 0, "zb04"); |
| check_base_class_offset(lv, (si*)(tk12*), 0, "zb04"); |
| check_base_class_offset(lv, (sj*)(tk12*), 0, "zb04"); |
| check_base_class_offset(lv, (tk12*), 0, "zb04"); |
| test_class_info(&lv, &cd_zb04); |
| dp->~zb04(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzb04(Test_zb04, "zb04", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zb04C1Ev(); |
| extern void _ZN4zb04D1Ev(); |
| Name_Map name_map_zb04[] = { |
| NSPAIR(_ZN4zb04C1Ev), |
| NSPAIR(_ZN4zb04D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sk00; |
| extern VTBL_ENTRY _ZTI4sk00[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk12; |
| extern VTBL_ENTRY _ZTI4tk12[]; |
| extern VTBL_ENTRY _ZTV4tk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk12[]; |
| static Base_Class bases_zb04[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 3, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 3, //immediately_derived |
| 0, 0}, |
| {&cd_tk12, 0, //bcp->offset |
| -1, //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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zb04[]; |
| static VTBL_ENTRY vtc_zb04[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zb04[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zb04[]; |
| static VTBL_ENTRY _tg__ZTV4tk12__4zb04[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk12[0]), |
| }; |
| static VTT_ENTRY vtt_zb04[] = { |
| {&(_ZTV4zb04[4]), 4,4}, |
| {&(_ZTV4zb04[4]), 4,4}, |
| {&(_tg__ZTV4tk12__4zb04[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zb04[]; |
| extern VTBL_ENTRY _ZTV4zb04[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zb04[]; |
| Class_Descriptor cd_zb04 = { "zb04", // class name |
| bases_zb04, 4, |
| &(vtc_zb04[0]), // expected_vtbl_contents |
| &(vtt_zb04[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4zb04),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zb04),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zb04),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 zc04 : virtual sk00 , tk12 { |
| ~zc04(); // tgen |
| zc04(); // tgen |
| }; |
| //SIG(1 zc04) C1{ VBC2{} BC3{ VBC4{} BC5{}}} |
| |
| |
| zc04 ::~zc04(){ note_dtor("zc04", this);} // tgen |
| zc04 ::zc04(){ note_ctor("zc04", this);} // tgen |
| |
| static void Test_zc04() |
| { |
| extern Class_Descriptor cd_zc04; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_zc04, buf); |
| zc04 *dp, &lv = *(dp=new (buf) zc04()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(zc04)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zc04)"); |
| check_base_class_offset(lv, (sk00*), 0, "zc04"); |
| check_base_class_offset(lv, (si*)(tk12*), 0, "zc04"); |
| check_base_class_offset(lv, (sj*)(tk12*), 0, "zc04"); |
| check_base_class_offset(lv, (tk12*), 0, "zc04"); |
| test_class_info(&lv, &cd_zc04); |
| dp->~zc04(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzc04(Test_zc04, "zc04", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zc04C1Ev(); |
| extern void _ZN4zc04D1Ev(); |
| Name_Map name_map_zc04[] = { |
| NSPAIR(_ZN4zc04C1Ev), |
| NSPAIR(_ZN4zc04D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sk00; |
| extern VTBL_ENTRY _ZTI4sk00[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk12; |
| extern VTBL_ENTRY _ZTI4tk12[]; |
| extern VTBL_ENTRY _ZTV4tk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk12[]; |
| static Base_Class bases_zc04[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 3, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 3, //immediately_derived |
| 0, 0}, |
| {&cd_tk12, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zc04[]; |
| static VTBL_ENTRY vtc_zc04[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zc04[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zc04[]; |
| static VTBL_ENTRY _tg__ZTV4tk12__4zc04[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk12[0]), |
| }; |
| static VTT_ENTRY vtt_zc04[] = { |
| {&(_ZTV4zc04[4]), 4,4}, |
| {&(_tg__ZTV4tk12__4zc04[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zc04[]; |
| extern VTBL_ENTRY _ZTV4zc04[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zc04[]; |
| Class_Descriptor cd_zc04 = { "zc04", // class name |
| bases_zc04, 4, |
| &(vtc_zc04[0]), // expected_vtbl_contents |
| &(vtt_zc04[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4zc04),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zc04),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zc04),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 zd04 : virtual sk00 , virtual tk12 { |
| ~zd04(); // tgen |
| zd04(); // tgen |
| }; |
| //SIG(1 zd04) C1{ VBC2{} VBC3{ VBC4{} BC5{}}} |
| |
| |
| zd04 ::~zd04(){ note_dtor("zd04", this);} // tgen |
| zd04 ::zd04(){ note_ctor("zd04", this);} // tgen |
| |
| static void Test_zd04() |
| { |
| extern Class_Descriptor cd_zd04; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_zd04, buf); |
| zd04 *dp, &lv = *(dp=new (buf) zd04()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(zd04)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zd04)"); |
| check_base_class_offset(lv, (sk00*), 0, "zd04"); |
| check_base_class_offset(lv, (si*)(tk12*), 0, "zd04"); |
| check_base_class_offset(lv, (sj*)(tk12*), 0, "zd04"); |
| check_base_class_offset(lv, (tk12*), 0, "zd04"); |
| test_class_info(&lv, &cd_zd04); |
| dp->~zd04(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzd04(Test_zd04, "zd04", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zd04C1Ev(); |
| extern void _ZN4zd04D1Ev(); |
| Name_Map name_map_zd04[] = { |
| NSPAIR(_ZN4zd04C1Ev), |
| NSPAIR(_ZN4zd04D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sk00; |
| extern VTBL_ENTRY _ZTI4sk00[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk12; |
| extern VTBL_ENTRY _ZTI4tk12[]; |
| extern VTBL_ENTRY _ZTV4tk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk12[]; |
| static Base_Class bases_zd04[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 3, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 3, //immediately_derived |
| 0, 0}, |
| {&cd_tk12, 0, //bcp->offset |
| -1, //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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zd04[]; |
| static VTBL_ENTRY vtc_zd04[] = { |
| 0, |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zd04[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zd04[]; |
| static VTBL_ENTRY _tg__ZTV4tk12__4zd04[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk12[0]), |
| }; |
| static VTT_ENTRY vtt_zd04[] = { |
| {&(_ZTV4zd04[5]), 5,5}, |
| {&(_ZTV4zd04[5]), 5,5}, |
| {&(_tg__ZTV4tk12__4zd04[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zd04[]; |
| extern VTBL_ENTRY _ZTV4zd04[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zd04[]; |
| Class_Descriptor cd_zd04 = { "zd04", // class name |
| bases_zd04, 4, |
| &(vtc_zd04[0]), // expected_vtbl_contents |
| &(vtt_zd04[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4zd04),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zd04),5, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zd04),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 za05 : sk00 , tk21 { |
| ~za05(); // tgen |
| za05(); // tgen |
| }; |
| //SIG(1 za05) C1{ BC2{} BC3{ BC4{} VBC5{}}} |
| |
| |
| za05 ::~za05(){ note_dtor("za05", this);} // tgen |
| za05 ::za05(){ note_ctor("za05", this);} // tgen |
| |
| static void Test_za05() |
| { |
| extern Class_Descriptor cd_za05; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_za05, buf); |
| za05 *dp, &lv = *(dp=new (buf) za05()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(za05)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(za05)"); |
| check_base_class_offset(lv, (sk00*), 0, "za05"); |
| check_base_class_offset(lv, (si*)(tk21*), 0, "za05"); |
| check_base_class_offset(lv, (sj*)(tk21*), 0, "za05"); |
| check_base_class_offset(lv, (tk21*), 0, "za05"); |
| test_class_info(&lv, &cd_za05); |
| dp->~za05(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vza05(Test_za05, "za05", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4za05C1Ev(); |
| extern void _ZN4za05D1Ev(); |
| Name_Map name_map_za05[] = { |
| NSPAIR(_ZN4za05C1Ev), |
| NSPAIR(_ZN4za05D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sk00; |
| extern VTBL_ENTRY _ZTI4sk00[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk21; |
| extern VTBL_ENTRY _ZTI4tk21[]; |
| extern VTBL_ENTRY _ZTV4tk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk21[]; |
| static Base_Class bases_za05[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 3, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 3, //immediately_derived |
| 0, 1}, |
| {&cd_tk21, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4za05[]; |
| static VTBL_ENTRY vtc_za05[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4za05[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4za05[]; |
| static VTBL_ENTRY _tg__ZTV4tk21__4za05[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk21[0]), |
| }; |
| static VTT_ENTRY vtt_za05[] = { |
| {&(_ZTV4za05[3]), 3,3}, |
| {&(_tg__ZTV4tk21__4za05[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4za05[]; |
| extern VTBL_ENTRY _ZTV4za05[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4za05[]; |
| Class_Descriptor cd_za05 = { "za05", // class name |
| bases_za05, 4, |
| &(vtc_za05[0]), // expected_vtbl_contents |
| &(vtt_za05[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4za05),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4za05),3, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4za05),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 zb05 : sk00 , virtual tk21 { |
| ~zb05(); // tgen |
| zb05(); // tgen |
| }; |
| //SIG(1 zb05) C1{ BC2{} VBC3{ BC4{} VBC5{}}} |
| |
| |
| zb05 ::~zb05(){ note_dtor("zb05", this);} // tgen |
| zb05 ::zb05(){ note_ctor("zb05", this);} // tgen |
| |
| static void Test_zb05() |
| { |
| extern Class_Descriptor cd_zb05; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_zb05, buf); |
| zb05 *dp, &lv = *(dp=new (buf) zb05()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(zb05)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zb05)"); |
| check_base_class_offset(lv, (sk00*), 0, "zb05"); |
| check_base_class_offset(lv, (si*)(tk21*), 0, "zb05"); |
| check_base_class_offset(lv, (sj*)(tk21*), 0, "zb05"); |
| check_base_class_offset(lv, (tk21*), 0, "zb05"); |
| test_class_info(&lv, &cd_zb05); |
| dp->~zb05(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzb05(Test_zb05, "zb05", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zb05C1Ev(); |
| extern void _ZN4zb05D1Ev(); |
| Name_Map name_map_zb05[] = { |
| NSPAIR(_ZN4zb05C1Ev), |
| NSPAIR(_ZN4zb05D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sk00; |
| extern VTBL_ENTRY _ZTI4sk00[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk21; |
| extern VTBL_ENTRY _ZTI4tk21[]; |
| extern VTBL_ENTRY _ZTV4tk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk21[]; |
| static Base_Class bases_zb05[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 3, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 3, //immediately_derived |
| 0, 1}, |
| {&cd_tk21, 0, //bcp->offset |
| -1, //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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zb05[]; |
| static VTBL_ENTRY vtc_zb05[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zb05[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zb05[]; |
| static VTBL_ENTRY _tg__ZTV4tk21__4zb05[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk21[0]), |
| }; |
| static VTT_ENTRY vtt_zb05[] = { |
| {&(_ZTV4zb05[4]), 4,4}, |
| {&(_ZTV4zb05[4]), 4,4}, |
| {&(_tg__ZTV4tk21__4zb05[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zb05[]; |
| extern VTBL_ENTRY _ZTV4zb05[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zb05[]; |
| Class_Descriptor cd_zb05 = { "zb05", // class name |
| bases_zb05, 4, |
| &(vtc_zb05[0]), // expected_vtbl_contents |
| &(vtt_zb05[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4zb05),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zb05),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zb05),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 zc05 : virtual sk00 , tk21 { |
| ~zc05(); // tgen |
| zc05(); // tgen |
| }; |
| //SIG(1 zc05) C1{ VBC2{} BC3{ BC4{} VBC5{}}} |
| |
| |
| zc05 ::~zc05(){ note_dtor("zc05", this);} // tgen |
| zc05 ::zc05(){ note_ctor("zc05", this);} // tgen |
| |
| static void Test_zc05() |
| { |
| extern Class_Descriptor cd_zc05; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_zc05, buf); |
| zc05 *dp, &lv = *(dp=new (buf) zc05()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(zc05)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zc05)"); |
| check_base_class_offset(lv, (sk00*), 0, "zc05"); |
| check_base_class_offset(lv, (si*)(tk21*), 0, "zc05"); |
| check_base_class_offset(lv, (sj*)(tk21*), 0, "zc05"); |
| check_base_class_offset(lv, (tk21*), 0, "zc05"); |
| test_class_info(&lv, &cd_zc05); |
| dp->~zc05(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzc05(Test_zc05, "zc05", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zc05C1Ev(); |
| extern void _ZN4zc05D1Ev(); |
| Name_Map name_map_zc05[] = { |
| NSPAIR(_ZN4zc05C1Ev), |
| NSPAIR(_ZN4zc05D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sk00; |
| extern VTBL_ENTRY _ZTI4sk00[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk21; |
| extern VTBL_ENTRY _ZTI4tk21[]; |
| extern VTBL_ENTRY _ZTV4tk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk21[]; |
| static Base_Class bases_zc05[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 3, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 3, //immediately_derived |
| 0, 1}, |
| {&cd_tk21, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zc05[]; |
| static VTBL_ENTRY vtc_zc05[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zc05[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zc05[]; |
| static VTBL_ENTRY _tg__ZTV4tk21__4zc05[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk21[0]), |
| }; |
| static VTT_ENTRY vtt_zc05[] = { |
| {&(_ZTV4zc05[4]), 4,4}, |
| {&(_tg__ZTV4tk21__4zc05[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zc05[]; |
| extern VTBL_ENTRY _ZTV4zc05[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zc05[]; |
| Class_Descriptor cd_zc05 = { "zc05", // class name |
| bases_zc05, 4, |
| &(vtc_zc05[0]), // expected_vtbl_contents |
| &(vtt_zc05[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4zc05),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zc05),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zc05),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 zd05 : virtual sk00 , virtual tk21 { |
| ~zd05(); // tgen |
| zd05(); // tgen |
| }; |
| //SIG(1 zd05) C1{ VBC2{} VBC3{ BC4{} VBC5{}}} |
| |
| |
| zd05 ::~zd05(){ note_dtor("zd05", this);} // tgen |
| zd05 ::zd05(){ note_ctor("zd05", this);} // tgen |
| |
| static void Test_zd05() |
| { |
| extern Class_Descriptor cd_zd05; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_zd05, buf); |
| zd05 *dp, &lv = *(dp=new (buf) zd05()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(zd05)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zd05)"); |
| check_base_class_offset(lv, (sk00*), 0, "zd05"); |
| check_base_class_offset(lv, (si*)(tk21*), 0, "zd05"); |
| check_base_class_offset(lv, (sj*)(tk21*), 0, "zd05"); |
| check_base_class_offset(lv, (tk21*), 0, "zd05"); |
| test_class_info(&lv, &cd_zd05); |
| dp->~zd05(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzd05(Test_zd05, "zd05", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zd05C1Ev(); |
| extern void _ZN4zd05D1Ev(); |
| Name_Map name_map_zd05[] = { |
| NSPAIR(_ZN4zd05C1Ev), |
| NSPAIR(_ZN4zd05D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sk00; |
| extern VTBL_ENTRY _ZTI4sk00[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk21; |
| extern VTBL_ENTRY _ZTI4tk21[]; |
| extern VTBL_ENTRY _ZTV4tk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk21[]; |
| static Base_Class bases_zd05[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 3, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 3, //immediately_derived |
| 0, 1}, |
| {&cd_tk21, 0, //bcp->offset |
| -1, //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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zd05[]; |
| static VTBL_ENTRY vtc_zd05[] = { |
| 0, |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zd05[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zd05[]; |
| static VTBL_ENTRY _tg__ZTV4tk21__4zd05[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk21[0]), |
| }; |
| static VTT_ENTRY vtt_zd05[] = { |
| {&(_ZTV4zd05[5]), 5,5}, |
| {&(_ZTV4zd05[5]), 5,5}, |
| {&(_tg__ZTV4tk21__4zd05[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zd05[]; |
| extern VTBL_ENTRY _ZTV4zd05[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zd05[]; |
| Class_Descriptor cd_zd05 = { "zd05", // class name |
| bases_zd05, 4, |
| &(vtc_zd05[0]), // expected_vtbl_contents |
| &(vtt_zd05[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4zd05),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zd05),5, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zd05),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 za06 : sk00 , tk22 { |
| }; |
| //SIG(1 za06) C1{ BC2{} BC3{ BC4{} BC5{}}} |
| |
| |
| |
| static void Test_za06() |
| { |
| extern Class_Descriptor cd_za06; |
| void *lvp; |
| { |
| char buf[1]; |
| init_test(&cd_za06, buf); |
| za06 &lv = *(new (buf) za06()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), 1, "sizeof(za06)"); |
| check2(__alignof__(lv), 1, "__alignof__(za06)"); |
| check_base_class_offset(lv, (sk00*), 0, "za06"); |
| check_base_class_offset(lv, (si*)(tk22*), 0, "za06"); |
| check_base_class_offset(lv, (sj*)(tk22*), 0, "za06"); |
| check_base_class_offset(lv, (tk22*), 0, "za06"); |
| test_class_info(&lv, &cd_za06); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vza06(Test_za06, "za06", 1); |
| |
| #else // __cplusplus |
| |
| extern Class_Descriptor cd_sk00; |
| extern VTBL_ENTRY _ZTI4sk00[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk22; |
| extern VTBL_ENTRY _ZTI4tk22[]; |
| static Base_Class bases_za06[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 3, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 3, //immediately_derived |
| 0, 0}, |
| {&cd_tk22, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //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_za06 = { "za06", // class name |
| bases_za06, 4, |
| 0, // no vftv |
| 0, //no vtt |
| 1, // 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 zb06 : sk00 , virtual tk22 { |
| ~zb06(); // tgen |
| zb06(); // tgen |
| }; |
| //SIG(1 zb06) C1{ BC2{} VBC3{ BC4{} BC5{}}} |
| |
| |
| zb06 ::~zb06(){ note_dtor("zb06", this);} // tgen |
| zb06 ::zb06(){ note_ctor("zb06", this);} // tgen |
| |
| static void Test_zb06() |
| { |
| extern Class_Descriptor cd_zb06; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_zb06, buf); |
| zb06 *dp, &lv = *(dp=new (buf) zb06()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(zb06)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zb06)"); |
| check_base_class_offset(lv, (sk00*), 0, "zb06"); |
| check_base_class_offset(lv, (si*)(tk22*), 0, "zb06"); |
| check_base_class_offset(lv, (sj*)(tk22*), 0, "zb06"); |
| check_base_class_offset(lv, (tk22*), 0, "zb06"); |
| test_class_info(&lv, &cd_zb06); |
| dp->~zb06(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzb06(Test_zb06, "zb06", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zb06C1Ev(); |
| extern void _ZN4zb06D1Ev(); |
| Name_Map name_map_zb06[] = { |
| NSPAIR(_ZN4zb06C1Ev), |
| NSPAIR(_ZN4zb06D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sk00; |
| extern VTBL_ENTRY _ZTI4sk00[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk22; |
| extern VTBL_ENTRY _ZTI4tk22[]; |
| static Base_Class bases_zb06[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 3, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 3, //immediately_derived |
| 0, 0}, |
| {&cd_tk22, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zb06[]; |
| static VTBL_ENTRY vtc_zb06[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zb06[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zb06[]; |
| static VTT_ENTRY vtt_zb06[] = { |
| {&(_ZTV4zb06[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zb06[]; |
| extern VTBL_ENTRY _ZTV4zb06[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zb06[]; |
| Class_Descriptor cd_zb06 = { "zb06", // class name |
| bases_zb06, 4, |
| &(vtc_zb06[0]), // expected_vtbl_contents |
| &(vtt_zb06[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4zb06),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zb06),3, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zb06),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 zc06 : virtual sk00 , tk22 { |
| ~zc06(); // tgen |
| zc06(); // tgen |
| }; |
| //SIG(1 zc06) C1{ VBC2{} BC3{ BC4{} BC5{}}} |
| |
| |
| zc06 ::~zc06(){ note_dtor("zc06", this);} // tgen |
| zc06 ::zc06(){ note_ctor("zc06", this);} // tgen |
| |
| static void Test_zc06() |
| { |
| extern Class_Descriptor cd_zc06; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_zc06, buf); |
| zc06 *dp, &lv = *(dp=new (buf) zc06()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(zc06)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zc06)"); |
| check_base_class_offset(lv, (sk00*), 0, "zc06"); |
| check_base_class_offset(lv, (si*)(tk22*), 0, "zc06"); |
| check_base_class_offset(lv, (sj*)(tk22*), 0, "zc06"); |
| check_base_class_offset(lv, (tk22*), 0, "zc06"); |
| test_class_info(&lv, &cd_zc06); |
| dp->~zc06(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzc06(Test_zc06, "zc06", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zc06C1Ev(); |
| extern void _ZN4zc06D1Ev(); |
| Name_Map name_map_zc06[] = { |
| NSPAIR(_ZN4zc06C1Ev), |
| NSPAIR(_ZN4zc06D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sk00; |
| extern VTBL_ENTRY _ZTI4sk00[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk22; |
| extern VTBL_ENTRY _ZTI4tk22[]; |
| static Base_Class bases_zc06[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 3, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 3, //immediately_derived |
| 0, 0}, |
| {&cd_tk22, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zc06[]; |
| static VTBL_ENTRY vtc_zc06[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zc06[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zc06[]; |
| static VTT_ENTRY vtt_zc06[] = { |
| {&(_ZTV4zc06[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zc06[]; |
| extern VTBL_ENTRY _ZTV4zc06[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zc06[]; |
| Class_Descriptor cd_zc06 = { "zc06", // class name |
| bases_zc06, 4, |
| &(vtc_zc06[0]), // expected_vtbl_contents |
| &(vtt_zc06[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4zc06),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zc06),3, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zc06),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 zd06 : virtual sk00 , virtual tk22 { |
| ~zd06(); // tgen |
| zd06(); // tgen |
| }; |
| //SIG(1 zd06) C1{ VBC2{} VBC3{ BC4{} BC5{}}} |
| |
| |
| zd06 ::~zd06(){ note_dtor("zd06", this);} // tgen |
| zd06 ::zd06(){ note_ctor("zd06", this);} // tgen |
| |
| static void Test_zd06() |
| { |
| extern Class_Descriptor cd_zd06; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_zd06, buf); |
| zd06 *dp, &lv = *(dp=new (buf) zd06()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(zd06)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zd06)"); |
| check_base_class_offset(lv, (sk00*), 0, "zd06"); |
| check_base_class_offset(lv, (si*)(tk22*), 0, "zd06"); |
| check_base_class_offset(lv, (sj*)(tk22*), 0, "zd06"); |
| check_base_class_offset(lv, (tk22*), 0, "zd06"); |
| test_class_info(&lv, &cd_zd06); |
| dp->~zd06(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzd06(Test_zd06, "zd06", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zd06C1Ev(); |
| extern void _ZN4zd06D1Ev(); |
| Name_Map name_map_zd06[] = { |
| NSPAIR(_ZN4zd06C1Ev), |
| NSPAIR(_ZN4zd06D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sk00; |
| extern VTBL_ENTRY _ZTI4sk00[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk22; |
| extern VTBL_ENTRY _ZTI4tk22[]; |
| static Base_Class bases_zd06[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 3, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 3, //immediately_derived |
| 0, 0}, |
| {&cd_tk22, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zd06[]; |
| static VTBL_ENTRY vtc_zd06[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zd06[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zd06[]; |
| static VTT_ENTRY vtt_zd06[] = { |
| {&(_ZTV4zd06[4]), 4,4}, |
| }; |
| extern VTBL_ENTRY _ZTI4zd06[]; |
| extern VTBL_ENTRY _ZTV4zd06[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zd06[]; |
| Class_Descriptor cd_zd06 = { "zd06", // class name |
| bases_zd06, 4, |
| &(vtc_zd06[0]), // expected_vtbl_contents |
| &(vtt_zd06[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4zd06),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zd06),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zd06),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 xt1 : tk01 { |
| ~xt1(); // tgen |
| xt1(); // tgen |
| }; |
| //SIG(1 xt1) C1{ BC2{ VBC3{}}} |
| |
| |
| xt1 ::~xt1(){ note_dtor("xt1", this);} // tgen |
| xt1 ::xt1(){ note_ctor("xt1", this);} // tgen |
| |
| static void Test_xt1() |
| { |
| extern Class_Descriptor cd_xt1; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_xt1, buf); |
| xt1 *dp, &lv = *(dp=new (buf) xt1()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(xt1)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(xt1)"); |
| check_base_class_offset(lv, (sj*)(tk01*), 0, "xt1"); |
| check_base_class_offset(lv, (tk01*), 0, "xt1"); |
| test_class_info(&lv, &cd_xt1); |
| dp->~xt1(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vxt1(Test_xt1, "xt1", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN3xt1C1Ev(); |
| extern void _ZN3xt1D1Ev(); |
| Name_Map name_map_xt1[] = { |
| NSPAIR(_ZN3xt1C1Ev), |
| NSPAIR(_ZN3xt1D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk01; |
| extern VTBL_ENTRY _ZTI4tk01[]; |
| extern VTBL_ENTRY _ZTV4tk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk01[]; |
| static Base_Class bases_xt1[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 1}, |
| {&cd_tk01, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI3xt1[]; |
| static VTBL_ENTRY vtc_xt1[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI3xt1[0]), |
| }; |
| extern VTBL_ENTRY _ZTV3xt1[]; |
| static VTBL_ENTRY _tg__ZTV4tk01__3xt1[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk01[0]), |
| }; |
| static VTT_ENTRY vtt_xt1[] = { |
| {&(_ZTV3xt1[3]), 3,3}, |
| {&(_tg__ZTV4tk01__3xt1[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI3xt1[]; |
| extern VTBL_ENTRY _ZTV3xt1[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT3xt1[]; |
| Class_Descriptor cd_xt1 = { "xt1", // class name |
| bases_xt1, 2, |
| &(vtc_xt1[0]), // expected_vtbl_contents |
| &(vtt_xt1[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI3xt1),ABISELECT(24,12), //typeinfo_var |
| NSPAIRA(_ZTV3xt1),3, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT3xt1),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 yt1 : virtual tk01 { |
| ~yt1(); // tgen |
| yt1(); // tgen |
| }; |
| //SIG(1 yt1) C1{ VBC2{ VBC3{}}} |
| |
| |
| yt1 ::~yt1(){ note_dtor("yt1", this);} // tgen |
| yt1 ::yt1(){ note_ctor("yt1", this);} // tgen |
| |
| static void Test_yt1() |
| { |
| extern Class_Descriptor cd_yt1; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_yt1, buf); |
| yt1 *dp, &lv = *(dp=new (buf) yt1()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(yt1)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(yt1)"); |
| check_base_class_offset(lv, (sj*)(tk01*), 0, "yt1"); |
| check_base_class_offset(lv, (tk01*), 0, "yt1"); |
| test_class_info(&lv, &cd_yt1); |
| dp->~yt1(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vyt1(Test_yt1, "yt1", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN3yt1C1Ev(); |
| extern void _ZN3yt1D1Ev(); |
| Name_Map name_map_yt1[] = { |
| NSPAIR(_ZN3yt1C1Ev), |
| NSPAIR(_ZN3yt1D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk01; |
| extern VTBL_ENTRY _ZTI4tk01[]; |
| extern VTBL_ENTRY _ZTV4tk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk01[]; |
| static Base_Class bases_yt1[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 1}, |
| {&cd_tk01, 0, //bcp->offset |
| -1, //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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI3yt1[]; |
| static VTBL_ENTRY vtc_yt1[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI3yt1[0]), |
| }; |
| extern VTBL_ENTRY _ZTV3yt1[]; |
| static VTBL_ENTRY _tg__ZTV4tk01__3yt1[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk01[0]), |
| }; |
| static VTT_ENTRY vtt_yt1[] = { |
| {&(_ZTV3yt1[4]), 4,4}, |
| {&(_ZTV3yt1[4]), 4,4}, |
| {&(_tg__ZTV4tk01__3yt1[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI3yt1[]; |
| extern VTBL_ENTRY _ZTV3yt1[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT3yt1[]; |
| Class_Descriptor cd_yt1 = { "yt1", // class name |
| bases_yt1, 2, |
| &(vtc_yt1[0]), // expected_vtbl_contents |
| &(vtt_yt1[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI3yt1),ABISELECT(40,24), //typeinfo_var |
| NSPAIRA(_ZTV3yt1),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT3yt1),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 za10 : sk01 , tk00 { |
| ~za10(); // tgen |
| za10(); // tgen |
| }; |
| //SIG(1 za10) C1{ BC2{ VBC3{}} BC4{}} |
| |
| |
| za10 ::~za10(){ note_dtor("za10", this);} // tgen |
| za10 ::za10(){ note_ctor("za10", this);} // tgen |
| |
| static void Test_za10() |
| { |
| extern Class_Descriptor cd_za10; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_za10, buf); |
| za10 *dp, &lv = *(dp=new (buf) za10()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(za10)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(za10)"); |
| check_base_class_offset(lv, (sj*)(sk01*), 0, "za10"); |
| check_base_class_offset(lv, (sk01*), 0, "za10"); |
| check_base_class_offset(lv, (tk00*), 0, "za10"); |
| test_class_info(&lv, &cd_za10); |
| dp->~za10(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vza10(Test_za10, "za10", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4za10C1Ev(); |
| extern void _ZN4za10D1Ev(); |
| Name_Map name_map_za10[] = { |
| NSPAIR(_ZN4za10C1Ev), |
| NSPAIR(_ZN4za10D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk01; |
| extern VTBL_ENTRY _ZTI4sk01[]; |
| extern VTBL_ENTRY _ZTV4sk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk01[]; |
| extern Class_Descriptor cd_tk00; |
| extern VTBL_ENTRY _ZTI4tk00[]; |
| static Base_Class bases_za10[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 1}, |
| {&cd_sk01, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_tk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4za10[]; |
| static VTBL_ENTRY vtc_za10[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4za10[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4za10[]; |
| static VTBL_ENTRY _tg__ZTV4sk01__4za10[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk01[0]), |
| }; |
| static VTT_ENTRY vtt_za10[] = { |
| {&(_ZTV4za10[3]), 3,3}, |
| {&(_tg__ZTV4sk01__4za10[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4za10[]; |
| extern VTBL_ENTRY _ZTV4za10[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4za10[]; |
| Class_Descriptor cd_za10 = { "za10", // class name |
| bases_za10, 3, |
| &(vtc_za10[0]), // expected_vtbl_contents |
| &(vtt_za10[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4za10),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4za10),3, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4za10),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 zb10 : sk01 , virtual tk00 { |
| ~zb10(); // tgen |
| zb10(); // tgen |
| }; |
| //SIG(1 zb10) C1{ BC2{ VBC3{}} VBC4{}} |
| |
| |
| zb10 ::~zb10(){ note_dtor("zb10", this);} // tgen |
| zb10 ::zb10(){ note_ctor("zb10", this);} // tgen |
| |
| static void Test_zb10() |
| { |
| extern Class_Descriptor cd_zb10; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_zb10, buf); |
| zb10 *dp, &lv = *(dp=new (buf) zb10()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(zb10)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zb10)"); |
| check_base_class_offset(lv, (sj*)(sk01*), 0, "zb10"); |
| check_base_class_offset(lv, (sk01*), 0, "zb10"); |
| check_base_class_offset(lv, (tk00*), 0, "zb10"); |
| test_class_info(&lv, &cd_zb10); |
| dp->~zb10(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzb10(Test_zb10, "zb10", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zb10C1Ev(); |
| extern void _ZN4zb10D1Ev(); |
| Name_Map name_map_zb10[] = { |
| NSPAIR(_ZN4zb10C1Ev), |
| NSPAIR(_ZN4zb10D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk01; |
| extern VTBL_ENTRY _ZTI4sk01[]; |
| extern VTBL_ENTRY _ZTV4sk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk01[]; |
| extern Class_Descriptor cd_tk00; |
| extern VTBL_ENTRY _ZTI4tk00[]; |
| static Base_Class bases_zb10[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 1}, |
| {&cd_sk01, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_tk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zb10[]; |
| static VTBL_ENTRY vtc_zb10[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zb10[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zb10[]; |
| static VTBL_ENTRY _tg__ZTV4sk01__4zb10[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk01[0]), |
| }; |
| static VTT_ENTRY vtt_zb10[] = { |
| {&(_ZTV4zb10[4]), 4,4}, |
| {&(_tg__ZTV4sk01__4zb10[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zb10[]; |
| extern VTBL_ENTRY _ZTV4zb10[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zb10[]; |
| Class_Descriptor cd_zb10 = { "zb10", // class name |
| bases_zb10, 3, |
| &(vtc_zb10[0]), // expected_vtbl_contents |
| &(vtt_zb10[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4zb10),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zb10),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zb10),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 zc10 : virtual sk01 , tk00 { |
| ~zc10(); // tgen |
| zc10(); // tgen |
| }; |
| //SIG(1 zc10) C1{ VBC2{ VBC3{}} BC4{}} |
| |
| |
| zc10 ::~zc10(){ note_dtor("zc10", this);} // tgen |
| zc10 ::zc10(){ note_ctor("zc10", this);} // tgen |
| |
| static void Test_zc10() |
| { |
| extern Class_Descriptor cd_zc10; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_zc10, buf); |
| zc10 *dp, &lv = *(dp=new (buf) zc10()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(zc10)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zc10)"); |
| check_base_class_offset(lv, (sj*)(sk01*), 0, "zc10"); |
| check_base_class_offset(lv, (sk01*), 0, "zc10"); |
| check_base_class_offset(lv, (tk00*), 0, "zc10"); |
| test_class_info(&lv, &cd_zc10); |
| dp->~zc10(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzc10(Test_zc10, "zc10", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zc10C1Ev(); |
| extern void _ZN4zc10D1Ev(); |
| Name_Map name_map_zc10[] = { |
| NSPAIR(_ZN4zc10C1Ev), |
| NSPAIR(_ZN4zc10D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk01; |
| extern VTBL_ENTRY _ZTI4sk01[]; |
| extern VTBL_ENTRY _ZTV4sk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk01[]; |
| extern Class_Descriptor cd_tk00; |
| extern VTBL_ENTRY _ZTI4tk00[]; |
| static Base_Class bases_zc10[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 1}, |
| {&cd_sk01, 0, //bcp->offset |
| -1, //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_tk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zc10[]; |
| static VTBL_ENTRY vtc_zc10[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zc10[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zc10[]; |
| static VTBL_ENTRY _tg__ZTV4sk01__4zc10[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk01[0]), |
| }; |
| static VTT_ENTRY vtt_zc10[] = { |
| {&(_ZTV4zc10[4]), 4,4}, |
| {&(_ZTV4zc10[4]), 4,4}, |
| {&(_tg__ZTV4sk01__4zc10[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zc10[]; |
| extern VTBL_ENTRY _ZTV4zc10[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zc10[]; |
| Class_Descriptor cd_zc10 = { "zc10", // class name |
| bases_zc10, 3, |
| &(vtc_zc10[0]), // expected_vtbl_contents |
| &(vtt_zc10[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4zc10),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zc10),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zc10),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 zd10 : virtual sk01 , virtual tk00 { |
| ~zd10(); // tgen |
| zd10(); // tgen |
| }; |
| //SIG(1 zd10) C1{ VBC2{ VBC3{}} VBC4{}} |
| |
| |
| zd10 ::~zd10(){ note_dtor("zd10", this);} // tgen |
| zd10 ::zd10(){ note_ctor("zd10", this);} // tgen |
| |
| static void Test_zd10() |
| { |
| extern Class_Descriptor cd_zd10; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_zd10, buf); |
| zd10 *dp, &lv = *(dp=new (buf) zd10()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(zd10)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zd10)"); |
| check_base_class_offset(lv, (sj*)(sk01*), 0, "zd10"); |
| check_base_class_offset(lv, (sk01*), 0, "zd10"); |
| check_base_class_offset(lv, (tk00*), 0, "zd10"); |
| test_class_info(&lv, &cd_zd10); |
| dp->~zd10(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzd10(Test_zd10, "zd10", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zd10C1Ev(); |
| extern void _ZN4zd10D1Ev(); |
| Name_Map name_map_zd10[] = { |
| NSPAIR(_ZN4zd10C1Ev), |
| NSPAIR(_ZN4zd10D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk01; |
| extern VTBL_ENTRY _ZTI4sk01[]; |
| extern VTBL_ENTRY _ZTV4sk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk01[]; |
| extern Class_Descriptor cd_tk00; |
| extern VTBL_ENTRY _ZTI4tk00[]; |
| static Base_Class bases_zd10[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 1}, |
| {&cd_sk01, 0, //bcp->offset |
| -1, //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_tk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zd10[]; |
| static VTBL_ENTRY vtc_zd10[] = { |
| 0, |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zd10[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zd10[]; |
| static VTBL_ENTRY _tg__ZTV4sk01__4zd10[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk01[0]), |
| }; |
| static VTT_ENTRY vtt_zd10[] = { |
| {&(_ZTV4zd10[5]), 5,5}, |
| {&(_ZTV4zd10[5]), 5,5}, |
| {&(_tg__ZTV4sk01__4zd10[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zd10[]; |
| extern VTBL_ENTRY _ZTV4zd10[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zd10[]; |
| Class_Descriptor cd_zd10 = { "zd10", // class name |
| bases_zd10, 3, |
| &(vtc_zd10[0]), // expected_vtbl_contents |
| &(vtt_zd10[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4zd10),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zd10),5, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zd10),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 za11 : sk01 , tk01 { |
| ~za11(); // tgen |
| za11(); // tgen |
| }; |
| //SIG(1 za11) C1{ BC2{ VBC3{}} BC4{ VBC3}} |
| |
| |
| za11 ::~za11(){ note_dtor("za11", this);} // tgen |
| za11 ::za11(){ note_ctor("za11", this);} // tgen |
| |
| static void Test_za11() |
| { |
| extern Class_Descriptor cd_za11; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_za11, buf); |
| za11 *dp, &lv = *(dp=new (buf) za11()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(za11)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(za11)"); |
| check_base_class_offset(lv, (sj*)(sk01*), 0, "za11"); |
| check_base_class_offset(lv, (sj*)(tk01*), 0, "za11"); |
| check_base_class_offset(lv, (sk01*), 0, "za11"); |
| check_base_class_offset(lv, (tk01*), ABISELECT(8,4), "za11"); |
| test_class_info(&lv, &cd_za11); |
| dp->~za11(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vza11(Test_za11, "za11", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4za11C1Ev(); |
| extern void _ZN4za11D1Ev(); |
| Name_Map name_map_za11[] = { |
| NSPAIR(_ZN4za11C1Ev), |
| NSPAIR(_ZN4za11D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk01; |
| extern VTBL_ENTRY _ZTI4sk01[]; |
| extern VTBL_ENTRY _ZTV4sk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk01[]; |
| extern Class_Descriptor cd_tk01; |
| extern VTBL_ENTRY _ZTI4tk01[]; |
| extern VTBL_ENTRY _ZTV4tk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk01[]; |
| static Base_Class bases_za11[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 1}, |
| {&cd_sk01, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_tk01, ABISELECT(8,4), //bcp->offset |
| 3, //bcp->virtual_function_table_offset |
| 3, //num_negative_vtable_entries(t, bcp) |
| 4, //bcp->index_in_construction_vtbl_array |
| 3, //bcp->base_subarray_index_in_construction_vtbl_array |
| 2, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4za11[]; |
| static VTBL_ENTRY vtc_za11[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4za11[0]), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4za11[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4za11[]; |
| static VTBL_ENTRY _tg__ZTV4sk01__4za11[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk01[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4tk01__4za11[] = { |
| ABISELECT(-8,-4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk01[0]), |
| }; |
| static VTT_ENTRY vtt_za11[] = { |
| {&(_ZTV4za11[3]), 3,6}, |
| {&(_tg__ZTV4sk01__4za11[3]), 3,3}, |
| {&(_tg__ZTV4tk01__4za11[3]), 3,3}, |
| {&(_ZTV4za11[6]), 6,6}, |
| }; |
| extern VTBL_ENTRY _ZTI4za11[]; |
| extern VTBL_ENTRY _ZTV4za11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4za11[]; |
| Class_Descriptor cd_za11 = { "za11", // class name |
| bases_za11, 3, |
| &(vtc_za11[0]), // expected_vtbl_contents |
| &(vtt_za11[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4za11),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4za11),6, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4za11),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 zb11 : sk01 , virtual tk01 { |
| ~zb11(); // tgen |
| zb11(); // tgen |
| }; |
| //SIG(1 zb11) C1{ BC2{ VBC3{}} VBC4{ VBC3}} |
| |
| |
| zb11 ::~zb11(){ note_dtor("zb11", this);} // tgen |
| zb11 ::zb11(){ note_ctor("zb11", this);} // tgen |
| |
| static void Test_zb11() |
| { |
| extern Class_Descriptor cd_zb11; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zb11, buf); |
| zb11 *dp, &lv = *(dp=new (buf) zb11()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zb11)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zb11)"); |
| check_base_class_offset(lv, (sj*)(sk01*), 0, "zb11"); |
| check_base_class_offset(lv, (sj*)(tk01*), 0, "zb11"); |
| check_base_class_offset(lv, (sk01*), 0, "zb11"); |
| check_base_class_offset(lv, (tk01*), ABISELECT(8,4), "zb11"); |
| test_class_info(&lv, &cd_zb11); |
| dp->~zb11(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzb11(Test_zb11, "zb11", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zb11C1Ev(); |
| extern void _ZN4zb11D1Ev(); |
| Name_Map name_map_zb11[] = { |
| NSPAIR(_ZN4zb11C1Ev), |
| NSPAIR(_ZN4zb11D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk01; |
| extern VTBL_ENTRY _ZTI4sk01[]; |
| extern VTBL_ENTRY _ZTV4sk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk01[]; |
| extern Class_Descriptor cd_tk01; |
| extern VTBL_ENTRY _ZTI4tk01[]; |
| extern VTBL_ENTRY _ZTV4tk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk01[]; |
| static Base_Class bases_zb11[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 1}, |
| {&cd_sk01, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_tk01, ABISELECT(8,4), //bcp->offset |
| 4, //bcp->virtual_function_table_offset |
| 3, //num_negative_vtable_entries(t, bcp) |
| 3, //bcp->index_in_construction_vtbl_array |
| 4, //bcp->base_subarray_index_in_construction_vtbl_array |
| 1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zb11[]; |
| static VTBL_ENTRY vtc_zb11[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zb11[0]), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4zb11[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zb11[]; |
| static VTBL_ENTRY _tg__ZTV4sk01__4zb11[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk01[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4tk01__4zb11[] = { |
| ABISELECT(-8,-4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk01[0]), |
| }; |
| static VTT_ENTRY vtt_zb11[] = { |
| {&(_ZTV4zb11[4]), 4,7}, |
| {&(_tg__ZTV4sk01__4zb11[3]), 3,3}, |
| {&(_ZTV4zb11[7]), 7,7}, |
| {&(_tg__ZTV4tk01__4zb11[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zb11[]; |
| extern VTBL_ENTRY _ZTV4zb11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zb11[]; |
| Class_Descriptor cd_zb11 = { "zb11", // class name |
| bases_zb11, 3, |
| &(vtc_zb11[0]), // expected_vtbl_contents |
| &(vtt_zb11[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zb11),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zb11),7, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zb11),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 zc11 : virtual sk01 , tk01 { |
| ~zc11(); // tgen |
| zc11(); // tgen |
| }; |
| //SIG(1 zc11) C1{ VBC2{ VBC3{}} BC4{ VBC3}} |
| |
| |
| zc11 ::~zc11(){ note_dtor("zc11", this);} // tgen |
| zc11 ::zc11(){ note_ctor("zc11", this);} // tgen |
| |
| static void Test_zc11() |
| { |
| extern Class_Descriptor cd_zc11; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zc11, buf); |
| zc11 *dp, &lv = *(dp=new (buf) zc11()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zc11)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zc11)"); |
| check_base_class_offset(lv, (sj*)(sk01*), 0, "zc11"); |
| check_base_class_offset(lv, (sj*)(tk01*), 0, "zc11"); |
| check_base_class_offset(lv, (sk01*), ABISELECT(8,4), "zc11"); |
| check_base_class_offset(lv, (tk01*), 0, "zc11"); |
| test_class_info(&lv, &cd_zc11); |
| dp->~zc11(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzc11(Test_zc11, "zc11", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zc11C1Ev(); |
| extern void _ZN4zc11D1Ev(); |
| Name_Map name_map_zc11[] = { |
| NSPAIR(_ZN4zc11C1Ev), |
| NSPAIR(_ZN4zc11D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk01; |
| extern VTBL_ENTRY _ZTI4sk01[]; |
| extern VTBL_ENTRY _ZTV4sk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk01[]; |
| extern Class_Descriptor cd_tk01; |
| extern VTBL_ENTRY _ZTI4tk01[]; |
| extern VTBL_ENTRY _ZTV4tk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk01[]; |
| static Base_Class bases_zc11[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 1}, |
| {&cd_sk01, ABISELECT(8,4), //bcp->offset |
| 4, //bcp->virtual_function_table_offset |
| 3, //num_negative_vtable_entries(t, bcp) |
| 3, //bcp->index_in_construction_vtbl_array |
| 4, //bcp->base_subarray_index_in_construction_vtbl_array |
| 1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {&cd_tk01, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zc11[]; |
| static VTBL_ENTRY vtc_zc11[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zc11[0]), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4zc11[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zc11[]; |
| static VTBL_ENTRY _tg__ZTV4tk01__4zc11[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk01[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4sk01__4zc11[] = { |
| ABISELECT(-8,-4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk01[0]), |
| }; |
| static VTT_ENTRY vtt_zc11[] = { |
| {&(_ZTV4zc11[4]), 4,7}, |
| {&(_tg__ZTV4tk01__4zc11[3]), 3,3}, |
| {&(_ZTV4zc11[7]), 7,7}, |
| {&(_tg__ZTV4sk01__4zc11[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zc11[]; |
| extern VTBL_ENTRY _ZTV4zc11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zc11[]; |
| Class_Descriptor cd_zc11 = { "zc11", // class name |
| bases_zc11, 3, |
| &(vtc_zc11[0]), // expected_vtbl_contents |
| &(vtt_zc11[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zc11),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zc11),7, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zc11),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 zd11 : virtual sk01 , virtual tk01 { |
| ~zd11(); // tgen |
| zd11(); // tgen |
| }; |
| //SIG(1 zd11) C1{ VBC2{ VBC3{}} VBC4{ VBC3}} |
| |
| |
| zd11 ::~zd11(){ note_dtor("zd11", this);} // tgen |
| zd11 ::zd11(){ note_ctor("zd11", this);} // tgen |
| |
| static void Test_zd11() |
| { |
| extern Class_Descriptor cd_zd11; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zd11, buf); |
| zd11 *dp, &lv = *(dp=new (buf) zd11()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zd11)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zd11)"); |
| check_base_class_offset(lv, (sj*)(sk01*), 0, "zd11"); |
| check_base_class_offset(lv, (sj*)(tk01*), 0, "zd11"); |
| check_base_class_offset(lv, (sk01*), 0, "zd11"); |
| check_base_class_offset(lv, (tk01*), ABISELECT(8,4), "zd11"); |
| test_class_info(&lv, &cd_zd11); |
| dp->~zd11(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzd11(Test_zd11, "zd11", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zd11C1Ev(); |
| extern void _ZN4zd11D1Ev(); |
| Name_Map name_map_zd11[] = { |
| NSPAIR(_ZN4zd11C1Ev), |
| NSPAIR(_ZN4zd11D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk01; |
| extern VTBL_ENTRY _ZTI4sk01[]; |
| extern VTBL_ENTRY _ZTV4sk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk01[]; |
| extern Class_Descriptor cd_tk01; |
| extern VTBL_ENTRY _ZTI4tk01[]; |
| extern VTBL_ENTRY _ZTV4tk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk01[]; |
| static Base_Class bases_zd11[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 1}, |
| {&cd_sk01, 0, //bcp->offset |
| -1, //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_tk01, ABISELECT(8,4), //bcp->offset |
| 5, //bcp->virtual_function_table_offset |
| 3, //num_negative_vtable_entries(t, bcp) |
| 3, //bcp->index_in_construction_vtbl_array |
| 5, //bcp->base_subarray_index_in_construction_vtbl_array |
| 2, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zd11[]; |
| static VTBL_ENTRY vtc_zd11[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zd11[0]), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4zd11[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zd11[]; |
| static VTBL_ENTRY _tg__ZTV4sk01__4zd11[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk01[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4tk01__4zd11[] = { |
| ABISELECT(-8,-4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk01[0]), |
| }; |
| static VTT_ENTRY vtt_zd11[] = { |
| {&(_ZTV4zd11[5]), 5,8}, |
| {&(_ZTV4zd11[5]), 5,8}, |
| {&(_ZTV4zd11[8]), 8,8}, |
| {&(_tg__ZTV4sk01__4zd11[3]), 3,3}, |
| {&(_tg__ZTV4tk01__4zd11[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zd11[]; |
| extern VTBL_ENTRY _ZTV4zd11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zd11[]; |
| Class_Descriptor cd_zd11 = { "zd11", // class name |
| bases_zd11, 3, |
| &(vtc_zd11[0]), // expected_vtbl_contents |
| &(vtt_zd11[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zd11),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zd11),8, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zd11),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 za12 : sk01 , tk02 { |
| ~za12(); // tgen |
| za12(); // tgen |
| }; |
| //SIG(1 za12) C1{ BC2{ VBC3{}} BC4{ BC3}} |
| |
| |
| za12 ::~za12(){ note_dtor("za12", this);} // tgen |
| za12 ::za12(){ note_ctor("za12", this);} // tgen |
| |
| static void Test_za12() |
| { |
| extern Class_Descriptor cd_za12; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_za12, buf); |
| za12 *dp, &lv = *(dp=new (buf) za12()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(za12)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(za12)"); |
| check_base_class_offset(lv, (sj*)(sk01*), ABISELECT(8,4), "za12"); |
| check_base_class_offset(lv, (sk01*), 0, "za12"); |
| check_base_class_offset(lv, (sj*)(tk02*), 0, "za12"); |
| check_base_class_offset(lv, (tk02*), 0, "za12"); |
| test_class_info(&lv, &cd_za12); |
| dp->~za12(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vza12(Test_za12, "za12", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4za12C1Ev(); |
| extern void _ZN4za12D1Ev(); |
| Name_Map name_map_za12[] = { |
| NSPAIR(_ZN4za12C1Ev), |
| NSPAIR(_ZN4za12D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk01; |
| extern VTBL_ENTRY _ZTI4sk01[]; |
| extern VTBL_ENTRY _ZTV4sk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk01[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk02; |
| extern VTBL_ENTRY _ZTI4tk02[]; |
| static Base_Class bases_za12[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 1}, |
| {&cd_sk01, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 3, //immediately_derived |
| 0, 0}, |
| {&cd_tk02, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4za12[]; |
| static VTBL_ENTRY vtc_za12[] = { |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4za12[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4za12[]; |
| static VTBL_ENTRY _tg__ZTV4sk01__4za12[] = { |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk01[0]), |
| }; |
| static VTT_ENTRY vtt_za12[] = { |
| {&(_ZTV4za12[3]), 3,3}, |
| {&(_tg__ZTV4sk01__4za12[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4za12[]; |
| extern VTBL_ENTRY _ZTV4za12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4za12[]; |
| Class_Descriptor cd_za12 = { "za12", // class name |
| bases_za12, 4, |
| &(vtc_za12[0]), // expected_vtbl_contents |
| &(vtt_za12[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4za12),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4za12),3, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4za12),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 zb12 : sk01 , virtual tk02 { |
| ~zb12(); // tgen |
| zb12(); // tgen |
| }; |
| //SIG(1 zb12) C1{ BC2{ VBC3{}} VBC4{ BC3}} |
| |
| |
| zb12 ::~zb12(){ note_dtor("zb12", this);} // tgen |
| zb12 ::zb12(){ note_ctor("zb12", this);} // tgen |
| |
| static void Test_zb12() |
| { |
| extern Class_Descriptor cd_zb12; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zb12, buf); |
| zb12 *dp, &lv = *(dp=new (buf) zb12()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zb12)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zb12)"); |
| check_base_class_offset(lv, (sj*)(sk01*), 0, "zb12"); |
| check_base_class_offset(lv, (sk01*), 0, "zb12"); |
| check_base_class_offset(lv, (sj*)(tk02*), ABISELECT(8,4), "zb12"); |
| check_base_class_offset(lv, (tk02*), ABISELECT(8,4), "zb12"); |
| test_class_info(&lv, &cd_zb12); |
| dp->~zb12(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzb12(Test_zb12, "zb12", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zb12C1Ev(); |
| extern void _ZN4zb12D1Ev(); |
| Name_Map name_map_zb12[] = { |
| NSPAIR(_ZN4zb12C1Ev), |
| NSPAIR(_ZN4zb12D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk01; |
| extern VTBL_ENTRY _ZTI4sk01[]; |
| extern VTBL_ENTRY _ZTV4sk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk01[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk02; |
| extern VTBL_ENTRY _ZTI4tk02[]; |
| static Base_Class bases_zb12[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 1}, |
| {&cd_sk01, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 3, //immediately_derived |
| 0, 0}, |
| {&cd_tk02, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zb12[]; |
| static VTBL_ENTRY vtc_zb12[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zb12[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zb12[]; |
| static VTBL_ENTRY _tg__ZTV4sk01__4zb12[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk01[0]), |
| }; |
| static VTT_ENTRY vtt_zb12[] = { |
| {&(_ZTV4zb12[4]), 4,4}, |
| {&(_tg__ZTV4sk01__4zb12[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zb12[]; |
| extern VTBL_ENTRY _ZTV4zb12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zb12[]; |
| Class_Descriptor cd_zb12 = { "zb12", // class name |
| bases_zb12, 4, |
| &(vtc_zb12[0]), // expected_vtbl_contents |
| &(vtt_zb12[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zb12),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zb12),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zb12),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 zc12 : virtual sk01 , tk02 { |
| ~zc12(); // tgen |
| zc12(); // tgen |
| }; |
| //SIG(1 zc12) C1{ VBC2{ VBC3{}} BC4{ BC3}} |
| |
| |
| zc12 ::~zc12(){ note_dtor("zc12", this);} // tgen |
| zc12 ::zc12(){ note_ctor("zc12", this);} // tgen |
| |
| static void Test_zc12() |
| { |
| extern Class_Descriptor cd_zc12; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zc12, buf); |
| zc12 *dp, &lv = *(dp=new (buf) zc12()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zc12)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zc12)"); |
| check_base_class_offset(lv, (sj*)(sk01*), ABISELECT(8,4), "zc12"); |
| check_base_class_offset(lv, (sk01*), 0, "zc12"); |
| check_base_class_offset(lv, (sj*)(tk02*), 0, "zc12"); |
| check_base_class_offset(lv, (tk02*), 0, "zc12"); |
| test_class_info(&lv, &cd_zc12); |
| dp->~zc12(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzc12(Test_zc12, "zc12", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zc12C1Ev(); |
| extern void _ZN4zc12D1Ev(); |
| Name_Map name_map_zc12[] = { |
| NSPAIR(_ZN4zc12C1Ev), |
| NSPAIR(_ZN4zc12D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk01; |
| extern VTBL_ENTRY _ZTI4sk01[]; |
| extern VTBL_ENTRY _ZTV4sk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk01[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk02; |
| extern VTBL_ENTRY _ZTI4tk02[]; |
| static Base_Class bases_zc12[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 1}, |
| {&cd_sk01, 0, //bcp->offset |
| -1, //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_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 3, //immediately_derived |
| 0, 0}, |
| {&cd_tk02, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zc12[]; |
| static VTBL_ENTRY vtc_zc12[] = { |
| 0, |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zc12[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zc12[]; |
| static VTBL_ENTRY _tg__ZTV4sk01__4zc12[] = { |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk01[0]), |
| }; |
| static VTT_ENTRY vtt_zc12[] = { |
| {&(_ZTV4zc12[4]), 4,4}, |
| {&(_ZTV4zc12[4]), 4,4}, |
| {&(_tg__ZTV4sk01__4zc12[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zc12[]; |
| extern VTBL_ENTRY _ZTV4zc12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zc12[]; |
| Class_Descriptor cd_zc12 = { "zc12", // class name |
| bases_zc12, 4, |
| &(vtc_zc12[0]), // expected_vtbl_contents |
| &(vtt_zc12[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zc12),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zc12),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zc12),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 zd12 : virtual sk01 , virtual tk02 { |
| ~zd12(); // tgen |
| zd12(); // tgen |
| }; |
| //SIG(1 zd12) C1{ VBC2{ VBC3{}} VBC4{ BC3}} |
| |
| |
| zd12 ::~zd12(){ note_dtor("zd12", this);} // tgen |
| zd12 ::zd12(){ note_ctor("zd12", this);} // tgen |
| |
| static void Test_zd12() |
| { |
| extern Class_Descriptor cd_zd12; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zd12, buf); |
| zd12 *dp, &lv = *(dp=new (buf) zd12()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zd12)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zd12)"); |
| check_base_class_offset(lv, (sj*)(sk01*), 0, "zd12"); |
| check_base_class_offset(lv, (sk01*), 0, "zd12"); |
| check_base_class_offset(lv, (sj*)(tk02*), ABISELECT(8,4), "zd12"); |
| check_base_class_offset(lv, (tk02*), ABISELECT(8,4), "zd12"); |
| test_class_info(&lv, &cd_zd12); |
| dp->~zd12(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzd12(Test_zd12, "zd12", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zd12C1Ev(); |
| extern void _ZN4zd12D1Ev(); |
| Name_Map name_map_zd12[] = { |
| NSPAIR(_ZN4zd12C1Ev), |
| NSPAIR(_ZN4zd12D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk01; |
| extern VTBL_ENTRY _ZTI4sk01[]; |
| extern VTBL_ENTRY _ZTV4sk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk01[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk02; |
| extern VTBL_ENTRY _ZTI4tk02[]; |
| static Base_Class bases_zd12[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 1}, |
| {&cd_sk01, 0, //bcp->offset |
| -1, //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_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 3, //immediately_derived |
| 0, 0}, |
| {&cd_tk02, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zd12[]; |
| static VTBL_ENTRY vtc_zd12[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zd12[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zd12[]; |
| static VTBL_ENTRY _tg__ZTV4sk01__4zd12[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk01[0]), |
| }; |
| static VTT_ENTRY vtt_zd12[] = { |
| {&(_ZTV4zd12[5]), 5,5}, |
| {&(_ZTV4zd12[5]), 5,5}, |
| {&(_tg__ZTV4sk01__4zd12[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zd12[]; |
| extern VTBL_ENTRY _ZTV4zd12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zd12[]; |
| Class_Descriptor cd_zd12 = { "zd12", // class name |
| bases_zd12, 4, |
| &(vtc_zd12[0]), // expected_vtbl_contents |
| &(vtt_zd12[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zd12),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zd12),5, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zd12),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 za13 : sk01 , tk11 { |
| ~za13(); // tgen |
| za13(); // tgen |
| }; |
| //SIG(1 za13) C1{ BC2{ VBC3{}} BC4{ VBC5{} VBC3}} |
| |
| |
| za13 ::~za13(){ note_dtor("za13", this);} // tgen |
| za13 ::za13(){ note_ctor("za13", this);} // tgen |
| |
| static void Test_za13() |
| { |
| extern Class_Descriptor cd_za13; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_za13, buf); |
| za13 *dp, &lv = *(dp=new (buf) za13()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(za13)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(za13)"); |
| check_base_class_offset(lv, (sj*)(sk01*), 0, "za13"); |
| check_base_class_offset(lv, (sj*)(tk11*), 0, "za13"); |
| check_base_class_offset(lv, (sk01*), 0, "za13"); |
| check_base_class_offset(lv, (si*)(tk11*), 0, "za13"); |
| check_base_class_offset(lv, (tk11*), ABISELECT(8,4), "za13"); |
| test_class_info(&lv, &cd_za13); |
| dp->~za13(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vza13(Test_za13, "za13", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4za13C1Ev(); |
| extern void _ZN4za13D1Ev(); |
| Name_Map name_map_za13[] = { |
| NSPAIR(_ZN4za13C1Ev), |
| NSPAIR(_ZN4za13D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk01; |
| extern VTBL_ENTRY _ZTI4sk01[]; |
| extern VTBL_ENTRY _ZTV4sk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk01[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_tk11; |
| extern VTBL_ENTRY _ZTI4tk11[]; |
| extern VTBL_ENTRY _ZTV4tk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk11[]; |
| static Base_Class bases_za13[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 1}, |
| {&cd_sk01, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 3, //immediately_derived |
| 0, 1}, |
| {&cd_tk11, ABISELECT(8,4), //bcp->offset |
| 4, //bcp->virtual_function_table_offset |
| 4, //num_negative_vtable_entries(t, bcp) |
| 4, //bcp->index_in_construction_vtbl_array |
| 3, //bcp->base_subarray_index_in_construction_vtbl_array |
| 2, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4za13[]; |
| static VTBL_ENTRY vtc_za13[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4za13[0]), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4za13[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4za13[]; |
| static VTBL_ENTRY _tg__ZTV4sk01__4za13[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk01[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4tk11__4za13[] = { |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk11[0]), |
| }; |
| static VTT_ENTRY vtt_za13[] = { |
| {&(_ZTV4za13[4]), 4,8}, |
| {&(_tg__ZTV4sk01__4za13[3]), 3,3}, |
| {&(_tg__ZTV4tk11__4za13[4]), 4,4}, |
| {&(_ZTV4za13[8]), 8,8}, |
| }; |
| extern VTBL_ENTRY _ZTI4za13[]; |
| extern VTBL_ENTRY _ZTV4za13[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4za13[]; |
| Class_Descriptor cd_za13 = { "za13", // class name |
| bases_za13, 4, |
| &(vtc_za13[0]), // expected_vtbl_contents |
| &(vtt_za13[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4za13),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4za13),8, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4za13),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 zb13 : sk01 , virtual tk11 { |
| ~zb13(); // tgen |
| zb13(); // tgen |
| }; |
| //SIG(1 zb13) C1{ BC2{ VBC3{}} VBC4{ VBC5{} VBC3}} |
| |
| |
| zb13 ::~zb13(){ note_dtor("zb13", this);} // tgen |
| zb13 ::zb13(){ note_ctor("zb13", this);} // tgen |
| |
| static void Test_zb13() |
| { |
| extern Class_Descriptor cd_zb13; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zb13, buf); |
| zb13 *dp, &lv = *(dp=new (buf) zb13()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zb13)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zb13)"); |
| check_base_class_offset(lv, (sj*)(sk01*), 0, "zb13"); |
| check_base_class_offset(lv, (sj*)(tk11*), 0, "zb13"); |
| check_base_class_offset(lv, (sk01*), 0, "zb13"); |
| check_base_class_offset(lv, (si*)(tk11*), 0, "zb13"); |
| check_base_class_offset(lv, (tk11*), ABISELECT(8,4), "zb13"); |
| test_class_info(&lv, &cd_zb13); |
| dp->~zb13(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzb13(Test_zb13, "zb13", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zb13C1Ev(); |
| extern void _ZN4zb13D1Ev(); |
| Name_Map name_map_zb13[] = { |
| NSPAIR(_ZN4zb13C1Ev), |
| NSPAIR(_ZN4zb13D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk01; |
| extern VTBL_ENTRY _ZTI4sk01[]; |
| extern VTBL_ENTRY _ZTV4sk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk01[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_tk11; |
| extern VTBL_ENTRY _ZTI4tk11[]; |
| extern VTBL_ENTRY _ZTV4tk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk11[]; |
| static Base_Class bases_zb13[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 1}, |
| {&cd_sk01, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 3, //immediately_derived |
| 0, 1}, |
| {&cd_tk11, ABISELECT(8,4), //bcp->offset |
| 5, //bcp->virtual_function_table_offset |
| 4, //num_negative_vtable_entries(t, bcp) |
| 3, //bcp->index_in_construction_vtbl_array |
| 4, //bcp->base_subarray_index_in_construction_vtbl_array |
| 1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zb13[]; |
| static VTBL_ENTRY vtc_zb13[] = { |
| 0, |
| ABISELECT(8,4), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zb13[0]), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4zb13[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zb13[]; |
| static VTBL_ENTRY _tg__ZTV4sk01__4zb13[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk01[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4tk11__4zb13[] = { |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk11[0]), |
| }; |
| static VTT_ENTRY vtt_zb13[] = { |
| {&(_ZTV4zb13[5]), 5,9}, |
| {&(_tg__ZTV4sk01__4zb13[3]), 3,3}, |
| {&(_ZTV4zb13[9]), 9,9}, |
| {&(_tg__ZTV4tk11__4zb13[4]), 4,4}, |
| }; |
| extern VTBL_ENTRY _ZTI4zb13[]; |
| extern VTBL_ENTRY _ZTV4zb13[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zb13[]; |
| Class_Descriptor cd_zb13 = { "zb13", // class name |
| bases_zb13, 4, |
| &(vtc_zb13[0]), // expected_vtbl_contents |
| &(vtt_zb13[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zb13),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zb13),9, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zb13),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 zc13 : virtual sk01 , tk11 { |
| ~zc13(); // tgen |
| zc13(); // tgen |
| }; |
| //SIG(1 zc13) C1{ VBC2{ VBC3{}} BC4{ VBC5{} VBC3}} |
| |
| |
| zc13 ::~zc13(){ note_dtor("zc13", this);} // tgen |
| zc13 ::zc13(){ note_ctor("zc13", this);} // tgen |
| |
| static void Test_zc13() |
| { |
| extern Class_Descriptor cd_zc13; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zc13, buf); |
| zc13 *dp, &lv = *(dp=new (buf) zc13()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zc13)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zc13)"); |
| check_base_class_offset(lv, (sj*)(sk01*), 0, "zc13"); |
| check_base_class_offset(lv, (sj*)(tk11*), 0, "zc13"); |
| check_base_class_offset(lv, (sk01*), ABISELECT(8,4), "zc13"); |
| check_base_class_offset(lv, (si*)(tk11*), 0, "zc13"); |
| check_base_class_offset(lv, (tk11*), 0, "zc13"); |
| test_class_info(&lv, &cd_zc13); |
| dp->~zc13(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzc13(Test_zc13, "zc13", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zc13C1Ev(); |
| extern void _ZN4zc13D1Ev(); |
| Name_Map name_map_zc13[] = { |
| NSPAIR(_ZN4zc13C1Ev), |
| NSPAIR(_ZN4zc13D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk01; |
| extern VTBL_ENTRY _ZTI4sk01[]; |
| extern VTBL_ENTRY _ZTV4sk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk01[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_tk11; |
| extern VTBL_ENTRY _ZTI4tk11[]; |
| extern VTBL_ENTRY _ZTV4tk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk11[]; |
| static Base_Class bases_zc13[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 1}, |
| {&cd_sk01, ABISELECT(8,4), //bcp->offset |
| 5, //bcp->virtual_function_table_offset |
| 3, //num_negative_vtable_entries(t, bcp) |
| 3, //bcp->index_in_construction_vtbl_array |
| 4, //bcp->base_subarray_index_in_construction_vtbl_array |
| 1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 3, //immediately_derived |
| 0, 1}, |
| {&cd_tk11, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zc13[]; |
| static VTBL_ENTRY vtc_zc13[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zc13[0]), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4zc13[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zc13[]; |
| static VTBL_ENTRY _tg__ZTV4tk11__4zc13[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk11[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4sk01__4zc13[] = { |
| ABISELECT(-8,-4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk01[0]), |
| }; |
| static VTT_ENTRY vtt_zc13[] = { |
| {&(_ZTV4zc13[5]), 5,8}, |
| {&(_tg__ZTV4tk11__4zc13[4]), 4,4}, |
| {&(_ZTV4zc13[8]), 8,8}, |
| {&(_tg__ZTV4sk01__4zc13[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zc13[]; |
| extern VTBL_ENTRY _ZTV4zc13[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zc13[]; |
| Class_Descriptor cd_zc13 = { "zc13", // class name |
| bases_zc13, 4, |
| &(vtc_zc13[0]), // expected_vtbl_contents |
| &(vtt_zc13[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zc13),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zc13),8, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zc13),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 zd13 : virtual sk01 , virtual tk11 { |
| ~zd13(); // tgen |
| zd13(); // tgen |
| }; |
| //SIG(1 zd13) C1{ VBC2{ VBC3{}} VBC4{ VBC5{} VBC3}} |
| |
| |
| zd13 ::~zd13(){ note_dtor("zd13", this);} // tgen |
| zd13 ::zd13(){ note_ctor("zd13", this);} // tgen |
| |
| static void Test_zd13() |
| { |
| extern Class_Descriptor cd_zd13; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zd13, buf); |
| zd13 *dp, &lv = *(dp=new (buf) zd13()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zd13)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zd13)"); |
| check_base_class_offset(lv, (sj*)(sk01*), 0, "zd13"); |
| check_base_class_offset(lv, (sj*)(tk11*), 0, "zd13"); |
| check_base_class_offset(lv, (sk01*), 0, "zd13"); |
| check_base_class_offset(lv, (si*)(tk11*), 0, "zd13"); |
| check_base_class_offset(lv, (tk11*), ABISELECT(8,4), "zd13"); |
| test_class_info(&lv, &cd_zd13); |
| dp->~zd13(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzd13(Test_zd13, "zd13", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zd13C1Ev(); |
| extern void _ZN4zd13D1Ev(); |
| Name_Map name_map_zd13[] = { |
| NSPAIR(_ZN4zd13C1Ev), |
| NSPAIR(_ZN4zd13D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk01; |
| extern VTBL_ENTRY _ZTI4sk01[]; |
| extern VTBL_ENTRY _ZTV4sk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk01[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_tk11; |
| extern VTBL_ENTRY _ZTI4tk11[]; |
| extern VTBL_ENTRY _ZTV4tk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk11[]; |
| static Base_Class bases_zd13[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 1}, |
| {&cd_sk01, 0, //bcp->offset |
| -1, //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_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 3, //immediately_derived |
| 0, 1}, |
| {&cd_tk11, ABISELECT(8,4), //bcp->offset |
| 6, //bcp->virtual_function_table_offset |
| 4, //num_negative_vtable_entries(t, bcp) |
| 3, //bcp->index_in_construction_vtbl_array |
| 5, //bcp->base_subarray_index_in_construction_vtbl_array |
| 2, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zd13[]; |
| static VTBL_ENTRY vtc_zd13[] = { |
| 0, |
| ABISELECT(8,4), |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zd13[0]), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4zd13[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zd13[]; |
| static VTBL_ENTRY _tg__ZTV4sk01__4zd13[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk01[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4tk11__4zd13[] = { |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk11[0]), |
| }; |
| static VTT_ENTRY vtt_zd13[] = { |
| {&(_ZTV4zd13[6]), 6,10}, |
| {&(_ZTV4zd13[6]), 6,10}, |
| {&(_ZTV4zd13[10]), 10,10}, |
| {&(_tg__ZTV4sk01__4zd13[3]), 3,3}, |
| {&(_tg__ZTV4tk11__4zd13[4]), 4,4}, |
| }; |
| extern VTBL_ENTRY _ZTI4zd13[]; |
| extern VTBL_ENTRY _ZTV4zd13[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zd13[]; |
| Class_Descriptor cd_zd13 = { "zd13", // class name |
| bases_zd13, 4, |
| &(vtc_zd13[0]), // expected_vtbl_contents |
| &(vtt_zd13[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zd13),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zd13),10, //virtual function table var |
| 6, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zd13),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 za14 : sk01 , tk12 { |
| ~za14(); // tgen |
| za14(); // tgen |
| }; |
| //SIG(1 za14) C1{ BC2{ VBC3{}} BC4{ VBC5{} BC3}} |
| |
| |
| za14 ::~za14(){ note_dtor("za14", this);} // tgen |
| za14 ::za14(){ note_ctor("za14", this);} // tgen |
| |
| static void Test_za14() |
| { |
| extern Class_Descriptor cd_za14; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_za14, buf); |
| za14 *dp, &lv = *(dp=new (buf) za14()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(za14)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(za14)"); |
| check_base_class_offset(lv, (sj*)(sk01*), 0, "za14"); |
| check_base_class_offset(lv, (sk01*), 0, "za14"); |
| check_base_class_offset(lv, (si*)(tk12*), 0, "za14"); |
| check_base_class_offset(lv, (sj*)(tk12*), ABISELECT(8,4), "za14"); |
| check_base_class_offset(lv, (tk12*), ABISELECT(8,4), "za14"); |
| test_class_info(&lv, &cd_za14); |
| dp->~za14(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vza14(Test_za14, "za14", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4za14C1Ev(); |
| extern void _ZN4za14D1Ev(); |
| Name_Map name_map_za14[] = { |
| NSPAIR(_ZN4za14C1Ev), |
| NSPAIR(_ZN4za14D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk01; |
| extern VTBL_ENTRY _ZTI4sk01[]; |
| extern VTBL_ENTRY _ZTV4sk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk01[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk12; |
| extern VTBL_ENTRY _ZTI4tk12[]; |
| extern VTBL_ENTRY _ZTV4tk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk12[]; |
| static Base_Class bases_za14[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 1}, |
| {&cd_sk01, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 1}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_tk12, ABISELECT(8,4), //bcp->offset |
| 4, //bcp->virtual_function_table_offset |
| 3, //num_negative_vtable_entries(t, bcp) |
| 4, //bcp->index_in_construction_vtbl_array |
| 3, //bcp->base_subarray_index_in_construction_vtbl_array |
| 2, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4za14[]; |
| static VTBL_ENTRY vtc_za14[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4za14[0]), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4za14[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4za14[]; |
| static VTBL_ENTRY _tg__ZTV4sk01__4za14[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk01[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4tk12__4za14[] = { |
| ABISELECT(-8,-4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk12[0]), |
| }; |
| static VTT_ENTRY vtt_za14[] = { |
| {&(_ZTV4za14[4]), 4,7}, |
| {&(_tg__ZTV4sk01__4za14[3]), 3,3}, |
| {&(_tg__ZTV4tk12__4za14[3]), 3,3}, |
| {&(_ZTV4za14[7]), 7,7}, |
| }; |
| extern VTBL_ENTRY _ZTI4za14[]; |
| extern VTBL_ENTRY _ZTV4za14[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4za14[]; |
| Class_Descriptor cd_za14 = { "za14", // class name |
| bases_za14, 5, |
| &(vtc_za14[0]), // expected_vtbl_contents |
| &(vtt_za14[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4za14),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4za14),7, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4za14),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 zb14 : sk01 , virtual tk12 { |
| ~zb14(); // tgen |
| zb14(); // tgen |
| }; |
| //SIG(1 zb14) C1{ BC2{ VBC3{}} VBC4{ VBC5{} BC3}} |
| |
| |
| zb14 ::~zb14(){ note_dtor("zb14", this);} // tgen |
| zb14 ::zb14(){ note_ctor("zb14", this);} // tgen |
| |
| static void Test_zb14() |
| { |
| extern Class_Descriptor cd_zb14; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zb14, buf); |
| zb14 *dp, &lv = *(dp=new (buf) zb14()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zb14)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zb14)"); |
| check_base_class_offset(lv, (sj*)(sk01*), 0, "zb14"); |
| check_base_class_offset(lv, (sk01*), 0, "zb14"); |
| check_base_class_offset(lv, (si*)(tk12*), 0, "zb14"); |
| check_base_class_offset(lv, (sj*)(tk12*), ABISELECT(8,4), "zb14"); |
| check_base_class_offset(lv, (tk12*), ABISELECT(8,4), "zb14"); |
| test_class_info(&lv, &cd_zb14); |
| dp->~zb14(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzb14(Test_zb14, "zb14", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zb14C1Ev(); |
| extern void _ZN4zb14D1Ev(); |
| Name_Map name_map_zb14[] = { |
| NSPAIR(_ZN4zb14C1Ev), |
| NSPAIR(_ZN4zb14D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk01; |
| extern VTBL_ENTRY _ZTI4sk01[]; |
| extern VTBL_ENTRY _ZTV4sk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk01[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk12; |
| extern VTBL_ENTRY _ZTI4tk12[]; |
| extern VTBL_ENTRY _ZTV4tk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk12[]; |
| static Base_Class bases_zb14[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 1}, |
| {&cd_sk01, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 1}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_tk12, ABISELECT(8,4), //bcp->offset |
| 5, //bcp->virtual_function_table_offset |
| 3, //num_negative_vtable_entries(t, bcp) |
| 3, //bcp->index_in_construction_vtbl_array |
| 4, //bcp->base_subarray_index_in_construction_vtbl_array |
| 1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zb14[]; |
| static VTBL_ENTRY vtc_zb14[] = { |
| 0, |
| ABISELECT(8,4), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zb14[0]), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4zb14[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zb14[]; |
| static VTBL_ENTRY _tg__ZTV4sk01__4zb14[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk01[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4tk12__4zb14[] = { |
| ABISELECT(-8,-4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk12[0]), |
| }; |
| static VTT_ENTRY vtt_zb14[] = { |
| {&(_ZTV4zb14[5]), 5,8}, |
| {&(_tg__ZTV4sk01__4zb14[3]), 3,3}, |
| {&(_ZTV4zb14[8]), 8,8}, |
| {&(_tg__ZTV4tk12__4zb14[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zb14[]; |
| extern VTBL_ENTRY _ZTV4zb14[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zb14[]; |
| Class_Descriptor cd_zb14 = { "zb14", // class name |
| bases_zb14, 5, |
| &(vtc_zb14[0]), // expected_vtbl_contents |
| &(vtt_zb14[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zb14),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zb14),8, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zb14),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 zc14 : virtual sk01 , tk12 { |
| ~zc14(); // tgen |
| zc14(); // tgen |
| }; |
| //SIG(1 zc14) C1{ VBC2{ VBC3{}} BC4{ VBC5{} BC3}} |
| |
| |
| zc14 ::~zc14(){ note_dtor("zc14", this);} // tgen |
| zc14 ::zc14(){ note_ctor("zc14", this);} // tgen |
| |
| static void Test_zc14() |
| { |
| extern Class_Descriptor cd_zc14; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[4]; |
| init_test(&cd_zc14, buf); |
| zc14 *dp, &lv = *(dp=new (buf) zc14()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(24,12), "sizeof(zc14)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zc14)"); |
| check_base_class_offset(lv, (sj*)(sk01*), ABISELECT(16,8), "zc14"); |
| check_base_class_offset(lv, (sk01*), ABISELECT(8,4), "zc14"); |
| check_base_class_offset(lv, (si*)(tk12*), 0, "zc14"); |
| check_base_class_offset(lv, (sj*)(tk12*), 0, "zc14"); |
| check_base_class_offset(lv, (tk12*), 0, "zc14"); |
| test_class_info(&lv, &cd_zc14); |
| dp->~zc14(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzc14(Test_zc14, "zc14", ABISELECT(24,12)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zc14C1Ev(); |
| extern void _ZN4zc14D1Ev(); |
| Name_Map name_map_zc14[] = { |
| NSPAIR(_ZN4zc14C1Ev), |
| NSPAIR(_ZN4zc14D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk01; |
| extern VTBL_ENTRY _ZTI4sk01[]; |
| extern VTBL_ENTRY _ZTV4sk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk01[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk12; |
| extern VTBL_ENTRY _ZTI4tk12[]; |
| extern VTBL_ENTRY _ZTV4tk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk12[]; |
| static Base_Class bases_zc14[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 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 |
| 1, //immediately_derived |
| 0, 1}, |
| {&cd_sk01, ABISELECT(8,4), //bcp->offset |
| 5, //bcp->virtual_function_table_offset |
| 3, //num_negative_vtable_entries(t, bcp) |
| 3, //bcp->index_in_construction_vtbl_array |
| 4, //bcp->base_subarray_index_in_construction_vtbl_array |
| 1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_tk12, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zc14[]; |
| static VTBL_ENTRY vtc_zc14[] = { |
| ABISELECT(16,8), |
| ABISELECT(8,4), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zc14[0]), |
| ABISELECT(8,4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4zc14[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zc14[]; |
| static VTBL_ENTRY _tg__ZTV4tk12__4zc14[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk12[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4sk01__4zc14[] = { |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk01[0]), |
| }; |
| static VTT_ENTRY vtt_zc14[] = { |
| {&(_ZTV4zc14[5]), 5,8}, |
| {&(_tg__ZTV4tk12__4zc14[3]), 3,3}, |
| {&(_ZTV4zc14[8]), 8,8}, |
| {&(_tg__ZTV4sk01__4zc14[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zc14[]; |
| extern VTBL_ENTRY _ZTV4zc14[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zc14[]; |
| Class_Descriptor cd_zc14 = { "zc14", // class name |
| bases_zc14, 5, |
| &(vtc_zc14[0]), // expected_vtbl_contents |
| &(vtt_zc14[0]), // expected_vtt_contents |
| ABISELECT(24,12), // object size |
| NSPAIRA(_ZTI4zc14),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zc14),8, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zc14),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 zd14 : virtual sk01 , virtual tk12 { |
| ~zd14(); // tgen |
| zd14(); // tgen |
| }; |
| //SIG(1 zd14) C1{ VBC2{ VBC3{}} VBC4{ VBC5{} BC3}} |
| |
| |
| zd14 ::~zd14(){ note_dtor("zd14", this);} // tgen |
| zd14 ::zd14(){ note_ctor("zd14", this);} // tgen |
| |
| static void Test_zd14() |
| { |
| extern Class_Descriptor cd_zd14; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zd14, buf); |
| zd14 *dp, &lv = *(dp=new (buf) zd14()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zd14)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zd14)"); |
| check_base_class_offset(lv, (sj*)(sk01*), 0, "zd14"); |
| check_base_class_offset(lv, (sk01*), 0, "zd14"); |
| check_base_class_offset(lv, (si*)(tk12*), 0, "zd14"); |
| check_base_class_offset(lv, (sj*)(tk12*), ABISELECT(8,4), "zd14"); |
| check_base_class_offset(lv, (tk12*), ABISELECT(8,4), "zd14"); |
| test_class_info(&lv, &cd_zd14); |
| dp->~zd14(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzd14(Test_zd14, "zd14", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zd14C1Ev(); |
| extern void _ZN4zd14D1Ev(); |
| Name_Map name_map_zd14[] = { |
| NSPAIR(_ZN4zd14C1Ev), |
| NSPAIR(_ZN4zd14D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk01; |
| extern VTBL_ENTRY _ZTI4sk01[]; |
| extern VTBL_ENTRY _ZTV4sk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk01[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk12; |
| extern VTBL_ENTRY _ZTI4tk12[]; |
| extern VTBL_ENTRY _ZTV4tk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk12[]; |
| static Base_Class bases_zd14[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 1}, |
| {&cd_sk01, 0, //bcp->offset |
| -1, //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_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 1}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_tk12, ABISELECT(8,4), //bcp->offset |
| 6, //bcp->virtual_function_table_offset |
| 3, //num_negative_vtable_entries(t, bcp) |
| 3, //bcp->index_in_construction_vtbl_array |
| 5, //bcp->base_subarray_index_in_construction_vtbl_array |
| 2, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zd14[]; |
| static VTBL_ENTRY vtc_zd14[] = { |
| 0, |
| ABISELECT(8,4), |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zd14[0]), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4zd14[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zd14[]; |
| static VTBL_ENTRY _tg__ZTV4sk01__4zd14[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk01[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4tk12__4zd14[] = { |
| ABISELECT(-8,-4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk12[0]), |
| }; |
| static VTT_ENTRY vtt_zd14[] = { |
| {&(_ZTV4zd14[6]), 6,9}, |
| {&(_ZTV4zd14[6]), 6,9}, |
| {&(_ZTV4zd14[9]), 9,9}, |
| {&(_tg__ZTV4sk01__4zd14[3]), 3,3}, |
| {&(_tg__ZTV4tk12__4zd14[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zd14[]; |
| extern VTBL_ENTRY _ZTV4zd14[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zd14[]; |
| Class_Descriptor cd_zd14 = { "zd14", // class name |
| bases_zd14, 5, |
| &(vtc_zd14[0]), // expected_vtbl_contents |
| &(vtt_zd14[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zd14),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zd14),9, //virtual function table var |
| 6, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zd14),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 za15 : sk01 , tk21 { |
| ~za15(); // tgen |
| za15(); // tgen |
| }; |
| //SIG(1 za15) C1{ BC2{ VBC3{}} BC4{ BC5{} VBC3}} |
| |
| |
| za15 ::~za15(){ note_dtor("za15", this);} // tgen |
| za15 ::za15(){ note_ctor("za15", this);} // tgen |
| |
| static void Test_za15() |
| { |
| extern Class_Descriptor cd_za15; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_za15, buf); |
| za15 *dp, &lv = *(dp=new (buf) za15()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(za15)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(za15)"); |
| check_base_class_offset(lv, (sj*)(sk01*), 0, "za15"); |
| check_base_class_offset(lv, (sj*)(tk21*), 0, "za15"); |
| check_base_class_offset(lv, (sk01*), 0, "za15"); |
| check_base_class_offset(lv, (si*)(tk21*), ABISELECT(8,4), "za15"); |
| check_base_class_offset(lv, (tk21*), ABISELECT(8,4), "za15"); |
| test_class_info(&lv, &cd_za15); |
| dp->~za15(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vza15(Test_za15, "za15", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4za15C1Ev(); |
| extern void _ZN4za15D1Ev(); |
| Name_Map name_map_za15[] = { |
| NSPAIR(_ZN4za15C1Ev), |
| NSPAIR(_ZN4za15D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk01; |
| extern VTBL_ENTRY _ZTI4sk01[]; |
| extern VTBL_ENTRY _ZTV4sk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk01[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_tk21; |
| extern VTBL_ENTRY _ZTI4tk21[]; |
| extern VTBL_ENTRY _ZTV4tk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk21[]; |
| static Base_Class bases_za15[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 1}, |
| {&cd_sk01, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_si, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 3, //immediately_derived |
| 0, 0}, |
| {&cd_tk21, ABISELECT(8,4), //bcp->offset |
| 3, //bcp->virtual_function_table_offset |
| 3, //num_negative_vtable_entries(t, bcp) |
| 4, //bcp->index_in_construction_vtbl_array |
| 3, //bcp->base_subarray_index_in_construction_vtbl_array |
| 2, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4za15[]; |
| static VTBL_ENTRY vtc_za15[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4za15[0]), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4za15[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4za15[]; |
| static VTBL_ENTRY _tg__ZTV4sk01__4za15[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk01[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4tk21__4za15[] = { |
| ABISELECT(-8,-4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk21[0]), |
| }; |
| static VTT_ENTRY vtt_za15[] = { |
| {&(_ZTV4za15[3]), 3,6}, |
| {&(_tg__ZTV4sk01__4za15[3]), 3,3}, |
| {&(_tg__ZTV4tk21__4za15[3]), 3,3}, |
| {&(_ZTV4za15[6]), 6,6}, |
| }; |
| extern VTBL_ENTRY _ZTI4za15[]; |
| extern VTBL_ENTRY _ZTV4za15[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4za15[]; |
| Class_Descriptor cd_za15 = { "za15", // class name |
| bases_za15, 4, |
| &(vtc_za15[0]), // expected_vtbl_contents |
| &(vtt_za15[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4za15),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4za15),6, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4za15),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 zb15 : sk01 , virtual tk21 { |
| ~zb15(); // tgen |
| zb15(); // tgen |
| }; |
| //SIG(1 zb15) C1{ BC2{ VBC3{}} VBC4{ BC5{} VBC3}} |
| |
| |
| zb15 ::~zb15(){ note_dtor("zb15", this);} // tgen |
| zb15 ::zb15(){ note_ctor("zb15", this);} // tgen |
| |
| static void Test_zb15() |
| { |
| extern Class_Descriptor cd_zb15; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zb15, buf); |
| zb15 *dp, &lv = *(dp=new (buf) zb15()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zb15)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zb15)"); |
| check_base_class_offset(lv, (sj*)(sk01*), 0, "zb15"); |
| check_base_class_offset(lv, (sj*)(tk21*), 0, "zb15"); |
| check_base_class_offset(lv, (sk01*), 0, "zb15"); |
| check_base_class_offset(lv, (si*)(tk21*), ABISELECT(8,4), "zb15"); |
| check_base_class_offset(lv, (tk21*), ABISELECT(8,4), "zb15"); |
| test_class_info(&lv, &cd_zb15); |
| dp->~zb15(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzb15(Test_zb15, "zb15", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zb15C1Ev(); |
| extern void _ZN4zb15D1Ev(); |
| Name_Map name_map_zb15[] = { |
| NSPAIR(_ZN4zb15C1Ev), |
| NSPAIR(_ZN4zb15D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk01; |
| extern VTBL_ENTRY _ZTI4sk01[]; |
| extern VTBL_ENTRY _ZTV4sk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk01[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_tk21; |
| extern VTBL_ENTRY _ZTI4tk21[]; |
| extern VTBL_ENTRY _ZTV4tk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk21[]; |
| static Base_Class bases_zb15[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 1}, |
| {&cd_sk01, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_si, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 3, //immediately_derived |
| 0, 0}, |
| {&cd_tk21, ABISELECT(8,4), //bcp->offset |
| 4, //bcp->virtual_function_table_offset |
| 3, //num_negative_vtable_entries(t, bcp) |
| 3, //bcp->index_in_construction_vtbl_array |
| 4, //bcp->base_subarray_index_in_construction_vtbl_array |
| 1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zb15[]; |
| static VTBL_ENTRY vtc_zb15[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zb15[0]), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4zb15[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zb15[]; |
| static VTBL_ENTRY _tg__ZTV4sk01__4zb15[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk01[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4tk21__4zb15[] = { |
| ABISELECT(-8,-4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk21[0]), |
| }; |
| static VTT_ENTRY vtt_zb15[] = { |
| {&(_ZTV4zb15[4]), 4,7}, |
| {&(_tg__ZTV4sk01__4zb15[3]), 3,3}, |
| {&(_ZTV4zb15[7]), 7,7}, |
| {&(_tg__ZTV4tk21__4zb15[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zb15[]; |
| extern VTBL_ENTRY _ZTV4zb15[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zb15[]; |
| Class_Descriptor cd_zb15 = { "zb15", // class name |
| bases_zb15, 4, |
| &(vtc_zb15[0]), // expected_vtbl_contents |
| &(vtt_zb15[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zb15),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zb15),7, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zb15),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 zc15 : virtual sk01 , tk21 { |
| ~zc15(); // tgen |
| zc15(); // tgen |
| }; |
| //SIG(1 zc15) C1{ VBC2{ VBC3{}} BC4{ BC5{} VBC3}} |
| |
| |
| zc15 ::~zc15(){ note_dtor("zc15", this);} // tgen |
| zc15 ::zc15(){ note_ctor("zc15", this);} // tgen |
| |
| static void Test_zc15() |
| { |
| extern Class_Descriptor cd_zc15; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zc15, buf); |
| zc15 *dp, &lv = *(dp=new (buf) zc15()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zc15)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zc15)"); |
| check_base_class_offset(lv, (sj*)(sk01*), 0, "zc15"); |
| check_base_class_offset(lv, (sj*)(tk21*), 0, "zc15"); |
| check_base_class_offset(lv, (sk01*), ABISELECT(8,4), "zc15"); |
| check_base_class_offset(lv, (si*)(tk21*), 0, "zc15"); |
| check_base_class_offset(lv, (tk21*), 0, "zc15"); |
| test_class_info(&lv, &cd_zc15); |
| dp->~zc15(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzc15(Test_zc15, "zc15", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zc15C1Ev(); |
| extern void _ZN4zc15D1Ev(); |
| Name_Map name_map_zc15[] = { |
| NSPAIR(_ZN4zc15C1Ev), |
| NSPAIR(_ZN4zc15D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk01; |
| extern VTBL_ENTRY _ZTI4sk01[]; |
| extern VTBL_ENTRY _ZTV4sk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk01[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_tk21; |
| extern VTBL_ENTRY _ZTI4tk21[]; |
| extern VTBL_ENTRY _ZTV4tk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk21[]; |
| static Base_Class bases_zc15[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 1}, |
| {&cd_sk01, ABISELECT(8,4), //bcp->offset |
| 4, //bcp->virtual_function_table_offset |
| 3, //num_negative_vtable_entries(t, bcp) |
| 3, //bcp->index_in_construction_vtbl_array |
| 4, //bcp->base_subarray_index_in_construction_vtbl_array |
| 1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 3, //immediately_derived |
| 0, 0}, |
| {&cd_tk21, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zc15[]; |
| static VTBL_ENTRY vtc_zc15[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zc15[0]), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4zc15[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zc15[]; |
| static VTBL_ENTRY _tg__ZTV4tk21__4zc15[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk21[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4sk01__4zc15[] = { |
| ABISELECT(-8,-4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk01[0]), |
| }; |
| static VTT_ENTRY vtt_zc15[] = { |
| {&(_ZTV4zc15[4]), 4,7}, |
| {&(_tg__ZTV4tk21__4zc15[3]), 3,3}, |
| {&(_ZTV4zc15[7]), 7,7}, |
| {&(_tg__ZTV4sk01__4zc15[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zc15[]; |
| extern VTBL_ENTRY _ZTV4zc15[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zc15[]; |
| Class_Descriptor cd_zc15 = { "zc15", // class name |
| bases_zc15, 4, |
| &(vtc_zc15[0]), // expected_vtbl_contents |
| &(vtt_zc15[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zc15),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zc15),7, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zc15),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 zd15 : virtual sk01 , virtual tk21 { |
| ~zd15(); // tgen |
| zd15(); // tgen |
| }; |
| //SIG(1 zd15) C1{ VBC2{ VBC3{}} VBC4{ BC5{} VBC3}} |
| |
| |
| zd15 ::~zd15(){ note_dtor("zd15", this);} // tgen |
| zd15 ::zd15(){ note_ctor("zd15", this);} // tgen |
| |
| static void Test_zd15() |
| { |
| extern Class_Descriptor cd_zd15; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zd15, buf); |
| zd15 *dp, &lv = *(dp=new (buf) zd15()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zd15)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zd15)"); |
| check_base_class_offset(lv, (sj*)(sk01*), 0, "zd15"); |
| check_base_class_offset(lv, (sj*)(tk21*), 0, "zd15"); |
| check_base_class_offset(lv, (sk01*), 0, "zd15"); |
| check_base_class_offset(lv, (si*)(tk21*), ABISELECT(8,4), "zd15"); |
| check_base_class_offset(lv, (tk21*), ABISELECT(8,4), "zd15"); |
| test_class_info(&lv, &cd_zd15); |
| dp->~zd15(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzd15(Test_zd15, "zd15", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zd15C1Ev(); |
| extern void _ZN4zd15D1Ev(); |
| Name_Map name_map_zd15[] = { |
| NSPAIR(_ZN4zd15C1Ev), |
| NSPAIR(_ZN4zd15D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk01; |
| extern VTBL_ENTRY _ZTI4sk01[]; |
| extern VTBL_ENTRY _ZTV4sk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk01[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_tk21; |
| extern VTBL_ENTRY _ZTI4tk21[]; |
| extern VTBL_ENTRY _ZTV4tk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk21[]; |
| static Base_Class bases_zd15[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 1}, |
| {&cd_sk01, 0, //bcp->offset |
| -1, //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_si, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 3, //immediately_derived |
| 0, 0}, |
| {&cd_tk21, ABISELECT(8,4), //bcp->offset |
| 5, //bcp->virtual_function_table_offset |
| 3, //num_negative_vtable_entries(t, bcp) |
| 3, //bcp->index_in_construction_vtbl_array |
| 5, //bcp->base_subarray_index_in_construction_vtbl_array |
| 2, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zd15[]; |
| static VTBL_ENTRY vtc_zd15[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zd15[0]), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4zd15[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zd15[]; |
| static VTBL_ENTRY _tg__ZTV4sk01__4zd15[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk01[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4tk21__4zd15[] = { |
| ABISELECT(-8,-4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk21[0]), |
| }; |
| static VTT_ENTRY vtt_zd15[] = { |
| {&(_ZTV4zd15[5]), 5,8}, |
| {&(_ZTV4zd15[5]), 5,8}, |
| {&(_ZTV4zd15[8]), 8,8}, |
| {&(_tg__ZTV4sk01__4zd15[3]), 3,3}, |
| {&(_tg__ZTV4tk21__4zd15[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zd15[]; |
| extern VTBL_ENTRY _ZTV4zd15[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zd15[]; |
| Class_Descriptor cd_zd15 = { "zd15", // class name |
| bases_zd15, 4, |
| &(vtc_zd15[0]), // expected_vtbl_contents |
| &(vtt_zd15[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zd15),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zd15),8, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zd15),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 za16 : sk01 , tk22 { |
| ~za16(); // tgen |
| za16(); // tgen |
| }; |
| //SIG(1 za16) C1{ BC2{ VBC3{}} BC4{ BC5{} BC3}} |
| |
| |
| za16 ::~za16(){ note_dtor("za16", this);} // tgen |
| za16 ::za16(){ note_ctor("za16", this);} // tgen |
| |
| static void Test_za16() |
| { |
| extern Class_Descriptor cd_za16; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_za16, buf); |
| za16 *dp, &lv = *(dp=new (buf) za16()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(za16)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(za16)"); |
| check_base_class_offset(lv, (sj*)(sk01*), ABISELECT(8,4), "za16"); |
| check_base_class_offset(lv, (sk01*), 0, "za16"); |
| check_base_class_offset(lv, (si*)(tk22*), 0, "za16"); |
| check_base_class_offset(lv, (sj*)(tk22*), 0, "za16"); |
| check_base_class_offset(lv, (tk22*), 0, "za16"); |
| test_class_info(&lv, &cd_za16); |
| dp->~za16(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vza16(Test_za16, "za16", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4za16C1Ev(); |
| extern void _ZN4za16D1Ev(); |
| Name_Map name_map_za16[] = { |
| NSPAIR(_ZN4za16C1Ev), |
| NSPAIR(_ZN4za16D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk01; |
| extern VTBL_ENTRY _ZTI4sk01[]; |
| extern VTBL_ENTRY _ZTV4sk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk01[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk22; |
| extern VTBL_ENTRY _ZTI4tk22[]; |
| static Base_Class bases_za16[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 1}, |
| {&cd_sk01, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_tk22, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4za16[]; |
| static VTBL_ENTRY vtc_za16[] = { |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4za16[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4za16[]; |
| static VTBL_ENTRY _tg__ZTV4sk01__4za16[] = { |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk01[0]), |
| }; |
| static VTT_ENTRY vtt_za16[] = { |
| {&(_ZTV4za16[3]), 3,3}, |
| {&(_tg__ZTV4sk01__4za16[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4za16[]; |
| extern VTBL_ENTRY _ZTV4za16[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4za16[]; |
| Class_Descriptor cd_za16 = { "za16", // class name |
| bases_za16, 5, |
| &(vtc_za16[0]), // expected_vtbl_contents |
| &(vtt_za16[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4za16),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4za16),3, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4za16),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 zb16 : sk01 , virtual tk22 { |
| ~zb16(); // tgen |
| zb16(); // tgen |
| }; |
| //SIG(1 zb16) C1{ BC2{ VBC3{}} VBC4{ BC5{} BC3}} |
| |
| |
| zb16 ::~zb16(){ note_dtor("zb16", this);} // tgen |
| zb16 ::zb16(){ note_ctor("zb16", this);} // tgen |
| |
| static void Test_zb16() |
| { |
| extern Class_Descriptor cd_zb16; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zb16, buf); |
| zb16 *dp, &lv = *(dp=new (buf) zb16()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zb16)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zb16)"); |
| check_base_class_offset(lv, (sj*)(sk01*), 0, "zb16"); |
| check_base_class_offset(lv, (sk01*), 0, "zb16"); |
| check_base_class_offset(lv, (si*)(tk22*), ABISELECT(8,4), "zb16"); |
| check_base_class_offset(lv, (sj*)(tk22*), ABISELECT(8,4), "zb16"); |
| check_base_class_offset(lv, (tk22*), ABISELECT(8,4), "zb16"); |
| test_class_info(&lv, &cd_zb16); |
| dp->~zb16(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzb16(Test_zb16, "zb16", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zb16C1Ev(); |
| extern void _ZN4zb16D1Ev(); |
| Name_Map name_map_zb16[] = { |
| NSPAIR(_ZN4zb16C1Ev), |
| NSPAIR(_ZN4zb16D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk01; |
| extern VTBL_ENTRY _ZTI4sk01[]; |
| extern VTBL_ENTRY _ZTV4sk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk01[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk22; |
| extern VTBL_ENTRY _ZTI4tk22[]; |
| static Base_Class bases_zb16[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 1}, |
| {&cd_sk01, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_si, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_tk22, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zb16[]; |
| static VTBL_ENTRY vtc_zb16[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zb16[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zb16[]; |
| static VTBL_ENTRY _tg__ZTV4sk01__4zb16[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk01[0]), |
| }; |
| static VTT_ENTRY vtt_zb16[] = { |
| {&(_ZTV4zb16[4]), 4,4}, |
| {&(_tg__ZTV4sk01__4zb16[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zb16[]; |
| extern VTBL_ENTRY _ZTV4zb16[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zb16[]; |
| Class_Descriptor cd_zb16 = { "zb16", // class name |
| bases_zb16, 5, |
| &(vtc_zb16[0]), // expected_vtbl_contents |
| &(vtt_zb16[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zb16),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zb16),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zb16),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 zc16 : virtual sk01 , tk22 { |
| ~zc16(); // tgen |
| zc16(); // tgen |
| }; |
| //SIG(1 zc16) C1{ VBC2{ VBC3{}} BC4{ BC5{} BC3}} |
| |
| |
| zc16 ::~zc16(){ note_dtor("zc16", this);} // tgen |
| zc16 ::zc16(){ note_ctor("zc16", this);} // tgen |
| |
| static void Test_zc16() |
| { |
| extern Class_Descriptor cd_zc16; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zc16, buf); |
| zc16 *dp, &lv = *(dp=new (buf) zc16()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zc16)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zc16)"); |
| check_base_class_offset(lv, (sj*)(sk01*), ABISELECT(8,4), "zc16"); |
| check_base_class_offset(lv, (sk01*), 0, "zc16"); |
| check_base_class_offset(lv, (si*)(tk22*), 0, "zc16"); |
| check_base_class_offset(lv, (sj*)(tk22*), 0, "zc16"); |
| check_base_class_offset(lv, (tk22*), 0, "zc16"); |
| test_class_info(&lv, &cd_zc16); |
| dp->~zc16(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzc16(Test_zc16, "zc16", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zc16C1Ev(); |
| extern void _ZN4zc16D1Ev(); |
| Name_Map name_map_zc16[] = { |
| NSPAIR(_ZN4zc16C1Ev), |
| NSPAIR(_ZN4zc16D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk01; |
| extern VTBL_ENTRY _ZTI4sk01[]; |
| extern VTBL_ENTRY _ZTV4sk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk01[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk22; |
| extern VTBL_ENTRY _ZTI4tk22[]; |
| static Base_Class bases_zc16[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 1}, |
| {&cd_sk01, 0, //bcp->offset |
| -1, //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_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_tk22, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zc16[]; |
| static VTBL_ENTRY vtc_zc16[] = { |
| 0, |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zc16[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zc16[]; |
| static VTBL_ENTRY _tg__ZTV4sk01__4zc16[] = { |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk01[0]), |
| }; |
| static VTT_ENTRY vtt_zc16[] = { |
| {&(_ZTV4zc16[4]), 4,4}, |
| {&(_ZTV4zc16[4]), 4,4}, |
| {&(_tg__ZTV4sk01__4zc16[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zc16[]; |
| extern VTBL_ENTRY _ZTV4zc16[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zc16[]; |
| Class_Descriptor cd_zc16 = { "zc16", // class name |
| bases_zc16, 5, |
| &(vtc_zc16[0]), // expected_vtbl_contents |
| &(vtt_zc16[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zc16),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zc16),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zc16),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 zd16 : virtual sk01 , virtual tk22 { |
| ~zd16(); // tgen |
| zd16(); // tgen |
| }; |
| //SIG(1 zd16) C1{ VBC2{ VBC3{}} VBC4{ BC5{} BC3}} |
| |
| |
| zd16 ::~zd16(){ note_dtor("zd16", this);} // tgen |
| zd16 ::zd16(){ note_ctor("zd16", this);} // tgen |
| |
| static void Test_zd16() |
| { |
| extern Class_Descriptor cd_zd16; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zd16, buf); |
| zd16 *dp, &lv = *(dp=new (buf) zd16()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zd16)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zd16)"); |
| check_base_class_offset(lv, (sj*)(sk01*), 0, "zd16"); |
| check_base_class_offset(lv, (sk01*), 0, "zd16"); |
| check_base_class_offset(lv, (si*)(tk22*), ABISELECT(8,4), "zd16"); |
| check_base_class_offset(lv, (sj*)(tk22*), ABISELECT(8,4), "zd16"); |
| check_base_class_offset(lv, (tk22*), ABISELECT(8,4), "zd16"); |
| test_class_info(&lv, &cd_zd16); |
| dp->~zd16(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzd16(Test_zd16, "zd16", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zd16C1Ev(); |
| extern void _ZN4zd16D1Ev(); |
| Name_Map name_map_zd16[] = { |
| NSPAIR(_ZN4zd16C1Ev), |
| NSPAIR(_ZN4zd16D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk01; |
| extern VTBL_ENTRY _ZTI4sk01[]; |
| extern VTBL_ENTRY _ZTV4sk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk01[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk22; |
| extern VTBL_ENTRY _ZTI4tk22[]; |
| static Base_Class bases_zd16[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 1}, |
| {&cd_sk01, 0, //bcp->offset |
| -1, //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_si, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_tk22, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zd16[]; |
| static VTBL_ENTRY vtc_zd16[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zd16[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zd16[]; |
| static VTBL_ENTRY _tg__ZTV4sk01__4zd16[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk01[0]), |
| }; |
| static VTT_ENTRY vtt_zd16[] = { |
| {&(_ZTV4zd16[5]), 5,5}, |
| {&(_ZTV4zd16[5]), 5,5}, |
| {&(_tg__ZTV4sk01__4zd16[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zd16[]; |
| extern VTBL_ENTRY _ZTV4zd16[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zd16[]; |
| Class_Descriptor cd_zd16 = { "zd16", // class name |
| bases_zd16, 5, |
| &(vtc_zd16[0]), // expected_vtbl_contents |
| &(vtt_zd16[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zd16),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zd16),5, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zd16),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 xt2 : tk02 { |
| }; |
| //SIG(1 xt2) C1{ BC2{ BC3{}}} |
| |
| |
| |
| static void Test_xt2() |
| { |
| extern Class_Descriptor cd_xt2; |
| void *lvp; |
| { |
| char buf[1]; |
| init_test(&cd_xt2, buf); |
| xt2 &lv = *(new (buf) xt2()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), 1, "sizeof(xt2)"); |
| check2(__alignof__(lv), 1, "__alignof__(xt2)"); |
| check_base_class_offset(lv, (sj*)(tk02*), 0, "xt2"); |
| check_base_class_offset(lv, (tk02*), 0, "xt2"); |
| test_class_info(&lv, &cd_xt2); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vxt2(Test_xt2, "xt2", 1); |
| |
| #else // __cplusplus |
| |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk02; |
| extern VTBL_ENTRY _ZTI4tk02[]; |
| static Base_Class bases_xt2[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 0}, |
| {&cd_tk02, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //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_xt2 = { "xt2", // class name |
| bases_xt2, 2, |
| 0, // no vftv |
| 0, //no vtt |
| 1, // 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 yt2 : virtual tk02 { |
| ~yt2(); // tgen |
| yt2(); // tgen |
| }; |
| //SIG(1 yt2) C1{ VBC2{ BC3{}}} |
| |
| |
| yt2 ::~yt2(){ note_dtor("yt2", this);} // tgen |
| yt2 ::yt2(){ note_ctor("yt2", this);} // tgen |
| |
| static void Test_yt2() |
| { |
| extern Class_Descriptor cd_yt2; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_yt2, buf); |
| yt2 *dp, &lv = *(dp=new (buf) yt2()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(yt2)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(yt2)"); |
| check_base_class_offset(lv, (sj*)(tk02*), 0, "yt2"); |
| check_base_class_offset(lv, (tk02*), 0, "yt2"); |
| test_class_info(&lv, &cd_yt2); |
| dp->~yt2(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vyt2(Test_yt2, "yt2", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN3yt2C1Ev(); |
| extern void _ZN3yt2D1Ev(); |
| Name_Map name_map_yt2[] = { |
| NSPAIR(_ZN3yt2C1Ev), |
| NSPAIR(_ZN3yt2D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk02; |
| extern VTBL_ENTRY _ZTI4tk02[]; |
| static Base_Class bases_yt2[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 0}, |
| {&cd_tk02, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI3yt2[]; |
| static VTBL_ENTRY vtc_yt2[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI3yt2[0]), |
| }; |
| extern VTBL_ENTRY _ZTV3yt2[]; |
| static VTT_ENTRY vtt_yt2[] = { |
| {&(_ZTV3yt2[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI3yt2[]; |
| extern VTBL_ENTRY _ZTV3yt2[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT3yt2[]; |
| Class_Descriptor cd_yt2 = { "yt2", // class name |
| bases_yt2, 2, |
| &(vtc_yt2[0]), // expected_vtbl_contents |
| &(vtt_yt2[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI3yt2),ABISELECT(40,24), //typeinfo_var |
| NSPAIRA(_ZTV3yt2),3, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT3yt2),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 za20 : sk02 , tk00 { |
| }; |
| //SIG(1 za20) C1{ BC2{ BC3{}} BC4{}} |
| |
| |
| |
| static void Test_za20() |
| { |
| extern Class_Descriptor cd_za20; |
| void *lvp; |
| { |
| char buf[1]; |
| init_test(&cd_za20, buf); |
| za20 &lv = *(new (buf) za20()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), 1, "sizeof(za20)"); |
| check2(__alignof__(lv), 1, "__alignof__(za20)"); |
| check_base_class_offset(lv, (sj*)(sk02*), 0, "za20"); |
| check_base_class_offset(lv, (sk02*), 0, "za20"); |
| check_base_class_offset(lv, (tk00*), 0, "za20"); |
| test_class_info(&lv, &cd_za20); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vza20(Test_za20, "za20", 1); |
| |
| #else // __cplusplus |
| |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk02; |
| extern VTBL_ENTRY _ZTI4sk02[]; |
| extern Class_Descriptor cd_tk00; |
| extern VTBL_ENTRY _ZTI4tk00[]; |
| static Base_Class bases_za20[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 0}, |
| {&cd_sk02, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_tk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //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_za20 = { "za20", // class name |
| bases_za20, 3, |
| 0, // no vftv |
| 0, //no vtt |
| 1, // 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 zb20 : sk02 , virtual tk00 { |
| ~zb20(); // tgen |
| zb20(); // tgen |
| }; |
| //SIG(1 zb20) C1{ BC2{ BC3{}} VBC4{}} |
| |
| |
| zb20 ::~zb20(){ note_dtor("zb20", this);} // tgen |
| zb20 ::zb20(){ note_ctor("zb20", this);} // tgen |
| |
| static void Test_zb20() |
| { |
| extern Class_Descriptor cd_zb20; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_zb20, buf); |
| zb20 *dp, &lv = *(dp=new (buf) zb20()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(zb20)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zb20)"); |
| check_base_class_offset(lv, (sj*)(sk02*), 0, "zb20"); |
| check_base_class_offset(lv, (sk02*), 0, "zb20"); |
| check_base_class_offset(lv, (tk00*), 0, "zb20"); |
| test_class_info(&lv, &cd_zb20); |
| dp->~zb20(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzb20(Test_zb20, "zb20", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zb20C1Ev(); |
| extern void _ZN4zb20D1Ev(); |
| Name_Map name_map_zb20[] = { |
| NSPAIR(_ZN4zb20C1Ev), |
| NSPAIR(_ZN4zb20D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk02; |
| extern VTBL_ENTRY _ZTI4sk02[]; |
| extern Class_Descriptor cd_tk00; |
| extern VTBL_ENTRY _ZTI4tk00[]; |
| static Base_Class bases_zb20[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 0}, |
| {&cd_sk02, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_tk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zb20[]; |
| static VTBL_ENTRY vtc_zb20[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zb20[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zb20[]; |
| static VTT_ENTRY vtt_zb20[] = { |
| {&(_ZTV4zb20[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zb20[]; |
| extern VTBL_ENTRY _ZTV4zb20[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zb20[]; |
| Class_Descriptor cd_zb20 = { "zb20", // class name |
| bases_zb20, 3, |
| &(vtc_zb20[0]), // expected_vtbl_contents |
| &(vtt_zb20[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4zb20),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zb20),3, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zb20),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 zc20 : virtual sk02 , tk00 { |
| ~zc20(); // tgen |
| zc20(); // tgen |
| }; |
| //SIG(1 zc20) C1{ VBC2{ BC3{}} BC4{}} |
| |
| |
| zc20 ::~zc20(){ note_dtor("zc20", this);} // tgen |
| zc20 ::zc20(){ note_ctor("zc20", this);} // tgen |
| |
| static void Test_zc20() |
| { |
| extern Class_Descriptor cd_zc20; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_zc20, buf); |
| zc20 *dp, &lv = *(dp=new (buf) zc20()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(zc20)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zc20)"); |
| check_base_class_offset(lv, (sj*)(sk02*), 0, "zc20"); |
| check_base_class_offset(lv, (sk02*), 0, "zc20"); |
| check_base_class_offset(lv, (tk00*), 0, "zc20"); |
| test_class_info(&lv, &cd_zc20); |
| dp->~zc20(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzc20(Test_zc20, "zc20", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zc20C1Ev(); |
| extern void _ZN4zc20D1Ev(); |
| Name_Map name_map_zc20[] = { |
| NSPAIR(_ZN4zc20C1Ev), |
| NSPAIR(_ZN4zc20D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk02; |
| extern VTBL_ENTRY _ZTI4sk02[]; |
| extern Class_Descriptor cd_tk00; |
| extern VTBL_ENTRY _ZTI4tk00[]; |
| static Base_Class bases_zc20[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 0}, |
| {&cd_sk02, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_tk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zc20[]; |
| static VTBL_ENTRY vtc_zc20[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zc20[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zc20[]; |
| static VTT_ENTRY vtt_zc20[] = { |
| {&(_ZTV4zc20[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zc20[]; |
| extern VTBL_ENTRY _ZTV4zc20[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zc20[]; |
| Class_Descriptor cd_zc20 = { "zc20", // class name |
| bases_zc20, 3, |
| &(vtc_zc20[0]), // expected_vtbl_contents |
| &(vtt_zc20[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4zc20),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zc20),3, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zc20),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 zd20 : virtual sk02 , virtual tk00 { |
| ~zd20(); // tgen |
| zd20(); // tgen |
| }; |
| //SIG(1 zd20) C1{ VBC2{ BC3{}} VBC4{}} |
| |
| |
| zd20 ::~zd20(){ note_dtor("zd20", this);} // tgen |
| zd20 ::zd20(){ note_ctor("zd20", this);} // tgen |
| |
| static void Test_zd20() |
| { |
| extern Class_Descriptor cd_zd20; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_zd20, buf); |
| zd20 *dp, &lv = *(dp=new (buf) zd20()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(zd20)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zd20)"); |
| check_base_class_offset(lv, (sj*)(sk02*), 0, "zd20"); |
| check_base_class_offset(lv, (sk02*), 0, "zd20"); |
| check_base_class_offset(lv, (tk00*), 0, "zd20"); |
| test_class_info(&lv, &cd_zd20); |
| dp->~zd20(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzd20(Test_zd20, "zd20", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zd20C1Ev(); |
| extern void _ZN4zd20D1Ev(); |
| Name_Map name_map_zd20[] = { |
| NSPAIR(_ZN4zd20C1Ev), |
| NSPAIR(_ZN4zd20D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk02; |
| extern VTBL_ENTRY _ZTI4sk02[]; |
| extern Class_Descriptor cd_tk00; |
| extern VTBL_ENTRY _ZTI4tk00[]; |
| static Base_Class bases_zd20[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 0}, |
| {&cd_sk02, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_tk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zd20[]; |
| static VTBL_ENTRY vtc_zd20[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zd20[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zd20[]; |
| static VTT_ENTRY vtt_zd20[] = { |
| {&(_ZTV4zd20[4]), 4,4}, |
| }; |
| extern VTBL_ENTRY _ZTI4zd20[]; |
| extern VTBL_ENTRY _ZTV4zd20[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zd20[]; |
| Class_Descriptor cd_zd20 = { "zd20", // class name |
| bases_zd20, 3, |
| &(vtc_zd20[0]), // expected_vtbl_contents |
| &(vtt_zd20[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4zd20),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zd20),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zd20),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 za21 : sk02 , tk01 { |
| ~za21(); // tgen |
| za21(); // tgen |
| }; |
| //SIG(1 za21) C1{ BC2{ BC3{}} BC4{ VBC3}} |
| |
| |
| za21 ::~za21(){ note_dtor("za21", this);} // tgen |
| za21 ::za21(){ note_ctor("za21", this);} // tgen |
| |
| static void Test_za21() |
| { |
| extern Class_Descriptor cd_za21; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_za21, buf); |
| za21 *dp, &lv = *(dp=new (buf) za21()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(za21)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(za21)"); |
| check_base_class_offset(lv, (sj*)(sk02*), 0, "za21"); |
| check_base_class_offset(lv, (sk02*), 0, "za21"); |
| check_base_class_offset(lv, (sj*)(tk01*), ABISELECT(8,4), "za21"); |
| check_base_class_offset(lv, (tk01*), 0, "za21"); |
| test_class_info(&lv, &cd_za21); |
| dp->~za21(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vza21(Test_za21, "za21", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4za21C1Ev(); |
| extern void _ZN4za21D1Ev(); |
| Name_Map name_map_za21[] = { |
| NSPAIR(_ZN4za21C1Ev), |
| NSPAIR(_ZN4za21D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk02; |
| extern VTBL_ENTRY _ZTI4sk02[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk01; |
| extern VTBL_ENTRY _ZTI4tk01[]; |
| extern VTBL_ENTRY _ZTV4tk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk01[]; |
| static Base_Class bases_za21[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 0}, |
| {&cd_sk02, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 3, //immediately_derived |
| 0, 1}, |
| {&cd_tk01, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4za21[]; |
| static VTBL_ENTRY vtc_za21[] = { |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4za21[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4za21[]; |
| static VTBL_ENTRY _tg__ZTV4tk01__4za21[] = { |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk01[0]), |
| }; |
| static VTT_ENTRY vtt_za21[] = { |
| {&(_ZTV4za21[3]), 3,3}, |
| {&(_tg__ZTV4tk01__4za21[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4za21[]; |
| extern VTBL_ENTRY _ZTV4za21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4za21[]; |
| Class_Descriptor cd_za21 = { "za21", // class name |
| bases_za21, 4, |
| &(vtc_za21[0]), // expected_vtbl_contents |
| &(vtt_za21[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4za21),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4za21),3, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4za21),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 zb21 : sk02 , virtual tk01 { |
| ~zb21(); // tgen |
| zb21(); // tgen |
| }; |
| //SIG(1 zb21) C1{ BC2{ BC3{}} VBC4{ VBC3}} |
| |
| |
| zb21 ::~zb21(){ note_dtor("zb21", this);} // tgen |
| zb21 ::zb21(){ note_ctor("zb21", this);} // tgen |
| |
| static void Test_zb21() |
| { |
| extern Class_Descriptor cd_zb21; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zb21, buf); |
| zb21 *dp, &lv = *(dp=new (buf) zb21()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zb21)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zb21)"); |
| check_base_class_offset(lv, (sj*)(sk02*), 0, "zb21"); |
| check_base_class_offset(lv, (sk02*), 0, "zb21"); |
| check_base_class_offset(lv, (sj*)(tk01*), ABISELECT(8,4), "zb21"); |
| check_base_class_offset(lv, (tk01*), 0, "zb21"); |
| test_class_info(&lv, &cd_zb21); |
| dp->~zb21(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzb21(Test_zb21, "zb21", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zb21C1Ev(); |
| extern void _ZN4zb21D1Ev(); |
| Name_Map name_map_zb21[] = { |
| NSPAIR(_ZN4zb21C1Ev), |
| NSPAIR(_ZN4zb21D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk02; |
| extern VTBL_ENTRY _ZTI4sk02[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk01; |
| extern VTBL_ENTRY _ZTI4tk01[]; |
| extern VTBL_ENTRY _ZTV4tk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk01[]; |
| static Base_Class bases_zb21[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 0}, |
| {&cd_sk02, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 3, //immediately_derived |
| 0, 1}, |
| {&cd_tk01, 0, //bcp->offset |
| -1, //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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zb21[]; |
| static VTBL_ENTRY vtc_zb21[] = { |
| 0, |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zb21[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zb21[]; |
| static VTBL_ENTRY _tg__ZTV4tk01__4zb21[] = { |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk01[0]), |
| }; |
| static VTT_ENTRY vtt_zb21[] = { |
| {&(_ZTV4zb21[4]), 4,4}, |
| {&(_ZTV4zb21[4]), 4,4}, |
| {&(_tg__ZTV4tk01__4zb21[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zb21[]; |
| extern VTBL_ENTRY _ZTV4zb21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zb21[]; |
| Class_Descriptor cd_zb21 = { "zb21", // class name |
| bases_zb21, 4, |
| &(vtc_zb21[0]), // expected_vtbl_contents |
| &(vtt_zb21[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zb21),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zb21),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zb21),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 zc21 : virtual sk02 , tk01 { |
| ~zc21(); // tgen |
| zc21(); // tgen |
| }; |
| //SIG(1 zc21) C1{ VBC2{ BC3{}} BC4{ VBC3}} |
| |
| |
| zc21 ::~zc21(){ note_dtor("zc21", this);} // tgen |
| zc21 ::zc21(){ note_ctor("zc21", this);} // tgen |
| |
| static void Test_zc21() |
| { |
| extern Class_Descriptor cd_zc21; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zc21, buf); |
| zc21 *dp, &lv = *(dp=new (buf) zc21()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zc21)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zc21)"); |
| check_base_class_offset(lv, (sj*)(sk02*), 0, "zc21"); |
| check_base_class_offset(lv, (sk02*), 0, "zc21"); |
| check_base_class_offset(lv, (sj*)(tk01*), ABISELECT(8,4), "zc21"); |
| check_base_class_offset(lv, (tk01*), 0, "zc21"); |
| test_class_info(&lv, &cd_zc21); |
| dp->~zc21(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzc21(Test_zc21, "zc21", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zc21C1Ev(); |
| extern void _ZN4zc21D1Ev(); |
| Name_Map name_map_zc21[] = { |
| NSPAIR(_ZN4zc21C1Ev), |
| NSPAIR(_ZN4zc21D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk02; |
| extern VTBL_ENTRY _ZTI4sk02[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk01; |
| extern VTBL_ENTRY _ZTI4tk01[]; |
| extern VTBL_ENTRY _ZTV4tk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk01[]; |
| static Base_Class bases_zc21[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 0}, |
| {&cd_sk02, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 3, //immediately_derived |
| 0, 1}, |
| {&cd_tk01, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zc21[]; |
| static VTBL_ENTRY vtc_zc21[] = { |
| 0, |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zc21[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zc21[]; |
| static VTBL_ENTRY _tg__ZTV4tk01__4zc21[] = { |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk01[0]), |
| }; |
| static VTT_ENTRY vtt_zc21[] = { |
| {&(_ZTV4zc21[4]), 4,4}, |
| {&(_tg__ZTV4tk01__4zc21[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zc21[]; |
| extern VTBL_ENTRY _ZTV4zc21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zc21[]; |
| Class_Descriptor cd_zc21 = { "zc21", // class name |
| bases_zc21, 4, |
| &(vtc_zc21[0]), // expected_vtbl_contents |
| &(vtt_zc21[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zc21),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zc21),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zc21),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 zd21 : virtual sk02 , virtual tk01 { |
| ~zd21(); // tgen |
| zd21(); // tgen |
| }; |
| //SIG(1 zd21) C1{ VBC2{ BC3{}} VBC4{ VBC3}} |
| |
| |
| zd21 ::~zd21(){ note_dtor("zd21", this);} // tgen |
| zd21 ::zd21(){ note_ctor("zd21", this);} // tgen |
| |
| static void Test_zd21() |
| { |
| extern Class_Descriptor cd_zd21; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zd21, buf); |
| zd21 *dp, &lv = *(dp=new (buf) zd21()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zd21)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zd21)"); |
| check_base_class_offset(lv, (sj*)(sk02*), 0, "zd21"); |
| check_base_class_offset(lv, (sk02*), 0, "zd21"); |
| check_base_class_offset(lv, (sj*)(tk01*), ABISELECT(8,4), "zd21"); |
| check_base_class_offset(lv, (tk01*), 0, "zd21"); |
| test_class_info(&lv, &cd_zd21); |
| dp->~zd21(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzd21(Test_zd21, "zd21", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zd21C1Ev(); |
| extern void _ZN4zd21D1Ev(); |
| Name_Map name_map_zd21[] = { |
| NSPAIR(_ZN4zd21C1Ev), |
| NSPAIR(_ZN4zd21D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk02; |
| extern VTBL_ENTRY _ZTI4sk02[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk01; |
| extern VTBL_ENTRY _ZTI4tk01[]; |
| extern VTBL_ENTRY _ZTV4tk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk01[]; |
| static Base_Class bases_zd21[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 0}, |
| {&cd_sk02, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 3, //immediately_derived |
| 0, 1}, |
| {&cd_tk01, 0, //bcp->offset |
| -1, //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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zd21[]; |
| static VTBL_ENTRY vtc_zd21[] = { |
| 0, |
| 0, |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zd21[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zd21[]; |
| static VTBL_ENTRY _tg__ZTV4tk01__4zd21[] = { |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk01[0]), |
| }; |
| static VTT_ENTRY vtt_zd21[] = { |
| {&(_ZTV4zd21[5]), 5,5}, |
| {&(_ZTV4zd21[5]), 5,5}, |
| {&(_tg__ZTV4tk01__4zd21[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zd21[]; |
| extern VTBL_ENTRY _ZTV4zd21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zd21[]; |
| Class_Descriptor cd_zd21 = { "zd21", // class name |
| bases_zd21, 4, |
| &(vtc_zd21[0]), // expected_vtbl_contents |
| &(vtt_zd21[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zd21),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zd21),5, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zd21),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 za22 : sk02 , tk02 { |
| }; |
| //SIG(1 za22) C1{ BC2{ BC3{}} BC4{ BC3}} |
| |
| |
| |
| static void Test_za22() |
| { |
| extern Class_Descriptor cd_za22; |
| void *lvp; |
| { |
| char buf[2]; |
| init_test(&cd_za22, buf); |
| za22 &lv = *(new (buf) za22()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), 2, "sizeof(za22)"); |
| check2(__alignof__(lv), 1, "__alignof__(za22)"); |
| check_base_class_offset(lv, (sj*)(sk02*), 0, "za22"); |
| check_base_class_offset(lv, (sk02*), 0, "za22"); |
| check_base_class_offset(lv, (sj*)(tk02*), 1, "za22"); |
| check_base_class_offset(lv, (tk02*), 1, "za22"); |
| test_class_info(&lv, &cd_za22); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vza22(Test_za22, "za22", 2); |
| |
| #else // __cplusplus |
| |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk02; |
| extern VTBL_ENTRY _ZTI4sk02[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk02; |
| extern VTBL_ENTRY _ZTI4tk02[]; |
| static Base_Class bases_za22[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 0}, |
| {&cd_sk02, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sj, 1, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 3, //immediately_derived |
| 0, 0}, |
| {&cd_tk02, 1, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //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_za22 = { "za22", // class name |
| bases_za22, 4, |
| 0, // no vftv |
| 0, //no vtt |
| 2, // 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 zb22 : sk02 , virtual tk02 { |
| ~zb22(); // tgen |
| zb22(); // tgen |
| }; |
| //SIG(1 zb22) C1{ BC2{ BC3{}} VBC4{ BC3}} |
| |
| |
| zb22 ::~zb22(){ note_dtor("zb22", this);} // tgen |
| zb22 ::zb22(){ note_ctor("zb22", this);} // tgen |
| |
| static void Test_zb22() |
| { |
| extern Class_Descriptor cd_zb22; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zb22, buf); |
| zb22 *dp, &lv = *(dp=new (buf) zb22()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zb22)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zb22)"); |
| check_base_class_offset(lv, (sj*)(sk02*), 0, "zb22"); |
| check_base_class_offset(lv, (sk02*), 0, "zb22"); |
| check_base_class_offset(lv, (sj*)(tk02*), ABISELECT(8,4), "zb22"); |
| check_base_class_offset(lv, (tk02*), ABISELECT(8,4), "zb22"); |
| test_class_info(&lv, &cd_zb22); |
| dp->~zb22(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzb22(Test_zb22, "zb22", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zb22C1Ev(); |
| extern void _ZN4zb22D1Ev(); |
| Name_Map name_map_zb22[] = { |
| NSPAIR(_ZN4zb22C1Ev), |
| NSPAIR(_ZN4zb22D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk02; |
| extern VTBL_ENTRY _ZTI4sk02[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk02; |
| extern VTBL_ENTRY _ZTI4tk02[]; |
| static Base_Class bases_zb22[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 0}, |
| {&cd_sk02, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 3, //immediately_derived |
| 0, 0}, |
| {&cd_tk02, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zb22[]; |
| static VTBL_ENTRY vtc_zb22[] = { |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zb22[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zb22[]; |
| static VTT_ENTRY vtt_zb22[] = { |
| {&(_ZTV4zb22[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zb22[]; |
| extern VTBL_ENTRY _ZTV4zb22[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zb22[]; |
| Class_Descriptor cd_zb22 = { "zb22", // class name |
| bases_zb22, 4, |
| &(vtc_zb22[0]), // expected_vtbl_contents |
| &(vtt_zb22[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zb22),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zb22),3, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zb22),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 zc22 : virtual sk02 , tk02 { |
| ~zc22(); // tgen |
| zc22(); // tgen |
| }; |
| //SIG(1 zc22) C1{ VBC2{ BC3{}} BC4{ BC3}} |
| |
| |
| zc22 ::~zc22(){ note_dtor("zc22", this);} // tgen |
| zc22 ::zc22(){ note_ctor("zc22", this);} // tgen |
| |
| static void Test_zc22() |
| { |
| extern Class_Descriptor cd_zc22; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zc22, buf); |
| zc22 *dp, &lv = *(dp=new (buf) zc22()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zc22)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zc22)"); |
| check_base_class_offset(lv, (sj*)(sk02*), ABISELECT(8,4), "zc22"); |
| check_base_class_offset(lv, (sk02*), ABISELECT(8,4), "zc22"); |
| check_base_class_offset(lv, (sj*)(tk02*), 0, "zc22"); |
| check_base_class_offset(lv, (tk02*), 0, "zc22"); |
| test_class_info(&lv, &cd_zc22); |
| dp->~zc22(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzc22(Test_zc22, "zc22", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zc22C1Ev(); |
| extern void _ZN4zc22D1Ev(); |
| Name_Map name_map_zc22[] = { |
| NSPAIR(_ZN4zc22C1Ev), |
| NSPAIR(_ZN4zc22D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk02; |
| extern VTBL_ENTRY _ZTI4sk02[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk02; |
| extern VTBL_ENTRY _ZTI4tk02[]; |
| static Base_Class bases_zc22[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 0}, |
| {&cd_sk02, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 3, //immediately_derived |
| 0, 0}, |
| {&cd_tk02, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zc22[]; |
| static VTBL_ENTRY vtc_zc22[] = { |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zc22[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zc22[]; |
| static VTT_ENTRY vtt_zc22[] = { |
| {&(_ZTV4zc22[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zc22[]; |
| extern VTBL_ENTRY _ZTV4zc22[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zc22[]; |
| Class_Descriptor cd_zc22 = { "zc22", // class name |
| bases_zc22, 4, |
| &(vtc_zc22[0]), // expected_vtbl_contents |
| &(vtt_zc22[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zc22),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zc22),3, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zc22),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 zd22 : virtual sk02 , virtual tk02 { |
| ~zd22(); // tgen |
| zd22(); // tgen |
| }; |
| //SIG(1 zd22) C1{ VBC2{ BC3{}} VBC4{ BC3}} |
| |
| |
| zd22 ::~zd22(){ note_dtor("zd22", this);} // tgen |
| zd22 ::zd22(){ note_ctor("zd22", this);} // tgen |
| |
| static void Test_zd22() |
| { |
| extern Class_Descriptor cd_zd22; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zd22, buf); |
| zd22 *dp, &lv = *(dp=new (buf) zd22()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zd22)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zd22)"); |
| check_base_class_offset(lv, (sj*)(sk02*), 0, "zd22"); |
| check_base_class_offset(lv, (sk02*), 0, "zd22"); |
| check_base_class_offset(lv, (sj*)(tk02*), ABISELECT(8,4), "zd22"); |
| check_base_class_offset(lv, (tk02*), ABISELECT(8,4), "zd22"); |
| test_class_info(&lv, &cd_zd22); |
| dp->~zd22(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzd22(Test_zd22, "zd22", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zd22C1Ev(); |
| extern void _ZN4zd22D1Ev(); |
| Name_Map name_map_zd22[] = { |
| NSPAIR(_ZN4zd22C1Ev), |
| NSPAIR(_ZN4zd22D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk02; |
| extern VTBL_ENTRY _ZTI4sk02[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk02; |
| extern VTBL_ENTRY _ZTI4tk02[]; |
| static Base_Class bases_zd22[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 0}, |
| {&cd_sk02, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 3, //immediately_derived |
| 0, 0}, |
| {&cd_tk02, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zd22[]; |
| static VTBL_ENTRY vtc_zd22[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zd22[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zd22[]; |
| static VTT_ENTRY vtt_zd22[] = { |
| {&(_ZTV4zd22[4]), 4,4}, |
| }; |
| extern VTBL_ENTRY _ZTI4zd22[]; |
| extern VTBL_ENTRY _ZTV4zd22[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zd22[]; |
| Class_Descriptor cd_zd22 = { "zd22", // class name |
| bases_zd22, 4, |
| &(vtc_zd22[0]), // expected_vtbl_contents |
| &(vtt_zd22[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zd22),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zd22),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zd22),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 za23 : sk02 , tk11 { |
| ~za23(); // tgen |
| za23(); // tgen |
| }; |
| //SIG(1 za23) C1{ BC2{ BC3{}} BC4{ VBC5{} VBC3}} |
| |
| |
| za23 ::~za23(){ note_dtor("za23", this);} // tgen |
| za23 ::za23(){ note_ctor("za23", this);} // tgen |
| |
| static void Test_za23() |
| { |
| extern Class_Descriptor cd_za23; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_za23, buf); |
| za23 *dp, &lv = *(dp=new (buf) za23()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(za23)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(za23)"); |
| check_base_class_offset(lv, (sj*)(sk02*), 0, "za23"); |
| check_base_class_offset(lv, (sk02*), 0, "za23"); |
| check_base_class_offset(lv, (si*)(tk11*), 0, "za23"); |
| check_base_class_offset(lv, (sj*)(tk11*), ABISELECT(8,4), "za23"); |
| check_base_class_offset(lv, (tk11*), 0, "za23"); |
| test_class_info(&lv, &cd_za23); |
| dp->~za23(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vza23(Test_za23, "za23", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4za23C1Ev(); |
| extern void _ZN4za23D1Ev(); |
| Name_Map name_map_za23[] = { |
| NSPAIR(_ZN4za23C1Ev), |
| NSPAIR(_ZN4za23D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk02; |
| extern VTBL_ENTRY _ZTI4sk02[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk11; |
| extern VTBL_ENTRY _ZTI4tk11[]; |
| extern VTBL_ENTRY _ZTV4tk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk11[]; |
| static Base_Class bases_za23[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 0}, |
| {&cd_sk02, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 1}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 1}, |
| {&cd_tk11, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4za23[]; |
| static VTBL_ENTRY vtc_za23[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4za23[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4za23[]; |
| static VTBL_ENTRY _tg__ZTV4tk11__4za23[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk11[0]), |
| }; |
| static VTT_ENTRY vtt_za23[] = { |
| {&(_ZTV4za23[4]), 4,4}, |
| {&(_tg__ZTV4tk11__4za23[4]), 4,4}, |
| }; |
| extern VTBL_ENTRY _ZTI4za23[]; |
| extern VTBL_ENTRY _ZTV4za23[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4za23[]; |
| Class_Descriptor cd_za23 = { "za23", // class name |
| bases_za23, 5, |
| &(vtc_za23[0]), // expected_vtbl_contents |
| &(vtt_za23[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4za23),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4za23),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4za23),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 zb23 : sk02 , virtual tk11 { |
| ~zb23(); // tgen |
| zb23(); // tgen |
| }; |
| //SIG(1 zb23) C1{ BC2{ BC3{}} VBC4{ VBC5{} VBC3}} |
| |
| |
| zb23 ::~zb23(){ note_dtor("zb23", this);} // tgen |
| zb23 ::zb23(){ note_ctor("zb23", this);} // tgen |
| |
| static void Test_zb23() |
| { |
| extern Class_Descriptor cd_zb23; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zb23, buf); |
| zb23 *dp, &lv = *(dp=new (buf) zb23()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zb23)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zb23)"); |
| check_base_class_offset(lv, (sj*)(sk02*), 0, "zb23"); |
| check_base_class_offset(lv, (sk02*), 0, "zb23"); |
| check_base_class_offset(lv, (si*)(tk11*), 0, "zb23"); |
| check_base_class_offset(lv, (sj*)(tk11*), ABISELECT(8,4), "zb23"); |
| check_base_class_offset(lv, (tk11*), 0, "zb23"); |
| test_class_info(&lv, &cd_zb23); |
| dp->~zb23(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzb23(Test_zb23, "zb23", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zb23C1Ev(); |
| extern void _ZN4zb23D1Ev(); |
| Name_Map name_map_zb23[] = { |
| NSPAIR(_ZN4zb23C1Ev), |
| NSPAIR(_ZN4zb23D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk02; |
| extern VTBL_ENTRY _ZTI4sk02[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk11; |
| extern VTBL_ENTRY _ZTI4tk11[]; |
| extern VTBL_ENTRY _ZTV4tk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk11[]; |
| static Base_Class bases_zb23[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 0}, |
| {&cd_sk02, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 1}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 1}, |
| {&cd_tk11, 0, //bcp->offset |
| -1, //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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zb23[]; |
| static VTBL_ENTRY vtc_zb23[] = { |
| 0, |
| ABISELECT(8,4), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zb23[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zb23[]; |
| static VTBL_ENTRY _tg__ZTV4tk11__4zb23[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk11[0]), |
| }; |
| static VTT_ENTRY vtt_zb23[] = { |
| {&(_ZTV4zb23[5]), 5,5}, |
| {&(_ZTV4zb23[5]), 5,5}, |
| {&(_tg__ZTV4tk11__4zb23[4]), 4,4}, |
| }; |
| extern VTBL_ENTRY _ZTI4zb23[]; |
| extern VTBL_ENTRY _ZTV4zb23[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zb23[]; |
| Class_Descriptor cd_zb23 = { "zb23", // class name |
| bases_zb23, 5, |
| &(vtc_zb23[0]), // expected_vtbl_contents |
| &(vtt_zb23[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zb23),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zb23),5, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zb23),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 zc23 : virtual sk02 , tk11 { |
| ~zc23(); // tgen |
| zc23(); // tgen |
| }; |
| //SIG(1 zc23) C1{ VBC2{ BC3{}} BC4{ VBC5{} VBC3}} |
| |
| |
| zc23 ::~zc23(){ note_dtor("zc23", this);} // tgen |
| zc23 ::zc23(){ note_ctor("zc23", this);} // tgen |
| |
| static void Test_zc23() |
| { |
| extern Class_Descriptor cd_zc23; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zc23, buf); |
| zc23 *dp, &lv = *(dp=new (buf) zc23()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zc23)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zc23)"); |
| check_base_class_offset(lv, (sj*)(sk02*), 0, "zc23"); |
| check_base_class_offset(lv, (sk02*), 0, "zc23"); |
| check_base_class_offset(lv, (si*)(tk11*), 0, "zc23"); |
| check_base_class_offset(lv, (sj*)(tk11*), ABISELECT(8,4), "zc23"); |
| check_base_class_offset(lv, (tk11*), 0, "zc23"); |
| test_class_info(&lv, &cd_zc23); |
| dp->~zc23(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzc23(Test_zc23, "zc23", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zc23C1Ev(); |
| extern void _ZN4zc23D1Ev(); |
| Name_Map name_map_zc23[] = { |
| NSPAIR(_ZN4zc23C1Ev), |
| NSPAIR(_ZN4zc23D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk02; |
| extern VTBL_ENTRY _ZTI4sk02[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk11; |
| extern VTBL_ENTRY _ZTI4tk11[]; |
| extern VTBL_ENTRY _ZTV4tk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk11[]; |
| static Base_Class bases_zc23[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 0}, |
| {&cd_sk02, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 1}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 1}, |
| {&cd_tk11, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zc23[]; |
| static VTBL_ENTRY vtc_zc23[] = { |
| 0, |
| ABISELECT(8,4), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zc23[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zc23[]; |
| static VTBL_ENTRY _tg__ZTV4tk11__4zc23[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk11[0]), |
| }; |
| static VTT_ENTRY vtt_zc23[] = { |
| {&(_ZTV4zc23[5]), 5,5}, |
| {&(_tg__ZTV4tk11__4zc23[4]), 4,4}, |
| }; |
| extern VTBL_ENTRY _ZTI4zc23[]; |
| extern VTBL_ENTRY _ZTV4zc23[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zc23[]; |
| Class_Descriptor cd_zc23 = { "zc23", // class name |
| bases_zc23, 5, |
| &(vtc_zc23[0]), // expected_vtbl_contents |
| &(vtt_zc23[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zc23),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zc23),5, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zc23),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 zd23 : virtual sk02 , virtual tk11 { |
| ~zd23(); // tgen |
| zd23(); // tgen |
| }; |
| //SIG(1 zd23) C1{ VBC2{ BC3{}} VBC4{ VBC5{} VBC3}} |
| |
| |
| zd23 ::~zd23(){ note_dtor("zd23", this);} // tgen |
| zd23 ::zd23(){ note_ctor("zd23", this);} // tgen |
| |
| static void Test_zd23() |
| { |
| extern Class_Descriptor cd_zd23; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zd23, buf); |
| zd23 *dp, &lv = *(dp=new (buf) zd23()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zd23)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zd23)"); |
| check_base_class_offset(lv, (sj*)(sk02*), 0, "zd23"); |
| check_base_class_offset(lv, (sk02*), 0, "zd23"); |
| check_base_class_offset(lv, (si*)(tk11*), 0, "zd23"); |
| check_base_class_offset(lv, (sj*)(tk11*), ABISELECT(8,4), "zd23"); |
| check_base_class_offset(lv, (tk11*), 0, "zd23"); |
| test_class_info(&lv, &cd_zd23); |
| dp->~zd23(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzd23(Test_zd23, "zd23", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zd23C1Ev(); |
| extern void _ZN4zd23D1Ev(); |
| Name_Map name_map_zd23[] = { |
| NSPAIR(_ZN4zd23C1Ev), |
| NSPAIR(_ZN4zd23D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk02; |
| extern VTBL_ENTRY _ZTI4sk02[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk11; |
| extern VTBL_ENTRY _ZTI4tk11[]; |
| extern VTBL_ENTRY _ZTV4tk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk11[]; |
| static Base_Class bases_zd23[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 0}, |
| {&cd_sk02, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 1}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 1}, |
| {&cd_tk11, 0, //bcp->offset |
| -1, //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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zd23[]; |
| static VTBL_ENTRY vtc_zd23[] = { |
| 0, |
| 0, |
| ABISELECT(8,4), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zd23[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zd23[]; |
| static VTBL_ENTRY _tg__ZTV4tk11__4zd23[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk11[0]), |
| }; |
| static VTT_ENTRY vtt_zd23[] = { |
| {&(_ZTV4zd23[6]), 6,6}, |
| {&(_ZTV4zd23[6]), 6,6}, |
| {&(_tg__ZTV4tk11__4zd23[4]), 4,4}, |
| }; |
| extern VTBL_ENTRY _ZTI4zd23[]; |
| extern VTBL_ENTRY _ZTV4zd23[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zd23[]; |
| Class_Descriptor cd_zd23 = { "zd23", // class name |
| bases_zd23, 5, |
| &(vtc_zd23[0]), // expected_vtbl_contents |
| &(vtt_zd23[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zd23),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zd23),6, //virtual function table var |
| 6, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zd23),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 za24 : sk02 , tk12 { |
| ~za24(); // tgen |
| za24(); // tgen |
| }; |
| //SIG(1 za24) C1{ BC2{ BC3{}} BC4{ VBC5{} BC3}} |
| |
| |
| za24 ::~za24(){ note_dtor("za24", this);} // tgen |
| za24 ::za24(){ note_ctor("za24", this);} // tgen |
| |
| static void Test_za24() |
| { |
| extern Class_Descriptor cd_za24; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_za24, buf); |
| za24 *dp, &lv = *(dp=new (buf) za24()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(za24)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(za24)"); |
| check_base_class_offset(lv, (sj*)(sk02*), ABISELECT(8,4), "za24"); |
| check_base_class_offset(lv, (sk02*), ABISELECT(8,4), "za24"); |
| check_base_class_offset(lv, (si*)(tk12*), 0, "za24"); |
| check_base_class_offset(lv, (sj*)(tk12*), 0, "za24"); |
| check_base_class_offset(lv, (tk12*), 0, "za24"); |
| test_class_info(&lv, &cd_za24); |
| dp->~za24(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vza24(Test_za24, "za24", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4za24C1Ev(); |
| extern void _ZN4za24D1Ev(); |
| Name_Map name_map_za24[] = { |
| NSPAIR(_ZN4za24C1Ev), |
| NSPAIR(_ZN4za24D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk02; |
| extern VTBL_ENTRY _ZTI4sk02[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk12; |
| extern VTBL_ENTRY _ZTI4tk12[]; |
| extern VTBL_ENTRY _ZTV4tk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk12[]; |
| static Base_Class bases_za24[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 0}, |
| {&cd_sk02, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_tk12, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4za24[]; |
| static VTBL_ENTRY vtc_za24[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4za24[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4za24[]; |
| static VTBL_ENTRY _tg__ZTV4tk12__4za24[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk12[0]), |
| }; |
| static VTT_ENTRY vtt_za24[] = { |
| {&(_ZTV4za24[3]), 3,3}, |
| {&(_tg__ZTV4tk12__4za24[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4za24[]; |
| extern VTBL_ENTRY _ZTV4za24[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4za24[]; |
| Class_Descriptor cd_za24 = { "za24", // class name |
| bases_za24, 5, |
| &(vtc_za24[0]), // expected_vtbl_contents |
| &(vtt_za24[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4za24),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4za24),3, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4za24),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 zb24 : sk02 , virtual tk12 { |
| ~zb24(); // tgen |
| zb24(); // tgen |
| }; |
| //SIG(1 zb24) C1{ BC2{ BC3{}} VBC4{ VBC5{} BC3}} |
| |
| |
| zb24 ::~zb24(){ note_dtor("zb24", this);} // tgen |
| zb24 ::zb24(){ note_ctor("zb24", this);} // tgen |
| |
| static void Test_zb24() |
| { |
| extern Class_Descriptor cd_zb24; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zb24, buf); |
| zb24 *dp, &lv = *(dp=new (buf) zb24()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zb24)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zb24)"); |
| check_base_class_offset(lv, (sj*)(sk02*), ABISELECT(8,4), "zb24"); |
| check_base_class_offset(lv, (sk02*), ABISELECT(8,4), "zb24"); |
| check_base_class_offset(lv, (si*)(tk12*), 0, "zb24"); |
| check_base_class_offset(lv, (sj*)(tk12*), 0, "zb24"); |
| check_base_class_offset(lv, (tk12*), 0, "zb24"); |
| test_class_info(&lv, &cd_zb24); |
| dp->~zb24(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzb24(Test_zb24, "zb24", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zb24C1Ev(); |
| extern void _ZN4zb24D1Ev(); |
| Name_Map name_map_zb24[] = { |
| NSPAIR(_ZN4zb24C1Ev), |
| NSPAIR(_ZN4zb24D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk02; |
| extern VTBL_ENTRY _ZTI4sk02[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk12; |
| extern VTBL_ENTRY _ZTI4tk12[]; |
| extern VTBL_ENTRY _ZTV4tk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk12[]; |
| static Base_Class bases_zb24[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 0}, |
| {&cd_sk02, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_tk12, 0, //bcp->offset |
| -1, //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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zb24[]; |
| static VTBL_ENTRY vtc_zb24[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zb24[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zb24[]; |
| static VTBL_ENTRY _tg__ZTV4tk12__4zb24[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk12[0]), |
| }; |
| static VTT_ENTRY vtt_zb24[] = { |
| {&(_ZTV4zb24[4]), 4,4}, |
| {&(_ZTV4zb24[4]), 4,4}, |
| {&(_tg__ZTV4tk12__4zb24[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zb24[]; |
| extern VTBL_ENTRY _ZTV4zb24[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zb24[]; |
| Class_Descriptor cd_zb24 = { "zb24", // class name |
| bases_zb24, 5, |
| &(vtc_zb24[0]), // expected_vtbl_contents |
| &(vtt_zb24[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zb24),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zb24),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zb24),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 zc24 : virtual sk02 , tk12 { |
| ~zc24(); // tgen |
| zc24(); // tgen |
| }; |
| //SIG(1 zc24) C1{ VBC2{ BC3{}} BC4{ VBC5{} BC3}} |
| |
| |
| zc24 ::~zc24(){ note_dtor("zc24", this);} // tgen |
| zc24 ::zc24(){ note_ctor("zc24", this);} // tgen |
| |
| static void Test_zc24() |
| { |
| extern Class_Descriptor cd_zc24; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zc24, buf); |
| zc24 *dp, &lv = *(dp=new (buf) zc24()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zc24)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zc24)"); |
| check_base_class_offset(lv, (sj*)(sk02*), ABISELECT(8,4), "zc24"); |
| check_base_class_offset(lv, (sk02*), ABISELECT(8,4), "zc24"); |
| check_base_class_offset(lv, (si*)(tk12*), 0, "zc24"); |
| check_base_class_offset(lv, (sj*)(tk12*), 0, "zc24"); |
| check_base_class_offset(lv, (tk12*), 0, "zc24"); |
| test_class_info(&lv, &cd_zc24); |
| dp->~zc24(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzc24(Test_zc24, "zc24", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zc24C1Ev(); |
| extern void _ZN4zc24D1Ev(); |
| Name_Map name_map_zc24[] = { |
| NSPAIR(_ZN4zc24C1Ev), |
| NSPAIR(_ZN4zc24D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk02; |
| extern VTBL_ENTRY _ZTI4sk02[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk12; |
| extern VTBL_ENTRY _ZTI4tk12[]; |
| extern VTBL_ENTRY _ZTV4tk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk12[]; |
| static Base_Class bases_zc24[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 0}, |
| {&cd_sk02, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_tk12, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zc24[]; |
| static VTBL_ENTRY vtc_zc24[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zc24[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zc24[]; |
| static VTBL_ENTRY _tg__ZTV4tk12__4zc24[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk12[0]), |
| }; |
| static VTT_ENTRY vtt_zc24[] = { |
| {&(_ZTV4zc24[4]), 4,4}, |
| {&(_tg__ZTV4tk12__4zc24[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zc24[]; |
| extern VTBL_ENTRY _ZTV4zc24[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zc24[]; |
| Class_Descriptor cd_zc24 = { "zc24", // class name |
| bases_zc24, 5, |
| &(vtc_zc24[0]), // expected_vtbl_contents |
| &(vtt_zc24[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zc24),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zc24),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zc24),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 zd24 : virtual sk02 , virtual tk12 { |
| ~zd24(); // tgen |
| zd24(); // tgen |
| }; |
| //SIG(1 zd24) C1{ VBC2{ BC3{}} VBC4{ VBC5{} BC3}} |
| |
| |
| zd24 ::~zd24(){ note_dtor("zd24", this);} // tgen |
| zd24 ::zd24(){ note_ctor("zd24", this);} // tgen |
| |
| static void Test_zd24() |
| { |
| extern Class_Descriptor cd_zd24; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zd24, buf); |
| zd24 *dp, &lv = *(dp=new (buf) zd24()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zd24)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zd24)"); |
| check_base_class_offset(lv, (sj*)(sk02*), ABISELECT(8,4), "zd24"); |
| check_base_class_offset(lv, (sk02*), ABISELECT(8,4), "zd24"); |
| check_base_class_offset(lv, (si*)(tk12*), 0, "zd24"); |
| check_base_class_offset(lv, (sj*)(tk12*), 0, "zd24"); |
| check_base_class_offset(lv, (tk12*), 0, "zd24"); |
| test_class_info(&lv, &cd_zd24); |
| dp->~zd24(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzd24(Test_zd24, "zd24", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zd24C1Ev(); |
| extern void _ZN4zd24D1Ev(); |
| Name_Map name_map_zd24[] = { |
| NSPAIR(_ZN4zd24C1Ev), |
| NSPAIR(_ZN4zd24D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk02; |
| extern VTBL_ENTRY _ZTI4sk02[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk12; |
| extern VTBL_ENTRY _ZTI4tk12[]; |
| extern VTBL_ENTRY _ZTV4tk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk12[]; |
| static Base_Class bases_zd24[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 0}, |
| {&cd_sk02, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_tk12, 0, //bcp->offset |
| -1, //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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zd24[]; |
| static VTBL_ENTRY vtc_zd24[] = { |
| 0, |
| ABISELECT(8,4), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zd24[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zd24[]; |
| static VTBL_ENTRY _tg__ZTV4tk12__4zd24[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk12[0]), |
| }; |
| static VTT_ENTRY vtt_zd24[] = { |
| {&(_ZTV4zd24[5]), 5,5}, |
| {&(_ZTV4zd24[5]), 5,5}, |
| {&(_tg__ZTV4tk12__4zd24[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zd24[]; |
| extern VTBL_ENTRY _ZTV4zd24[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zd24[]; |
| Class_Descriptor cd_zd24 = { "zd24", // class name |
| bases_zd24, 5, |
| &(vtc_zd24[0]), // expected_vtbl_contents |
| &(vtt_zd24[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zd24),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zd24),5, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zd24),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 za25 : sk02 , tk21 { |
| ~za25(); // tgen |
| za25(); // tgen |
| }; |
| //SIG(1 za25) C1{ BC2{ BC3{}} BC4{ BC5{} VBC3}} |
| |
| |
| za25 ::~za25(){ note_dtor("za25", this);} // tgen |
| za25 ::za25(){ note_ctor("za25", this);} // tgen |
| |
| static void Test_za25() |
| { |
| extern Class_Descriptor cd_za25; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_za25, buf); |
| za25 *dp, &lv = *(dp=new (buf) za25()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(za25)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(za25)"); |
| check_base_class_offset(lv, (sj*)(sk02*), 0, "za25"); |
| check_base_class_offset(lv, (sk02*), 0, "za25"); |
| check_base_class_offset(lv, (si*)(tk21*), 0, "za25"); |
| check_base_class_offset(lv, (sj*)(tk21*), ABISELECT(8,4), "za25"); |
| check_base_class_offset(lv, (tk21*), 0, "za25"); |
| test_class_info(&lv, &cd_za25); |
| dp->~za25(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vza25(Test_za25, "za25", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4za25C1Ev(); |
| extern void _ZN4za25D1Ev(); |
| Name_Map name_map_za25[] = { |
| NSPAIR(_ZN4za25C1Ev), |
| NSPAIR(_ZN4za25D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk02; |
| extern VTBL_ENTRY _ZTI4sk02[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk21; |
| extern VTBL_ENTRY _ZTI4tk21[]; |
| extern VTBL_ENTRY _ZTV4tk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk21[]; |
| static Base_Class bases_za25[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 0}, |
| {&cd_sk02, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 1}, |
| {&cd_tk21, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4za25[]; |
| static VTBL_ENTRY vtc_za25[] = { |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4za25[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4za25[]; |
| static VTBL_ENTRY _tg__ZTV4tk21__4za25[] = { |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk21[0]), |
| }; |
| static VTT_ENTRY vtt_za25[] = { |
| {&(_ZTV4za25[3]), 3,3}, |
| {&(_tg__ZTV4tk21__4za25[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4za25[]; |
| extern VTBL_ENTRY _ZTV4za25[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4za25[]; |
| Class_Descriptor cd_za25 = { "za25", // class name |
| bases_za25, 5, |
| &(vtc_za25[0]), // expected_vtbl_contents |
| &(vtt_za25[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4za25),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4za25),3, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4za25),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 zb25 : sk02 , virtual tk21 { |
| ~zb25(); // tgen |
| zb25(); // tgen |
| }; |
| //SIG(1 zb25) C1{ BC2{ BC3{}} VBC4{ BC5{} VBC3}} |
| |
| |
| zb25 ::~zb25(){ note_dtor("zb25", this);} // tgen |
| zb25 ::zb25(){ note_ctor("zb25", this);} // tgen |
| |
| static void Test_zb25() |
| { |
| extern Class_Descriptor cd_zb25; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zb25, buf); |
| zb25 *dp, &lv = *(dp=new (buf) zb25()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zb25)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zb25)"); |
| check_base_class_offset(lv, (sj*)(sk02*), 0, "zb25"); |
| check_base_class_offset(lv, (sk02*), 0, "zb25"); |
| check_base_class_offset(lv, (si*)(tk21*), 0, "zb25"); |
| check_base_class_offset(lv, (sj*)(tk21*), ABISELECT(8,4), "zb25"); |
| check_base_class_offset(lv, (tk21*), 0, "zb25"); |
| test_class_info(&lv, &cd_zb25); |
| dp->~zb25(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzb25(Test_zb25, "zb25", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zb25C1Ev(); |
| extern void _ZN4zb25D1Ev(); |
| Name_Map name_map_zb25[] = { |
| NSPAIR(_ZN4zb25C1Ev), |
| NSPAIR(_ZN4zb25D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk02; |
| extern VTBL_ENTRY _ZTI4sk02[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk21; |
| extern VTBL_ENTRY _ZTI4tk21[]; |
| extern VTBL_ENTRY _ZTV4tk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk21[]; |
| static Base_Class bases_zb25[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 0}, |
| {&cd_sk02, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 1}, |
| {&cd_tk21, 0, //bcp->offset |
| -1, //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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zb25[]; |
| static VTBL_ENTRY vtc_zb25[] = { |
| 0, |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zb25[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zb25[]; |
| static VTBL_ENTRY _tg__ZTV4tk21__4zb25[] = { |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk21[0]), |
| }; |
| static VTT_ENTRY vtt_zb25[] = { |
| {&(_ZTV4zb25[4]), 4,4}, |
| {&(_ZTV4zb25[4]), 4,4}, |
| {&(_tg__ZTV4tk21__4zb25[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zb25[]; |
| extern VTBL_ENTRY _ZTV4zb25[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zb25[]; |
| Class_Descriptor cd_zb25 = { "zb25", // class name |
| bases_zb25, 5, |
| &(vtc_zb25[0]), // expected_vtbl_contents |
| &(vtt_zb25[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zb25),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zb25),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zb25),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 zc25 : virtual sk02 , tk21 { |
| ~zc25(); // tgen |
| zc25(); // tgen |
| }; |
| //SIG(1 zc25) C1{ VBC2{ BC3{}} BC4{ BC5{} VBC3}} |
| |
| |
| zc25 ::~zc25(){ note_dtor("zc25", this);} // tgen |
| zc25 ::zc25(){ note_ctor("zc25", this);} // tgen |
| |
| static void Test_zc25() |
| { |
| extern Class_Descriptor cd_zc25; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zc25, buf); |
| zc25 *dp, &lv = *(dp=new (buf) zc25()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zc25)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zc25)"); |
| check_base_class_offset(lv, (sj*)(sk02*), 0, "zc25"); |
| check_base_class_offset(lv, (sk02*), 0, "zc25"); |
| check_base_class_offset(lv, (si*)(tk21*), 0, "zc25"); |
| check_base_class_offset(lv, (sj*)(tk21*), ABISELECT(8,4), "zc25"); |
| check_base_class_offset(lv, (tk21*), 0, "zc25"); |
| test_class_info(&lv, &cd_zc25); |
| dp->~zc25(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzc25(Test_zc25, "zc25", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zc25C1Ev(); |
| extern void _ZN4zc25D1Ev(); |
| Name_Map name_map_zc25[] = { |
| NSPAIR(_ZN4zc25C1Ev), |
| NSPAIR(_ZN4zc25D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk02; |
| extern VTBL_ENTRY _ZTI4sk02[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk21; |
| extern VTBL_ENTRY _ZTI4tk21[]; |
| extern VTBL_ENTRY _ZTV4tk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk21[]; |
| static Base_Class bases_zc25[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 0}, |
| {&cd_sk02, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 1}, |
| {&cd_tk21, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zc25[]; |
| static VTBL_ENTRY vtc_zc25[] = { |
| 0, |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zc25[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zc25[]; |
| static VTBL_ENTRY _tg__ZTV4tk21__4zc25[] = { |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk21[0]), |
| }; |
| static VTT_ENTRY vtt_zc25[] = { |
| {&(_ZTV4zc25[4]), 4,4}, |
| {&(_tg__ZTV4tk21__4zc25[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zc25[]; |
| extern VTBL_ENTRY _ZTV4zc25[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zc25[]; |
| Class_Descriptor cd_zc25 = { "zc25", // class name |
| bases_zc25, 5, |
| &(vtc_zc25[0]), // expected_vtbl_contents |
| &(vtt_zc25[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zc25),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zc25),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zc25),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 zd25 : virtual sk02 , virtual tk21 { |
| ~zd25(); // tgen |
| zd25(); // tgen |
| }; |
| //SIG(1 zd25) C1{ VBC2{ BC3{}} VBC4{ BC5{} VBC3}} |
| |
| |
| zd25 ::~zd25(){ note_dtor("zd25", this);} // tgen |
| zd25 ::zd25(){ note_ctor("zd25", this);} // tgen |
| |
| static void Test_zd25() |
| { |
| extern Class_Descriptor cd_zd25; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zd25, buf); |
| zd25 *dp, &lv = *(dp=new (buf) zd25()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zd25)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zd25)"); |
| check_base_class_offset(lv, (sj*)(sk02*), 0, "zd25"); |
| check_base_class_offset(lv, (sk02*), 0, "zd25"); |
| check_base_class_offset(lv, (si*)(tk21*), 0, "zd25"); |
| check_base_class_offset(lv, (sj*)(tk21*), ABISELECT(8,4), "zd25"); |
| check_base_class_offset(lv, (tk21*), 0, "zd25"); |
| test_class_info(&lv, &cd_zd25); |
| dp->~zd25(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzd25(Test_zd25, "zd25", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zd25C1Ev(); |
| extern void _ZN4zd25D1Ev(); |
| Name_Map name_map_zd25[] = { |
| NSPAIR(_ZN4zd25C1Ev), |
| NSPAIR(_ZN4zd25D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk02; |
| extern VTBL_ENTRY _ZTI4sk02[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk21; |
| extern VTBL_ENTRY _ZTI4tk21[]; |
| extern VTBL_ENTRY _ZTV4tk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk21[]; |
| static Base_Class bases_zd25[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 0}, |
| {&cd_sk02, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 1}, |
| {&cd_tk21, 0, //bcp->offset |
| -1, //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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zd25[]; |
| static VTBL_ENTRY vtc_zd25[] = { |
| 0, |
| 0, |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zd25[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zd25[]; |
| static VTBL_ENTRY _tg__ZTV4tk21__4zd25[] = { |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk21[0]), |
| }; |
| static VTT_ENTRY vtt_zd25[] = { |
| {&(_ZTV4zd25[5]), 5,5}, |
| {&(_ZTV4zd25[5]), 5,5}, |
| {&(_tg__ZTV4tk21__4zd25[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zd25[]; |
| extern VTBL_ENTRY _ZTV4zd25[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zd25[]; |
| Class_Descriptor cd_zd25 = { "zd25", // class name |
| bases_zd25, 5, |
| &(vtc_zd25[0]), // expected_vtbl_contents |
| &(vtt_zd25[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zd25),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zd25),5, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zd25),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 za26 : sk02 , tk22 { |
| }; |
| //SIG(1 za26) C1{ BC2{ BC3{}} BC4{ BC5{} BC3}} |
| |
| |
| |
| static void Test_za26() |
| { |
| extern Class_Descriptor cd_za26; |
| void *lvp; |
| { |
| char buf[2]; |
| init_test(&cd_za26, buf); |
| za26 &lv = *(new (buf) za26()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), 2, "sizeof(za26)"); |
| check2(__alignof__(lv), 1, "__alignof__(za26)"); |
| check_base_class_offset(lv, (sj*)(sk02*), 0, "za26"); |
| check_base_class_offset(lv, (sk02*), 0, "za26"); |
| check_base_class_offset(lv, (si*)(tk22*), 1, "za26"); |
| check_base_class_offset(lv, (sj*)(tk22*), 1, "za26"); |
| check_base_class_offset(lv, (tk22*), 1, "za26"); |
| test_class_info(&lv, &cd_za26); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vza26(Test_za26, "za26", 2); |
| |
| #else // __cplusplus |
| |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk02; |
| extern VTBL_ENTRY _ZTI4sk02[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk22; |
| extern VTBL_ENTRY _ZTI4tk22[]; |
| static Base_Class bases_za26[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 0}, |
| {&cd_sk02, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_si, 1, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 1, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_tk22, 1, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //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_za26 = { "za26", // class name |
| bases_za26, 5, |
| 0, // no vftv |
| 0, //no vtt |
| 2, // 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 zb26 : sk02 , virtual tk22 { |
| ~zb26(); // tgen |
| zb26(); // tgen |
| }; |
| //SIG(1 zb26) C1{ BC2{ BC3{}} VBC4{ BC5{} BC3}} |
| |
| |
| zb26 ::~zb26(){ note_dtor("zb26", this);} // tgen |
| zb26 ::zb26(){ note_ctor("zb26", this);} // tgen |
| |
| static void Test_zb26() |
| { |
| extern Class_Descriptor cd_zb26; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zb26, buf); |
| zb26 *dp, &lv = *(dp=new (buf) zb26()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zb26)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zb26)"); |
| check_base_class_offset(lv, (sj*)(sk02*), 0, "zb26"); |
| check_base_class_offset(lv, (sk02*), 0, "zb26"); |
| check_base_class_offset(lv, (si*)(tk22*), ABISELECT(8,4), "zb26"); |
| check_base_class_offset(lv, (sj*)(tk22*), ABISELECT(8,4), "zb26"); |
| check_base_class_offset(lv, (tk22*), ABISELECT(8,4), "zb26"); |
| test_class_info(&lv, &cd_zb26); |
| dp->~zb26(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzb26(Test_zb26, "zb26", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zb26C1Ev(); |
| extern void _ZN4zb26D1Ev(); |
| Name_Map name_map_zb26[] = { |
| NSPAIR(_ZN4zb26C1Ev), |
| NSPAIR(_ZN4zb26D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk02; |
| extern VTBL_ENTRY _ZTI4sk02[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk22; |
| extern VTBL_ENTRY _ZTI4tk22[]; |
| static Base_Class bases_zb26[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 0}, |
| {&cd_sk02, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_si, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_tk22, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zb26[]; |
| static VTBL_ENTRY vtc_zb26[] = { |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zb26[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zb26[]; |
| static VTT_ENTRY vtt_zb26[] = { |
| {&(_ZTV4zb26[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zb26[]; |
| extern VTBL_ENTRY _ZTV4zb26[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zb26[]; |
| Class_Descriptor cd_zb26 = { "zb26", // class name |
| bases_zb26, 5, |
| &(vtc_zb26[0]), // expected_vtbl_contents |
| &(vtt_zb26[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zb26),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zb26),3, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zb26),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 zc26 : virtual sk02 , tk22 { |
| ~zc26(); // tgen |
| zc26(); // tgen |
| }; |
| //SIG(1 zc26) C1{ VBC2{ BC3{}} BC4{ BC5{} BC3}} |
| |
| |
| zc26 ::~zc26(){ note_dtor("zc26", this);} // tgen |
| zc26 ::zc26(){ note_ctor("zc26", this);} // tgen |
| |
| static void Test_zc26() |
| { |
| extern Class_Descriptor cd_zc26; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zc26, buf); |
| zc26 *dp, &lv = *(dp=new (buf) zc26()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zc26)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zc26)"); |
| check_base_class_offset(lv, (sj*)(sk02*), ABISELECT(8,4), "zc26"); |
| check_base_class_offset(lv, (sk02*), ABISELECT(8,4), "zc26"); |
| check_base_class_offset(lv, (si*)(tk22*), 0, "zc26"); |
| check_base_class_offset(lv, (sj*)(tk22*), 0, "zc26"); |
| check_base_class_offset(lv, (tk22*), 0, "zc26"); |
| test_class_info(&lv, &cd_zc26); |
| dp->~zc26(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzc26(Test_zc26, "zc26", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zc26C1Ev(); |
| extern void _ZN4zc26D1Ev(); |
| Name_Map name_map_zc26[] = { |
| NSPAIR(_ZN4zc26C1Ev), |
| NSPAIR(_ZN4zc26D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk02; |
| extern VTBL_ENTRY _ZTI4sk02[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk22; |
| extern VTBL_ENTRY _ZTI4tk22[]; |
| static Base_Class bases_zc26[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 0}, |
| {&cd_sk02, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_tk22, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zc26[]; |
| static VTBL_ENTRY vtc_zc26[] = { |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zc26[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zc26[]; |
| static VTT_ENTRY vtt_zc26[] = { |
| {&(_ZTV4zc26[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zc26[]; |
| extern VTBL_ENTRY _ZTV4zc26[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zc26[]; |
| Class_Descriptor cd_zc26 = { "zc26", // class name |
| bases_zc26, 5, |
| &(vtc_zc26[0]), // expected_vtbl_contents |
| &(vtt_zc26[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zc26),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zc26),3, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zc26),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 zd26 : virtual sk02 , virtual tk22 { |
| ~zd26(); // tgen |
| zd26(); // tgen |
| }; |
| //SIG(1 zd26) C1{ VBC2{ BC3{}} VBC4{ BC5{} BC3}} |
| |
| |
| zd26 ::~zd26(){ note_dtor("zd26", this);} // tgen |
| zd26 ::zd26(){ note_ctor("zd26", this);} // tgen |
| |
| static void Test_zd26() |
| { |
| extern Class_Descriptor cd_zd26; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zd26, buf); |
| zd26 *dp, &lv = *(dp=new (buf) zd26()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zd26)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zd26)"); |
| check_base_class_offset(lv, (sj*)(sk02*), 0, "zd26"); |
| check_base_class_offset(lv, (sk02*), 0, "zd26"); |
| check_base_class_offset(lv, (si*)(tk22*), ABISELECT(8,4), "zd26"); |
| check_base_class_offset(lv, (sj*)(tk22*), ABISELECT(8,4), "zd26"); |
| check_base_class_offset(lv, (tk22*), ABISELECT(8,4), "zd26"); |
| test_class_info(&lv, &cd_zd26); |
| dp->~zd26(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzd26(Test_zd26, "zd26", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zd26C1Ev(); |
| extern void _ZN4zd26D1Ev(); |
| Name_Map name_map_zd26[] = { |
| NSPAIR(_ZN4zd26C1Ev), |
| NSPAIR(_ZN4zd26D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk02; |
| extern VTBL_ENTRY _ZTI4sk02[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk22; |
| extern VTBL_ENTRY _ZTI4tk22[]; |
| static Base_Class bases_zd26[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 1, //immediately_derived |
| 0, 0}, |
| {&cd_sk02, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_si, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_tk22, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zd26[]; |
| static VTBL_ENTRY vtc_zd26[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zd26[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zd26[]; |
| static VTT_ENTRY vtt_zd26[] = { |
| {&(_ZTV4zd26[4]), 4,4}, |
| }; |
| extern VTBL_ENTRY _ZTI4zd26[]; |
| extern VTBL_ENTRY _ZTV4zd26[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zd26[]; |
| Class_Descriptor cd_zd26 = { "zd26", // class name |
| bases_zd26, 5, |
| &(vtc_zd26[0]), // expected_vtbl_contents |
| &(vtt_zd26[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zd26),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zd26),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zd26),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 xt3 : tk11 { |
| ~xt3(); // tgen |
| xt3(); // tgen |
| }; |
| //SIG(1 xt3) C1{ BC2{ VBC3{} VBC4{}}} |
| |
| |
| xt3 ::~xt3(){ note_dtor("xt3", this);} // tgen |
| xt3 ::xt3(){ note_ctor("xt3", this);} // tgen |
| |
| static void Test_xt3() |
| { |
| extern Class_Descriptor cd_xt3; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_xt3, buf); |
| xt3 *dp, &lv = *(dp=new (buf) xt3()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(xt3)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(xt3)"); |
| check_base_class_offset(lv, (si*)(tk11*), 0, "xt3"); |
| check_base_class_offset(lv, (sj*)(tk11*), 0, "xt3"); |
| check_base_class_offset(lv, (tk11*), 0, "xt3"); |
| test_class_info(&lv, &cd_xt3); |
| dp->~xt3(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vxt3(Test_xt3, "xt3", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN3xt3C1Ev(); |
| extern void _ZN3xt3D1Ev(); |
| Name_Map name_map_xt3[] = { |
| NSPAIR(_ZN3xt3C1Ev), |
| NSPAIR(_ZN3xt3D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk11; |
| extern VTBL_ENTRY _ZTI4tk11[]; |
| extern VTBL_ENTRY _ZTV4tk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk11[]; |
| static Base_Class bases_xt3[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_tk11, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI3xt3[]; |
| static VTBL_ENTRY vtc_xt3[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI3xt3[0]), |
| }; |
| extern VTBL_ENTRY _ZTV3xt3[]; |
| static VTBL_ENTRY _tg__ZTV4tk11__3xt3[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk11[0]), |
| }; |
| static VTT_ENTRY vtt_xt3[] = { |
| {&(_ZTV3xt3[4]), 4,4}, |
| {&(_tg__ZTV4tk11__3xt3[4]), 4,4}, |
| }; |
| extern VTBL_ENTRY _ZTI3xt3[]; |
| extern VTBL_ENTRY _ZTV3xt3[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT3xt3[]; |
| Class_Descriptor cd_xt3 = { "xt3", // class name |
| bases_xt3, 3, |
| &(vtc_xt3[0]), // expected_vtbl_contents |
| &(vtt_xt3[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI3xt3),ABISELECT(24,12), //typeinfo_var |
| NSPAIRA(_ZTV3xt3),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT3xt3),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 yt3 : virtual tk11 { |
| ~yt3(); // tgen |
| yt3(); // tgen |
| }; |
| //SIG(1 yt3) C1{ VBC2{ VBC3{} VBC4{}}} |
| |
| |
| yt3 ::~yt3(){ note_dtor("yt3", this);} // tgen |
| yt3 ::yt3(){ note_ctor("yt3", this);} // tgen |
| |
| static void Test_yt3() |
| { |
| extern Class_Descriptor cd_yt3; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_yt3, buf); |
| yt3 *dp, &lv = *(dp=new (buf) yt3()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(yt3)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(yt3)"); |
| check_base_class_offset(lv, (si*)(tk11*), 0, "yt3"); |
| check_base_class_offset(lv, (sj*)(tk11*), 0, "yt3"); |
| check_base_class_offset(lv, (tk11*), 0, "yt3"); |
| test_class_info(&lv, &cd_yt3); |
| dp->~yt3(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vyt3(Test_yt3, "yt3", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN3yt3C1Ev(); |
| extern void _ZN3yt3D1Ev(); |
| Name_Map name_map_yt3[] = { |
| NSPAIR(_ZN3yt3C1Ev), |
| NSPAIR(_ZN3yt3D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk11; |
| extern VTBL_ENTRY _ZTI4tk11[]; |
| extern VTBL_ENTRY _ZTV4tk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk11[]; |
| static Base_Class bases_yt3[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_tk11, 0, //bcp->offset |
| -1, //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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI3yt3[]; |
| static VTBL_ENTRY vtc_yt3[] = { |
| 0, |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI3yt3[0]), |
| }; |
| extern VTBL_ENTRY _ZTV3yt3[]; |
| static VTBL_ENTRY _tg__ZTV4tk11__3yt3[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk11[0]), |
| }; |
| static VTT_ENTRY vtt_yt3[] = { |
| {&(_ZTV3yt3[5]), 5,5}, |
| {&(_ZTV3yt3[5]), 5,5}, |
| {&(_tg__ZTV4tk11__3yt3[4]), 4,4}, |
| }; |
| extern VTBL_ENTRY _ZTI3yt3[]; |
| extern VTBL_ENTRY _ZTV3yt3[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT3yt3[]; |
| Class_Descriptor cd_yt3 = { "yt3", // class name |
| bases_yt3, 3, |
| &(vtc_yt3[0]), // expected_vtbl_contents |
| &(vtt_yt3[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI3yt3),ABISELECT(40,24), //typeinfo_var |
| NSPAIRA(_ZTV3yt3),5, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT3yt3),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 za30 : sk11 , tk00 { |
| ~za30(); // tgen |
| za30(); // tgen |
| }; |
| //SIG(1 za30) C1{ BC2{ VBC3{} VBC4{}} BC5{}} |
| |
| |
| za30 ::~za30(){ note_dtor("za30", this);} // tgen |
| za30 ::za30(){ note_ctor("za30", this);} // tgen |
| |
| static void Test_za30() |
| { |
| extern Class_Descriptor cd_za30; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_za30, buf); |
| za30 *dp, &lv = *(dp=new (buf) za30()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(za30)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(za30)"); |
| check_base_class_offset(lv, (si*)(sk11*), 0, "za30"); |
| check_base_class_offset(lv, (sj*)(sk11*), 0, "za30"); |
| check_base_class_offset(lv, (sk11*), 0, "za30"); |
| check_base_class_offset(lv, (tk00*), 0, "za30"); |
| test_class_info(&lv, &cd_za30); |
| dp->~za30(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vza30(Test_za30, "za30", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4za30C1Ev(); |
| extern void _ZN4za30D1Ev(); |
| Name_Map name_map_za30[] = { |
| NSPAIR(_ZN4za30C1Ev), |
| NSPAIR(_ZN4za30D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk11; |
| extern VTBL_ENTRY _ZTI4sk11[]; |
| extern VTBL_ENTRY _ZTV4sk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk11[]; |
| extern Class_Descriptor cd_tk00; |
| extern VTBL_ENTRY _ZTI4tk00[]; |
| static Base_Class bases_za30[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk11, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_tk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4za30[]; |
| static VTBL_ENTRY vtc_za30[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4za30[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4za30[]; |
| static VTBL_ENTRY _tg__ZTV4sk11__4za30[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk11[0]), |
| }; |
| static VTT_ENTRY vtt_za30[] = { |
| {&(_ZTV4za30[4]), 4,4}, |
| {&(_tg__ZTV4sk11__4za30[4]), 4,4}, |
| }; |
| extern VTBL_ENTRY _ZTI4za30[]; |
| extern VTBL_ENTRY _ZTV4za30[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4za30[]; |
| Class_Descriptor cd_za30 = { "za30", // class name |
| bases_za30, 4, |
| &(vtc_za30[0]), // expected_vtbl_contents |
| &(vtt_za30[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4za30),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4za30),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4za30),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 zb30 : sk11 , virtual tk00 { |
| ~zb30(); // tgen |
| zb30(); // tgen |
| }; |
| //SIG(1 zb30) C1{ BC2{ VBC3{} VBC4{}} VBC5{}} |
| |
| |
| zb30 ::~zb30(){ note_dtor("zb30", this);} // tgen |
| zb30 ::zb30(){ note_ctor("zb30", this);} // tgen |
| |
| static void Test_zb30() |
| { |
| extern Class_Descriptor cd_zb30; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_zb30, buf); |
| zb30 *dp, &lv = *(dp=new (buf) zb30()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(zb30)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zb30)"); |
| check_base_class_offset(lv, (si*)(sk11*), 0, "zb30"); |
| check_base_class_offset(lv, (sj*)(sk11*), 0, "zb30"); |
| check_base_class_offset(lv, (sk11*), 0, "zb30"); |
| check_base_class_offset(lv, (tk00*), 0, "zb30"); |
| test_class_info(&lv, &cd_zb30); |
| dp->~zb30(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzb30(Test_zb30, "zb30", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zb30C1Ev(); |
| extern void _ZN4zb30D1Ev(); |
| Name_Map name_map_zb30[] = { |
| NSPAIR(_ZN4zb30C1Ev), |
| NSPAIR(_ZN4zb30D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk11; |
| extern VTBL_ENTRY _ZTI4sk11[]; |
| extern VTBL_ENTRY _ZTV4sk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk11[]; |
| extern Class_Descriptor cd_tk00; |
| extern VTBL_ENTRY _ZTI4tk00[]; |
| static Base_Class bases_zb30[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk11, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_tk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zb30[]; |
| static VTBL_ENTRY vtc_zb30[] = { |
| 0, |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zb30[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zb30[]; |
| static VTBL_ENTRY _tg__ZTV4sk11__4zb30[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk11[0]), |
| }; |
| static VTT_ENTRY vtt_zb30[] = { |
| {&(_ZTV4zb30[5]), 5,5}, |
| {&(_tg__ZTV4sk11__4zb30[4]), 4,4}, |
| }; |
| extern VTBL_ENTRY _ZTI4zb30[]; |
| extern VTBL_ENTRY _ZTV4zb30[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zb30[]; |
| Class_Descriptor cd_zb30 = { "zb30", // class name |
| bases_zb30, 4, |
| &(vtc_zb30[0]), // expected_vtbl_contents |
| &(vtt_zb30[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4zb30),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zb30),5, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zb30),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 zc30 : virtual sk11 , tk00 { |
| ~zc30(); // tgen |
| zc30(); // tgen |
| }; |
| //SIG(1 zc30) C1{ VBC2{ VBC3{} VBC4{}} BC5{}} |
| |
| |
| zc30 ::~zc30(){ note_dtor("zc30", this);} // tgen |
| zc30 ::zc30(){ note_ctor("zc30", this);} // tgen |
| |
| static void Test_zc30() |
| { |
| extern Class_Descriptor cd_zc30; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_zc30, buf); |
| zc30 *dp, &lv = *(dp=new (buf) zc30()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(zc30)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zc30)"); |
| check_base_class_offset(lv, (si*)(sk11*), 0, "zc30"); |
| check_base_class_offset(lv, (sj*)(sk11*), 0, "zc30"); |
| check_base_class_offset(lv, (sk11*), 0, "zc30"); |
| check_base_class_offset(lv, (tk00*), 0, "zc30"); |
| test_class_info(&lv, &cd_zc30); |
| dp->~zc30(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzc30(Test_zc30, "zc30", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zc30C1Ev(); |
| extern void _ZN4zc30D1Ev(); |
| Name_Map name_map_zc30[] = { |
| NSPAIR(_ZN4zc30C1Ev), |
| NSPAIR(_ZN4zc30D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk11; |
| extern VTBL_ENTRY _ZTI4sk11[]; |
| extern VTBL_ENTRY _ZTV4sk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk11[]; |
| extern Class_Descriptor cd_tk00; |
| extern VTBL_ENTRY _ZTI4tk00[]; |
| static Base_Class bases_zc30[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk11, 0, //bcp->offset |
| -1, //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_tk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zc30[]; |
| static VTBL_ENTRY vtc_zc30[] = { |
| 0, |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zc30[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zc30[]; |
| static VTBL_ENTRY _tg__ZTV4sk11__4zc30[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk11[0]), |
| }; |
| static VTT_ENTRY vtt_zc30[] = { |
| {&(_ZTV4zc30[5]), 5,5}, |
| {&(_ZTV4zc30[5]), 5,5}, |
| {&(_tg__ZTV4sk11__4zc30[4]), 4,4}, |
| }; |
| extern VTBL_ENTRY _ZTI4zc30[]; |
| extern VTBL_ENTRY _ZTV4zc30[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zc30[]; |
| Class_Descriptor cd_zc30 = { "zc30", // class name |
| bases_zc30, 4, |
| &(vtc_zc30[0]), // expected_vtbl_contents |
| &(vtt_zc30[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4zc30),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zc30),5, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zc30),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 zd30 : virtual sk11 , virtual tk00 { |
| ~zd30(); // tgen |
| zd30(); // tgen |
| }; |
| //SIG(1 zd30) C1{ VBC2{ VBC3{} VBC4{}} VBC5{}} |
| |
| |
| zd30 ::~zd30(){ note_dtor("zd30", this);} // tgen |
| zd30 ::zd30(){ note_ctor("zd30", this);} // tgen |
| |
| static void Test_zd30() |
| { |
| extern Class_Descriptor cd_zd30; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_zd30, buf); |
| zd30 *dp, &lv = *(dp=new (buf) zd30()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(zd30)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zd30)"); |
| check_base_class_offset(lv, (si*)(sk11*), 0, "zd30"); |
| check_base_class_offset(lv, (sj*)(sk11*), 0, "zd30"); |
| check_base_class_offset(lv, (sk11*), 0, "zd30"); |
| check_base_class_offset(lv, (tk00*), 0, "zd30"); |
| test_class_info(&lv, &cd_zd30); |
| dp->~zd30(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzd30(Test_zd30, "zd30", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zd30C1Ev(); |
| extern void _ZN4zd30D1Ev(); |
| Name_Map name_map_zd30[] = { |
| NSPAIR(_ZN4zd30C1Ev), |
| NSPAIR(_ZN4zd30D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk11; |
| extern VTBL_ENTRY _ZTI4sk11[]; |
| extern VTBL_ENTRY _ZTV4sk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk11[]; |
| extern Class_Descriptor cd_tk00; |
| extern VTBL_ENTRY _ZTI4tk00[]; |
| static Base_Class bases_zd30[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk11, 0, //bcp->offset |
| -1, //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_tk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zd30[]; |
| static VTBL_ENTRY vtc_zd30[] = { |
| 0, |
| 0, |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zd30[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zd30[]; |
| static VTBL_ENTRY _tg__ZTV4sk11__4zd30[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk11[0]), |
| }; |
| static VTT_ENTRY vtt_zd30[] = { |
| {&(_ZTV4zd30[6]), 6,6}, |
| {&(_ZTV4zd30[6]), 6,6}, |
| {&(_tg__ZTV4sk11__4zd30[4]), 4,4}, |
| }; |
| extern VTBL_ENTRY _ZTI4zd30[]; |
| extern VTBL_ENTRY _ZTV4zd30[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zd30[]; |
| Class_Descriptor cd_zd30 = { "zd30", // class name |
| bases_zd30, 4, |
| &(vtc_zd30[0]), // expected_vtbl_contents |
| &(vtt_zd30[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4zd30),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zd30),6, //virtual function table var |
| 6, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zd30),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 za31 : sk11 , tk01 { |
| ~za31(); // tgen |
| za31(); // tgen |
| }; |
| //SIG(1 za31) C1{ BC2{ VBC3{} VBC4{}} BC5{ VBC4}} |
| |
| |
| za31 ::~za31(){ note_dtor("za31", this);} // tgen |
| za31 ::za31(){ note_ctor("za31", this);} // tgen |
| |
| static void Test_za31() |
| { |
| extern Class_Descriptor cd_za31; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_za31, buf); |
| za31 *dp, &lv = *(dp=new (buf) za31()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(za31)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(za31)"); |
| check_base_class_offset(lv, (si*)(sk11*), 0, "za31"); |
| check_base_class_offset(lv, (sj*)(sk11*), 0, "za31"); |
| check_base_class_offset(lv, (sj*)(tk01*), 0, "za31"); |
| check_base_class_offset(lv, (sk11*), 0, "za31"); |
| check_base_class_offset(lv, (tk01*), ABISELECT(8,4), "za31"); |
| test_class_info(&lv, &cd_za31); |
| dp->~za31(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vza31(Test_za31, "za31", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4za31C1Ev(); |
| extern void _ZN4za31D1Ev(); |
| Name_Map name_map_za31[] = { |
| NSPAIR(_ZN4za31C1Ev), |
| NSPAIR(_ZN4za31D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk11; |
| extern VTBL_ENTRY _ZTI4sk11[]; |
| extern VTBL_ENTRY _ZTV4sk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk11[]; |
| extern Class_Descriptor cd_tk01; |
| extern VTBL_ENTRY _ZTI4tk01[]; |
| extern VTBL_ENTRY _ZTV4tk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk01[]; |
| static Base_Class bases_za31[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk11, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_tk01, ABISELECT(8,4), //bcp->offset |
| 4, //bcp->virtual_function_table_offset |
| 3, //num_negative_vtable_entries(t, bcp) |
| 4, //bcp->index_in_construction_vtbl_array |
| 3, //bcp->base_subarray_index_in_construction_vtbl_array |
| 2, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4za31[]; |
| static VTBL_ENTRY vtc_za31[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4za31[0]), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4za31[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4za31[]; |
| static VTBL_ENTRY _tg__ZTV4sk11__4za31[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk11[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4tk01__4za31[] = { |
| ABISELECT(-8,-4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk01[0]), |
| }; |
| static VTT_ENTRY vtt_za31[] = { |
| {&(_ZTV4za31[4]), 4,7}, |
| {&(_tg__ZTV4sk11__4za31[4]), 4,4}, |
| {&(_tg__ZTV4tk01__4za31[3]), 3,3}, |
| {&(_ZTV4za31[7]), 7,7}, |
| }; |
| extern VTBL_ENTRY _ZTI4za31[]; |
| extern VTBL_ENTRY _ZTV4za31[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4za31[]; |
| Class_Descriptor cd_za31 = { "za31", // class name |
| bases_za31, 4, |
| &(vtc_za31[0]), // expected_vtbl_contents |
| &(vtt_za31[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4za31),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4za31),7, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4za31),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 zb31 : sk11 , virtual tk01 { |
| ~zb31(); // tgen |
| zb31(); // tgen |
| }; |
| //SIG(1 zb31) C1{ BC2{ VBC3{} VBC4{}} VBC5{ VBC4}} |
| |
| |
| zb31 ::~zb31(){ note_dtor("zb31", this);} // tgen |
| zb31 ::zb31(){ note_ctor("zb31", this);} // tgen |
| |
| static void Test_zb31() |
| { |
| extern Class_Descriptor cd_zb31; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zb31, buf); |
| zb31 *dp, &lv = *(dp=new (buf) zb31()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zb31)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zb31)"); |
| check_base_class_offset(lv, (si*)(sk11*), 0, "zb31"); |
| check_base_class_offset(lv, (sj*)(sk11*), 0, "zb31"); |
| check_base_class_offset(lv, (sj*)(tk01*), 0, "zb31"); |
| check_base_class_offset(lv, (sk11*), 0, "zb31"); |
| check_base_class_offset(lv, (tk01*), ABISELECT(8,4), "zb31"); |
| test_class_info(&lv, &cd_zb31); |
| dp->~zb31(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzb31(Test_zb31, "zb31", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zb31C1Ev(); |
| extern void _ZN4zb31D1Ev(); |
| Name_Map name_map_zb31[] = { |
| NSPAIR(_ZN4zb31C1Ev), |
| NSPAIR(_ZN4zb31D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk11; |
| extern VTBL_ENTRY _ZTI4sk11[]; |
| extern VTBL_ENTRY _ZTV4sk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk11[]; |
| extern Class_Descriptor cd_tk01; |
| extern VTBL_ENTRY _ZTI4tk01[]; |
| extern VTBL_ENTRY _ZTV4tk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk01[]; |
| static Base_Class bases_zb31[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk11, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_tk01, ABISELECT(8,4), //bcp->offset |
| 5, //bcp->virtual_function_table_offset |
| 3, //num_negative_vtable_entries(t, bcp) |
| 3, //bcp->index_in_construction_vtbl_array |
| 4, //bcp->base_subarray_index_in_construction_vtbl_array |
| 1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zb31[]; |
| static VTBL_ENTRY vtc_zb31[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zb31[0]), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4zb31[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zb31[]; |
| static VTBL_ENTRY _tg__ZTV4sk11__4zb31[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk11[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4tk01__4zb31[] = { |
| ABISELECT(-8,-4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk01[0]), |
| }; |
| static VTT_ENTRY vtt_zb31[] = { |
| {&(_ZTV4zb31[5]), 5,8}, |
| {&(_tg__ZTV4sk11__4zb31[4]), 4,4}, |
| {&(_ZTV4zb31[8]), 8,8}, |
| {&(_tg__ZTV4tk01__4zb31[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zb31[]; |
| extern VTBL_ENTRY _ZTV4zb31[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zb31[]; |
| Class_Descriptor cd_zb31 = { "zb31", // class name |
| bases_zb31, 4, |
| &(vtc_zb31[0]), // expected_vtbl_contents |
| &(vtt_zb31[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zb31),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zb31),8, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zb31),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 zc31 : virtual sk11 , tk01 { |
| ~zc31(); // tgen |
| zc31(); // tgen |
| }; |
| //SIG(1 zc31) C1{ VBC2{ VBC3{} VBC4{}} BC5{ VBC4}} |
| |
| |
| zc31 ::~zc31(){ note_dtor("zc31", this);} // tgen |
| zc31 ::zc31(){ note_ctor("zc31", this);} // tgen |
| |
| static void Test_zc31() |
| { |
| extern Class_Descriptor cd_zc31; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zc31, buf); |
| zc31 *dp, &lv = *(dp=new (buf) zc31()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zc31)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zc31)"); |
| check_base_class_offset(lv, (si*)(sk11*), 0, "zc31"); |
| check_base_class_offset(lv, (sj*)(sk11*), 0, "zc31"); |
| check_base_class_offset(lv, (sj*)(tk01*), 0, "zc31"); |
| check_base_class_offset(lv, (sk11*), ABISELECT(8,4), "zc31"); |
| check_base_class_offset(lv, (tk01*), 0, "zc31"); |
| test_class_info(&lv, &cd_zc31); |
| dp->~zc31(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzc31(Test_zc31, "zc31", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zc31C1Ev(); |
| extern void _ZN4zc31D1Ev(); |
| Name_Map name_map_zc31[] = { |
| NSPAIR(_ZN4zc31C1Ev), |
| NSPAIR(_ZN4zc31D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk11; |
| extern VTBL_ENTRY _ZTI4sk11[]; |
| extern VTBL_ENTRY _ZTV4sk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk11[]; |
| extern Class_Descriptor cd_tk01; |
| extern VTBL_ENTRY _ZTI4tk01[]; |
| extern VTBL_ENTRY _ZTV4tk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk01[]; |
| static Base_Class bases_zc31[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk11, ABISELECT(8,4), //bcp->offset |
| 5, //bcp->virtual_function_table_offset |
| 4, //num_negative_vtable_entries(t, bcp) |
| 3, //bcp->index_in_construction_vtbl_array |
| 4, //bcp->base_subarray_index_in_construction_vtbl_array |
| 1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {&cd_tk01, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zc31[]; |
| static VTBL_ENTRY vtc_zc31[] = { |
| 0, |
| ABISELECT(8,4), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zc31[0]), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4zc31[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zc31[]; |
| static VTBL_ENTRY _tg__ZTV4tk01__4zc31[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk01[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4sk11__4zc31[] = { |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk11[0]), |
| }; |
| static VTT_ENTRY vtt_zc31[] = { |
| {&(_ZTV4zc31[5]), 5,9}, |
| {&(_tg__ZTV4tk01__4zc31[3]), 3,3}, |
| {&(_ZTV4zc31[9]), 9,9}, |
| {&(_tg__ZTV4sk11__4zc31[4]), 4,4}, |
| }; |
| extern VTBL_ENTRY _ZTI4zc31[]; |
| extern VTBL_ENTRY _ZTV4zc31[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zc31[]; |
| Class_Descriptor cd_zc31 = { "zc31", // class name |
| bases_zc31, 4, |
| &(vtc_zc31[0]), // expected_vtbl_contents |
| &(vtt_zc31[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zc31),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zc31),9, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zc31),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 zd31 : virtual sk11 , virtual tk01 { |
| ~zd31(); // tgen |
| zd31(); // tgen |
| }; |
| //SIG(1 zd31) C1{ VBC2{ VBC3{} VBC4{}} VBC5{ VBC4}} |
| |
| |
| zd31 ::~zd31(){ note_dtor("zd31", this);} // tgen |
| zd31 ::zd31(){ note_ctor("zd31", this);} // tgen |
| |
| static void Test_zd31() |
| { |
| extern Class_Descriptor cd_zd31; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zd31, buf); |
| zd31 *dp, &lv = *(dp=new (buf) zd31()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zd31)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zd31)"); |
| check_base_class_offset(lv, (si*)(sk11*), 0, "zd31"); |
| check_base_class_offset(lv, (sj*)(sk11*), 0, "zd31"); |
| check_base_class_offset(lv, (sj*)(tk01*), 0, "zd31"); |
| check_base_class_offset(lv, (sk11*), 0, "zd31"); |
| check_base_class_offset(lv, (tk01*), ABISELECT(8,4), "zd31"); |
| test_class_info(&lv, &cd_zd31); |
| dp->~zd31(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzd31(Test_zd31, "zd31", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zd31C1Ev(); |
| extern void _ZN4zd31D1Ev(); |
| Name_Map name_map_zd31[] = { |
| NSPAIR(_ZN4zd31C1Ev), |
| NSPAIR(_ZN4zd31D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk11; |
| extern VTBL_ENTRY _ZTI4sk11[]; |
| extern VTBL_ENTRY _ZTV4sk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk11[]; |
| extern Class_Descriptor cd_tk01; |
| extern VTBL_ENTRY _ZTI4tk01[]; |
| extern VTBL_ENTRY _ZTV4tk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk01[]; |
| static Base_Class bases_zd31[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk11, 0, //bcp->offset |
| -1, //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_tk01, ABISELECT(8,4), //bcp->offset |
| 6, //bcp->virtual_function_table_offset |
| 3, //num_negative_vtable_entries(t, bcp) |
| 3, //bcp->index_in_construction_vtbl_array |
| 5, //bcp->base_subarray_index_in_construction_vtbl_array |
| 2, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zd31[]; |
| static VTBL_ENTRY vtc_zd31[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zd31[0]), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4zd31[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zd31[]; |
| static VTBL_ENTRY _tg__ZTV4sk11__4zd31[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk11[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4tk01__4zd31[] = { |
| ABISELECT(-8,-4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk01[0]), |
| }; |
| static VTT_ENTRY vtt_zd31[] = { |
| {&(_ZTV4zd31[6]), 6,9}, |
| {&(_ZTV4zd31[6]), 6,9}, |
| {&(_ZTV4zd31[9]), 9,9}, |
| {&(_tg__ZTV4sk11__4zd31[4]), 4,4}, |
| {&(_tg__ZTV4tk01__4zd31[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zd31[]; |
| extern VTBL_ENTRY _ZTV4zd31[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zd31[]; |
| Class_Descriptor cd_zd31 = { "zd31", // class name |
| bases_zd31, 4, |
| &(vtc_zd31[0]), // expected_vtbl_contents |
| &(vtt_zd31[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zd31),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zd31),9, //virtual function table var |
| 6, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zd31),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 za32 : sk11 , tk02 { |
| ~za32(); // tgen |
| za32(); // tgen |
| }; |
| //SIG(1 za32) C1{ BC2{ VBC3{} VBC4{}} BC5{ BC4}} |
| |
| |
| za32 ::~za32(){ note_dtor("za32", this);} // tgen |
| za32 ::za32(){ note_ctor("za32", this);} // tgen |
| |
| static void Test_za32() |
| { |
| extern Class_Descriptor cd_za32; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_za32, buf); |
| za32 *dp, &lv = *(dp=new (buf) za32()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(za32)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(za32)"); |
| check_base_class_offset(lv, (si*)(sk11*), 0, "za32"); |
| check_base_class_offset(lv, (sj*)(sk11*), ABISELECT(8,4), "za32"); |
| check_base_class_offset(lv, (sk11*), 0, "za32"); |
| check_base_class_offset(lv, (sj*)(tk02*), 0, "za32"); |
| check_base_class_offset(lv, (tk02*), 0, "za32"); |
| test_class_info(&lv, &cd_za32); |
| dp->~za32(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vza32(Test_za32, "za32", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4za32C1Ev(); |
| extern void _ZN4za32D1Ev(); |
| Name_Map name_map_za32[] = { |
| NSPAIR(_ZN4za32C1Ev), |
| NSPAIR(_ZN4za32D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk11; |
| extern VTBL_ENTRY _ZTI4sk11[]; |
| extern VTBL_ENTRY _ZTV4sk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk11[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk02; |
| extern VTBL_ENTRY _ZTI4tk02[]; |
| static Base_Class bases_za32[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk11, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_tk02, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4za32[]; |
| static VTBL_ENTRY vtc_za32[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4za32[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4za32[]; |
| static VTBL_ENTRY _tg__ZTV4sk11__4za32[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk11[0]), |
| }; |
| static VTT_ENTRY vtt_za32[] = { |
| {&(_ZTV4za32[4]), 4,4}, |
| {&(_tg__ZTV4sk11__4za32[4]), 4,4}, |
| }; |
| extern VTBL_ENTRY _ZTI4za32[]; |
| extern VTBL_ENTRY _ZTV4za32[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4za32[]; |
| Class_Descriptor cd_za32 = { "za32", // class name |
| bases_za32, 5, |
| &(vtc_za32[0]), // expected_vtbl_contents |
| &(vtt_za32[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4za32),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4za32),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4za32),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 zb32 : sk11 , virtual tk02 { |
| ~zb32(); // tgen |
| zb32(); // tgen |
| }; |
| //SIG(1 zb32) C1{ BC2{ VBC3{} VBC4{}} VBC5{ BC4}} |
| |
| |
| zb32 ::~zb32(){ note_dtor("zb32", this);} // tgen |
| zb32 ::zb32(){ note_ctor("zb32", this);} // tgen |
| |
| static void Test_zb32() |
| { |
| extern Class_Descriptor cd_zb32; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zb32, buf); |
| zb32 *dp, &lv = *(dp=new (buf) zb32()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zb32)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zb32)"); |
| check_base_class_offset(lv, (si*)(sk11*), 0, "zb32"); |
| check_base_class_offset(lv, (sj*)(sk11*), 0, "zb32"); |
| check_base_class_offset(lv, (sk11*), 0, "zb32"); |
| check_base_class_offset(lv, (sj*)(tk02*), ABISELECT(8,4), "zb32"); |
| check_base_class_offset(lv, (tk02*), ABISELECT(8,4), "zb32"); |
| test_class_info(&lv, &cd_zb32); |
| dp->~zb32(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzb32(Test_zb32, "zb32", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zb32C1Ev(); |
| extern void _ZN4zb32D1Ev(); |
| Name_Map name_map_zb32[] = { |
| NSPAIR(_ZN4zb32C1Ev), |
| NSPAIR(_ZN4zb32D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk11; |
| extern VTBL_ENTRY _ZTI4sk11[]; |
| extern VTBL_ENTRY _ZTV4sk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk11[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk02; |
| extern VTBL_ENTRY _ZTI4tk02[]; |
| static Base_Class bases_zb32[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk11, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_tk02, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zb32[]; |
| static VTBL_ENTRY vtc_zb32[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zb32[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zb32[]; |
| static VTBL_ENTRY _tg__ZTV4sk11__4zb32[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk11[0]), |
| }; |
| static VTT_ENTRY vtt_zb32[] = { |
| {&(_ZTV4zb32[5]), 5,5}, |
| {&(_tg__ZTV4sk11__4zb32[4]), 4,4}, |
| }; |
| extern VTBL_ENTRY _ZTI4zb32[]; |
| extern VTBL_ENTRY _ZTV4zb32[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zb32[]; |
| Class_Descriptor cd_zb32 = { "zb32", // class name |
| bases_zb32, 5, |
| &(vtc_zb32[0]), // expected_vtbl_contents |
| &(vtt_zb32[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zb32),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zb32),5, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zb32),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 zc32 : virtual sk11 , tk02 { |
| ~zc32(); // tgen |
| zc32(); // tgen |
| }; |
| //SIG(1 zc32) C1{ VBC2{ VBC3{} VBC4{}} BC5{ BC4}} |
| |
| |
| zc32 ::~zc32(){ note_dtor("zc32", this);} // tgen |
| zc32 ::zc32(){ note_ctor("zc32", this);} // tgen |
| |
| static void Test_zc32() |
| { |
| extern Class_Descriptor cd_zc32; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zc32, buf); |
| zc32 *dp, &lv = *(dp=new (buf) zc32()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zc32)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zc32)"); |
| check_base_class_offset(lv, (si*)(sk11*), 0, "zc32"); |
| check_base_class_offset(lv, (sj*)(sk11*), ABISELECT(8,4), "zc32"); |
| check_base_class_offset(lv, (sk11*), 0, "zc32"); |
| check_base_class_offset(lv, (sj*)(tk02*), 0, "zc32"); |
| check_base_class_offset(lv, (tk02*), 0, "zc32"); |
| test_class_info(&lv, &cd_zc32); |
| dp->~zc32(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzc32(Test_zc32, "zc32", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zc32C1Ev(); |
| extern void _ZN4zc32D1Ev(); |
| Name_Map name_map_zc32[] = { |
| NSPAIR(_ZN4zc32C1Ev), |
| NSPAIR(_ZN4zc32D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk11; |
| extern VTBL_ENTRY _ZTI4sk11[]; |
| extern VTBL_ENTRY _ZTV4sk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk11[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk02; |
| extern VTBL_ENTRY _ZTI4tk02[]; |
| static Base_Class bases_zc32[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk11, 0, //bcp->offset |
| -1, //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_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_tk02, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zc32[]; |
| static VTBL_ENTRY vtc_zc32[] = { |
| 0, |
| ABISELECT(8,4), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zc32[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zc32[]; |
| static VTBL_ENTRY _tg__ZTV4sk11__4zc32[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk11[0]), |
| }; |
| static VTT_ENTRY vtt_zc32[] = { |
| {&(_ZTV4zc32[5]), 5,5}, |
| {&(_ZTV4zc32[5]), 5,5}, |
| {&(_tg__ZTV4sk11__4zc32[4]), 4,4}, |
| }; |
| extern VTBL_ENTRY _ZTI4zc32[]; |
| extern VTBL_ENTRY _ZTV4zc32[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zc32[]; |
| Class_Descriptor cd_zc32 = { "zc32", // class name |
| bases_zc32, 5, |
| &(vtc_zc32[0]), // expected_vtbl_contents |
| &(vtt_zc32[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zc32),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zc32),5, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zc32),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 zd32 : virtual sk11 , virtual tk02 { |
| ~zd32(); // tgen |
| zd32(); // tgen |
| }; |
| //SIG(1 zd32) C1{ VBC2{ VBC3{} VBC4{}} VBC5{ BC4}} |
| |
| |
| zd32 ::~zd32(){ note_dtor("zd32", this);} // tgen |
| zd32 ::zd32(){ note_ctor("zd32", this);} // tgen |
| |
| static void Test_zd32() |
| { |
| extern Class_Descriptor cd_zd32; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zd32, buf); |
| zd32 *dp, &lv = *(dp=new (buf) zd32()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zd32)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zd32)"); |
| check_base_class_offset(lv, (si*)(sk11*), 0, "zd32"); |
| check_base_class_offset(lv, (sj*)(sk11*), 0, "zd32"); |
| check_base_class_offset(lv, (sk11*), 0, "zd32"); |
| check_base_class_offset(lv, (sj*)(tk02*), ABISELECT(8,4), "zd32"); |
| check_base_class_offset(lv, (tk02*), ABISELECT(8,4), "zd32"); |
| test_class_info(&lv, &cd_zd32); |
| dp->~zd32(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzd32(Test_zd32, "zd32", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zd32C1Ev(); |
| extern void _ZN4zd32D1Ev(); |
| Name_Map name_map_zd32[] = { |
| NSPAIR(_ZN4zd32C1Ev), |
| NSPAIR(_ZN4zd32D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk11; |
| extern VTBL_ENTRY _ZTI4sk11[]; |
| extern VTBL_ENTRY _ZTV4sk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk11[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk02; |
| extern VTBL_ENTRY _ZTI4tk02[]; |
| static Base_Class bases_zd32[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk11, 0, //bcp->offset |
| -1, //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_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_tk02, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zd32[]; |
| static VTBL_ENTRY vtc_zd32[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zd32[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zd32[]; |
| static VTBL_ENTRY _tg__ZTV4sk11__4zd32[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk11[0]), |
| }; |
| static VTT_ENTRY vtt_zd32[] = { |
| {&(_ZTV4zd32[6]), 6,6}, |
| {&(_ZTV4zd32[6]), 6,6}, |
| {&(_tg__ZTV4sk11__4zd32[4]), 4,4}, |
| }; |
| extern VTBL_ENTRY _ZTI4zd32[]; |
| extern VTBL_ENTRY _ZTV4zd32[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zd32[]; |
| Class_Descriptor cd_zd32 = { "zd32", // class name |
| bases_zd32, 5, |
| &(vtc_zd32[0]), // expected_vtbl_contents |
| &(vtt_zd32[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zd32),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zd32),6, //virtual function table var |
| 6, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zd32),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 za33 : sk11 , tk11 { |
| ~za33(); // tgen |
| za33(); // tgen |
| }; |
| //SIG(1 za33) C1{ BC2{ VBC3{} VBC4{}} BC5{ VBC3 VBC4}} |
| |
| |
| za33 ::~za33(){ note_dtor("za33", this);} // tgen |
| za33 ::za33(){ note_ctor("za33", this);} // tgen |
| |
| static void Test_za33() |
| { |
| extern Class_Descriptor cd_za33; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_za33, buf); |
| za33 *dp, &lv = *(dp=new (buf) za33()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(za33)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(za33)"); |
| check_base_class_offset(lv, (si*)(sk11*), 0, "za33"); |
| check_base_class_offset(lv, (si*)(tk11*), 0, "za33"); |
| check_base_class_offset(lv, (sj*)(sk11*), 0, "za33"); |
| check_base_class_offset(lv, (sj*)(tk11*), 0, "za33"); |
| check_base_class_offset(lv, (sk11*), 0, "za33"); |
| check_base_class_offset(lv, (tk11*), ABISELECT(8,4), "za33"); |
| test_class_info(&lv, &cd_za33); |
| dp->~za33(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vza33(Test_za33, "za33", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4za33C1Ev(); |
| extern void _ZN4za33D1Ev(); |
| Name_Map name_map_za33[] = { |
| NSPAIR(_ZN4za33C1Ev), |
| NSPAIR(_ZN4za33D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk11; |
| extern VTBL_ENTRY _ZTI4sk11[]; |
| extern VTBL_ENTRY _ZTV4sk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk11[]; |
| extern Class_Descriptor cd_tk11; |
| extern VTBL_ENTRY _ZTI4tk11[]; |
| extern VTBL_ENTRY _ZTV4tk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk11[]; |
| static Base_Class bases_za33[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk11, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_tk11, ABISELECT(8,4), //bcp->offset |
| 4, //bcp->virtual_function_table_offset |
| 4, //num_negative_vtable_entries(t, bcp) |
| 4, //bcp->index_in_construction_vtbl_array |
| 3, //bcp->base_subarray_index_in_construction_vtbl_array |
| 2, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4za33[]; |
| static VTBL_ENTRY vtc_za33[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4za33[0]), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4za33[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4za33[]; |
| static VTBL_ENTRY _tg__ZTV4sk11__4za33[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk11[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4tk11__4za33[] = { |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk11[0]), |
| }; |
| static VTT_ENTRY vtt_za33[] = { |
| {&(_ZTV4za33[4]), 4,8}, |
| {&(_tg__ZTV4sk11__4za33[4]), 4,4}, |
| {&(_tg__ZTV4tk11__4za33[4]), 4,4}, |
| {&(_ZTV4za33[8]), 8,8}, |
| }; |
| extern VTBL_ENTRY _ZTI4za33[]; |
| extern VTBL_ENTRY _ZTV4za33[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4za33[]; |
| Class_Descriptor cd_za33 = { "za33", // class name |
| bases_za33, 4, |
| &(vtc_za33[0]), // expected_vtbl_contents |
| &(vtt_za33[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4za33),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4za33),8, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4za33),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 zb33 : sk11 , virtual tk11 { |
| ~zb33(); // tgen |
| zb33(); // tgen |
| }; |
| //SIG(1 zb33) C1{ BC2{ VBC3{} VBC4{}} VBC5{ VBC3 VBC4}} |
| |
| |
| zb33 ::~zb33(){ note_dtor("zb33", this);} // tgen |
| zb33 ::zb33(){ note_ctor("zb33", this);} // tgen |
| |
| static void Test_zb33() |
| { |
| extern Class_Descriptor cd_zb33; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zb33, buf); |
| zb33 *dp, &lv = *(dp=new (buf) zb33()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zb33)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zb33)"); |
| check_base_class_offset(lv, (si*)(sk11*), 0, "zb33"); |
| check_base_class_offset(lv, (si*)(tk11*), 0, "zb33"); |
| check_base_class_offset(lv, (sj*)(sk11*), 0, "zb33"); |
| check_base_class_offset(lv, (sj*)(tk11*), 0, "zb33"); |
| check_base_class_offset(lv, (sk11*), 0, "zb33"); |
| check_base_class_offset(lv, (tk11*), ABISELECT(8,4), "zb33"); |
| test_class_info(&lv, &cd_zb33); |
| dp->~zb33(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzb33(Test_zb33, "zb33", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zb33C1Ev(); |
| extern void _ZN4zb33D1Ev(); |
| Name_Map name_map_zb33[] = { |
| NSPAIR(_ZN4zb33C1Ev), |
| NSPAIR(_ZN4zb33D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk11; |
| extern VTBL_ENTRY _ZTI4sk11[]; |
| extern VTBL_ENTRY _ZTV4sk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk11[]; |
| extern Class_Descriptor cd_tk11; |
| extern VTBL_ENTRY _ZTI4tk11[]; |
| extern VTBL_ENTRY _ZTV4tk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk11[]; |
| static Base_Class bases_zb33[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk11, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_tk11, ABISELECT(8,4), //bcp->offset |
| 5, //bcp->virtual_function_table_offset |
| 4, //num_negative_vtable_entries(t, bcp) |
| 3, //bcp->index_in_construction_vtbl_array |
| 4, //bcp->base_subarray_index_in_construction_vtbl_array |
| 1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zb33[]; |
| static VTBL_ENTRY vtc_zb33[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zb33[0]), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4zb33[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zb33[]; |
| static VTBL_ENTRY _tg__ZTV4sk11__4zb33[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk11[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4tk11__4zb33[] = { |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk11[0]), |
| }; |
| static VTT_ENTRY vtt_zb33[] = { |
| {&(_ZTV4zb33[5]), 5,9}, |
| {&(_tg__ZTV4sk11__4zb33[4]), 4,4}, |
| {&(_ZTV4zb33[9]), 9,9}, |
| {&(_tg__ZTV4tk11__4zb33[4]), 4,4}, |
| }; |
| extern VTBL_ENTRY _ZTI4zb33[]; |
| extern VTBL_ENTRY _ZTV4zb33[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zb33[]; |
| Class_Descriptor cd_zb33 = { "zb33", // class name |
| bases_zb33, 4, |
| &(vtc_zb33[0]), // expected_vtbl_contents |
| &(vtt_zb33[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zb33),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zb33),9, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zb33),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 zc33 : virtual sk11 , tk11 { |
| ~zc33(); // tgen |
| zc33(); // tgen |
| }; |
| //SIG(1 zc33) C1{ VBC2{ VBC3{} VBC4{}} BC5{ VBC3 VBC4}} |
| |
| |
| zc33 ::~zc33(){ note_dtor("zc33", this);} // tgen |
| zc33 ::zc33(){ note_ctor("zc33", this);} // tgen |
| |
| static void Test_zc33() |
| { |
| extern Class_Descriptor cd_zc33; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zc33, buf); |
| zc33 *dp, &lv = *(dp=new (buf) zc33()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zc33)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zc33)"); |
| check_base_class_offset(lv, (si*)(sk11*), 0, "zc33"); |
| check_base_class_offset(lv, (si*)(tk11*), 0, "zc33"); |
| check_base_class_offset(lv, (sj*)(sk11*), 0, "zc33"); |
| check_base_class_offset(lv, (sj*)(tk11*), 0, "zc33"); |
| check_base_class_offset(lv, (sk11*), ABISELECT(8,4), "zc33"); |
| check_base_class_offset(lv, (tk11*), 0, "zc33"); |
| test_class_info(&lv, &cd_zc33); |
| dp->~zc33(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzc33(Test_zc33, "zc33", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zc33C1Ev(); |
| extern void _ZN4zc33D1Ev(); |
| Name_Map name_map_zc33[] = { |
| NSPAIR(_ZN4zc33C1Ev), |
| NSPAIR(_ZN4zc33D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk11; |
| extern VTBL_ENTRY _ZTI4sk11[]; |
| extern VTBL_ENTRY _ZTV4sk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk11[]; |
| extern Class_Descriptor cd_tk11; |
| extern VTBL_ENTRY _ZTI4tk11[]; |
| extern VTBL_ENTRY _ZTV4tk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk11[]; |
| static Base_Class bases_zc33[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk11, ABISELECT(8,4), //bcp->offset |
| 5, //bcp->virtual_function_table_offset |
| 4, //num_negative_vtable_entries(t, bcp) |
| 3, //bcp->index_in_construction_vtbl_array |
| 4, //bcp->base_subarray_index_in_construction_vtbl_array |
| 1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {&cd_tk11, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zc33[]; |
| static VTBL_ENTRY vtc_zc33[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zc33[0]), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4zc33[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zc33[]; |
| static VTBL_ENTRY _tg__ZTV4tk11__4zc33[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk11[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4sk11__4zc33[] = { |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk11[0]), |
| }; |
| static VTT_ENTRY vtt_zc33[] = { |
| {&(_ZTV4zc33[5]), 5,9}, |
| {&(_tg__ZTV4tk11__4zc33[4]), 4,4}, |
| {&(_ZTV4zc33[9]), 9,9}, |
| {&(_tg__ZTV4sk11__4zc33[4]), 4,4}, |
| }; |
| extern VTBL_ENTRY _ZTI4zc33[]; |
| extern VTBL_ENTRY _ZTV4zc33[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zc33[]; |
| Class_Descriptor cd_zc33 = { "zc33", // class name |
| bases_zc33, 4, |
| &(vtc_zc33[0]), // expected_vtbl_contents |
| &(vtt_zc33[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zc33),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zc33),9, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zc33),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 zd33 : virtual sk11 , virtual tk11 { |
| ~zd33(); // tgen |
| zd33(); // tgen |
| }; |
| //SIG(1 zd33) C1{ VBC2{ VBC3{} VBC4{}} VBC5{ VBC3 VBC4}} |
| |
| |
| zd33 ::~zd33(){ note_dtor("zd33", this);} // tgen |
| zd33 ::zd33(){ note_ctor("zd33", this);} // tgen |
| |
| static void Test_zd33() |
| { |
| extern Class_Descriptor cd_zd33; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zd33, buf); |
| zd33 *dp, &lv = *(dp=new (buf) zd33()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zd33)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zd33)"); |
| check_base_class_offset(lv, (si*)(sk11*), 0, "zd33"); |
| check_base_class_offset(lv, (si*)(tk11*), 0, "zd33"); |
| check_base_class_offset(lv, (sj*)(sk11*), 0, "zd33"); |
| check_base_class_offset(lv, (sj*)(tk11*), 0, "zd33"); |
| check_base_class_offset(lv, (sk11*), 0, "zd33"); |
| check_base_class_offset(lv, (tk11*), ABISELECT(8,4), "zd33"); |
| test_class_info(&lv, &cd_zd33); |
| dp->~zd33(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzd33(Test_zd33, "zd33", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zd33C1Ev(); |
| extern void _ZN4zd33D1Ev(); |
| Name_Map name_map_zd33[] = { |
| NSPAIR(_ZN4zd33C1Ev), |
| NSPAIR(_ZN4zd33D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk11; |
| extern VTBL_ENTRY _ZTI4sk11[]; |
| extern VTBL_ENTRY _ZTV4sk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk11[]; |
| extern Class_Descriptor cd_tk11; |
| extern VTBL_ENTRY _ZTI4tk11[]; |
| extern VTBL_ENTRY _ZTV4tk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk11[]; |
| static Base_Class bases_zd33[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk11, 0, //bcp->offset |
| -1, //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_tk11, ABISELECT(8,4), //bcp->offset |
| 6, //bcp->virtual_function_table_offset |
| 4, //num_negative_vtable_entries(t, bcp) |
| 3, //bcp->index_in_construction_vtbl_array |
| 5, //bcp->base_subarray_index_in_construction_vtbl_array |
| 2, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zd33[]; |
| static VTBL_ENTRY vtc_zd33[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zd33[0]), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4zd33[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zd33[]; |
| static VTBL_ENTRY _tg__ZTV4sk11__4zd33[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk11[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4tk11__4zd33[] = { |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk11[0]), |
| }; |
| static VTT_ENTRY vtt_zd33[] = { |
| {&(_ZTV4zd33[6]), 6,10}, |
| {&(_ZTV4zd33[6]), 6,10}, |
| {&(_ZTV4zd33[10]), 10,10}, |
| {&(_tg__ZTV4sk11__4zd33[4]), 4,4}, |
| {&(_tg__ZTV4tk11__4zd33[4]), 4,4}, |
| }; |
| extern VTBL_ENTRY _ZTI4zd33[]; |
| extern VTBL_ENTRY _ZTV4zd33[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zd33[]; |
| Class_Descriptor cd_zd33 = { "zd33", // class name |
| bases_zd33, 4, |
| &(vtc_zd33[0]), // expected_vtbl_contents |
| &(vtt_zd33[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zd33),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zd33),10, //virtual function table var |
| 6, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zd33),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 za34 : sk11 , tk12 { |
| ~za34(); // tgen |
| za34(); // tgen |
| }; |
| //SIG(1 za34) C1{ BC2{ VBC3{} VBC4{}} BC5{ VBC3 BC4}} |
| |
| |
| za34 ::~za34(){ note_dtor("za34", this);} // tgen |
| za34 ::za34(){ note_ctor("za34", this);} // tgen |
| |
| static void Test_za34() |
| { |
| extern Class_Descriptor cd_za34; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_za34, buf); |
| za34 *dp, &lv = *(dp=new (buf) za34()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(za34)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(za34)"); |
| check_base_class_offset(lv, (si*)(sk11*), 0, "za34"); |
| check_base_class_offset(lv, (si*)(tk12*), 0, "za34"); |
| check_base_class_offset(lv, (sj*)(sk11*), 0, "za34"); |
| check_base_class_offset(lv, (sk11*), 0, "za34"); |
| check_base_class_offset(lv, (sj*)(tk12*), ABISELECT(8,4), "za34"); |
| check_base_class_offset(lv, (tk12*), ABISELECT(8,4), "za34"); |
| test_class_info(&lv, &cd_za34); |
| dp->~za34(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vza34(Test_za34, "za34", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4za34C1Ev(); |
| extern void _ZN4za34D1Ev(); |
| Name_Map name_map_za34[] = { |
| NSPAIR(_ZN4za34C1Ev), |
| NSPAIR(_ZN4za34D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk11; |
| extern VTBL_ENTRY _ZTI4sk11[]; |
| extern VTBL_ENTRY _ZTV4sk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk11[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk12; |
| extern VTBL_ENTRY _ZTI4tk12[]; |
| extern VTBL_ENTRY _ZTV4tk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk12[]; |
| static Base_Class bases_za34[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk11, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_tk12, ABISELECT(8,4), //bcp->offset |
| 4, //bcp->virtual_function_table_offset |
| 3, //num_negative_vtable_entries(t, bcp) |
| 4, //bcp->index_in_construction_vtbl_array |
| 3, //bcp->base_subarray_index_in_construction_vtbl_array |
| 2, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4za34[]; |
| static VTBL_ENTRY vtc_za34[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4za34[0]), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4za34[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4za34[]; |
| static VTBL_ENTRY _tg__ZTV4sk11__4za34[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk11[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4tk12__4za34[] = { |
| ABISELECT(-8,-4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk12[0]), |
| }; |
| static VTT_ENTRY vtt_za34[] = { |
| {&(_ZTV4za34[4]), 4,7}, |
| {&(_tg__ZTV4sk11__4za34[4]), 4,4}, |
| {&(_tg__ZTV4tk12__4za34[3]), 3,3}, |
| {&(_ZTV4za34[7]), 7,7}, |
| }; |
| extern VTBL_ENTRY _ZTI4za34[]; |
| extern VTBL_ENTRY _ZTV4za34[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4za34[]; |
| Class_Descriptor cd_za34 = { "za34", // class name |
| bases_za34, 5, |
| &(vtc_za34[0]), // expected_vtbl_contents |
| &(vtt_za34[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4za34),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4za34),7, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4za34),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 zb34 : sk11 , virtual tk12 { |
| ~zb34(); // tgen |
| zb34(); // tgen |
| }; |
| //SIG(1 zb34) C1{ BC2{ VBC3{} VBC4{}} VBC5{ VBC3 BC4}} |
| |
| |
| zb34 ::~zb34(){ note_dtor("zb34", this);} // tgen |
| zb34 ::zb34(){ note_ctor("zb34", this);} // tgen |
| |
| static void Test_zb34() |
| { |
| extern Class_Descriptor cd_zb34; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zb34, buf); |
| zb34 *dp, &lv = *(dp=new (buf) zb34()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zb34)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zb34)"); |
| check_base_class_offset(lv, (si*)(sk11*), 0, "zb34"); |
| check_base_class_offset(lv, (si*)(tk12*), 0, "zb34"); |
| check_base_class_offset(lv, (sj*)(sk11*), 0, "zb34"); |
| check_base_class_offset(lv, (sk11*), 0, "zb34"); |
| check_base_class_offset(lv, (sj*)(tk12*), ABISELECT(8,4), "zb34"); |
| check_base_class_offset(lv, (tk12*), ABISELECT(8,4), "zb34"); |
| test_class_info(&lv, &cd_zb34); |
| dp->~zb34(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzb34(Test_zb34, "zb34", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zb34C1Ev(); |
| extern void _ZN4zb34D1Ev(); |
| Name_Map name_map_zb34[] = { |
| NSPAIR(_ZN4zb34C1Ev), |
| NSPAIR(_ZN4zb34D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk11; |
| extern VTBL_ENTRY _ZTI4sk11[]; |
| extern VTBL_ENTRY _ZTV4sk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk11[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk12; |
| extern VTBL_ENTRY _ZTI4tk12[]; |
| extern VTBL_ENTRY _ZTV4tk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk12[]; |
| static Base_Class bases_zb34[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk11, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_tk12, ABISELECT(8,4), //bcp->offset |
| 5, //bcp->virtual_function_table_offset |
| 3, //num_negative_vtable_entries(t, bcp) |
| 3, //bcp->index_in_construction_vtbl_array |
| 4, //bcp->base_subarray_index_in_construction_vtbl_array |
| 1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zb34[]; |
| static VTBL_ENTRY vtc_zb34[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zb34[0]), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4zb34[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zb34[]; |
| static VTBL_ENTRY _tg__ZTV4sk11__4zb34[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk11[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4tk12__4zb34[] = { |
| ABISELECT(-8,-4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk12[0]), |
| }; |
| static VTT_ENTRY vtt_zb34[] = { |
| {&(_ZTV4zb34[5]), 5,8}, |
| {&(_tg__ZTV4sk11__4zb34[4]), 4,4}, |
| {&(_ZTV4zb34[8]), 8,8}, |
| {&(_tg__ZTV4tk12__4zb34[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zb34[]; |
| extern VTBL_ENTRY _ZTV4zb34[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zb34[]; |
| Class_Descriptor cd_zb34 = { "zb34", // class name |
| bases_zb34, 5, |
| &(vtc_zb34[0]), // expected_vtbl_contents |
| &(vtt_zb34[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zb34),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zb34),8, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zb34),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 zc34 : virtual sk11 , tk12 { |
| ~zc34(); // tgen |
| zc34(); // tgen |
| }; |
| //SIG(1 zc34) C1{ VBC2{ VBC3{} VBC4{}} BC5{ VBC3 BC4}} |
| |
| |
| zc34 ::~zc34(){ note_dtor("zc34", this);} // tgen |
| zc34 ::zc34(){ note_ctor("zc34", this);} // tgen |
| |
| static void Test_zc34() |
| { |
| extern Class_Descriptor cd_zc34; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[4]; |
| init_test(&cd_zc34, buf); |
| zc34 *dp, &lv = *(dp=new (buf) zc34()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(24,12), "sizeof(zc34)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zc34)"); |
| check_base_class_offset(lv, (si*)(sk11*), 0, "zc34"); |
| check_base_class_offset(lv, (si*)(tk12*), 0, "zc34"); |
| check_base_class_offset(lv, (sj*)(sk11*), ABISELECT(16,8), "zc34"); |
| check_base_class_offset(lv, (sk11*), ABISELECT(8,4), "zc34"); |
| check_base_class_offset(lv, (sj*)(tk12*), 0, "zc34"); |
| check_base_class_offset(lv, (tk12*), 0, "zc34"); |
| test_class_info(&lv, &cd_zc34); |
| dp->~zc34(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzc34(Test_zc34, "zc34", ABISELECT(24,12)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zc34C1Ev(); |
| extern void _ZN4zc34D1Ev(); |
| Name_Map name_map_zc34[] = { |
| NSPAIR(_ZN4zc34C1Ev), |
| NSPAIR(_ZN4zc34D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk11; |
| extern VTBL_ENTRY _ZTI4sk11[]; |
| extern VTBL_ENTRY _ZTV4sk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk11[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk12; |
| extern VTBL_ENTRY _ZTI4tk12[]; |
| extern VTBL_ENTRY _ZTV4tk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk12[]; |
| static Base_Class bases_zc34[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 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, 1}, |
| {&cd_sk11, ABISELECT(8,4), //bcp->offset |
| 5, //bcp->virtual_function_table_offset |
| 4, //num_negative_vtable_entries(t, bcp) |
| 3, //bcp->index_in_construction_vtbl_array |
| 4, //bcp->base_subarray_index_in_construction_vtbl_array |
| 1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_tk12, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zc34[]; |
| static VTBL_ENTRY vtc_zc34[] = { |
| ABISELECT(16,8), |
| ABISELECT(8,4), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zc34[0]), |
| ABISELECT(8,4), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4zc34[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zc34[]; |
| static VTBL_ENTRY _tg__ZTV4tk12__4zc34[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk12[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4sk11__4zc34[] = { |
| ABISELECT(8,4), |
| ABISELECT(-8,-4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk11[0]), |
| }; |
| static VTT_ENTRY vtt_zc34[] = { |
| {&(_ZTV4zc34[5]), 5,9}, |
| {&(_tg__ZTV4tk12__4zc34[3]), 3,3}, |
| {&(_ZTV4zc34[9]), 9,9}, |
| {&(_tg__ZTV4sk11__4zc34[4]), 4,4}, |
| }; |
| extern VTBL_ENTRY _ZTI4zc34[]; |
| extern VTBL_ENTRY _ZTV4zc34[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zc34[]; |
| Class_Descriptor cd_zc34 = { "zc34", // class name |
| bases_zc34, 5, |
| &(vtc_zc34[0]), // expected_vtbl_contents |
| &(vtt_zc34[0]), // expected_vtt_contents |
| ABISELECT(24,12), // object size |
| NSPAIRA(_ZTI4zc34),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zc34),9, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zc34),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 zd34 : virtual sk11 , virtual tk12 { |
| ~zd34(); // tgen |
| zd34(); // tgen |
| }; |
| //SIG(1 zd34) C1{ VBC2{ VBC3{} VBC4{}} VBC5{ VBC3 BC4}} |
| |
| |
| zd34 ::~zd34(){ note_dtor("zd34", this);} // tgen |
| zd34 ::zd34(){ note_ctor("zd34", this);} // tgen |
| |
| static void Test_zd34() |
| { |
| extern Class_Descriptor cd_zd34; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zd34, buf); |
| zd34 *dp, &lv = *(dp=new (buf) zd34()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zd34)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zd34)"); |
| check_base_class_offset(lv, (si*)(sk11*), 0, "zd34"); |
| check_base_class_offset(lv, (si*)(tk12*), 0, "zd34"); |
| check_base_class_offset(lv, (sj*)(sk11*), 0, "zd34"); |
| check_base_class_offset(lv, (sk11*), 0, "zd34"); |
| check_base_class_offset(lv, (sj*)(tk12*), ABISELECT(8,4), "zd34"); |
| check_base_class_offset(lv, (tk12*), ABISELECT(8,4), "zd34"); |
| test_class_info(&lv, &cd_zd34); |
| dp->~zd34(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzd34(Test_zd34, "zd34", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zd34C1Ev(); |
| extern void _ZN4zd34D1Ev(); |
| Name_Map name_map_zd34[] = { |
| NSPAIR(_ZN4zd34C1Ev), |
| NSPAIR(_ZN4zd34D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk11; |
| extern VTBL_ENTRY _ZTI4sk11[]; |
| extern VTBL_ENTRY _ZTV4sk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk11[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk12; |
| extern VTBL_ENTRY _ZTI4tk12[]; |
| extern VTBL_ENTRY _ZTV4tk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk12[]; |
| static Base_Class bases_zd34[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk11, 0, //bcp->offset |
| -1, //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_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_tk12, ABISELECT(8,4), //bcp->offset |
| 6, //bcp->virtual_function_table_offset |
| 3, //num_negative_vtable_entries(t, bcp) |
| 3, //bcp->index_in_construction_vtbl_array |
| 5, //bcp->base_subarray_index_in_construction_vtbl_array |
| 2, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zd34[]; |
| static VTBL_ENTRY vtc_zd34[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zd34[0]), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4zd34[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zd34[]; |
| static VTBL_ENTRY _tg__ZTV4sk11__4zd34[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk11[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4tk12__4zd34[] = { |
| ABISELECT(-8,-4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk12[0]), |
| }; |
| static VTT_ENTRY vtt_zd34[] = { |
| {&(_ZTV4zd34[6]), 6,9}, |
| {&(_ZTV4zd34[6]), 6,9}, |
| {&(_ZTV4zd34[9]), 9,9}, |
| {&(_tg__ZTV4sk11__4zd34[4]), 4,4}, |
| {&(_tg__ZTV4tk12__4zd34[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zd34[]; |
| extern VTBL_ENTRY _ZTV4zd34[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zd34[]; |
| Class_Descriptor cd_zd34 = { "zd34", // class name |
| bases_zd34, 5, |
| &(vtc_zd34[0]), // expected_vtbl_contents |
| &(vtt_zd34[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zd34),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zd34),9, //virtual function table var |
| 6, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zd34),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 za35 : sk11 , tk21 { |
| ~za35(); // tgen |
| za35(); // tgen |
| }; |
| //SIG(1 za35) C1{ BC2{ VBC3{} VBC4{}} BC5{ BC3 VBC4}} |
| |
| |
| za35 ::~za35(){ note_dtor("za35", this);} // tgen |
| za35 ::za35(){ note_ctor("za35", this);} // tgen |
| |
| static void Test_za35() |
| { |
| extern Class_Descriptor cd_za35; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_za35, buf); |
| za35 *dp, &lv = *(dp=new (buf) za35()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(za35)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(za35)"); |
| check_base_class_offset(lv, (si*)(sk11*), 0, "za35"); |
| check_base_class_offset(lv, (sj*)(sk11*), 0, "za35"); |
| check_base_class_offset(lv, (sj*)(tk21*), 0, "za35"); |
| check_base_class_offset(lv, (sk11*), 0, "za35"); |
| check_base_class_offset(lv, (si*)(tk21*), ABISELECT(8,4), "za35"); |
| check_base_class_offset(lv, (tk21*), ABISELECT(8,4), "za35"); |
| test_class_info(&lv, &cd_za35); |
| dp->~za35(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vza35(Test_za35, "za35", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4za35C1Ev(); |
| extern void _ZN4za35D1Ev(); |
| Name_Map name_map_za35[] = { |
| NSPAIR(_ZN4za35C1Ev), |
| NSPAIR(_ZN4za35D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk11; |
| extern VTBL_ENTRY _ZTI4sk11[]; |
| extern VTBL_ENTRY _ZTV4sk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk11[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_tk21; |
| extern VTBL_ENTRY _ZTI4tk21[]; |
| extern VTBL_ENTRY _ZTV4tk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk21[]; |
| static Base_Class bases_za35[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk11, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_si, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_tk21, ABISELECT(8,4), //bcp->offset |
| 4, //bcp->virtual_function_table_offset |
| 3, //num_negative_vtable_entries(t, bcp) |
| 4, //bcp->index_in_construction_vtbl_array |
| 3, //bcp->base_subarray_index_in_construction_vtbl_array |
| 2, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4za35[]; |
| static VTBL_ENTRY vtc_za35[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4za35[0]), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4za35[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4za35[]; |
| static VTBL_ENTRY _tg__ZTV4sk11__4za35[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk11[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4tk21__4za35[] = { |
| ABISELECT(-8,-4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk21[0]), |
| }; |
| static VTT_ENTRY vtt_za35[] = { |
| {&(_ZTV4za35[4]), 4,7}, |
| {&(_tg__ZTV4sk11__4za35[4]), 4,4}, |
| {&(_tg__ZTV4tk21__4za35[3]), 3,3}, |
| {&(_ZTV4za35[7]), 7,7}, |
| }; |
| extern VTBL_ENTRY _ZTI4za35[]; |
| extern VTBL_ENTRY _ZTV4za35[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4za35[]; |
| Class_Descriptor cd_za35 = { "za35", // class name |
| bases_za35, 5, |
| &(vtc_za35[0]), // expected_vtbl_contents |
| &(vtt_za35[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4za35),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4za35),7, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4za35),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 zb35 : sk11 , virtual tk21 { |
| ~zb35(); // tgen |
| zb35(); // tgen |
| }; |
| //SIG(1 zb35) C1{ BC2{ VBC3{} VBC4{}} VBC5{ BC3 VBC4}} |
| |
| |
| zb35 ::~zb35(){ note_dtor("zb35", this);} // tgen |
| zb35 ::zb35(){ note_ctor("zb35", this);} // tgen |
| |
| static void Test_zb35() |
| { |
| extern Class_Descriptor cd_zb35; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zb35, buf); |
| zb35 *dp, &lv = *(dp=new (buf) zb35()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zb35)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zb35)"); |
| check_base_class_offset(lv, (si*)(sk11*), 0, "zb35"); |
| check_base_class_offset(lv, (sj*)(sk11*), 0, "zb35"); |
| check_base_class_offset(lv, (sj*)(tk21*), 0, "zb35"); |
| check_base_class_offset(lv, (sk11*), 0, "zb35"); |
| check_base_class_offset(lv, (si*)(tk21*), ABISELECT(8,4), "zb35"); |
| check_base_class_offset(lv, (tk21*), ABISELECT(8,4), "zb35"); |
| test_class_info(&lv, &cd_zb35); |
| dp->~zb35(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzb35(Test_zb35, "zb35", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zb35C1Ev(); |
| extern void _ZN4zb35D1Ev(); |
| Name_Map name_map_zb35[] = { |
| NSPAIR(_ZN4zb35C1Ev), |
| NSPAIR(_ZN4zb35D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk11; |
| extern VTBL_ENTRY _ZTI4sk11[]; |
| extern VTBL_ENTRY _ZTV4sk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk11[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_tk21; |
| extern VTBL_ENTRY _ZTI4tk21[]; |
| extern VTBL_ENTRY _ZTV4tk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk21[]; |
| static Base_Class bases_zb35[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk11, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_si, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_tk21, ABISELECT(8,4), //bcp->offset |
| 5, //bcp->virtual_function_table_offset |
| 3, //num_negative_vtable_entries(t, bcp) |
| 3, //bcp->index_in_construction_vtbl_array |
| 4, //bcp->base_subarray_index_in_construction_vtbl_array |
| 1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zb35[]; |
| static VTBL_ENTRY vtc_zb35[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zb35[0]), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4zb35[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zb35[]; |
| static VTBL_ENTRY _tg__ZTV4sk11__4zb35[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk11[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4tk21__4zb35[] = { |
| ABISELECT(-8,-4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk21[0]), |
| }; |
| static VTT_ENTRY vtt_zb35[] = { |
| {&(_ZTV4zb35[5]), 5,8}, |
| {&(_tg__ZTV4sk11__4zb35[4]), 4,4}, |
| {&(_ZTV4zb35[8]), 8,8}, |
| {&(_tg__ZTV4tk21__4zb35[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zb35[]; |
| extern VTBL_ENTRY _ZTV4zb35[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zb35[]; |
| Class_Descriptor cd_zb35 = { "zb35", // class name |
| bases_zb35, 5, |
| &(vtc_zb35[0]), // expected_vtbl_contents |
| &(vtt_zb35[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zb35),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zb35),8, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zb35),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 zc35 : virtual sk11 , tk21 { |
| ~zc35(); // tgen |
| zc35(); // tgen |
| }; |
| //SIG(1 zc35) C1{ VBC2{ VBC3{} VBC4{}} BC5{ BC3 VBC4}} |
| |
| |
| zc35 ::~zc35(){ note_dtor("zc35", this);} // tgen |
| zc35 ::zc35(){ note_ctor("zc35", this);} // tgen |
| |
| static void Test_zc35() |
| { |
| extern Class_Descriptor cd_zc35; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[4]; |
| init_test(&cd_zc35, buf); |
| zc35 *dp, &lv = *(dp=new (buf) zc35()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(24,12), "sizeof(zc35)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zc35)"); |
| check_base_class_offset(lv, (si*)(sk11*), ABISELECT(16,8), "zc35"); |
| check_base_class_offset(lv, (sj*)(sk11*), 0, "zc35"); |
| check_base_class_offset(lv, (sj*)(tk21*), 0, "zc35"); |
| check_base_class_offset(lv, (sk11*), ABISELECT(8,4), "zc35"); |
| check_base_class_offset(lv, (si*)(tk21*), 0, "zc35"); |
| check_base_class_offset(lv, (tk21*), 0, "zc35"); |
| test_class_info(&lv, &cd_zc35); |
| dp->~zc35(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzc35(Test_zc35, "zc35", ABISELECT(24,12)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zc35C1Ev(); |
| extern void _ZN4zc35D1Ev(); |
| Name_Map name_map_zc35[] = { |
| NSPAIR(_ZN4zc35C1Ev), |
| NSPAIR(_ZN4zc35D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk11; |
| extern VTBL_ENTRY _ZTI4sk11[]; |
| extern VTBL_ENTRY _ZTV4sk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk11[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_tk21; |
| extern VTBL_ENTRY _ZTI4tk21[]; |
| extern VTBL_ENTRY _ZTV4tk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk21[]; |
| static Base_Class bases_zc35[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 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, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk11, ABISELECT(8,4), //bcp->offset |
| 5, //bcp->virtual_function_table_offset |
| 4, //num_negative_vtable_entries(t, bcp) |
| 3, //bcp->index_in_construction_vtbl_array |
| 4, //bcp->base_subarray_index_in_construction_vtbl_array |
| 1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_tk21, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zc35[]; |
| static VTBL_ENTRY vtc_zc35[] = { |
| ABISELECT(16,8), |
| ABISELECT(8,4), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zc35[0]), |
| ABISELECT(-8,-4), |
| ABISELECT(8,4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4zc35[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zc35[]; |
| static VTBL_ENTRY _tg__ZTV4tk21__4zc35[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk21[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4sk11__4zc35[] = { |
| ABISELECT(-8,-4), |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk11[0]), |
| }; |
| static VTT_ENTRY vtt_zc35[] = { |
| {&(_ZTV4zc35[5]), 5,9}, |
| {&(_tg__ZTV4tk21__4zc35[3]), 3,3}, |
| {&(_ZTV4zc35[9]), 9,9}, |
| {&(_tg__ZTV4sk11__4zc35[4]), 4,4}, |
| }; |
| extern VTBL_ENTRY _ZTI4zc35[]; |
| extern VTBL_ENTRY _ZTV4zc35[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zc35[]; |
| Class_Descriptor cd_zc35 = { "zc35", // class name |
| bases_zc35, 5, |
| &(vtc_zc35[0]), // expected_vtbl_contents |
| &(vtt_zc35[0]), // expected_vtt_contents |
| ABISELECT(24,12), // object size |
| NSPAIRA(_ZTI4zc35),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zc35),9, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zc35),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 zd35 : virtual sk11 , virtual tk21 { |
| ~zd35(); // tgen |
| zd35(); // tgen |
| }; |
| //SIG(1 zd35) C1{ VBC2{ VBC3{} VBC4{}} VBC5{ BC3 VBC4}} |
| |
| |
| zd35 ::~zd35(){ note_dtor("zd35", this);} // tgen |
| zd35 ::zd35(){ note_ctor("zd35", this);} // tgen |
| |
| static void Test_zd35() |
| { |
| extern Class_Descriptor cd_zd35; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zd35, buf); |
| zd35 *dp, &lv = *(dp=new (buf) zd35()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zd35)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zd35)"); |
| check_base_class_offset(lv, (si*)(sk11*), 0, "zd35"); |
| check_base_class_offset(lv, (sj*)(sk11*), 0, "zd35"); |
| check_base_class_offset(lv, (sj*)(tk21*), 0, "zd35"); |
| check_base_class_offset(lv, (sk11*), 0, "zd35"); |
| check_base_class_offset(lv, (si*)(tk21*), ABISELECT(8,4), "zd35"); |
| check_base_class_offset(lv, (tk21*), ABISELECT(8,4), "zd35"); |
| test_class_info(&lv, &cd_zd35); |
| dp->~zd35(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzd35(Test_zd35, "zd35", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zd35C1Ev(); |
| extern void _ZN4zd35D1Ev(); |
| Name_Map name_map_zd35[] = { |
| NSPAIR(_ZN4zd35C1Ev), |
| NSPAIR(_ZN4zd35D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk11; |
| extern VTBL_ENTRY _ZTI4sk11[]; |
| extern VTBL_ENTRY _ZTV4sk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk11[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_tk21; |
| extern VTBL_ENTRY _ZTI4tk21[]; |
| extern VTBL_ENTRY _ZTV4tk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk21[]; |
| static Base_Class bases_zd35[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk11, 0, //bcp->offset |
| -1, //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_si, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_tk21, ABISELECT(8,4), //bcp->offset |
| 6, //bcp->virtual_function_table_offset |
| 3, //num_negative_vtable_entries(t, bcp) |
| 3, //bcp->index_in_construction_vtbl_array |
| 5, //bcp->base_subarray_index_in_construction_vtbl_array |
| 2, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zd35[]; |
| static VTBL_ENTRY vtc_zd35[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zd35[0]), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4zd35[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zd35[]; |
| static VTBL_ENTRY _tg__ZTV4sk11__4zd35[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk11[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4tk21__4zd35[] = { |
| ABISELECT(-8,-4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk21[0]), |
| }; |
| static VTT_ENTRY vtt_zd35[] = { |
| {&(_ZTV4zd35[6]), 6,9}, |
| {&(_ZTV4zd35[6]), 6,9}, |
| {&(_ZTV4zd35[9]), 9,9}, |
| {&(_tg__ZTV4sk11__4zd35[4]), 4,4}, |
| {&(_tg__ZTV4tk21__4zd35[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zd35[]; |
| extern VTBL_ENTRY _ZTV4zd35[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zd35[]; |
| Class_Descriptor cd_zd35 = { "zd35", // class name |
| bases_zd35, 5, |
| &(vtc_zd35[0]), // expected_vtbl_contents |
| &(vtt_zd35[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zd35),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zd35),9, //virtual function table var |
| 6, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zd35),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 za36 : sk11 , tk22 { |
| ~za36(); // tgen |
| za36(); // tgen |
| }; |
| //SIG(1 za36) C1{ BC2{ VBC3{} VBC4{}} BC5{ BC3 BC4}} |
| |
| |
| za36 ::~za36(){ note_dtor("za36", this);} // tgen |
| za36 ::za36(){ note_ctor("za36", this);} // tgen |
| |
| static void Test_za36() |
| { |
| extern Class_Descriptor cd_za36; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_za36, buf); |
| za36 *dp, &lv = *(dp=new (buf) za36()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(za36)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(za36)"); |
| check_base_class_offset(lv, (si*)(sk11*), ABISELECT(8,4), "za36"); |
| check_base_class_offset(lv, (sj*)(sk11*), ABISELECT(8,4), "za36"); |
| check_base_class_offset(lv, (sk11*), 0, "za36"); |
| check_base_class_offset(lv, (si*)(tk22*), 0, "za36"); |
| check_base_class_offset(lv, (sj*)(tk22*), 0, "za36"); |
| check_base_class_offset(lv, (tk22*), 0, "za36"); |
| test_class_info(&lv, &cd_za36); |
| dp->~za36(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vza36(Test_za36, "za36", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4za36C1Ev(); |
| extern void _ZN4za36D1Ev(); |
| Name_Map name_map_za36[] = { |
| NSPAIR(_ZN4za36C1Ev), |
| NSPAIR(_ZN4za36D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk11; |
| extern VTBL_ENTRY _ZTI4sk11[]; |
| extern VTBL_ENTRY _ZTV4sk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk11[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk22; |
| extern VTBL_ENTRY _ZTI4tk22[]; |
| static Base_Class bases_za36[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk11, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 0}, |
| {&cd_tk22, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4za36[]; |
| static VTBL_ENTRY vtc_za36[] = { |
| ABISELECT(8,4), |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4za36[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4za36[]; |
| static VTBL_ENTRY _tg__ZTV4sk11__4za36[] = { |
| ABISELECT(8,4), |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk11[0]), |
| }; |
| static VTT_ENTRY vtt_za36[] = { |
| {&(_ZTV4za36[4]), 4,4}, |
| {&(_tg__ZTV4sk11__4za36[4]), 4,4}, |
| }; |
| extern VTBL_ENTRY _ZTI4za36[]; |
| extern VTBL_ENTRY _ZTV4za36[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4za36[]; |
| Class_Descriptor cd_za36 = { "za36", // class name |
| bases_za36, 6, |
| &(vtc_za36[0]), // expected_vtbl_contents |
| &(vtt_za36[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4za36),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4za36),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4za36),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 zb36 : sk11 , virtual tk22 { |
| ~zb36(); // tgen |
| zb36(); // tgen |
| }; |
| //SIG(1 zb36) C1{ BC2{ VBC3{} VBC4{}} VBC5{ BC3 BC4}} |
| |
| |
| zb36 ::~zb36(){ note_dtor("zb36", this);} // tgen |
| zb36 ::zb36(){ note_ctor("zb36", this);} // tgen |
| |
| static void Test_zb36() |
| { |
| extern Class_Descriptor cd_zb36; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zb36, buf); |
| zb36 *dp, &lv = *(dp=new (buf) zb36()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zb36)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zb36)"); |
| check_base_class_offset(lv, (si*)(sk11*), 0, "zb36"); |
| check_base_class_offset(lv, (sj*)(sk11*), 0, "zb36"); |
| check_base_class_offset(lv, (sk11*), 0, "zb36"); |
| check_base_class_offset(lv, (si*)(tk22*), ABISELECT(8,4), "zb36"); |
| check_base_class_offset(lv, (sj*)(tk22*), ABISELECT(8,4), "zb36"); |
| check_base_class_offset(lv, (tk22*), ABISELECT(8,4), "zb36"); |
| test_class_info(&lv, &cd_zb36); |
| dp->~zb36(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzb36(Test_zb36, "zb36", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zb36C1Ev(); |
| extern void _ZN4zb36D1Ev(); |
| Name_Map name_map_zb36[] = { |
| NSPAIR(_ZN4zb36C1Ev), |
| NSPAIR(_ZN4zb36D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk11; |
| extern VTBL_ENTRY _ZTI4sk11[]; |
| extern VTBL_ENTRY _ZTV4sk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk11[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk22; |
| extern VTBL_ENTRY _ZTI4tk22[]; |
| static Base_Class bases_zb36[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk11, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_si, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 0}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 0}, |
| {&cd_tk22, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zb36[]; |
| static VTBL_ENTRY vtc_zb36[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zb36[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zb36[]; |
| static VTBL_ENTRY _tg__ZTV4sk11__4zb36[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk11[0]), |
| }; |
| static VTT_ENTRY vtt_zb36[] = { |
| {&(_ZTV4zb36[5]), 5,5}, |
| {&(_tg__ZTV4sk11__4zb36[4]), 4,4}, |
| }; |
| extern VTBL_ENTRY _ZTI4zb36[]; |
| extern VTBL_ENTRY _ZTV4zb36[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zb36[]; |
| Class_Descriptor cd_zb36 = { "zb36", // class name |
| bases_zb36, 6, |
| &(vtc_zb36[0]), // expected_vtbl_contents |
| &(vtt_zb36[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zb36),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zb36),5, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zb36),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 zc36 : virtual sk11 , tk22 { |
| ~zc36(); // tgen |
| zc36(); // tgen |
| }; |
| //SIG(1 zc36) C1{ VBC2{ VBC3{} VBC4{}} BC5{ BC3 BC4}} |
| |
| |
| zc36 ::~zc36(){ note_dtor("zc36", this);} // tgen |
| zc36 ::zc36(){ note_ctor("zc36", this);} // tgen |
| |
| static void Test_zc36() |
| { |
| extern Class_Descriptor cd_zc36; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zc36, buf); |
| zc36 *dp, &lv = *(dp=new (buf) zc36()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zc36)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zc36)"); |
| check_base_class_offset(lv, (si*)(sk11*), ABISELECT(8,4), "zc36"); |
| check_base_class_offset(lv, (sj*)(sk11*), ABISELECT(8,4), "zc36"); |
| check_base_class_offset(lv, (sk11*), 0, "zc36"); |
| check_base_class_offset(lv, (si*)(tk22*), 0, "zc36"); |
| check_base_class_offset(lv, (sj*)(tk22*), 0, "zc36"); |
| check_base_class_offset(lv, (tk22*), 0, "zc36"); |
| test_class_info(&lv, &cd_zc36); |
| dp->~zc36(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzc36(Test_zc36, "zc36", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zc36C1Ev(); |
| extern void _ZN4zc36D1Ev(); |
| Name_Map name_map_zc36[] = { |
| NSPAIR(_ZN4zc36C1Ev), |
| NSPAIR(_ZN4zc36D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk11; |
| extern VTBL_ENTRY _ZTI4sk11[]; |
| extern VTBL_ENTRY _ZTV4sk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk11[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk22; |
| extern VTBL_ENTRY _ZTI4tk22[]; |
| static Base_Class bases_zc36[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk11, 0, //bcp->offset |
| -1, //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_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 0}, |
| {&cd_tk22, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zc36[]; |
| static VTBL_ENTRY vtc_zc36[] = { |
| 0, |
| ABISELECT(8,4), |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zc36[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zc36[]; |
| static VTBL_ENTRY _tg__ZTV4sk11__4zc36[] = { |
| ABISELECT(8,4), |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk11[0]), |
| }; |
| static VTT_ENTRY vtt_zc36[] = { |
| {&(_ZTV4zc36[5]), 5,5}, |
| {&(_ZTV4zc36[5]), 5,5}, |
| {&(_tg__ZTV4sk11__4zc36[4]), 4,4}, |
| }; |
| extern VTBL_ENTRY _ZTI4zc36[]; |
| extern VTBL_ENTRY _ZTV4zc36[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zc36[]; |
| Class_Descriptor cd_zc36 = { "zc36", // class name |
| bases_zc36, 6, |
| &(vtc_zc36[0]), // expected_vtbl_contents |
| &(vtt_zc36[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zc36),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zc36),5, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zc36),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 zd36 : virtual sk11 , virtual tk22 { |
| ~zd36(); // tgen |
| zd36(); // tgen |
| }; |
| //SIG(1 zd36) C1{ VBC2{ VBC3{} VBC4{}} VBC5{ BC3 BC4}} |
| |
| |
| zd36 ::~zd36(){ note_dtor("zd36", this);} // tgen |
| zd36 ::zd36(){ note_ctor("zd36", this);} // tgen |
| |
| static void Test_zd36() |
| { |
| extern Class_Descriptor cd_zd36; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zd36, buf); |
| zd36 *dp, &lv = *(dp=new (buf) zd36()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zd36)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zd36)"); |
| check_base_class_offset(lv, (si*)(sk11*), 0, "zd36"); |
| check_base_class_offset(lv, (sj*)(sk11*), 0, "zd36"); |
| check_base_class_offset(lv, (sk11*), 0, "zd36"); |
| check_base_class_offset(lv, (si*)(tk22*), ABISELECT(8,4), "zd36"); |
| check_base_class_offset(lv, (sj*)(tk22*), ABISELECT(8,4), "zd36"); |
| check_base_class_offset(lv, (tk22*), ABISELECT(8,4), "zd36"); |
| test_class_info(&lv, &cd_zd36); |
| dp->~zd36(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzd36(Test_zd36, "zd36", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zd36C1Ev(); |
| extern void _ZN4zd36D1Ev(); |
| Name_Map name_map_zd36[] = { |
| NSPAIR(_ZN4zd36C1Ev), |
| NSPAIR(_ZN4zd36D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk11; |
| extern VTBL_ENTRY _ZTI4sk11[]; |
| extern VTBL_ENTRY _ZTV4sk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk11[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk22; |
| extern VTBL_ENTRY _ZTI4tk22[]; |
| static Base_Class bases_zd36[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk11, 0, //bcp->offset |
| -1, //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_si, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 0}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 0}, |
| {&cd_tk22, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zd36[]; |
| static VTBL_ENTRY vtc_zd36[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zd36[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zd36[]; |
| static VTBL_ENTRY _tg__ZTV4sk11__4zd36[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk11[0]), |
| }; |
| static VTT_ENTRY vtt_zd36[] = { |
| {&(_ZTV4zd36[6]), 6,6}, |
| {&(_ZTV4zd36[6]), 6,6}, |
| {&(_tg__ZTV4sk11__4zd36[4]), 4,4}, |
| }; |
| extern VTBL_ENTRY _ZTI4zd36[]; |
| extern VTBL_ENTRY _ZTV4zd36[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zd36[]; |
| Class_Descriptor cd_zd36 = { "zd36", // class name |
| bases_zd36, 6, |
| &(vtc_zd36[0]), // expected_vtbl_contents |
| &(vtt_zd36[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zd36),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zd36),6, //virtual function table var |
| 6, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zd36),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 xt4 : tk12 { |
| ~xt4(); // tgen |
| xt4(); // tgen |
| }; |
| //SIG(1 xt4) C1{ BC2{ VBC3{} BC4{}}} |
| |
| |
| xt4 ::~xt4(){ note_dtor("xt4", this);} // tgen |
| xt4 ::xt4(){ note_ctor("xt4", this);} // tgen |
| |
| static void Test_xt4() |
| { |
| extern Class_Descriptor cd_xt4; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_xt4, buf); |
| xt4 *dp, &lv = *(dp=new (buf) xt4()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(xt4)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(xt4)"); |
| check_base_class_offset(lv, (si*)(tk12*), 0, "xt4"); |
| check_base_class_offset(lv, (sj*)(tk12*), 0, "xt4"); |
| check_base_class_offset(lv, (tk12*), 0, "xt4"); |
| test_class_info(&lv, &cd_xt4); |
| dp->~xt4(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vxt4(Test_xt4, "xt4", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN3xt4C1Ev(); |
| extern void _ZN3xt4D1Ev(); |
| Name_Map name_map_xt4[] = { |
| NSPAIR(_ZN3xt4C1Ev), |
| NSPAIR(_ZN3xt4D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk12; |
| extern VTBL_ENTRY _ZTI4tk12[]; |
| extern VTBL_ENTRY _ZTV4tk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk12[]; |
| static Base_Class bases_xt4[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_tk12, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI3xt4[]; |
| static VTBL_ENTRY vtc_xt4[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI3xt4[0]), |
| }; |
| extern VTBL_ENTRY _ZTV3xt4[]; |
| static VTBL_ENTRY _tg__ZTV4tk12__3xt4[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk12[0]), |
| }; |
| static VTT_ENTRY vtt_xt4[] = { |
| {&(_ZTV3xt4[3]), 3,3}, |
| {&(_tg__ZTV4tk12__3xt4[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI3xt4[]; |
| extern VTBL_ENTRY _ZTV3xt4[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT3xt4[]; |
| Class_Descriptor cd_xt4 = { "xt4", // class name |
| bases_xt4, 3, |
| &(vtc_xt4[0]), // expected_vtbl_contents |
| &(vtt_xt4[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI3xt4),ABISELECT(24,12), //typeinfo_var |
| NSPAIRA(_ZTV3xt4),3, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT3xt4),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 yt4 : virtual tk12 { |
| ~yt4(); // tgen |
| yt4(); // tgen |
| }; |
| //SIG(1 yt4) C1{ VBC2{ VBC3{} BC4{}}} |
| |
| |
| yt4 ::~yt4(){ note_dtor("yt4", this);} // tgen |
| yt4 ::yt4(){ note_ctor("yt4", this);} // tgen |
| |
| static void Test_yt4() |
| { |
| extern Class_Descriptor cd_yt4; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_yt4, buf); |
| yt4 *dp, &lv = *(dp=new (buf) yt4()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(yt4)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(yt4)"); |
| check_base_class_offset(lv, (si*)(tk12*), 0, "yt4"); |
| check_base_class_offset(lv, (sj*)(tk12*), 0, "yt4"); |
| check_base_class_offset(lv, (tk12*), 0, "yt4"); |
| test_class_info(&lv, &cd_yt4); |
| dp->~yt4(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vyt4(Test_yt4, "yt4", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN3yt4C1Ev(); |
| extern void _ZN3yt4D1Ev(); |
| Name_Map name_map_yt4[] = { |
| NSPAIR(_ZN3yt4C1Ev), |
| NSPAIR(_ZN3yt4D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk12; |
| extern VTBL_ENTRY _ZTI4tk12[]; |
| extern VTBL_ENTRY _ZTV4tk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk12[]; |
| static Base_Class bases_yt4[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_tk12, 0, //bcp->offset |
| -1, //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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI3yt4[]; |
| static VTBL_ENTRY vtc_yt4[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI3yt4[0]), |
| }; |
| extern VTBL_ENTRY _ZTV3yt4[]; |
| static VTBL_ENTRY _tg__ZTV4tk12__3yt4[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk12[0]), |
| }; |
| static VTT_ENTRY vtt_yt4[] = { |
| {&(_ZTV3yt4[4]), 4,4}, |
| {&(_ZTV3yt4[4]), 4,4}, |
| {&(_tg__ZTV4tk12__3yt4[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI3yt4[]; |
| extern VTBL_ENTRY _ZTV3yt4[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT3yt4[]; |
| Class_Descriptor cd_yt4 = { "yt4", // class name |
| bases_yt4, 3, |
| &(vtc_yt4[0]), // expected_vtbl_contents |
| &(vtt_yt4[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI3yt4),ABISELECT(40,24), //typeinfo_var |
| NSPAIRA(_ZTV3yt4),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT3yt4),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 za40 : sk12 , tk00 { |
| ~za40(); // tgen |
| za40(); // tgen |
| }; |
| //SIG(1 za40) C1{ BC2{ VBC3{} BC4{}} BC5{}} |
| |
| |
| za40 ::~za40(){ note_dtor("za40", this);} // tgen |
| za40 ::za40(){ note_ctor("za40", this);} // tgen |
| |
| static void Test_za40() |
| { |
| extern Class_Descriptor cd_za40; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_za40, buf); |
| za40 *dp, &lv = *(dp=new (buf) za40()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(za40)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(za40)"); |
| check_base_class_offset(lv, (si*)(sk12*), 0, "za40"); |
| check_base_class_offset(lv, (sj*)(sk12*), 0, "za40"); |
| check_base_class_offset(lv, (sk12*), 0, "za40"); |
| check_base_class_offset(lv, (tk00*), 0, "za40"); |
| test_class_info(&lv, &cd_za40); |
| dp->~za40(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vza40(Test_za40, "za40", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4za40C1Ev(); |
| extern void _ZN4za40D1Ev(); |
| Name_Map name_map_za40[] = { |
| NSPAIR(_ZN4za40C1Ev), |
| NSPAIR(_ZN4za40D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk12; |
| extern VTBL_ENTRY _ZTI4sk12[]; |
| extern VTBL_ENTRY _ZTV4sk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk12[]; |
| extern Class_Descriptor cd_tk00; |
| extern VTBL_ENTRY _ZTI4tk00[]; |
| static Base_Class bases_za40[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk12, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_tk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4za40[]; |
| static VTBL_ENTRY vtc_za40[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4za40[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4za40[]; |
| static VTBL_ENTRY _tg__ZTV4sk12__4za40[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk12[0]), |
| }; |
| static VTT_ENTRY vtt_za40[] = { |
| {&(_ZTV4za40[3]), 3,3}, |
| {&(_tg__ZTV4sk12__4za40[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4za40[]; |
| extern VTBL_ENTRY _ZTV4za40[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4za40[]; |
| Class_Descriptor cd_za40 = { "za40", // class name |
| bases_za40, 4, |
| &(vtc_za40[0]), // expected_vtbl_contents |
| &(vtt_za40[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4za40),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4za40),3, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4za40),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 zb40 : sk12 , virtual tk00 { |
| ~zb40(); // tgen |
| zb40(); // tgen |
| }; |
| //SIG(1 zb40) C1{ BC2{ VBC3{} BC4{}} VBC5{}} |
| |
| |
| zb40 ::~zb40(){ note_dtor("zb40", this);} // tgen |
| zb40 ::zb40(){ note_ctor("zb40", this);} // tgen |
| |
| static void Test_zb40() |
| { |
| extern Class_Descriptor cd_zb40; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_zb40, buf); |
| zb40 *dp, &lv = *(dp=new (buf) zb40()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(zb40)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zb40)"); |
| check_base_class_offset(lv, (si*)(sk12*), 0, "zb40"); |
| check_base_class_offset(lv, (sj*)(sk12*), 0, "zb40"); |
| check_base_class_offset(lv, (sk12*), 0, "zb40"); |
| check_base_class_offset(lv, (tk00*), 0, "zb40"); |
| test_class_info(&lv, &cd_zb40); |
| dp->~zb40(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzb40(Test_zb40, "zb40", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zb40C1Ev(); |
| extern void _ZN4zb40D1Ev(); |
| Name_Map name_map_zb40[] = { |
| NSPAIR(_ZN4zb40C1Ev), |
| NSPAIR(_ZN4zb40D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk12; |
| extern VTBL_ENTRY _ZTI4sk12[]; |
| extern VTBL_ENTRY _ZTV4sk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk12[]; |
| extern Class_Descriptor cd_tk00; |
| extern VTBL_ENTRY _ZTI4tk00[]; |
| static Base_Class bases_zb40[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk12, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_tk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zb40[]; |
| static VTBL_ENTRY vtc_zb40[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zb40[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zb40[]; |
| static VTBL_ENTRY _tg__ZTV4sk12__4zb40[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk12[0]), |
| }; |
| static VTT_ENTRY vtt_zb40[] = { |
| {&(_ZTV4zb40[4]), 4,4}, |
| {&(_tg__ZTV4sk12__4zb40[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zb40[]; |
| extern VTBL_ENTRY _ZTV4zb40[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zb40[]; |
| Class_Descriptor cd_zb40 = { "zb40", // class name |
| bases_zb40, 4, |
| &(vtc_zb40[0]), // expected_vtbl_contents |
| &(vtt_zb40[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4zb40),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zb40),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zb40),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 zc40 : virtual sk12 , tk00 { |
| ~zc40(); // tgen |
| zc40(); // tgen |
| }; |
| //SIG(1 zc40) C1{ VBC2{ VBC3{} BC4{}} BC5{}} |
| |
| |
| zc40 ::~zc40(){ note_dtor("zc40", this);} // tgen |
| zc40 ::zc40(){ note_ctor("zc40", this);} // tgen |
| |
| static void Test_zc40() |
| { |
| extern Class_Descriptor cd_zc40; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_zc40, buf); |
| zc40 *dp, &lv = *(dp=new (buf) zc40()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(zc40)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zc40)"); |
| check_base_class_offset(lv, (si*)(sk12*), 0, "zc40"); |
| check_base_class_offset(lv, (sj*)(sk12*), 0, "zc40"); |
| check_base_class_offset(lv, (sk12*), 0, "zc40"); |
| check_base_class_offset(lv, (tk00*), 0, "zc40"); |
| test_class_info(&lv, &cd_zc40); |
| dp->~zc40(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzc40(Test_zc40, "zc40", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zc40C1Ev(); |
| extern void _ZN4zc40D1Ev(); |
| Name_Map name_map_zc40[] = { |
| NSPAIR(_ZN4zc40C1Ev), |
| NSPAIR(_ZN4zc40D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk12; |
| extern VTBL_ENTRY _ZTI4sk12[]; |
| extern VTBL_ENTRY _ZTV4sk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk12[]; |
| extern Class_Descriptor cd_tk00; |
| extern VTBL_ENTRY _ZTI4tk00[]; |
| static Base_Class bases_zc40[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk12, 0, //bcp->offset |
| -1, //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_tk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zc40[]; |
| static VTBL_ENTRY vtc_zc40[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zc40[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zc40[]; |
| static VTBL_ENTRY _tg__ZTV4sk12__4zc40[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk12[0]), |
| }; |
| static VTT_ENTRY vtt_zc40[] = { |
| {&(_ZTV4zc40[4]), 4,4}, |
| {&(_ZTV4zc40[4]), 4,4}, |
| {&(_tg__ZTV4sk12__4zc40[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zc40[]; |
| extern VTBL_ENTRY _ZTV4zc40[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zc40[]; |
| Class_Descriptor cd_zc40 = { "zc40", // class name |
| bases_zc40, 4, |
| &(vtc_zc40[0]), // expected_vtbl_contents |
| &(vtt_zc40[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4zc40),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zc40),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zc40),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 zd40 : virtual sk12 , virtual tk00 { |
| ~zd40(); // tgen |
| zd40(); // tgen |
| }; |
| //SIG(1 zd40) C1{ VBC2{ VBC3{} BC4{}} VBC5{}} |
| |
| |
| zd40 ::~zd40(){ note_dtor("zd40", this);} // tgen |
| zd40 ::zd40(){ note_ctor("zd40", this);} // tgen |
| |
| static void Test_zd40() |
| { |
| extern Class_Descriptor cd_zd40; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_zd40, buf); |
| zd40 *dp, &lv = *(dp=new (buf) zd40()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(zd40)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zd40)"); |
| check_base_class_offset(lv, (si*)(sk12*), 0, "zd40"); |
| check_base_class_offset(lv, (sj*)(sk12*), 0, "zd40"); |
| check_base_class_offset(lv, (sk12*), 0, "zd40"); |
| check_base_class_offset(lv, (tk00*), 0, "zd40"); |
| test_class_info(&lv, &cd_zd40); |
| dp->~zd40(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzd40(Test_zd40, "zd40", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zd40C1Ev(); |
| extern void _ZN4zd40D1Ev(); |
| Name_Map name_map_zd40[] = { |
| NSPAIR(_ZN4zd40C1Ev), |
| NSPAIR(_ZN4zd40D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk12; |
| extern VTBL_ENTRY _ZTI4sk12[]; |
| extern VTBL_ENTRY _ZTV4sk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk12[]; |
| extern Class_Descriptor cd_tk00; |
| extern VTBL_ENTRY _ZTI4tk00[]; |
| static Base_Class bases_zd40[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk12, 0, //bcp->offset |
| -1, //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_tk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zd40[]; |
| static VTBL_ENTRY vtc_zd40[] = { |
| 0, |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zd40[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zd40[]; |
| static VTBL_ENTRY _tg__ZTV4sk12__4zd40[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk12[0]), |
| }; |
| static VTT_ENTRY vtt_zd40[] = { |
| {&(_ZTV4zd40[5]), 5,5}, |
| {&(_ZTV4zd40[5]), 5,5}, |
| {&(_tg__ZTV4sk12__4zd40[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zd40[]; |
| extern VTBL_ENTRY _ZTV4zd40[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zd40[]; |
| Class_Descriptor cd_zd40 = { "zd40", // class name |
| bases_zd40, 4, |
| &(vtc_zd40[0]), // expected_vtbl_contents |
| &(vtt_zd40[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4zd40),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zd40),5, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zd40),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 za41 : sk12 , tk01 { |
| ~za41(); // tgen |
| za41(); // tgen |
| }; |
| //SIG(1 za41) C1{ BC2{ VBC3{} BC4{}} BC5{ VBC4}} |
| |
| |
| za41 ::~za41(){ note_dtor("za41", this);} // tgen |
| za41 ::za41(){ note_ctor("za41", this);} // tgen |
| |
| static void Test_za41() |
| { |
| extern Class_Descriptor cd_za41; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[4]; |
| init_test(&cd_za41, buf); |
| za41 *dp, &lv = *(dp=new (buf) za41()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(24,12), "sizeof(za41)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(za41)"); |
| check_base_class_offset(lv, (si*)(sk12*), 0, "za41"); |
| check_base_class_offset(lv, (sj*)(sk12*), 0, "za41"); |
| check_base_class_offset(lv, (sk12*), 0, "za41"); |
| check_base_class_offset(lv, (sj*)(tk01*), ABISELECT(16,8), "za41"); |
| check_base_class_offset(lv, (tk01*), ABISELECT(8,4), "za41"); |
| test_class_info(&lv, &cd_za41); |
| dp->~za41(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vza41(Test_za41, "za41", ABISELECT(24,12)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4za41C1Ev(); |
| extern void _ZN4za41D1Ev(); |
| Name_Map name_map_za41[] = { |
| NSPAIR(_ZN4za41C1Ev), |
| NSPAIR(_ZN4za41D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk12; |
| extern VTBL_ENTRY _ZTI4sk12[]; |
| extern VTBL_ENTRY _ZTV4sk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk12[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk01; |
| extern VTBL_ENTRY _ZTI4tk01[]; |
| extern VTBL_ENTRY _ZTV4tk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk01[]; |
| static Base_Class bases_za41[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk12, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_sj, 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, 1}, |
| {&cd_tk01, ABISELECT(8,4), //bcp->offset |
| 4, //bcp->virtual_function_table_offset |
| 3, //num_negative_vtable_entries(t, bcp) |
| 4, //bcp->index_in_construction_vtbl_array |
| 3, //bcp->base_subarray_index_in_construction_vtbl_array |
| 2, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4za41[]; |
| static VTBL_ENTRY vtc_za41[] = { |
| ABISELECT(16,8), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4za41[0]), |
| ABISELECT(8,4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4za41[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4za41[]; |
| static VTBL_ENTRY _tg__ZTV4sk12__4za41[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk12[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4tk01__4za41[] = { |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk01[0]), |
| }; |
| static VTT_ENTRY vtt_za41[] = { |
| {&(_ZTV4za41[4]), 4,7}, |
| {&(_tg__ZTV4sk12__4za41[3]), 3,3}, |
| {&(_tg__ZTV4tk01__4za41[3]), 3,3}, |
| {&(_ZTV4za41[7]), 7,7}, |
| }; |
| extern VTBL_ENTRY _ZTI4za41[]; |
| extern VTBL_ENTRY _ZTV4za41[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4za41[]; |
| Class_Descriptor cd_za41 = { "za41", // class name |
| bases_za41, 5, |
| &(vtc_za41[0]), // expected_vtbl_contents |
| &(vtt_za41[0]), // expected_vtt_contents |
| ABISELECT(24,12), // object size |
| NSPAIRA(_ZTI4za41),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4za41),7, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4za41),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 zb41 : sk12 , virtual tk01 { |
| ~zb41(); // tgen |
| zb41(); // tgen |
| }; |
| //SIG(1 zb41) C1{ BC2{ VBC3{} BC4{}} VBC5{ VBC4}} |
| |
| |
| zb41 ::~zb41(){ note_dtor("zb41", this);} // tgen |
| zb41 ::zb41(){ note_ctor("zb41", this);} // tgen |
| |
| static void Test_zb41() |
| { |
| extern Class_Descriptor cd_zb41; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[4]; |
| init_test(&cd_zb41, buf); |
| zb41 *dp, &lv = *(dp=new (buf) zb41()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(24,12), "sizeof(zb41)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zb41)"); |
| check_base_class_offset(lv, (si*)(sk12*), 0, "zb41"); |
| check_base_class_offset(lv, (sj*)(sk12*), 0, "zb41"); |
| check_base_class_offset(lv, (sk12*), 0, "zb41"); |
| check_base_class_offset(lv, (sj*)(tk01*), ABISELECT(16,8), "zb41"); |
| check_base_class_offset(lv, (tk01*), ABISELECT(8,4), "zb41"); |
| test_class_info(&lv, &cd_zb41); |
| dp->~zb41(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzb41(Test_zb41, "zb41", ABISELECT(24,12)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zb41C1Ev(); |
| extern void _ZN4zb41D1Ev(); |
| Name_Map name_map_zb41[] = { |
| NSPAIR(_ZN4zb41C1Ev), |
| NSPAIR(_ZN4zb41D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk12; |
| extern VTBL_ENTRY _ZTI4sk12[]; |
| extern VTBL_ENTRY _ZTV4sk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk12[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk01; |
| extern VTBL_ENTRY _ZTI4tk01[]; |
| extern VTBL_ENTRY _ZTV4tk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk01[]; |
| static Base_Class bases_zb41[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk12, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_sj, 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, 1}, |
| {&cd_tk01, ABISELECT(8,4), //bcp->offset |
| 5, //bcp->virtual_function_table_offset |
| 3, //num_negative_vtable_entries(t, bcp) |
| 3, //bcp->index_in_construction_vtbl_array |
| 4, //bcp->base_subarray_index_in_construction_vtbl_array |
| 1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zb41[]; |
| static VTBL_ENTRY vtc_zb41[] = { |
| ABISELECT(16,8), |
| ABISELECT(8,4), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zb41[0]), |
| ABISELECT(8,4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4zb41[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zb41[]; |
| static VTBL_ENTRY _tg__ZTV4sk12__4zb41[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk12[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4tk01__4zb41[] = { |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk01[0]), |
| }; |
| static VTT_ENTRY vtt_zb41[] = { |
| {&(_ZTV4zb41[5]), 5,8}, |
| {&(_tg__ZTV4sk12__4zb41[3]), 3,3}, |
| {&(_ZTV4zb41[8]), 8,8}, |
| {&(_tg__ZTV4tk01__4zb41[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zb41[]; |
| extern VTBL_ENTRY _ZTV4zb41[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zb41[]; |
| Class_Descriptor cd_zb41 = { "zb41", // class name |
| bases_zb41, 5, |
| &(vtc_zb41[0]), // expected_vtbl_contents |
| &(vtt_zb41[0]), // expected_vtt_contents |
| ABISELECT(24,12), // object size |
| NSPAIRA(_ZTI4zb41),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zb41),8, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zb41),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 zc41 : virtual sk12 , tk01 { |
| ~zc41(); // tgen |
| zc41(); // tgen |
| }; |
| //SIG(1 zc41) C1{ VBC2{ VBC3{} BC4{}} BC5{ VBC4}} |
| |
| |
| zc41 ::~zc41(){ note_dtor("zc41", this);} // tgen |
| zc41 ::zc41(){ note_ctor("zc41", this);} // tgen |
| |
| static void Test_zc41() |
| { |
| extern Class_Descriptor cd_zc41; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zc41, buf); |
| zc41 *dp, &lv = *(dp=new (buf) zc41()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zc41)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zc41)"); |
| check_base_class_offset(lv, (si*)(sk12*), 0, "zc41"); |
| check_base_class_offset(lv, (sj*)(sk12*), ABISELECT(8,4), "zc41"); |
| check_base_class_offset(lv, (sk12*), ABISELECT(8,4), "zc41"); |
| check_base_class_offset(lv, (sj*)(tk01*), 0, "zc41"); |
| check_base_class_offset(lv, (tk01*), 0, "zc41"); |
| test_class_info(&lv, &cd_zc41); |
| dp->~zc41(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzc41(Test_zc41, "zc41", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zc41C1Ev(); |
| extern void _ZN4zc41D1Ev(); |
| Name_Map name_map_zc41[] = { |
| NSPAIR(_ZN4zc41C1Ev), |
| NSPAIR(_ZN4zc41D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk12; |
| extern VTBL_ENTRY _ZTI4sk12[]; |
| extern VTBL_ENTRY _ZTV4sk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk12[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk01; |
| extern VTBL_ENTRY _ZTI4tk01[]; |
| extern VTBL_ENTRY _ZTV4tk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk01[]; |
| static Base_Class bases_zc41[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk12, ABISELECT(8,4), //bcp->offset |
| 5, //bcp->virtual_function_table_offset |
| 3, //num_negative_vtable_entries(t, bcp) |
| 3, //bcp->index_in_construction_vtbl_array |
| 4, //bcp->base_subarray_index_in_construction_vtbl_array |
| 1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 1}, |
| {&cd_tk01, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zc41[]; |
| static VTBL_ENTRY vtc_zc41[] = { |
| 0, |
| ABISELECT(8,4), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zc41[0]), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4zc41[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zc41[]; |
| static VTBL_ENTRY _tg__ZTV4tk01__4zc41[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk01[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4sk12__4zc41[] = { |
| ABISELECT(-8,-4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk12[0]), |
| }; |
| static VTT_ENTRY vtt_zc41[] = { |
| {&(_ZTV4zc41[5]), 5,8}, |
| {&(_tg__ZTV4tk01__4zc41[3]), 3,3}, |
| {&(_ZTV4zc41[8]), 8,8}, |
| {&(_tg__ZTV4sk12__4zc41[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zc41[]; |
| extern VTBL_ENTRY _ZTV4zc41[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zc41[]; |
| Class_Descriptor cd_zc41 = { "zc41", // class name |
| bases_zc41, 5, |
| &(vtc_zc41[0]), // expected_vtbl_contents |
| &(vtt_zc41[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zc41),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zc41),8, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zc41),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 zd41 : virtual sk12 , virtual tk01 { |
| ~zd41(); // tgen |
| zd41(); // tgen |
| }; |
| //SIG(1 zd41) C1{ VBC2{ VBC3{} BC4{}} VBC5{ VBC4}} |
| |
| |
| zd41 ::~zd41(){ note_dtor("zd41", this);} // tgen |
| zd41 ::zd41(){ note_ctor("zd41", this);} // tgen |
| |
| static void Test_zd41() |
| { |
| extern Class_Descriptor cd_zd41; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[4]; |
| init_test(&cd_zd41, buf); |
| zd41 *dp, &lv = *(dp=new (buf) zd41()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(24,12), "sizeof(zd41)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zd41)"); |
| check_base_class_offset(lv, (si*)(sk12*), 0, "zd41"); |
| check_base_class_offset(lv, (sj*)(sk12*), 0, "zd41"); |
| check_base_class_offset(lv, (sk12*), 0, "zd41"); |
| check_base_class_offset(lv, (sj*)(tk01*), ABISELECT(16,8), "zd41"); |
| check_base_class_offset(lv, (tk01*), ABISELECT(8,4), "zd41"); |
| test_class_info(&lv, &cd_zd41); |
| dp->~zd41(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzd41(Test_zd41, "zd41", ABISELECT(24,12)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zd41C1Ev(); |
| extern void _ZN4zd41D1Ev(); |
| Name_Map name_map_zd41[] = { |
| NSPAIR(_ZN4zd41C1Ev), |
| NSPAIR(_ZN4zd41D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk12; |
| extern VTBL_ENTRY _ZTI4sk12[]; |
| extern VTBL_ENTRY _ZTV4sk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk12[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk01; |
| extern VTBL_ENTRY _ZTI4tk01[]; |
| extern VTBL_ENTRY _ZTV4tk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk01[]; |
| static Base_Class bases_zd41[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk12, 0, //bcp->offset |
| -1, //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_sj, 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, 1}, |
| {&cd_tk01, ABISELECT(8,4), //bcp->offset |
| 6, //bcp->virtual_function_table_offset |
| 3, //num_negative_vtable_entries(t, bcp) |
| 3, //bcp->index_in_construction_vtbl_array |
| 5, //bcp->base_subarray_index_in_construction_vtbl_array |
| 2, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zd41[]; |
| static VTBL_ENTRY vtc_zd41[] = { |
| ABISELECT(16,8), |
| ABISELECT(8,4), |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zd41[0]), |
| ABISELECT(8,4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4zd41[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zd41[]; |
| static VTBL_ENTRY _tg__ZTV4sk12__4zd41[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk12[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4tk01__4zd41[] = { |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk01[0]), |
| }; |
| static VTT_ENTRY vtt_zd41[] = { |
| {&(_ZTV4zd41[6]), 6,9}, |
| {&(_ZTV4zd41[6]), 6,9}, |
| {&(_ZTV4zd41[9]), 9,9}, |
| {&(_tg__ZTV4sk12__4zd41[3]), 3,3}, |
| {&(_tg__ZTV4tk01__4zd41[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zd41[]; |
| extern VTBL_ENTRY _ZTV4zd41[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zd41[]; |
| Class_Descriptor cd_zd41 = { "zd41", // class name |
| bases_zd41, 5, |
| &(vtc_zd41[0]), // expected_vtbl_contents |
| &(vtt_zd41[0]), // expected_vtt_contents |
| ABISELECT(24,12), // object size |
| NSPAIRA(_ZTI4zd41),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zd41),9, //virtual function table var |
| 6, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zd41),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 za42 : sk12 , tk02 { |
| ~za42(); // tgen |
| za42(); // tgen |
| }; |
| //SIG(1 za42) C1{ BC2{ VBC3{} BC4{}} BC5{ BC4}} |
| |
| |
| za42 ::~za42(){ note_dtor("za42", this);} // tgen |
| za42 ::za42(){ note_ctor("za42", this);} // tgen |
| |
| static void Test_za42() |
| { |
| extern Class_Descriptor cd_za42; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_za42, buf); |
| za42 *dp, &lv = *(dp=new (buf) za42()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(za42)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(za42)"); |
| check_base_class_offset(lv, (si*)(sk12*), 0, "za42"); |
| check_base_class_offset(lv, (sj*)(sk12*), 0, "za42"); |
| check_base_class_offset(lv, (sk12*), 0, "za42"); |
| check_base_class_offset(lv, (sj*)(tk02*), ABISELECT(8,4), "za42"); |
| check_base_class_offset(lv, (tk02*), ABISELECT(8,4), "za42"); |
| test_class_info(&lv, &cd_za42); |
| dp->~za42(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vza42(Test_za42, "za42", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4za42C1Ev(); |
| extern void _ZN4za42D1Ev(); |
| Name_Map name_map_za42[] = { |
| NSPAIR(_ZN4za42C1Ev), |
| NSPAIR(_ZN4za42D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk12; |
| extern VTBL_ENTRY _ZTI4sk12[]; |
| extern VTBL_ENTRY _ZTV4sk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk12[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk02; |
| extern VTBL_ENTRY _ZTI4tk02[]; |
| static Base_Class bases_za42[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk12, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_tk02, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4za42[]; |
| static VTBL_ENTRY vtc_za42[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4za42[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4za42[]; |
| static VTBL_ENTRY _tg__ZTV4sk12__4za42[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk12[0]), |
| }; |
| static VTT_ENTRY vtt_za42[] = { |
| {&(_ZTV4za42[3]), 3,3}, |
| {&(_tg__ZTV4sk12__4za42[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4za42[]; |
| extern VTBL_ENTRY _ZTV4za42[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4za42[]; |
| Class_Descriptor cd_za42 = { "za42", // class name |
| bases_za42, 5, |
| &(vtc_za42[0]), // expected_vtbl_contents |
| &(vtt_za42[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4za42),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4za42),3, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4za42),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 zb42 : sk12 , virtual tk02 { |
| ~zb42(); // tgen |
| zb42(); // tgen |
| }; |
| //SIG(1 zb42) C1{ BC2{ VBC3{} BC4{}} VBC5{ BC4}} |
| |
| |
| zb42 ::~zb42(){ note_dtor("zb42", this);} // tgen |
| zb42 ::zb42(){ note_ctor("zb42", this);} // tgen |
| |
| static void Test_zb42() |
| { |
| extern Class_Descriptor cd_zb42; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zb42, buf); |
| zb42 *dp, &lv = *(dp=new (buf) zb42()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zb42)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zb42)"); |
| check_base_class_offset(lv, (si*)(sk12*), 0, "zb42"); |
| check_base_class_offset(lv, (sj*)(sk12*), 0, "zb42"); |
| check_base_class_offset(lv, (sk12*), 0, "zb42"); |
| check_base_class_offset(lv, (sj*)(tk02*), ABISELECT(8,4), "zb42"); |
| check_base_class_offset(lv, (tk02*), ABISELECT(8,4), "zb42"); |
| test_class_info(&lv, &cd_zb42); |
| dp->~zb42(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzb42(Test_zb42, "zb42", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zb42C1Ev(); |
| extern void _ZN4zb42D1Ev(); |
| Name_Map name_map_zb42[] = { |
| NSPAIR(_ZN4zb42C1Ev), |
| NSPAIR(_ZN4zb42D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk12; |
| extern VTBL_ENTRY _ZTI4sk12[]; |
| extern VTBL_ENTRY _ZTV4sk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk12[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk02; |
| extern VTBL_ENTRY _ZTI4tk02[]; |
| static Base_Class bases_zb42[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk12, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_tk02, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zb42[]; |
| static VTBL_ENTRY vtc_zb42[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zb42[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zb42[]; |
| static VTBL_ENTRY _tg__ZTV4sk12__4zb42[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk12[0]), |
| }; |
| static VTT_ENTRY vtt_zb42[] = { |
| {&(_ZTV4zb42[4]), 4,4}, |
| {&(_tg__ZTV4sk12__4zb42[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zb42[]; |
| extern VTBL_ENTRY _ZTV4zb42[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zb42[]; |
| Class_Descriptor cd_zb42 = { "zb42", // class name |
| bases_zb42, 5, |
| &(vtc_zb42[0]), // expected_vtbl_contents |
| &(vtt_zb42[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zb42),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zb42),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zb42),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 zc42 : virtual sk12 , tk02 { |
| ~zc42(); // tgen |
| zc42(); // tgen |
| }; |
| //SIG(1 zc42) C1{ VBC2{ VBC3{} BC4{}} BC5{ BC4}} |
| |
| |
| zc42 ::~zc42(){ note_dtor("zc42", this);} // tgen |
| zc42 ::zc42(){ note_ctor("zc42", this);} // tgen |
| |
| static void Test_zc42() |
| { |
| extern Class_Descriptor cd_zc42; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zc42, buf); |
| zc42 *dp, &lv = *(dp=new (buf) zc42()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zc42)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zc42)"); |
| check_base_class_offset(lv, (si*)(sk12*), 0, "zc42"); |
| check_base_class_offset(lv, (sj*)(sk12*), 0, "zc42"); |
| check_base_class_offset(lv, (sk12*), 0, "zc42"); |
| check_base_class_offset(lv, (sj*)(tk02*), ABISELECT(8,4), "zc42"); |
| check_base_class_offset(lv, (tk02*), ABISELECT(8,4), "zc42"); |
| test_class_info(&lv, &cd_zc42); |
| dp->~zc42(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzc42(Test_zc42, "zc42", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zc42C1Ev(); |
| extern void _ZN4zc42D1Ev(); |
| Name_Map name_map_zc42[] = { |
| NSPAIR(_ZN4zc42C1Ev), |
| NSPAIR(_ZN4zc42D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk12; |
| extern VTBL_ENTRY _ZTI4sk12[]; |
| extern VTBL_ENTRY _ZTV4sk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk12[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk02; |
| extern VTBL_ENTRY _ZTI4tk02[]; |
| static Base_Class bases_zc42[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk12, 0, //bcp->offset |
| -1, //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_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_tk02, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zc42[]; |
| static VTBL_ENTRY vtc_zc42[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zc42[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zc42[]; |
| static VTBL_ENTRY _tg__ZTV4sk12__4zc42[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk12[0]), |
| }; |
| static VTT_ENTRY vtt_zc42[] = { |
| {&(_ZTV4zc42[4]), 4,4}, |
| {&(_ZTV4zc42[4]), 4,4}, |
| {&(_tg__ZTV4sk12__4zc42[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zc42[]; |
| extern VTBL_ENTRY _ZTV4zc42[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zc42[]; |
| Class_Descriptor cd_zc42 = { "zc42", // class name |
| bases_zc42, 5, |
| &(vtc_zc42[0]), // expected_vtbl_contents |
| &(vtt_zc42[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zc42),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zc42),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zc42),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 zd42 : virtual sk12 , virtual tk02 { |
| ~zd42(); // tgen |
| zd42(); // tgen |
| }; |
| //SIG(1 zd42) C1{ VBC2{ VBC3{} BC4{}} VBC5{ BC4}} |
| |
| |
| zd42 ::~zd42(){ note_dtor("zd42", this);} // tgen |
| zd42 ::zd42(){ note_ctor("zd42", this);} // tgen |
| |
| static void Test_zd42() |
| { |
| extern Class_Descriptor cd_zd42; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zd42, buf); |
| zd42 *dp, &lv = *(dp=new (buf) zd42()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zd42)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zd42)"); |
| check_base_class_offset(lv, (si*)(sk12*), 0, "zd42"); |
| check_base_class_offset(lv, (sj*)(sk12*), 0, "zd42"); |
| check_base_class_offset(lv, (sk12*), 0, "zd42"); |
| check_base_class_offset(lv, (sj*)(tk02*), ABISELECT(8,4), "zd42"); |
| check_base_class_offset(lv, (tk02*), ABISELECT(8,4), "zd42"); |
| test_class_info(&lv, &cd_zd42); |
| dp->~zd42(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzd42(Test_zd42, "zd42", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zd42C1Ev(); |
| extern void _ZN4zd42D1Ev(); |
| Name_Map name_map_zd42[] = { |
| NSPAIR(_ZN4zd42C1Ev), |
| NSPAIR(_ZN4zd42D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk12; |
| extern VTBL_ENTRY _ZTI4sk12[]; |
| extern VTBL_ENTRY _ZTV4sk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk12[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk02; |
| extern VTBL_ENTRY _ZTI4tk02[]; |
| static Base_Class bases_zd42[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk12, 0, //bcp->offset |
| -1, //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_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_tk02, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zd42[]; |
| static VTBL_ENTRY vtc_zd42[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zd42[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zd42[]; |
| static VTBL_ENTRY _tg__ZTV4sk12__4zd42[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk12[0]), |
| }; |
| static VTT_ENTRY vtt_zd42[] = { |
| {&(_ZTV4zd42[5]), 5,5}, |
| {&(_ZTV4zd42[5]), 5,5}, |
| {&(_tg__ZTV4sk12__4zd42[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zd42[]; |
| extern VTBL_ENTRY _ZTV4zd42[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zd42[]; |
| Class_Descriptor cd_zd42 = { "zd42", // class name |
| bases_zd42, 5, |
| &(vtc_zd42[0]), // expected_vtbl_contents |
| &(vtt_zd42[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zd42),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zd42),5, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zd42),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 za43 : sk12 , tk11 { |
| ~za43(); // tgen |
| za43(); // tgen |
| }; |
| //SIG(1 za43) C1{ BC2{ VBC3{} BC4{}} BC5{ VBC3 VBC4}} |
| |
| |
| za43 ::~za43(){ note_dtor("za43", this);} // tgen |
| za43 ::za43(){ note_ctor("za43", this);} // tgen |
| |
| static void Test_za43() |
| { |
| extern Class_Descriptor cd_za43; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[4]; |
| init_test(&cd_za43, buf); |
| za43 *dp, &lv = *(dp=new (buf) za43()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(24,12), "sizeof(za43)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(za43)"); |
| check_base_class_offset(lv, (si*)(sk12*), 0, "za43"); |
| check_base_class_offset(lv, (si*)(tk11*), 0, "za43"); |
| check_base_class_offset(lv, (sj*)(sk12*), 0, "za43"); |
| check_base_class_offset(lv, (sk12*), 0, "za43"); |
| check_base_class_offset(lv, (sj*)(tk11*), ABISELECT(16,8), "za43"); |
| check_base_class_offset(lv, (tk11*), ABISELECT(8,4), "za43"); |
| test_class_info(&lv, &cd_za43); |
| dp->~za43(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vza43(Test_za43, "za43", ABISELECT(24,12)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4za43C1Ev(); |
| extern void _ZN4za43D1Ev(); |
| Name_Map name_map_za43[] = { |
| NSPAIR(_ZN4za43C1Ev), |
| NSPAIR(_ZN4za43D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk12; |
| extern VTBL_ENTRY _ZTI4sk12[]; |
| extern VTBL_ENTRY _ZTV4sk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk12[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk11; |
| extern VTBL_ENTRY _ZTI4tk11[]; |
| extern VTBL_ENTRY _ZTV4tk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk11[]; |
| static Base_Class bases_za43[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk12, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_sj, 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, 1}, |
| {&cd_tk11, ABISELECT(8,4), //bcp->offset |
| 4, //bcp->virtual_function_table_offset |
| 4, //num_negative_vtable_entries(t, bcp) |
| 4, //bcp->index_in_construction_vtbl_array |
| 3, //bcp->base_subarray_index_in_construction_vtbl_array |
| 2, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4za43[]; |
| static VTBL_ENTRY vtc_za43[] = { |
| ABISELECT(16,8), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4za43[0]), |
| ABISELECT(8,4), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4za43[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4za43[]; |
| static VTBL_ENTRY _tg__ZTV4sk12__4za43[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk12[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4tk11__4za43[] = { |
| ABISELECT(8,4), |
| ABISELECT(-8,-4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk11[0]), |
| }; |
| static VTT_ENTRY vtt_za43[] = { |
| {&(_ZTV4za43[4]), 4,8}, |
| {&(_tg__ZTV4sk12__4za43[3]), 3,3}, |
| {&(_tg__ZTV4tk11__4za43[4]), 4,4}, |
| {&(_ZTV4za43[8]), 8,8}, |
| }; |
| extern VTBL_ENTRY _ZTI4za43[]; |
| extern VTBL_ENTRY _ZTV4za43[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4za43[]; |
| Class_Descriptor cd_za43 = { "za43", // class name |
| bases_za43, 5, |
| &(vtc_za43[0]), // expected_vtbl_contents |
| &(vtt_za43[0]), // expected_vtt_contents |
| ABISELECT(24,12), // object size |
| NSPAIRA(_ZTI4za43),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4za43),8, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4za43),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 zb43 : sk12 , virtual tk11 { |
| ~zb43(); // tgen |
| zb43(); // tgen |
| }; |
| //SIG(1 zb43) C1{ BC2{ VBC3{} BC4{}} VBC5{ VBC3 VBC4}} |
| |
| |
| zb43 ::~zb43(){ note_dtor("zb43", this);} // tgen |
| zb43 ::zb43(){ note_ctor("zb43", this);} // tgen |
| |
| static void Test_zb43() |
| { |
| extern Class_Descriptor cd_zb43; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[4]; |
| init_test(&cd_zb43, buf); |
| zb43 *dp, &lv = *(dp=new (buf) zb43()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(24,12), "sizeof(zb43)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zb43)"); |
| check_base_class_offset(lv, (si*)(sk12*), 0, "zb43"); |
| check_base_class_offset(lv, (si*)(tk11*), 0, "zb43"); |
| check_base_class_offset(lv, (sj*)(sk12*), 0, "zb43"); |
| check_base_class_offset(lv, (sk12*), 0, "zb43"); |
| check_base_class_offset(lv, (sj*)(tk11*), ABISELECT(16,8), "zb43"); |
| check_base_class_offset(lv, (tk11*), ABISELECT(8,4), "zb43"); |
| test_class_info(&lv, &cd_zb43); |
| dp->~zb43(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzb43(Test_zb43, "zb43", ABISELECT(24,12)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zb43C1Ev(); |
| extern void _ZN4zb43D1Ev(); |
| Name_Map name_map_zb43[] = { |
| NSPAIR(_ZN4zb43C1Ev), |
| NSPAIR(_ZN4zb43D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk12; |
| extern VTBL_ENTRY _ZTI4sk12[]; |
| extern VTBL_ENTRY _ZTV4sk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk12[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk11; |
| extern VTBL_ENTRY _ZTI4tk11[]; |
| extern VTBL_ENTRY _ZTV4tk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk11[]; |
| static Base_Class bases_zb43[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk12, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_sj, 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, 1}, |
| {&cd_tk11, ABISELECT(8,4), //bcp->offset |
| 5, //bcp->virtual_function_table_offset |
| 4, //num_negative_vtable_entries(t, bcp) |
| 3, //bcp->index_in_construction_vtbl_array |
| 4, //bcp->base_subarray_index_in_construction_vtbl_array |
| 1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zb43[]; |
| static VTBL_ENTRY vtc_zb43[] = { |
| ABISELECT(16,8), |
| ABISELECT(8,4), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zb43[0]), |
| ABISELECT(8,4), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4zb43[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zb43[]; |
| static VTBL_ENTRY _tg__ZTV4sk12__4zb43[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk12[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4tk11__4zb43[] = { |
| ABISELECT(8,4), |
| ABISELECT(-8,-4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk11[0]), |
| }; |
| static VTT_ENTRY vtt_zb43[] = { |
| {&(_ZTV4zb43[5]), 5,9}, |
| {&(_tg__ZTV4sk12__4zb43[3]), 3,3}, |
| {&(_ZTV4zb43[9]), 9,9}, |
| {&(_tg__ZTV4tk11__4zb43[4]), 4,4}, |
| }; |
| extern VTBL_ENTRY _ZTI4zb43[]; |
| extern VTBL_ENTRY _ZTV4zb43[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zb43[]; |
| Class_Descriptor cd_zb43 = { "zb43", // class name |
| bases_zb43, 5, |
| &(vtc_zb43[0]), // expected_vtbl_contents |
| &(vtt_zb43[0]), // expected_vtt_contents |
| ABISELECT(24,12), // object size |
| NSPAIRA(_ZTI4zb43),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zb43),9, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zb43),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 zc43 : virtual sk12 , tk11 { |
| ~zc43(); // tgen |
| zc43(); // tgen |
| }; |
| //SIG(1 zc43) C1{ VBC2{ VBC3{} BC4{}} BC5{ VBC3 VBC4}} |
| |
| |
| zc43 ::~zc43(){ note_dtor("zc43", this);} // tgen |
| zc43 ::zc43(){ note_ctor("zc43", this);} // tgen |
| |
| static void Test_zc43() |
| { |
| extern Class_Descriptor cd_zc43; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zc43, buf); |
| zc43 *dp, &lv = *(dp=new (buf) zc43()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zc43)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zc43)"); |
| check_base_class_offset(lv, (si*)(sk12*), 0, "zc43"); |
| check_base_class_offset(lv, (si*)(tk11*), 0, "zc43"); |
| check_base_class_offset(lv, (sj*)(sk12*), ABISELECT(8,4), "zc43"); |
| check_base_class_offset(lv, (sk12*), ABISELECT(8,4), "zc43"); |
| check_base_class_offset(lv, (sj*)(tk11*), 0, "zc43"); |
| check_base_class_offset(lv, (tk11*), 0, "zc43"); |
| test_class_info(&lv, &cd_zc43); |
| dp->~zc43(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzc43(Test_zc43, "zc43", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zc43C1Ev(); |
| extern void _ZN4zc43D1Ev(); |
| Name_Map name_map_zc43[] = { |
| NSPAIR(_ZN4zc43C1Ev), |
| NSPAIR(_ZN4zc43D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk12; |
| extern VTBL_ENTRY _ZTI4sk12[]; |
| extern VTBL_ENTRY _ZTV4sk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk12[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk11; |
| extern VTBL_ENTRY _ZTI4tk11[]; |
| extern VTBL_ENTRY _ZTV4tk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk11[]; |
| static Base_Class bases_zc43[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk12, ABISELECT(8,4), //bcp->offset |
| 5, //bcp->virtual_function_table_offset |
| 3, //num_negative_vtable_entries(t, bcp) |
| 3, //bcp->index_in_construction_vtbl_array |
| 4, //bcp->base_subarray_index_in_construction_vtbl_array |
| 1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 1}, |
| {&cd_tk11, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zc43[]; |
| static VTBL_ENTRY vtc_zc43[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zc43[0]), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4zc43[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zc43[]; |
| static VTBL_ENTRY _tg__ZTV4tk11__4zc43[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk11[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4sk12__4zc43[] = { |
| ABISELECT(-8,-4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk12[0]), |
| }; |
| static VTT_ENTRY vtt_zc43[] = { |
| {&(_ZTV4zc43[5]), 5,8}, |
| {&(_tg__ZTV4tk11__4zc43[4]), 4,4}, |
| {&(_ZTV4zc43[8]), 8,8}, |
| {&(_tg__ZTV4sk12__4zc43[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zc43[]; |
| extern VTBL_ENTRY _ZTV4zc43[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zc43[]; |
| Class_Descriptor cd_zc43 = { "zc43", // class name |
| bases_zc43, 5, |
| &(vtc_zc43[0]), // expected_vtbl_contents |
| &(vtt_zc43[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zc43),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zc43),8, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zc43),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 zd43 : virtual sk12 , virtual tk11 { |
| ~zd43(); // tgen |
| zd43(); // tgen |
| }; |
| //SIG(1 zd43) C1{ VBC2{ VBC3{} BC4{}} VBC5{ VBC3 VBC4}} |
| |
| |
| zd43 ::~zd43(){ note_dtor("zd43", this);} // tgen |
| zd43 ::zd43(){ note_ctor("zd43", this);} // tgen |
| |
| static void Test_zd43() |
| { |
| extern Class_Descriptor cd_zd43; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[4]; |
| init_test(&cd_zd43, buf); |
| zd43 *dp, &lv = *(dp=new (buf) zd43()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(24,12), "sizeof(zd43)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zd43)"); |
| check_base_class_offset(lv, (si*)(sk12*), 0, "zd43"); |
| check_base_class_offset(lv, (si*)(tk11*), 0, "zd43"); |
| check_base_class_offset(lv, (sj*)(sk12*), 0, "zd43"); |
| check_base_class_offset(lv, (sk12*), 0, "zd43"); |
| check_base_class_offset(lv, (sj*)(tk11*), ABISELECT(16,8), "zd43"); |
| check_base_class_offset(lv, (tk11*), ABISELECT(8,4), "zd43"); |
| test_class_info(&lv, &cd_zd43); |
| dp->~zd43(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzd43(Test_zd43, "zd43", ABISELECT(24,12)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zd43C1Ev(); |
| extern void _ZN4zd43D1Ev(); |
| Name_Map name_map_zd43[] = { |
| NSPAIR(_ZN4zd43C1Ev), |
| NSPAIR(_ZN4zd43D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk12; |
| extern VTBL_ENTRY _ZTI4sk12[]; |
| extern VTBL_ENTRY _ZTV4sk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk12[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk11; |
| extern VTBL_ENTRY _ZTI4tk11[]; |
| extern VTBL_ENTRY _ZTV4tk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk11[]; |
| static Base_Class bases_zd43[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk12, 0, //bcp->offset |
| -1, //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_sj, 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, 1}, |
| {&cd_tk11, ABISELECT(8,4), //bcp->offset |
| 6, //bcp->virtual_function_table_offset |
| 4, //num_negative_vtable_entries(t, bcp) |
| 3, //bcp->index_in_construction_vtbl_array |
| 5, //bcp->base_subarray_index_in_construction_vtbl_array |
| 2, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zd43[]; |
| static VTBL_ENTRY vtc_zd43[] = { |
| ABISELECT(16,8), |
| ABISELECT(8,4), |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zd43[0]), |
| ABISELECT(8,4), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4zd43[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zd43[]; |
| static VTBL_ENTRY _tg__ZTV4sk12__4zd43[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk12[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4tk11__4zd43[] = { |
| ABISELECT(8,4), |
| ABISELECT(-8,-4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk11[0]), |
| }; |
| static VTT_ENTRY vtt_zd43[] = { |
| {&(_ZTV4zd43[6]), 6,10}, |
| {&(_ZTV4zd43[6]), 6,10}, |
| {&(_ZTV4zd43[10]), 10,10}, |
| {&(_tg__ZTV4sk12__4zd43[3]), 3,3}, |
| {&(_tg__ZTV4tk11__4zd43[4]), 4,4}, |
| }; |
| extern VTBL_ENTRY _ZTI4zd43[]; |
| extern VTBL_ENTRY _ZTV4zd43[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zd43[]; |
| Class_Descriptor cd_zd43 = { "zd43", // class name |
| bases_zd43, 5, |
| &(vtc_zd43[0]), // expected_vtbl_contents |
| &(vtt_zd43[0]), // expected_vtt_contents |
| ABISELECT(24,12), // object size |
| NSPAIRA(_ZTI4zd43),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zd43),10, //virtual function table var |
| 6, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zd43),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 za44 : sk12 , tk12 { |
| ~za44(); // tgen |
| za44(); // tgen |
| }; |
| //SIG(1 za44) C1{ BC2{ VBC3{} BC4{}} BC5{ VBC3 BC4}} |
| |
| |
| za44 ::~za44(){ note_dtor("za44", this);} // tgen |
| za44 ::za44(){ note_ctor("za44", this);} // tgen |
| |
| static void Test_za44() |
| { |
| extern Class_Descriptor cd_za44; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_za44, buf); |
| za44 *dp, &lv = *(dp=new (buf) za44()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(za44)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(za44)"); |
| check_base_class_offset(lv, (si*)(sk12*), 0, "za44"); |
| check_base_class_offset(lv, (si*)(tk12*), 0, "za44"); |
| check_base_class_offset(lv, (sj*)(sk12*), 0, "za44"); |
| check_base_class_offset(lv, (sk12*), 0, "za44"); |
| check_base_class_offset(lv, (sj*)(tk12*), ABISELECT(8,4), "za44"); |
| check_base_class_offset(lv, (tk12*), ABISELECT(8,4), "za44"); |
| test_class_info(&lv, &cd_za44); |
| dp->~za44(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vza44(Test_za44, "za44", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4za44C1Ev(); |
| extern void _ZN4za44D1Ev(); |
| Name_Map name_map_za44[] = { |
| NSPAIR(_ZN4za44C1Ev), |
| NSPAIR(_ZN4za44D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk12; |
| extern VTBL_ENTRY _ZTI4sk12[]; |
| extern VTBL_ENTRY _ZTV4sk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk12[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk12; |
| extern VTBL_ENTRY _ZTI4tk12[]; |
| extern VTBL_ENTRY _ZTV4tk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk12[]; |
| static Base_Class bases_za44[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk12, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_tk12, ABISELECT(8,4), //bcp->offset |
| 3, //bcp->virtual_function_table_offset |
| 3, //num_negative_vtable_entries(t, bcp) |
| 4, //bcp->index_in_construction_vtbl_array |
| 3, //bcp->base_subarray_index_in_construction_vtbl_array |
| 2, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4za44[]; |
| static VTBL_ENTRY vtc_za44[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4za44[0]), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4za44[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4za44[]; |
| static VTBL_ENTRY _tg__ZTV4sk12__4za44[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk12[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4tk12__4za44[] = { |
| ABISELECT(-8,-4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk12[0]), |
| }; |
| static VTT_ENTRY vtt_za44[] = { |
| {&(_ZTV4za44[3]), 3,6}, |
| {&(_tg__ZTV4sk12__4za44[3]), 3,3}, |
| {&(_tg__ZTV4tk12__4za44[3]), 3,3}, |
| {&(_ZTV4za44[6]), 6,6}, |
| }; |
| extern VTBL_ENTRY _ZTI4za44[]; |
| extern VTBL_ENTRY _ZTV4za44[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4za44[]; |
| Class_Descriptor cd_za44 = { "za44", // class name |
| bases_za44, 5, |
| &(vtc_za44[0]), // expected_vtbl_contents |
| &(vtt_za44[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4za44),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4za44),6, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4za44),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 zb44 : sk12 , virtual tk12 { |
| ~zb44(); // tgen |
| zb44(); // tgen |
| }; |
| //SIG(1 zb44) C1{ BC2{ VBC3{} BC4{}} VBC5{ VBC3 BC4}} |
| |
| |
| zb44 ::~zb44(){ note_dtor("zb44", this);} // tgen |
| zb44 ::zb44(){ note_ctor("zb44", this);} // tgen |
| |
| static void Test_zb44() |
| { |
| extern Class_Descriptor cd_zb44; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zb44, buf); |
| zb44 *dp, &lv = *(dp=new (buf) zb44()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zb44)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zb44)"); |
| check_base_class_offset(lv, (si*)(sk12*), 0, "zb44"); |
| check_base_class_offset(lv, (si*)(tk12*), 0, "zb44"); |
| check_base_class_offset(lv, (sj*)(sk12*), 0, "zb44"); |
| check_base_class_offset(lv, (sk12*), 0, "zb44"); |
| check_base_class_offset(lv, (sj*)(tk12*), ABISELECT(8,4), "zb44"); |
| check_base_class_offset(lv, (tk12*), ABISELECT(8,4), "zb44"); |
| test_class_info(&lv, &cd_zb44); |
| dp->~zb44(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzb44(Test_zb44, "zb44", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zb44C1Ev(); |
| extern void _ZN4zb44D1Ev(); |
| Name_Map name_map_zb44[] = { |
| NSPAIR(_ZN4zb44C1Ev), |
| NSPAIR(_ZN4zb44D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk12; |
| extern VTBL_ENTRY _ZTI4sk12[]; |
| extern VTBL_ENTRY _ZTV4sk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk12[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk12; |
| extern VTBL_ENTRY _ZTI4tk12[]; |
| extern VTBL_ENTRY _ZTV4tk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk12[]; |
| static Base_Class bases_zb44[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk12, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_tk12, ABISELECT(8,4), //bcp->offset |
| 4, //bcp->virtual_function_table_offset |
| 3, //num_negative_vtable_entries(t, bcp) |
| 3, //bcp->index_in_construction_vtbl_array |
| 4, //bcp->base_subarray_index_in_construction_vtbl_array |
| 1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zb44[]; |
| static VTBL_ENTRY vtc_zb44[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zb44[0]), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4zb44[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zb44[]; |
| static VTBL_ENTRY _tg__ZTV4sk12__4zb44[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk12[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4tk12__4zb44[] = { |
| ABISELECT(-8,-4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk12[0]), |
| }; |
| static VTT_ENTRY vtt_zb44[] = { |
| {&(_ZTV4zb44[4]), 4,7}, |
| {&(_tg__ZTV4sk12__4zb44[3]), 3,3}, |
| {&(_ZTV4zb44[7]), 7,7}, |
| {&(_tg__ZTV4tk12__4zb44[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zb44[]; |
| extern VTBL_ENTRY _ZTV4zb44[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zb44[]; |
| Class_Descriptor cd_zb44 = { "zb44", // class name |
| bases_zb44, 5, |
| &(vtc_zb44[0]), // expected_vtbl_contents |
| &(vtt_zb44[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zb44),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zb44),7, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zb44),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 zc44 : virtual sk12 , tk12 { |
| ~zc44(); // tgen |
| zc44(); // tgen |
| }; |
| //SIG(1 zc44) C1{ VBC2{ VBC3{} BC4{}} BC5{ VBC3 BC4}} |
| |
| |
| zc44 ::~zc44(){ note_dtor("zc44", this);} // tgen |
| zc44 ::zc44(){ note_ctor("zc44", this);} // tgen |
| |
| static void Test_zc44() |
| { |
| extern Class_Descriptor cd_zc44; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zc44, buf); |
| zc44 *dp, &lv = *(dp=new (buf) zc44()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zc44)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zc44)"); |
| check_base_class_offset(lv, (si*)(sk12*), 0, "zc44"); |
| check_base_class_offset(lv, (si*)(tk12*), 0, "zc44"); |
| check_base_class_offset(lv, (sj*)(sk12*), ABISELECT(8,4), "zc44"); |
| check_base_class_offset(lv, (sk12*), ABISELECT(8,4), "zc44"); |
| check_base_class_offset(lv, (sj*)(tk12*), 0, "zc44"); |
| check_base_class_offset(lv, (tk12*), 0, "zc44"); |
| test_class_info(&lv, &cd_zc44); |
| dp->~zc44(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzc44(Test_zc44, "zc44", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zc44C1Ev(); |
| extern void _ZN4zc44D1Ev(); |
| Name_Map name_map_zc44[] = { |
| NSPAIR(_ZN4zc44C1Ev), |
| NSPAIR(_ZN4zc44D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk12; |
| extern VTBL_ENTRY _ZTI4sk12[]; |
| extern VTBL_ENTRY _ZTV4sk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk12[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk12; |
| extern VTBL_ENTRY _ZTI4tk12[]; |
| extern VTBL_ENTRY _ZTV4tk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk12[]; |
| static Base_Class bases_zc44[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk12, ABISELECT(8,4), //bcp->offset |
| 4, //bcp->virtual_function_table_offset |
| 3, //num_negative_vtable_entries(t, bcp) |
| 3, //bcp->index_in_construction_vtbl_array |
| 4, //bcp->base_subarray_index_in_construction_vtbl_array |
| 1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_tk12, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zc44[]; |
| static VTBL_ENTRY vtc_zc44[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zc44[0]), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4zc44[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zc44[]; |
| static VTBL_ENTRY _tg__ZTV4tk12__4zc44[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk12[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4sk12__4zc44[] = { |
| ABISELECT(-8,-4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk12[0]), |
| }; |
| static VTT_ENTRY vtt_zc44[] = { |
| {&(_ZTV4zc44[4]), 4,7}, |
| {&(_tg__ZTV4tk12__4zc44[3]), 3,3}, |
| {&(_ZTV4zc44[7]), 7,7}, |
| {&(_tg__ZTV4sk12__4zc44[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zc44[]; |
| extern VTBL_ENTRY _ZTV4zc44[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zc44[]; |
| Class_Descriptor cd_zc44 = { "zc44", // class name |
| bases_zc44, 5, |
| &(vtc_zc44[0]), // expected_vtbl_contents |
| &(vtt_zc44[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zc44),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zc44),7, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zc44),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 zd44 : virtual sk12 , virtual tk12 { |
| ~zd44(); // tgen |
| zd44(); // tgen |
| }; |
| //SIG(1 zd44) C1{ VBC2{ VBC3{} BC4{}} VBC5{ VBC3 BC4}} |
| |
| |
| zd44 ::~zd44(){ note_dtor("zd44", this);} // tgen |
| zd44 ::zd44(){ note_ctor("zd44", this);} // tgen |
| |
| static void Test_zd44() |
| { |
| extern Class_Descriptor cd_zd44; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zd44, buf); |
| zd44 *dp, &lv = *(dp=new (buf) zd44()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zd44)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zd44)"); |
| check_base_class_offset(lv, (si*)(sk12*), 0, "zd44"); |
| check_base_class_offset(lv, (si*)(tk12*), 0, "zd44"); |
| check_base_class_offset(lv, (sj*)(sk12*), 0, "zd44"); |
| check_base_class_offset(lv, (sk12*), 0, "zd44"); |
| check_base_class_offset(lv, (sj*)(tk12*), ABISELECT(8,4), "zd44"); |
| check_base_class_offset(lv, (tk12*), ABISELECT(8,4), "zd44"); |
| test_class_info(&lv, &cd_zd44); |
| dp->~zd44(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzd44(Test_zd44, "zd44", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zd44C1Ev(); |
| extern void _ZN4zd44D1Ev(); |
| Name_Map name_map_zd44[] = { |
| NSPAIR(_ZN4zd44C1Ev), |
| NSPAIR(_ZN4zd44D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk12; |
| extern VTBL_ENTRY _ZTI4sk12[]; |
| extern VTBL_ENTRY _ZTV4sk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk12[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk12; |
| extern VTBL_ENTRY _ZTI4tk12[]; |
| extern VTBL_ENTRY _ZTV4tk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk12[]; |
| static Base_Class bases_zd44[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk12, 0, //bcp->offset |
| -1, //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_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_tk12, ABISELECT(8,4), //bcp->offset |
| 5, //bcp->virtual_function_table_offset |
| 3, //num_negative_vtable_entries(t, bcp) |
| 3, //bcp->index_in_construction_vtbl_array |
| 5, //bcp->base_subarray_index_in_construction_vtbl_array |
| 2, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zd44[]; |
| static VTBL_ENTRY vtc_zd44[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zd44[0]), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4zd44[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zd44[]; |
| static VTBL_ENTRY _tg__ZTV4sk12__4zd44[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk12[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4tk12__4zd44[] = { |
| ABISELECT(-8,-4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk12[0]), |
| }; |
| static VTT_ENTRY vtt_zd44[] = { |
| {&(_ZTV4zd44[5]), 5,8}, |
| {&(_ZTV4zd44[5]), 5,8}, |
| {&(_ZTV4zd44[8]), 8,8}, |
| {&(_tg__ZTV4sk12__4zd44[3]), 3,3}, |
| {&(_tg__ZTV4tk12__4zd44[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zd44[]; |
| extern VTBL_ENTRY _ZTV4zd44[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zd44[]; |
| Class_Descriptor cd_zd44 = { "zd44", // class name |
| bases_zd44, 5, |
| &(vtc_zd44[0]), // expected_vtbl_contents |
| &(vtt_zd44[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zd44),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zd44),8, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zd44),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 za45 : sk12 , tk21 { |
| ~za45(); // tgen |
| za45(); // tgen |
| }; |
| //SIG(1 za45) C1{ BC2{ VBC3{} BC4{}} BC5{ BC3 VBC4}} |
| |
| |
| za45 ::~za45(){ note_dtor("za45", this);} // tgen |
| za45 ::za45(){ note_ctor("za45", this);} // tgen |
| |
| static void Test_za45() |
| { |
| extern Class_Descriptor cd_za45; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[4]; |
| init_test(&cd_za45, buf); |
| za45 *dp, &lv = *(dp=new (buf) za45()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(24,12), "sizeof(za45)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(za45)"); |
| check_base_class_offset(lv, (si*)(sk12*), 0, "za45"); |
| check_base_class_offset(lv, (sj*)(sk12*), 0, "za45"); |
| check_base_class_offset(lv, (sk12*), 0, "za45"); |
| check_base_class_offset(lv, (si*)(tk21*), ABISELECT(8,4), "za45"); |
| check_base_class_offset(lv, (sj*)(tk21*), ABISELECT(16,8), "za45"); |
| check_base_class_offset(lv, (tk21*), ABISELECT(8,4), "za45"); |
| test_class_info(&lv, &cd_za45); |
| dp->~za45(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vza45(Test_za45, "za45", ABISELECT(24,12)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4za45C1Ev(); |
| extern void _ZN4za45D1Ev(); |
| Name_Map name_map_za45[] = { |
| NSPAIR(_ZN4za45C1Ev), |
| NSPAIR(_ZN4za45D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk12; |
| extern VTBL_ENTRY _ZTI4sk12[]; |
| extern VTBL_ENTRY _ZTV4sk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk12[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk21; |
| extern VTBL_ENTRY _ZTI4tk21[]; |
| extern VTBL_ENTRY _ZTV4tk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk21[]; |
| static Base_Class bases_za45[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk12, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_si, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 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 |
| 5, //immediately_derived |
| 0, 1}, |
| {&cd_tk21, ABISELECT(8,4), //bcp->offset |
| 4, //bcp->virtual_function_table_offset |
| 3, //num_negative_vtable_entries(t, bcp) |
| 4, //bcp->index_in_construction_vtbl_array |
| 3, //bcp->base_subarray_index_in_construction_vtbl_array |
| 2, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4za45[]; |
| static VTBL_ENTRY vtc_za45[] = { |
| ABISELECT(16,8), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4za45[0]), |
| ABISELECT(8,4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4za45[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4za45[]; |
| static VTBL_ENTRY _tg__ZTV4sk12__4za45[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk12[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4tk21__4za45[] = { |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk21[0]), |
| }; |
| static VTT_ENTRY vtt_za45[] = { |
| {&(_ZTV4za45[4]), 4,7}, |
| {&(_tg__ZTV4sk12__4za45[3]), 3,3}, |
| {&(_tg__ZTV4tk21__4za45[3]), 3,3}, |
| {&(_ZTV4za45[7]), 7,7}, |
| }; |
| extern VTBL_ENTRY _ZTI4za45[]; |
| extern VTBL_ENTRY _ZTV4za45[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4za45[]; |
| Class_Descriptor cd_za45 = { "za45", // class name |
| bases_za45, 6, |
| &(vtc_za45[0]), // expected_vtbl_contents |
| &(vtt_za45[0]), // expected_vtt_contents |
| ABISELECT(24,12), // object size |
| NSPAIRA(_ZTI4za45),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4za45),7, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4za45),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 zb45 : sk12 , virtual tk21 { |
| ~zb45(); // tgen |
| zb45(); // tgen |
| }; |
| //SIG(1 zb45) C1{ BC2{ VBC3{} BC4{}} VBC5{ BC3 VBC4}} |
| |
| |
| zb45 ::~zb45(){ note_dtor("zb45", this);} // tgen |
| zb45 ::zb45(){ note_ctor("zb45", this);} // tgen |
| |
| static void Test_zb45() |
| { |
| extern Class_Descriptor cd_zb45; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[4]; |
| init_test(&cd_zb45, buf); |
| zb45 *dp, &lv = *(dp=new (buf) zb45()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(24,12), "sizeof(zb45)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zb45)"); |
| check_base_class_offset(lv, (si*)(sk12*), 0, "zb45"); |
| check_base_class_offset(lv, (sj*)(sk12*), 0, "zb45"); |
| check_base_class_offset(lv, (sk12*), 0, "zb45"); |
| check_base_class_offset(lv, (si*)(tk21*), ABISELECT(8,4), "zb45"); |
| check_base_class_offset(lv, (sj*)(tk21*), ABISELECT(16,8), "zb45"); |
| check_base_class_offset(lv, (tk21*), ABISELECT(8,4), "zb45"); |
| test_class_info(&lv, &cd_zb45); |
| dp->~zb45(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzb45(Test_zb45, "zb45", ABISELECT(24,12)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zb45C1Ev(); |
| extern void _ZN4zb45D1Ev(); |
| Name_Map name_map_zb45[] = { |
| NSPAIR(_ZN4zb45C1Ev), |
| NSPAIR(_ZN4zb45D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk12; |
| extern VTBL_ENTRY _ZTI4sk12[]; |
| extern VTBL_ENTRY _ZTV4sk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk12[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk21; |
| extern VTBL_ENTRY _ZTI4tk21[]; |
| extern VTBL_ENTRY _ZTV4tk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk21[]; |
| static Base_Class bases_zb45[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk12, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_si, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 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 |
| 5, //immediately_derived |
| 0, 1}, |
| {&cd_tk21, ABISELECT(8,4), //bcp->offset |
| 5, //bcp->virtual_function_table_offset |
| 3, //num_negative_vtable_entries(t, bcp) |
| 3, //bcp->index_in_construction_vtbl_array |
| 4, //bcp->base_subarray_index_in_construction_vtbl_array |
| 1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zb45[]; |
| static VTBL_ENTRY vtc_zb45[] = { |
| ABISELECT(16,8), |
| ABISELECT(8,4), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zb45[0]), |
| ABISELECT(8,4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4zb45[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zb45[]; |
| static VTBL_ENTRY _tg__ZTV4sk12__4zb45[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk12[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4tk21__4zb45[] = { |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk21[0]), |
| }; |
| static VTT_ENTRY vtt_zb45[] = { |
| {&(_ZTV4zb45[5]), 5,8}, |
| {&(_tg__ZTV4sk12__4zb45[3]), 3,3}, |
| {&(_ZTV4zb45[8]), 8,8}, |
| {&(_tg__ZTV4tk21__4zb45[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zb45[]; |
| extern VTBL_ENTRY _ZTV4zb45[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zb45[]; |
| Class_Descriptor cd_zb45 = { "zb45", // class name |
| bases_zb45, 6, |
| &(vtc_zb45[0]), // expected_vtbl_contents |
| &(vtt_zb45[0]), // expected_vtt_contents |
| ABISELECT(24,12), // object size |
| NSPAIRA(_ZTI4zb45),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zb45),8, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zb45),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 zc45 : virtual sk12 , tk21 { |
| ~zc45(); // tgen |
| zc45(); // tgen |
| }; |
| //SIG(1 zc45) C1{ VBC2{ VBC3{} BC4{}} BC5{ BC3 VBC4}} |
| |
| |
| zc45 ::~zc45(){ note_dtor("zc45", this);} // tgen |
| zc45 ::zc45(){ note_ctor("zc45", this);} // tgen |
| |
| static void Test_zc45() |
| { |
| extern Class_Descriptor cd_zc45; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[4]; |
| init_test(&cd_zc45, buf); |
| zc45 *dp, &lv = *(dp=new (buf) zc45()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(24,12), "sizeof(zc45)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zc45)"); |
| check_base_class_offset(lv, (si*)(sk12*), ABISELECT(16,8), "zc45"); |
| check_base_class_offset(lv, (sj*)(sk12*), ABISELECT(8,4), "zc45"); |
| check_base_class_offset(lv, (sk12*), ABISELECT(8,4), "zc45"); |
| check_base_class_offset(lv, (si*)(tk21*), 0, "zc45"); |
| check_base_class_offset(lv, (sj*)(tk21*), 0, "zc45"); |
| check_base_class_offset(lv, (tk21*), 0, "zc45"); |
| test_class_info(&lv, &cd_zc45); |
| dp->~zc45(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzc45(Test_zc45, "zc45", ABISELECT(24,12)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zc45C1Ev(); |
| extern void _ZN4zc45D1Ev(); |
| Name_Map name_map_zc45[] = { |
| NSPAIR(_ZN4zc45C1Ev), |
| NSPAIR(_ZN4zc45D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk12; |
| extern VTBL_ENTRY _ZTI4sk12[]; |
| extern VTBL_ENTRY _ZTV4sk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk12[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk21; |
| extern VTBL_ENTRY _ZTI4tk21[]; |
| extern VTBL_ENTRY _ZTV4tk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk21[]; |
| static Base_Class bases_zc45[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 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, 1}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk12, ABISELECT(8,4), //bcp->offset |
| 5, //bcp->virtual_function_table_offset |
| 3, //num_negative_vtable_entries(t, bcp) |
| 3, //bcp->index_in_construction_vtbl_array |
| 4, //bcp->base_subarray_index_in_construction_vtbl_array |
| 1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 1}, |
| {&cd_tk21, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zc45[]; |
| static VTBL_ENTRY vtc_zc45[] = { |
| ABISELECT(16,8), |
| ABISELECT(8,4), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zc45[0]), |
| ABISELECT(8,4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4zc45[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zc45[]; |
| static VTBL_ENTRY _tg__ZTV4tk21__4zc45[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk21[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4sk12__4zc45[] = { |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk12[0]), |
| }; |
| static VTT_ENTRY vtt_zc45[] = { |
| {&(_ZTV4zc45[5]), 5,8}, |
| {&(_tg__ZTV4tk21__4zc45[3]), 3,3}, |
| {&(_ZTV4zc45[8]), 8,8}, |
| {&(_tg__ZTV4sk12__4zc45[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zc45[]; |
| extern VTBL_ENTRY _ZTV4zc45[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zc45[]; |
| Class_Descriptor cd_zc45 = { "zc45", // class name |
| bases_zc45, 6, |
| &(vtc_zc45[0]), // expected_vtbl_contents |
| &(vtt_zc45[0]), // expected_vtt_contents |
| ABISELECT(24,12), // object size |
| NSPAIRA(_ZTI4zc45),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zc45),8, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zc45),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 zd45 : virtual sk12 , virtual tk21 { |
| ~zd45(); // tgen |
| zd45(); // tgen |
| }; |
| //SIG(1 zd45) C1{ VBC2{ VBC3{} BC4{}} VBC5{ BC3 VBC4}} |
| |
| |
| zd45 ::~zd45(){ note_dtor("zd45", this);} // tgen |
| zd45 ::zd45(){ note_ctor("zd45", this);} // tgen |
| |
| static void Test_zd45() |
| { |
| extern Class_Descriptor cd_zd45; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[4]; |
| init_test(&cd_zd45, buf); |
| zd45 *dp, &lv = *(dp=new (buf) zd45()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(24,12), "sizeof(zd45)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zd45)"); |
| check_base_class_offset(lv, (si*)(sk12*), 0, "zd45"); |
| check_base_class_offset(lv, (sj*)(sk12*), 0, "zd45"); |
| check_base_class_offset(lv, (sk12*), 0, "zd45"); |
| check_base_class_offset(lv, (si*)(tk21*), ABISELECT(8,4), "zd45"); |
| check_base_class_offset(lv, (sj*)(tk21*), ABISELECT(16,8), "zd45"); |
| check_base_class_offset(lv, (tk21*), ABISELECT(8,4), "zd45"); |
| test_class_info(&lv, &cd_zd45); |
| dp->~zd45(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzd45(Test_zd45, "zd45", ABISELECT(24,12)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zd45C1Ev(); |
| extern void _ZN4zd45D1Ev(); |
| Name_Map name_map_zd45[] = { |
| NSPAIR(_ZN4zd45C1Ev), |
| NSPAIR(_ZN4zd45D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk12; |
| extern VTBL_ENTRY _ZTI4sk12[]; |
| extern VTBL_ENTRY _ZTV4sk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk12[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk21; |
| extern VTBL_ENTRY _ZTI4tk21[]; |
| extern VTBL_ENTRY _ZTV4tk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk21[]; |
| static Base_Class bases_zd45[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk12, 0, //bcp->offset |
| -1, //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_si, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 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 |
| 5, //immediately_derived |
| 0, 1}, |
| {&cd_tk21, ABISELECT(8,4), //bcp->offset |
| 6, //bcp->virtual_function_table_offset |
| 3, //num_negative_vtable_entries(t, bcp) |
| 3, //bcp->index_in_construction_vtbl_array |
| 5, //bcp->base_subarray_index_in_construction_vtbl_array |
| 2, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zd45[]; |
| static VTBL_ENTRY vtc_zd45[] = { |
| ABISELECT(16,8), |
| ABISELECT(8,4), |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zd45[0]), |
| ABISELECT(8,4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4zd45[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zd45[]; |
| static VTBL_ENTRY _tg__ZTV4sk12__4zd45[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk12[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4tk21__4zd45[] = { |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk21[0]), |
| }; |
| static VTT_ENTRY vtt_zd45[] = { |
| {&(_ZTV4zd45[6]), 6,9}, |
| {&(_ZTV4zd45[6]), 6,9}, |
| {&(_ZTV4zd45[9]), 9,9}, |
| {&(_tg__ZTV4sk12__4zd45[3]), 3,3}, |
| {&(_tg__ZTV4tk21__4zd45[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zd45[]; |
| extern VTBL_ENTRY _ZTV4zd45[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zd45[]; |
| Class_Descriptor cd_zd45 = { "zd45", // class name |
| bases_zd45, 6, |
| &(vtc_zd45[0]), // expected_vtbl_contents |
| &(vtt_zd45[0]), // expected_vtt_contents |
| ABISELECT(24,12), // object size |
| NSPAIRA(_ZTI4zd45),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zd45),9, //virtual function table var |
| 6, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zd45),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 za46 : sk12 , tk22 { |
| ~za46(); // tgen |
| za46(); // tgen |
| }; |
| //SIG(1 za46) C1{ BC2{ VBC3{} BC4{}} BC5{ BC3 BC4}} |
| |
| |
| za46 ::~za46(){ note_dtor("za46", this);} // tgen |
| za46 ::za46(){ note_ctor("za46", this);} // tgen |
| |
| static void Test_za46() |
| { |
| extern Class_Descriptor cd_za46; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_za46, buf); |
| za46 *dp, &lv = *(dp=new (buf) za46()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(za46)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(za46)"); |
| check_base_class_offset(lv, (si*)(sk12*), 0, "za46"); |
| check_base_class_offset(lv, (sj*)(sk12*), 0, "za46"); |
| check_base_class_offset(lv, (sk12*), 0, "za46"); |
| check_base_class_offset(lv, (si*)(tk22*), ABISELECT(8,4), "za46"); |
| check_base_class_offset(lv, (sj*)(tk22*), ABISELECT(8,4), "za46"); |
| check_base_class_offset(lv, (tk22*), ABISELECT(8,4), "za46"); |
| test_class_info(&lv, &cd_za46); |
| dp->~za46(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vza46(Test_za46, "za46", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4za46C1Ev(); |
| extern void _ZN4za46D1Ev(); |
| Name_Map name_map_za46[] = { |
| NSPAIR(_ZN4za46C1Ev), |
| NSPAIR(_ZN4za46D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk12; |
| extern VTBL_ENTRY _ZTI4sk12[]; |
| extern VTBL_ENTRY _ZTV4sk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk12[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk22; |
| extern VTBL_ENTRY _ZTI4tk22[]; |
| static Base_Class bases_za46[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk12, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_si, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 0}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 0}, |
| {&cd_tk22, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4za46[]; |
| static VTBL_ENTRY vtc_za46[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4za46[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4za46[]; |
| static VTBL_ENTRY _tg__ZTV4sk12__4za46[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk12[0]), |
| }; |
| static VTT_ENTRY vtt_za46[] = { |
| {&(_ZTV4za46[3]), 3,3}, |
| {&(_tg__ZTV4sk12__4za46[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4za46[]; |
| extern VTBL_ENTRY _ZTV4za46[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4za46[]; |
| Class_Descriptor cd_za46 = { "za46", // class name |
| bases_za46, 6, |
| &(vtc_za46[0]), // expected_vtbl_contents |
| &(vtt_za46[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4za46),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4za46),3, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4za46),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 zb46 : sk12 , virtual tk22 { |
| ~zb46(); // tgen |
| zb46(); // tgen |
| }; |
| //SIG(1 zb46) C1{ BC2{ VBC3{} BC4{}} VBC5{ BC3 BC4}} |
| |
| |
| zb46 ::~zb46(){ note_dtor("zb46", this);} // tgen |
| zb46 ::zb46(){ note_ctor("zb46", this);} // tgen |
| |
| static void Test_zb46() |
| { |
| extern Class_Descriptor cd_zb46; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zb46, buf); |
| zb46 *dp, &lv = *(dp=new (buf) zb46()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zb46)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zb46)"); |
| check_base_class_offset(lv, (si*)(sk12*), 0, "zb46"); |
| check_base_class_offset(lv, (sj*)(sk12*), 0, "zb46"); |
| check_base_class_offset(lv, (sk12*), 0, "zb46"); |
| check_base_class_offset(lv, (si*)(tk22*), ABISELECT(8,4), "zb46"); |
| check_base_class_offset(lv, (sj*)(tk22*), ABISELECT(8,4), "zb46"); |
| check_base_class_offset(lv, (tk22*), ABISELECT(8,4), "zb46"); |
| test_class_info(&lv, &cd_zb46); |
| dp->~zb46(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzb46(Test_zb46, "zb46", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zb46C1Ev(); |
| extern void _ZN4zb46D1Ev(); |
| Name_Map name_map_zb46[] = { |
| NSPAIR(_ZN4zb46C1Ev), |
| NSPAIR(_ZN4zb46D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk12; |
| extern VTBL_ENTRY _ZTI4sk12[]; |
| extern VTBL_ENTRY _ZTV4sk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk12[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk22; |
| extern VTBL_ENTRY _ZTI4tk22[]; |
| static Base_Class bases_zb46[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk12, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_si, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 0}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 0}, |
| {&cd_tk22, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zb46[]; |
| static VTBL_ENTRY vtc_zb46[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zb46[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zb46[]; |
| static VTBL_ENTRY _tg__ZTV4sk12__4zb46[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk12[0]), |
| }; |
| static VTT_ENTRY vtt_zb46[] = { |
| {&(_ZTV4zb46[4]), 4,4}, |
| {&(_tg__ZTV4sk12__4zb46[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zb46[]; |
| extern VTBL_ENTRY _ZTV4zb46[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zb46[]; |
| Class_Descriptor cd_zb46 = { "zb46", // class name |
| bases_zb46, 6, |
| &(vtc_zb46[0]), // expected_vtbl_contents |
| &(vtt_zb46[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zb46),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zb46),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zb46),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 zc46 : virtual sk12 , tk22 { |
| ~zc46(); // tgen |
| zc46(); // tgen |
| }; |
| //SIG(1 zc46) C1{ VBC2{ VBC3{} BC4{}} BC5{ BC3 BC4}} |
| |
| |
| zc46 ::~zc46(){ note_dtor("zc46", this);} // tgen |
| zc46 ::zc46(){ note_ctor("zc46", this);} // tgen |
| |
| static void Test_zc46() |
| { |
| extern Class_Descriptor cd_zc46; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zc46, buf); |
| zc46 *dp, &lv = *(dp=new (buf) zc46()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zc46)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zc46)"); |
| check_base_class_offset(lv, (si*)(sk12*), 0, "zc46"); |
| check_base_class_offset(lv, (sj*)(sk12*), 0, "zc46"); |
| check_base_class_offset(lv, (sk12*), 0, "zc46"); |
| check_base_class_offset(lv, (si*)(tk22*), ABISELECT(8,4), "zc46"); |
| check_base_class_offset(lv, (sj*)(tk22*), ABISELECT(8,4), "zc46"); |
| check_base_class_offset(lv, (tk22*), ABISELECT(8,4), "zc46"); |
| test_class_info(&lv, &cd_zc46); |
| dp->~zc46(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzc46(Test_zc46, "zc46", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zc46C1Ev(); |
| extern void _ZN4zc46D1Ev(); |
| Name_Map name_map_zc46[] = { |
| NSPAIR(_ZN4zc46C1Ev), |
| NSPAIR(_ZN4zc46D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk12; |
| extern VTBL_ENTRY _ZTI4sk12[]; |
| extern VTBL_ENTRY _ZTV4sk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk12[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk22; |
| extern VTBL_ENTRY _ZTI4tk22[]; |
| static Base_Class bases_zc46[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk12, 0, //bcp->offset |
| -1, //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_si, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 0}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 0}, |
| {&cd_tk22, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zc46[]; |
| static VTBL_ENTRY vtc_zc46[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zc46[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zc46[]; |
| static VTBL_ENTRY _tg__ZTV4sk12__4zc46[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk12[0]), |
| }; |
| static VTT_ENTRY vtt_zc46[] = { |
| {&(_ZTV4zc46[4]), 4,4}, |
| {&(_ZTV4zc46[4]), 4,4}, |
| {&(_tg__ZTV4sk12__4zc46[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zc46[]; |
| extern VTBL_ENTRY _ZTV4zc46[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zc46[]; |
| Class_Descriptor cd_zc46 = { "zc46", // class name |
| bases_zc46, 6, |
| &(vtc_zc46[0]), // expected_vtbl_contents |
| &(vtt_zc46[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zc46),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zc46),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zc46),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 zd46 : virtual sk12 , virtual tk22 { |
| ~zd46(); // tgen |
| zd46(); // tgen |
| }; |
| //SIG(1 zd46) C1{ VBC2{ VBC3{} BC4{}} VBC5{ BC3 BC4}} |
| |
| |
| zd46 ::~zd46(){ note_dtor("zd46", this);} // tgen |
| zd46 ::zd46(){ note_ctor("zd46", this);} // tgen |
| |
| static void Test_zd46() |
| { |
| extern Class_Descriptor cd_zd46; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zd46, buf); |
| zd46 *dp, &lv = *(dp=new (buf) zd46()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zd46)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zd46)"); |
| check_base_class_offset(lv, (si*)(sk12*), 0, "zd46"); |
| check_base_class_offset(lv, (sj*)(sk12*), 0, "zd46"); |
| check_base_class_offset(lv, (sk12*), 0, "zd46"); |
| check_base_class_offset(lv, (si*)(tk22*), ABISELECT(8,4), "zd46"); |
| check_base_class_offset(lv, (sj*)(tk22*), ABISELECT(8,4), "zd46"); |
| check_base_class_offset(lv, (tk22*), ABISELECT(8,4), "zd46"); |
| test_class_info(&lv, &cd_zd46); |
| dp->~zd46(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzd46(Test_zd46, "zd46", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zd46C1Ev(); |
| extern void _ZN4zd46D1Ev(); |
| Name_Map name_map_zd46[] = { |
| NSPAIR(_ZN4zd46C1Ev), |
| NSPAIR(_ZN4zd46D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk12; |
| extern VTBL_ENTRY _ZTI4sk12[]; |
| extern VTBL_ENTRY _ZTV4sk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk12[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk22; |
| extern VTBL_ENTRY _ZTI4tk22[]; |
| static Base_Class bases_zd46[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk12, 0, //bcp->offset |
| -1, //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_si, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 0}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 0}, |
| {&cd_tk22, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zd46[]; |
| static VTBL_ENTRY vtc_zd46[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zd46[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zd46[]; |
| static VTBL_ENTRY _tg__ZTV4sk12__4zd46[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk12[0]), |
| }; |
| static VTT_ENTRY vtt_zd46[] = { |
| {&(_ZTV4zd46[5]), 5,5}, |
| {&(_ZTV4zd46[5]), 5,5}, |
| {&(_tg__ZTV4sk12__4zd46[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zd46[]; |
| extern VTBL_ENTRY _ZTV4zd46[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zd46[]; |
| Class_Descriptor cd_zd46 = { "zd46", // class name |
| bases_zd46, 6, |
| &(vtc_zd46[0]), // expected_vtbl_contents |
| &(vtt_zd46[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zd46),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zd46),5, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zd46),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 xt5 : tk21 { |
| ~xt5(); // tgen |
| xt5(); // tgen |
| }; |
| //SIG(1 xt5) C1{ BC2{ BC3{} VBC4{}}} |
| |
| |
| xt5 ::~xt5(){ note_dtor("xt5", this);} // tgen |
| xt5 ::xt5(){ note_ctor("xt5", this);} // tgen |
| |
| static void Test_xt5() |
| { |
| extern Class_Descriptor cd_xt5; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_xt5, buf); |
| xt5 *dp, &lv = *(dp=new (buf) xt5()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(xt5)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(xt5)"); |
| check_base_class_offset(lv, (si*)(tk21*), 0, "xt5"); |
| check_base_class_offset(lv, (sj*)(tk21*), 0, "xt5"); |
| check_base_class_offset(lv, (tk21*), 0, "xt5"); |
| test_class_info(&lv, &cd_xt5); |
| dp->~xt5(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vxt5(Test_xt5, "xt5", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN3xt5C1Ev(); |
| extern void _ZN3xt5D1Ev(); |
| Name_Map name_map_xt5[] = { |
| NSPAIR(_ZN3xt5C1Ev), |
| NSPAIR(_ZN3xt5D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk21; |
| extern VTBL_ENTRY _ZTI4tk21[]; |
| extern VTBL_ENTRY _ZTV4tk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk21[]; |
| static Base_Class bases_xt5[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_tk21, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI3xt5[]; |
| static VTBL_ENTRY vtc_xt5[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI3xt5[0]), |
| }; |
| extern VTBL_ENTRY _ZTV3xt5[]; |
| static VTBL_ENTRY _tg__ZTV4tk21__3xt5[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk21[0]), |
| }; |
| static VTT_ENTRY vtt_xt5[] = { |
| {&(_ZTV3xt5[3]), 3,3}, |
| {&(_tg__ZTV4tk21__3xt5[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI3xt5[]; |
| extern VTBL_ENTRY _ZTV3xt5[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT3xt5[]; |
| Class_Descriptor cd_xt5 = { "xt5", // class name |
| bases_xt5, 3, |
| &(vtc_xt5[0]), // expected_vtbl_contents |
| &(vtt_xt5[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI3xt5),ABISELECT(24,12), //typeinfo_var |
| NSPAIRA(_ZTV3xt5),3, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT3xt5),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 yt5 : virtual tk21 { |
| ~yt5(); // tgen |
| yt5(); // tgen |
| }; |
| //SIG(1 yt5) C1{ VBC2{ BC3{} VBC4{}}} |
| |
| |
| yt5 ::~yt5(){ note_dtor("yt5", this);} // tgen |
| yt5 ::yt5(){ note_ctor("yt5", this);} // tgen |
| |
| static void Test_yt5() |
| { |
| extern Class_Descriptor cd_yt5; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_yt5, buf); |
| yt5 *dp, &lv = *(dp=new (buf) yt5()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(yt5)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(yt5)"); |
| check_base_class_offset(lv, (si*)(tk21*), 0, "yt5"); |
| check_base_class_offset(lv, (sj*)(tk21*), 0, "yt5"); |
| check_base_class_offset(lv, (tk21*), 0, "yt5"); |
| test_class_info(&lv, &cd_yt5); |
| dp->~yt5(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vyt5(Test_yt5, "yt5", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN3yt5C1Ev(); |
| extern void _ZN3yt5D1Ev(); |
| Name_Map name_map_yt5[] = { |
| NSPAIR(_ZN3yt5C1Ev), |
| NSPAIR(_ZN3yt5D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk21; |
| extern VTBL_ENTRY _ZTI4tk21[]; |
| extern VTBL_ENTRY _ZTV4tk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk21[]; |
| static Base_Class bases_yt5[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_tk21, 0, //bcp->offset |
| -1, //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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI3yt5[]; |
| static VTBL_ENTRY vtc_yt5[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI3yt5[0]), |
| }; |
| extern VTBL_ENTRY _ZTV3yt5[]; |
| static VTBL_ENTRY _tg__ZTV4tk21__3yt5[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk21[0]), |
| }; |
| static VTT_ENTRY vtt_yt5[] = { |
| {&(_ZTV3yt5[4]), 4,4}, |
| {&(_ZTV3yt5[4]), 4,4}, |
| {&(_tg__ZTV4tk21__3yt5[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI3yt5[]; |
| extern VTBL_ENTRY _ZTV3yt5[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT3yt5[]; |
| Class_Descriptor cd_yt5 = { "yt5", // class name |
| bases_yt5, 3, |
| &(vtc_yt5[0]), // expected_vtbl_contents |
| &(vtt_yt5[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI3yt5),ABISELECT(40,24), //typeinfo_var |
| NSPAIRA(_ZTV3yt5),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT3yt5),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 za50 : sk21 , tk00 { |
| ~za50(); // tgen |
| za50(); // tgen |
| }; |
| //SIG(1 za50) C1{ BC2{ BC3{} VBC4{}} BC5{}} |
| |
| |
| za50 ::~za50(){ note_dtor("za50", this);} // tgen |
| za50 ::za50(){ note_ctor("za50", this);} // tgen |
| |
| static void Test_za50() |
| { |
| extern Class_Descriptor cd_za50; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_za50, buf); |
| za50 *dp, &lv = *(dp=new (buf) za50()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(za50)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(za50)"); |
| check_base_class_offset(lv, (si*)(sk21*), 0, "za50"); |
| check_base_class_offset(lv, (sj*)(sk21*), 0, "za50"); |
| check_base_class_offset(lv, (sk21*), 0, "za50"); |
| check_base_class_offset(lv, (tk00*), 0, "za50"); |
| test_class_info(&lv, &cd_za50); |
| dp->~za50(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vza50(Test_za50, "za50", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4za50C1Ev(); |
| extern void _ZN4za50D1Ev(); |
| Name_Map name_map_za50[] = { |
| NSPAIR(_ZN4za50C1Ev), |
| NSPAIR(_ZN4za50D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk21; |
| extern VTBL_ENTRY _ZTI4sk21[]; |
| extern VTBL_ENTRY _ZTV4sk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk21[]; |
| extern Class_Descriptor cd_tk00; |
| extern VTBL_ENTRY _ZTI4tk00[]; |
| static Base_Class bases_za50[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk21, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_tk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4za50[]; |
| static VTBL_ENTRY vtc_za50[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4za50[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4za50[]; |
| static VTBL_ENTRY _tg__ZTV4sk21__4za50[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk21[0]), |
| }; |
| static VTT_ENTRY vtt_za50[] = { |
| {&(_ZTV4za50[3]), 3,3}, |
| {&(_tg__ZTV4sk21__4za50[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4za50[]; |
| extern VTBL_ENTRY _ZTV4za50[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4za50[]; |
| Class_Descriptor cd_za50 = { "za50", // class name |
| bases_za50, 4, |
| &(vtc_za50[0]), // expected_vtbl_contents |
| &(vtt_za50[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4za50),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4za50),3, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4za50),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 zb50 : sk21 , virtual tk00 { |
| ~zb50(); // tgen |
| zb50(); // tgen |
| }; |
| //SIG(1 zb50) C1{ BC2{ BC3{} VBC4{}} VBC5{}} |
| |
| |
| zb50 ::~zb50(){ note_dtor("zb50", this);} // tgen |
| zb50 ::zb50(){ note_ctor("zb50", this);} // tgen |
| |
| static void Test_zb50() |
| { |
| extern Class_Descriptor cd_zb50; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_zb50, buf); |
| zb50 *dp, &lv = *(dp=new (buf) zb50()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(zb50)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zb50)"); |
| check_base_class_offset(lv, (si*)(sk21*), 0, "zb50"); |
| check_base_class_offset(lv, (sj*)(sk21*), 0, "zb50"); |
| check_base_class_offset(lv, (sk21*), 0, "zb50"); |
| check_base_class_offset(lv, (tk00*), 0, "zb50"); |
| test_class_info(&lv, &cd_zb50); |
| dp->~zb50(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzb50(Test_zb50, "zb50", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zb50C1Ev(); |
| extern void _ZN4zb50D1Ev(); |
| Name_Map name_map_zb50[] = { |
| NSPAIR(_ZN4zb50C1Ev), |
| NSPAIR(_ZN4zb50D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk21; |
| extern VTBL_ENTRY _ZTI4sk21[]; |
| extern VTBL_ENTRY _ZTV4sk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk21[]; |
| extern Class_Descriptor cd_tk00; |
| extern VTBL_ENTRY _ZTI4tk00[]; |
| static Base_Class bases_zb50[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk21, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_tk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zb50[]; |
| static VTBL_ENTRY vtc_zb50[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zb50[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zb50[]; |
| static VTBL_ENTRY _tg__ZTV4sk21__4zb50[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk21[0]), |
| }; |
| static VTT_ENTRY vtt_zb50[] = { |
| {&(_ZTV4zb50[4]), 4,4}, |
| {&(_tg__ZTV4sk21__4zb50[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zb50[]; |
| extern VTBL_ENTRY _ZTV4zb50[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zb50[]; |
| Class_Descriptor cd_zb50 = { "zb50", // class name |
| bases_zb50, 4, |
| &(vtc_zb50[0]), // expected_vtbl_contents |
| &(vtt_zb50[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4zb50),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zb50),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zb50),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 zc50 : virtual sk21 , tk00 { |
| ~zc50(); // tgen |
| zc50(); // tgen |
| }; |
| //SIG(1 zc50) C1{ VBC2{ BC3{} VBC4{}} BC5{}} |
| |
| |
| zc50 ::~zc50(){ note_dtor("zc50", this);} // tgen |
| zc50 ::zc50(){ note_ctor("zc50", this);} // tgen |
| |
| static void Test_zc50() |
| { |
| extern Class_Descriptor cd_zc50; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_zc50, buf); |
| zc50 *dp, &lv = *(dp=new (buf) zc50()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(zc50)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zc50)"); |
| check_base_class_offset(lv, (si*)(sk21*), 0, "zc50"); |
| check_base_class_offset(lv, (sj*)(sk21*), 0, "zc50"); |
| check_base_class_offset(lv, (sk21*), 0, "zc50"); |
| check_base_class_offset(lv, (tk00*), 0, "zc50"); |
| test_class_info(&lv, &cd_zc50); |
| dp->~zc50(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzc50(Test_zc50, "zc50", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zc50C1Ev(); |
| extern void _ZN4zc50D1Ev(); |
| Name_Map name_map_zc50[] = { |
| NSPAIR(_ZN4zc50C1Ev), |
| NSPAIR(_ZN4zc50D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk21; |
| extern VTBL_ENTRY _ZTI4sk21[]; |
| extern VTBL_ENTRY _ZTV4sk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk21[]; |
| extern Class_Descriptor cd_tk00; |
| extern VTBL_ENTRY _ZTI4tk00[]; |
| static Base_Class bases_zc50[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk21, 0, //bcp->offset |
| -1, //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_tk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zc50[]; |
| static VTBL_ENTRY vtc_zc50[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zc50[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zc50[]; |
| static VTBL_ENTRY _tg__ZTV4sk21__4zc50[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk21[0]), |
| }; |
| static VTT_ENTRY vtt_zc50[] = { |
| {&(_ZTV4zc50[4]), 4,4}, |
| {&(_ZTV4zc50[4]), 4,4}, |
| {&(_tg__ZTV4sk21__4zc50[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zc50[]; |
| extern VTBL_ENTRY _ZTV4zc50[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zc50[]; |
| Class_Descriptor cd_zc50 = { "zc50", // class name |
| bases_zc50, 4, |
| &(vtc_zc50[0]), // expected_vtbl_contents |
| &(vtt_zc50[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4zc50),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zc50),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zc50),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 zd50 : virtual sk21 , virtual tk00 { |
| ~zd50(); // tgen |
| zd50(); // tgen |
| }; |
| //SIG(1 zd50) C1{ VBC2{ BC3{} VBC4{}} VBC5{}} |
| |
| |
| zd50 ::~zd50(){ note_dtor("zd50", this);} // tgen |
| zd50 ::zd50(){ note_ctor("zd50", this);} // tgen |
| |
| static void Test_zd50() |
| { |
| extern Class_Descriptor cd_zd50; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_zd50, buf); |
| zd50 *dp, &lv = *(dp=new (buf) zd50()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(zd50)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zd50)"); |
| check_base_class_offset(lv, (si*)(sk21*), 0, "zd50"); |
| check_base_class_offset(lv, (sj*)(sk21*), 0, "zd50"); |
| check_base_class_offset(lv, (sk21*), 0, "zd50"); |
| check_base_class_offset(lv, (tk00*), 0, "zd50"); |
| test_class_info(&lv, &cd_zd50); |
| dp->~zd50(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzd50(Test_zd50, "zd50", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zd50C1Ev(); |
| extern void _ZN4zd50D1Ev(); |
| Name_Map name_map_zd50[] = { |
| NSPAIR(_ZN4zd50C1Ev), |
| NSPAIR(_ZN4zd50D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk21; |
| extern VTBL_ENTRY _ZTI4sk21[]; |
| extern VTBL_ENTRY _ZTV4sk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk21[]; |
| extern Class_Descriptor cd_tk00; |
| extern VTBL_ENTRY _ZTI4tk00[]; |
| static Base_Class bases_zd50[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk21, 0, //bcp->offset |
| -1, //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_tk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zd50[]; |
| static VTBL_ENTRY vtc_zd50[] = { |
| 0, |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zd50[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zd50[]; |
| static VTBL_ENTRY _tg__ZTV4sk21__4zd50[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk21[0]), |
| }; |
| static VTT_ENTRY vtt_zd50[] = { |
| {&(_ZTV4zd50[5]), 5,5}, |
| {&(_ZTV4zd50[5]), 5,5}, |
| {&(_tg__ZTV4sk21__4zd50[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zd50[]; |
| extern VTBL_ENTRY _ZTV4zd50[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zd50[]; |
| Class_Descriptor cd_zd50 = { "zd50", // class name |
| bases_zd50, 4, |
| &(vtc_zd50[0]), // expected_vtbl_contents |
| &(vtt_zd50[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4zd50),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zd50),5, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zd50),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 za51 : sk21 , tk01 { |
| ~za51(); // tgen |
| za51(); // tgen |
| }; |
| //SIG(1 za51) C1{ BC2{ BC3{} VBC4{}} BC5{ VBC4}} |
| |
| |
| za51 ::~za51(){ note_dtor("za51", this);} // tgen |
| za51 ::za51(){ note_ctor("za51", this);} // tgen |
| |
| static void Test_za51() |
| { |
| extern Class_Descriptor cd_za51; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_za51, buf); |
| za51 *dp, &lv = *(dp=new (buf) za51()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(za51)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(za51)"); |
| check_base_class_offset(lv, (si*)(sk21*), 0, "za51"); |
| check_base_class_offset(lv, (sj*)(sk21*), 0, "za51"); |
| check_base_class_offset(lv, (sj*)(tk01*), 0, "za51"); |
| check_base_class_offset(lv, (sk21*), 0, "za51"); |
| check_base_class_offset(lv, (tk01*), ABISELECT(8,4), "za51"); |
| test_class_info(&lv, &cd_za51); |
| dp->~za51(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vza51(Test_za51, "za51", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4za51C1Ev(); |
| extern void _ZN4za51D1Ev(); |
| Name_Map name_map_za51[] = { |
| NSPAIR(_ZN4za51C1Ev), |
| NSPAIR(_ZN4za51D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk21; |
| extern VTBL_ENTRY _ZTI4sk21[]; |
| extern VTBL_ENTRY _ZTV4sk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk21[]; |
| extern Class_Descriptor cd_tk01; |
| extern VTBL_ENTRY _ZTI4tk01[]; |
| extern VTBL_ENTRY _ZTV4tk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk01[]; |
| static Base_Class bases_za51[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk21, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_tk01, ABISELECT(8,4), //bcp->offset |
| 3, //bcp->virtual_function_table_offset |
| 3, //num_negative_vtable_entries(t, bcp) |
| 4, //bcp->index_in_construction_vtbl_array |
| 3, //bcp->base_subarray_index_in_construction_vtbl_array |
| 2, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4za51[]; |
| static VTBL_ENTRY vtc_za51[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4za51[0]), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4za51[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4za51[]; |
| static VTBL_ENTRY _tg__ZTV4sk21__4za51[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk21[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4tk01__4za51[] = { |
| ABISELECT(-8,-4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk01[0]), |
| }; |
| static VTT_ENTRY vtt_za51[] = { |
| {&(_ZTV4za51[3]), 3,6}, |
| {&(_tg__ZTV4sk21__4za51[3]), 3,3}, |
| {&(_tg__ZTV4tk01__4za51[3]), 3,3}, |
| {&(_ZTV4za51[6]), 6,6}, |
| }; |
| extern VTBL_ENTRY _ZTI4za51[]; |
| extern VTBL_ENTRY _ZTV4za51[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4za51[]; |
| Class_Descriptor cd_za51 = { "za51", // class name |
| bases_za51, 4, |
| &(vtc_za51[0]), // expected_vtbl_contents |
| &(vtt_za51[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4za51),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4za51),6, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4za51),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 zb51 : sk21 , virtual tk01 { |
| ~zb51(); // tgen |
| zb51(); // tgen |
| }; |
| //SIG(1 zb51) C1{ BC2{ BC3{} VBC4{}} VBC5{ VBC4}} |
| |
| |
| zb51 ::~zb51(){ note_dtor("zb51", this);} // tgen |
| zb51 ::zb51(){ note_ctor("zb51", this);} // tgen |
| |
| static void Test_zb51() |
| { |
| extern Class_Descriptor cd_zb51; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zb51, buf); |
| zb51 *dp, &lv = *(dp=new (buf) zb51()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zb51)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zb51)"); |
| check_base_class_offset(lv, (si*)(sk21*), 0, "zb51"); |
| check_base_class_offset(lv, (sj*)(sk21*), 0, "zb51"); |
| check_base_class_offset(lv, (sj*)(tk01*), 0, "zb51"); |
| check_base_class_offset(lv, (sk21*), 0, "zb51"); |
| check_base_class_offset(lv, (tk01*), ABISELECT(8,4), "zb51"); |
| test_class_info(&lv, &cd_zb51); |
| dp->~zb51(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzb51(Test_zb51, "zb51", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zb51C1Ev(); |
| extern void _ZN4zb51D1Ev(); |
| Name_Map name_map_zb51[] = { |
| NSPAIR(_ZN4zb51C1Ev), |
| NSPAIR(_ZN4zb51D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk21; |
| extern VTBL_ENTRY _ZTI4sk21[]; |
| extern VTBL_ENTRY _ZTV4sk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk21[]; |
| extern Class_Descriptor cd_tk01; |
| extern VTBL_ENTRY _ZTI4tk01[]; |
| extern VTBL_ENTRY _ZTV4tk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk01[]; |
| static Base_Class bases_zb51[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk21, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_tk01, ABISELECT(8,4), //bcp->offset |
| 4, //bcp->virtual_function_table_offset |
| 3, //num_negative_vtable_entries(t, bcp) |
| 3, //bcp->index_in_construction_vtbl_array |
| 4, //bcp->base_subarray_index_in_construction_vtbl_array |
| 1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zb51[]; |
| static VTBL_ENTRY vtc_zb51[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zb51[0]), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4zb51[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zb51[]; |
| static VTBL_ENTRY _tg__ZTV4sk21__4zb51[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk21[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4tk01__4zb51[] = { |
| ABISELECT(-8,-4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk01[0]), |
| }; |
| static VTT_ENTRY vtt_zb51[] = { |
| {&(_ZTV4zb51[4]), 4,7}, |
| {&(_tg__ZTV4sk21__4zb51[3]), 3,3}, |
| {&(_ZTV4zb51[7]), 7,7}, |
| {&(_tg__ZTV4tk01__4zb51[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zb51[]; |
| extern VTBL_ENTRY _ZTV4zb51[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zb51[]; |
| Class_Descriptor cd_zb51 = { "zb51", // class name |
| bases_zb51, 4, |
| &(vtc_zb51[0]), // expected_vtbl_contents |
| &(vtt_zb51[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zb51),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zb51),7, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zb51),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 zc51 : virtual sk21 , tk01 { |
| ~zc51(); // tgen |
| zc51(); // tgen |
| }; |
| //SIG(1 zc51) C1{ VBC2{ BC3{} VBC4{}} BC5{ VBC4}} |
| |
| |
| zc51 ::~zc51(){ note_dtor("zc51", this);} // tgen |
| zc51 ::zc51(){ note_ctor("zc51", this);} // tgen |
| |
| static void Test_zc51() |
| { |
| extern Class_Descriptor cd_zc51; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zc51, buf); |
| zc51 *dp, &lv = *(dp=new (buf) zc51()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zc51)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zc51)"); |
| check_base_class_offset(lv, (si*)(sk21*), ABISELECT(8,4), "zc51"); |
| check_base_class_offset(lv, (sj*)(sk21*), 0, "zc51"); |
| check_base_class_offset(lv, (sj*)(tk01*), 0, "zc51"); |
| check_base_class_offset(lv, (sk21*), ABISELECT(8,4), "zc51"); |
| check_base_class_offset(lv, (tk01*), 0, "zc51"); |
| test_class_info(&lv, &cd_zc51); |
| dp->~zc51(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzc51(Test_zc51, "zc51", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zc51C1Ev(); |
| extern void _ZN4zc51D1Ev(); |
| Name_Map name_map_zc51[] = { |
| NSPAIR(_ZN4zc51C1Ev), |
| NSPAIR(_ZN4zc51D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk21; |
| extern VTBL_ENTRY _ZTI4sk21[]; |
| extern VTBL_ENTRY _ZTV4sk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk21[]; |
| extern Class_Descriptor cd_tk01; |
| extern VTBL_ENTRY _ZTI4tk01[]; |
| extern VTBL_ENTRY _ZTV4tk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk01[]; |
| static Base_Class bases_zc51[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk21, ABISELECT(8,4), //bcp->offset |
| 4, //bcp->virtual_function_table_offset |
| 3, //num_negative_vtable_entries(t, bcp) |
| 3, //bcp->index_in_construction_vtbl_array |
| 4, //bcp->base_subarray_index_in_construction_vtbl_array |
| 1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {&cd_tk01, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zc51[]; |
| static VTBL_ENTRY vtc_zc51[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zc51[0]), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4zc51[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zc51[]; |
| static VTBL_ENTRY _tg__ZTV4tk01__4zc51[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk01[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4sk21__4zc51[] = { |
| ABISELECT(-8,-4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk21[0]), |
| }; |
| static VTT_ENTRY vtt_zc51[] = { |
| {&(_ZTV4zc51[4]), 4,7}, |
| {&(_tg__ZTV4tk01__4zc51[3]), 3,3}, |
| {&(_ZTV4zc51[7]), 7,7}, |
| {&(_tg__ZTV4sk21__4zc51[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zc51[]; |
| extern VTBL_ENTRY _ZTV4zc51[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zc51[]; |
| Class_Descriptor cd_zc51 = { "zc51", // class name |
| bases_zc51, 4, |
| &(vtc_zc51[0]), // expected_vtbl_contents |
| &(vtt_zc51[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zc51),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zc51),7, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zc51),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 zd51 : virtual sk21 , virtual tk01 { |
| ~zd51(); // tgen |
| zd51(); // tgen |
| }; |
| //SIG(1 zd51) C1{ VBC2{ BC3{} VBC4{}} VBC5{ VBC4}} |
| |
| |
| zd51 ::~zd51(){ note_dtor("zd51", this);} // tgen |
| zd51 ::zd51(){ note_ctor("zd51", this);} // tgen |
| |
| static void Test_zd51() |
| { |
| extern Class_Descriptor cd_zd51; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zd51, buf); |
| zd51 *dp, &lv = *(dp=new (buf) zd51()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zd51)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zd51)"); |
| check_base_class_offset(lv, (si*)(sk21*), 0, "zd51"); |
| check_base_class_offset(lv, (sj*)(sk21*), 0, "zd51"); |
| check_base_class_offset(lv, (sj*)(tk01*), 0, "zd51"); |
| check_base_class_offset(lv, (sk21*), 0, "zd51"); |
| check_base_class_offset(lv, (tk01*), ABISELECT(8,4), "zd51"); |
| test_class_info(&lv, &cd_zd51); |
| dp->~zd51(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzd51(Test_zd51, "zd51", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zd51C1Ev(); |
| extern void _ZN4zd51D1Ev(); |
| Name_Map name_map_zd51[] = { |
| NSPAIR(_ZN4zd51C1Ev), |
| NSPAIR(_ZN4zd51D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk21; |
| extern VTBL_ENTRY _ZTI4sk21[]; |
| extern VTBL_ENTRY _ZTV4sk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk21[]; |
| extern Class_Descriptor cd_tk01; |
| extern VTBL_ENTRY _ZTI4tk01[]; |
| extern VTBL_ENTRY _ZTV4tk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk01[]; |
| static Base_Class bases_zd51[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk21, 0, //bcp->offset |
| -1, //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_tk01, ABISELECT(8,4), //bcp->offset |
| 5, //bcp->virtual_function_table_offset |
| 3, //num_negative_vtable_entries(t, bcp) |
| 3, //bcp->index_in_construction_vtbl_array |
| 5, //bcp->base_subarray_index_in_construction_vtbl_array |
| 2, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zd51[]; |
| static VTBL_ENTRY vtc_zd51[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zd51[0]), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4zd51[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zd51[]; |
| static VTBL_ENTRY _tg__ZTV4sk21__4zd51[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk21[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4tk01__4zd51[] = { |
| ABISELECT(-8,-4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk01[0]), |
| }; |
| static VTT_ENTRY vtt_zd51[] = { |
| {&(_ZTV4zd51[5]), 5,8}, |
| {&(_ZTV4zd51[5]), 5,8}, |
| {&(_ZTV4zd51[8]), 8,8}, |
| {&(_tg__ZTV4sk21__4zd51[3]), 3,3}, |
| {&(_tg__ZTV4tk01__4zd51[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zd51[]; |
| extern VTBL_ENTRY _ZTV4zd51[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zd51[]; |
| Class_Descriptor cd_zd51 = { "zd51", // class name |
| bases_zd51, 4, |
| &(vtc_zd51[0]), // expected_vtbl_contents |
| &(vtt_zd51[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zd51),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zd51),8, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zd51),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 za52 : sk21 , tk02 { |
| ~za52(); // tgen |
| za52(); // tgen |
| }; |
| //SIG(1 za52) C1{ BC2{ BC3{} VBC4{}} BC5{ BC4}} |
| |
| |
| za52 ::~za52(){ note_dtor("za52", this);} // tgen |
| za52 ::za52(){ note_ctor("za52", this);} // tgen |
| |
| static void Test_za52() |
| { |
| extern Class_Descriptor cd_za52; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_za52, buf); |
| za52 *dp, &lv = *(dp=new (buf) za52()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(za52)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(za52)"); |
| check_base_class_offset(lv, (si*)(sk21*), 0, "za52"); |
| check_base_class_offset(lv, (sj*)(sk21*), ABISELECT(8,4), "za52"); |
| check_base_class_offset(lv, (sk21*), 0, "za52"); |
| check_base_class_offset(lv, (sj*)(tk02*), 0, "za52"); |
| check_base_class_offset(lv, (tk02*), 0, "za52"); |
| test_class_info(&lv, &cd_za52); |
| dp->~za52(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vza52(Test_za52, "za52", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4za52C1Ev(); |
| extern void _ZN4za52D1Ev(); |
| Name_Map name_map_za52[] = { |
| NSPAIR(_ZN4za52C1Ev), |
| NSPAIR(_ZN4za52D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk21; |
| extern VTBL_ENTRY _ZTI4sk21[]; |
| extern VTBL_ENTRY _ZTV4sk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk21[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk02; |
| extern VTBL_ENTRY _ZTI4tk02[]; |
| static Base_Class bases_za52[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk21, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_tk02, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4za52[]; |
| static VTBL_ENTRY vtc_za52[] = { |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4za52[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4za52[]; |
| static VTBL_ENTRY _tg__ZTV4sk21__4za52[] = { |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk21[0]), |
| }; |
| static VTT_ENTRY vtt_za52[] = { |
| {&(_ZTV4za52[3]), 3,3}, |
| {&(_tg__ZTV4sk21__4za52[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4za52[]; |
| extern VTBL_ENTRY _ZTV4za52[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4za52[]; |
| Class_Descriptor cd_za52 = { "za52", // class name |
| bases_za52, 5, |
| &(vtc_za52[0]), // expected_vtbl_contents |
| &(vtt_za52[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4za52),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4za52),3, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4za52),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 zb52 : sk21 , virtual tk02 { |
| ~zb52(); // tgen |
| zb52(); // tgen |
| }; |
| //SIG(1 zb52) C1{ BC2{ BC3{} VBC4{}} VBC5{ BC4}} |
| |
| |
| zb52 ::~zb52(){ note_dtor("zb52", this);} // tgen |
| zb52 ::zb52(){ note_ctor("zb52", this);} // tgen |
| |
| static void Test_zb52() |
| { |
| extern Class_Descriptor cd_zb52; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zb52, buf); |
| zb52 *dp, &lv = *(dp=new (buf) zb52()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zb52)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zb52)"); |
| check_base_class_offset(lv, (si*)(sk21*), 0, "zb52"); |
| check_base_class_offset(lv, (sj*)(sk21*), 0, "zb52"); |
| check_base_class_offset(lv, (sk21*), 0, "zb52"); |
| check_base_class_offset(lv, (sj*)(tk02*), ABISELECT(8,4), "zb52"); |
| check_base_class_offset(lv, (tk02*), ABISELECT(8,4), "zb52"); |
| test_class_info(&lv, &cd_zb52); |
| dp->~zb52(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzb52(Test_zb52, "zb52", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zb52C1Ev(); |
| extern void _ZN4zb52D1Ev(); |
| Name_Map name_map_zb52[] = { |
| NSPAIR(_ZN4zb52C1Ev), |
| NSPAIR(_ZN4zb52D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk21; |
| extern VTBL_ENTRY _ZTI4sk21[]; |
| extern VTBL_ENTRY _ZTV4sk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk21[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk02; |
| extern VTBL_ENTRY _ZTI4tk02[]; |
| static Base_Class bases_zb52[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk21, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_tk02, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zb52[]; |
| static VTBL_ENTRY vtc_zb52[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zb52[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zb52[]; |
| static VTBL_ENTRY _tg__ZTV4sk21__4zb52[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk21[0]), |
| }; |
| static VTT_ENTRY vtt_zb52[] = { |
| {&(_ZTV4zb52[4]), 4,4}, |
| {&(_tg__ZTV4sk21__4zb52[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zb52[]; |
| extern VTBL_ENTRY _ZTV4zb52[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zb52[]; |
| Class_Descriptor cd_zb52 = { "zb52", // class name |
| bases_zb52, 5, |
| &(vtc_zb52[0]), // expected_vtbl_contents |
| &(vtt_zb52[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zb52),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zb52),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zb52),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 zc52 : virtual sk21 , tk02 { |
| ~zc52(); // tgen |
| zc52(); // tgen |
| }; |
| //SIG(1 zc52) C1{ VBC2{ BC3{} VBC4{}} BC5{ BC4}} |
| |
| |
| zc52 ::~zc52(){ note_dtor("zc52", this);} // tgen |
| zc52 ::zc52(){ note_ctor("zc52", this);} // tgen |
| |
| static void Test_zc52() |
| { |
| extern Class_Descriptor cd_zc52; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zc52, buf); |
| zc52 *dp, &lv = *(dp=new (buf) zc52()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zc52)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zc52)"); |
| check_base_class_offset(lv, (si*)(sk21*), 0, "zc52"); |
| check_base_class_offset(lv, (sj*)(sk21*), ABISELECT(8,4), "zc52"); |
| check_base_class_offset(lv, (sk21*), 0, "zc52"); |
| check_base_class_offset(lv, (sj*)(tk02*), 0, "zc52"); |
| check_base_class_offset(lv, (tk02*), 0, "zc52"); |
| test_class_info(&lv, &cd_zc52); |
| dp->~zc52(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzc52(Test_zc52, "zc52", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zc52C1Ev(); |
| extern void _ZN4zc52D1Ev(); |
| Name_Map name_map_zc52[] = { |
| NSPAIR(_ZN4zc52C1Ev), |
| NSPAIR(_ZN4zc52D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk21; |
| extern VTBL_ENTRY _ZTI4sk21[]; |
| extern VTBL_ENTRY _ZTV4sk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk21[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk02; |
| extern VTBL_ENTRY _ZTI4tk02[]; |
| static Base_Class bases_zc52[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk21, 0, //bcp->offset |
| -1, //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_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_tk02, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zc52[]; |
| static VTBL_ENTRY vtc_zc52[] = { |
| 0, |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zc52[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zc52[]; |
| static VTBL_ENTRY _tg__ZTV4sk21__4zc52[] = { |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk21[0]), |
| }; |
| static VTT_ENTRY vtt_zc52[] = { |
| {&(_ZTV4zc52[4]), 4,4}, |
| {&(_ZTV4zc52[4]), 4,4}, |
| {&(_tg__ZTV4sk21__4zc52[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zc52[]; |
| extern VTBL_ENTRY _ZTV4zc52[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zc52[]; |
| Class_Descriptor cd_zc52 = { "zc52", // class name |
| bases_zc52, 5, |
| &(vtc_zc52[0]), // expected_vtbl_contents |
| &(vtt_zc52[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zc52),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zc52),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zc52),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 zd52 : virtual sk21 , virtual tk02 { |
| ~zd52(); // tgen |
| zd52(); // tgen |
| }; |
| //SIG(1 zd52) C1{ VBC2{ BC3{} VBC4{}} VBC5{ BC4}} |
| |
| |
| zd52 ::~zd52(){ note_dtor("zd52", this);} // tgen |
| zd52 ::zd52(){ note_ctor("zd52", this);} // tgen |
| |
| static void Test_zd52() |
| { |
| extern Class_Descriptor cd_zd52; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zd52, buf); |
| zd52 *dp, &lv = *(dp=new (buf) zd52()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zd52)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zd52)"); |
| check_base_class_offset(lv, (si*)(sk21*), 0, "zd52"); |
| check_base_class_offset(lv, (sj*)(sk21*), 0, "zd52"); |
| check_base_class_offset(lv, (sk21*), 0, "zd52"); |
| check_base_class_offset(lv, (sj*)(tk02*), ABISELECT(8,4), "zd52"); |
| check_base_class_offset(lv, (tk02*), ABISELECT(8,4), "zd52"); |
| test_class_info(&lv, &cd_zd52); |
| dp->~zd52(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzd52(Test_zd52, "zd52", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zd52C1Ev(); |
| extern void _ZN4zd52D1Ev(); |
| Name_Map name_map_zd52[] = { |
| NSPAIR(_ZN4zd52C1Ev), |
| NSPAIR(_ZN4zd52D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk21; |
| extern VTBL_ENTRY _ZTI4sk21[]; |
| extern VTBL_ENTRY _ZTV4sk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk21[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk02; |
| extern VTBL_ENTRY _ZTI4tk02[]; |
| static Base_Class bases_zd52[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk21, 0, //bcp->offset |
| -1, //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_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_tk02, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zd52[]; |
| static VTBL_ENTRY vtc_zd52[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zd52[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zd52[]; |
| static VTBL_ENTRY _tg__ZTV4sk21__4zd52[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk21[0]), |
| }; |
| static VTT_ENTRY vtt_zd52[] = { |
| {&(_ZTV4zd52[5]), 5,5}, |
| {&(_ZTV4zd52[5]), 5,5}, |
| {&(_tg__ZTV4sk21__4zd52[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zd52[]; |
| extern VTBL_ENTRY _ZTV4zd52[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zd52[]; |
| Class_Descriptor cd_zd52 = { "zd52", // class name |
| bases_zd52, 5, |
| &(vtc_zd52[0]), // expected_vtbl_contents |
| &(vtt_zd52[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zd52),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zd52),5, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zd52),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 za53 : sk21 , tk11 { |
| ~za53(); // tgen |
| za53(); // tgen |
| }; |
| //SIG(1 za53) C1{ BC2{ BC3{} VBC4{}} BC5{ VBC3 VBC4}} |
| |
| |
| za53 ::~za53(){ note_dtor("za53", this);} // tgen |
| za53 ::za53(){ note_ctor("za53", this);} // tgen |
| |
| static void Test_za53() |
| { |
| extern Class_Descriptor cd_za53; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[4]; |
| init_test(&cd_za53, buf); |
| za53 *dp, &lv = *(dp=new (buf) za53()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(24,12), "sizeof(za53)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(za53)"); |
| check_base_class_offset(lv, (si*)(sk21*), 0, "za53"); |
| check_base_class_offset(lv, (sj*)(sk21*), 0, "za53"); |
| check_base_class_offset(lv, (sj*)(tk11*), 0, "za53"); |
| check_base_class_offset(lv, (sk21*), 0, "za53"); |
| check_base_class_offset(lv, (si*)(tk11*), ABISELECT(16,8), "za53"); |
| check_base_class_offset(lv, (tk11*), ABISELECT(8,4), "za53"); |
| test_class_info(&lv, &cd_za53); |
| dp->~za53(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vza53(Test_za53, "za53", ABISELECT(24,12)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4za53C1Ev(); |
| extern void _ZN4za53D1Ev(); |
| Name_Map name_map_za53[] = { |
| NSPAIR(_ZN4za53C1Ev), |
| NSPAIR(_ZN4za53D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk21; |
| extern VTBL_ENTRY _ZTI4sk21[]; |
| extern VTBL_ENTRY _ZTV4sk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk21[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_tk11; |
| extern VTBL_ENTRY _ZTI4tk11[]; |
| extern VTBL_ENTRY _ZTV4tk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk11[]; |
| static Base_Class bases_za53[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk21, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_si, 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, 1}, |
| {&cd_tk11, ABISELECT(8,4), //bcp->offset |
| 4, //bcp->virtual_function_table_offset |
| 4, //num_negative_vtable_entries(t, bcp) |
| 4, //bcp->index_in_construction_vtbl_array |
| 3, //bcp->base_subarray_index_in_construction_vtbl_array |
| 2, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4za53[]; |
| static VTBL_ENTRY vtc_za53[] = { |
| ABISELECT(16,8), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4za53[0]), |
| ABISELECT(-8,-4), |
| ABISELECT(8,4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4za53[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4za53[]; |
| static VTBL_ENTRY _tg__ZTV4sk21__4za53[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk21[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4tk11__4za53[] = { |
| ABISELECT(-8,-4), |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk11[0]), |
| }; |
| static VTT_ENTRY vtt_za53[] = { |
| {&(_ZTV4za53[4]), 4,8}, |
| {&(_tg__ZTV4sk21__4za53[3]), 3,3}, |
| {&(_tg__ZTV4tk11__4za53[4]), 4,4}, |
| {&(_ZTV4za53[8]), 8,8}, |
| }; |
| extern VTBL_ENTRY _ZTI4za53[]; |
| extern VTBL_ENTRY _ZTV4za53[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4za53[]; |
| Class_Descriptor cd_za53 = { "za53", // class name |
| bases_za53, 5, |
| &(vtc_za53[0]), // expected_vtbl_contents |
| &(vtt_za53[0]), // expected_vtt_contents |
| ABISELECT(24,12), // object size |
| NSPAIRA(_ZTI4za53),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4za53),8, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4za53),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 zb53 : sk21 , virtual tk11 { |
| ~zb53(); // tgen |
| zb53(); // tgen |
| }; |
| //SIG(1 zb53) C1{ BC2{ BC3{} VBC4{}} VBC5{ VBC3 VBC4}} |
| |
| |
| zb53 ::~zb53(){ note_dtor("zb53", this);} // tgen |
| zb53 ::zb53(){ note_ctor("zb53", this);} // tgen |
| |
| static void Test_zb53() |
| { |
| extern Class_Descriptor cd_zb53; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[4]; |
| init_test(&cd_zb53, buf); |
| zb53 *dp, &lv = *(dp=new (buf) zb53()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(24,12), "sizeof(zb53)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zb53)"); |
| check_base_class_offset(lv, (si*)(sk21*), 0, "zb53"); |
| check_base_class_offset(lv, (sj*)(sk21*), 0, "zb53"); |
| check_base_class_offset(lv, (sj*)(tk11*), 0, "zb53"); |
| check_base_class_offset(lv, (sk21*), 0, "zb53"); |
| check_base_class_offset(lv, (si*)(tk11*), ABISELECT(16,8), "zb53"); |
| check_base_class_offset(lv, (tk11*), ABISELECT(8,4), "zb53"); |
| test_class_info(&lv, &cd_zb53); |
| dp->~zb53(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzb53(Test_zb53, "zb53", ABISELECT(24,12)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zb53C1Ev(); |
| extern void _ZN4zb53D1Ev(); |
| Name_Map name_map_zb53[] = { |
| NSPAIR(_ZN4zb53C1Ev), |
| NSPAIR(_ZN4zb53D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk21; |
| extern VTBL_ENTRY _ZTI4sk21[]; |
| extern VTBL_ENTRY _ZTV4sk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk21[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_tk11; |
| extern VTBL_ENTRY _ZTI4tk11[]; |
| extern VTBL_ENTRY _ZTV4tk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk11[]; |
| static Base_Class bases_zb53[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk21, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_si, 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, 1}, |
| {&cd_tk11, ABISELECT(8,4), //bcp->offset |
| 5, //bcp->virtual_function_table_offset |
| 4, //num_negative_vtable_entries(t, bcp) |
| 3, //bcp->index_in_construction_vtbl_array |
| 4, //bcp->base_subarray_index_in_construction_vtbl_array |
| 1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zb53[]; |
| static VTBL_ENTRY vtc_zb53[] = { |
| ABISELECT(16,8), |
| ABISELECT(8,4), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zb53[0]), |
| ABISELECT(-8,-4), |
| ABISELECT(8,4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4zb53[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zb53[]; |
| static VTBL_ENTRY _tg__ZTV4sk21__4zb53[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk21[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4tk11__4zb53[] = { |
| ABISELECT(-8,-4), |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk11[0]), |
| }; |
| static VTT_ENTRY vtt_zb53[] = { |
| {&(_ZTV4zb53[5]), 5,9}, |
| {&(_tg__ZTV4sk21__4zb53[3]), 3,3}, |
| {&(_ZTV4zb53[9]), 9,9}, |
| {&(_tg__ZTV4tk11__4zb53[4]), 4,4}, |
| }; |
| extern VTBL_ENTRY _ZTI4zb53[]; |
| extern VTBL_ENTRY _ZTV4zb53[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zb53[]; |
| Class_Descriptor cd_zb53 = { "zb53", // class name |
| bases_zb53, 5, |
| &(vtc_zb53[0]), // expected_vtbl_contents |
| &(vtt_zb53[0]), // expected_vtt_contents |
| ABISELECT(24,12), // object size |
| NSPAIRA(_ZTI4zb53),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zb53),9, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zb53),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 zc53 : virtual sk21 , tk11 { |
| ~zc53(); // tgen |
| zc53(); // tgen |
| }; |
| //SIG(1 zc53) C1{ VBC2{ BC3{} VBC4{}} BC5{ VBC3 VBC4}} |
| |
| |
| zc53 ::~zc53(){ note_dtor("zc53", this);} // tgen |
| zc53 ::zc53(){ note_ctor("zc53", this);} // tgen |
| |
| static void Test_zc53() |
| { |
| extern Class_Descriptor cd_zc53; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zc53, buf); |
| zc53 *dp, &lv = *(dp=new (buf) zc53()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zc53)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zc53)"); |
| check_base_class_offset(lv, (si*)(sk21*), ABISELECT(8,4), "zc53"); |
| check_base_class_offset(lv, (sj*)(sk21*), 0, "zc53"); |
| check_base_class_offset(lv, (sj*)(tk11*), 0, "zc53"); |
| check_base_class_offset(lv, (sk21*), ABISELECT(8,4), "zc53"); |
| check_base_class_offset(lv, (si*)(tk11*), 0, "zc53"); |
| check_base_class_offset(lv, (tk11*), 0, "zc53"); |
| test_class_info(&lv, &cd_zc53); |
| dp->~zc53(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzc53(Test_zc53, "zc53", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zc53C1Ev(); |
| extern void _ZN4zc53D1Ev(); |
| Name_Map name_map_zc53[] = { |
| NSPAIR(_ZN4zc53C1Ev), |
| NSPAIR(_ZN4zc53D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk21; |
| extern VTBL_ENTRY _ZTI4sk21[]; |
| extern VTBL_ENTRY _ZTV4sk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk21[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_tk11; |
| extern VTBL_ENTRY _ZTI4tk11[]; |
| extern VTBL_ENTRY _ZTV4tk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk11[]; |
| static Base_Class bases_zc53[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk21, ABISELECT(8,4), //bcp->offset |
| 5, //bcp->virtual_function_table_offset |
| 3, //num_negative_vtable_entries(t, bcp) |
| 3, //bcp->index_in_construction_vtbl_array |
| 4, //bcp->base_subarray_index_in_construction_vtbl_array |
| 1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 1}, |
| {&cd_tk11, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zc53[]; |
| static VTBL_ENTRY vtc_zc53[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zc53[0]), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4zc53[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zc53[]; |
| static VTBL_ENTRY _tg__ZTV4tk11__4zc53[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk11[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4sk21__4zc53[] = { |
| ABISELECT(-8,-4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk21[0]), |
| }; |
| static VTT_ENTRY vtt_zc53[] = { |
| {&(_ZTV4zc53[5]), 5,8}, |
| {&(_tg__ZTV4tk11__4zc53[4]), 4,4}, |
| {&(_ZTV4zc53[8]), 8,8}, |
| {&(_tg__ZTV4sk21__4zc53[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zc53[]; |
| extern VTBL_ENTRY _ZTV4zc53[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zc53[]; |
| Class_Descriptor cd_zc53 = { "zc53", // class name |
| bases_zc53, 5, |
| &(vtc_zc53[0]), // expected_vtbl_contents |
| &(vtt_zc53[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zc53),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zc53),8, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zc53),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 zd53 : virtual sk21 , virtual tk11 { |
| ~zd53(); // tgen |
| zd53(); // tgen |
| }; |
| //SIG(1 zd53) C1{ VBC2{ BC3{} VBC4{}} VBC5{ VBC3 VBC4}} |
| |
| |
| zd53 ::~zd53(){ note_dtor("zd53", this);} // tgen |
| zd53 ::zd53(){ note_ctor("zd53", this);} // tgen |
| |
| static void Test_zd53() |
| { |
| extern Class_Descriptor cd_zd53; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[4]; |
| init_test(&cd_zd53, buf); |
| zd53 *dp, &lv = *(dp=new (buf) zd53()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(24,12), "sizeof(zd53)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zd53)"); |
| check_base_class_offset(lv, (si*)(sk21*), 0, "zd53"); |
| check_base_class_offset(lv, (sj*)(sk21*), 0, "zd53"); |
| check_base_class_offset(lv, (sj*)(tk11*), 0, "zd53"); |
| check_base_class_offset(lv, (sk21*), 0, "zd53"); |
| check_base_class_offset(lv, (si*)(tk11*), ABISELECT(16,8), "zd53"); |
| check_base_class_offset(lv, (tk11*), ABISELECT(8,4), "zd53"); |
| test_class_info(&lv, &cd_zd53); |
| dp->~zd53(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzd53(Test_zd53, "zd53", ABISELECT(24,12)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zd53C1Ev(); |
| extern void _ZN4zd53D1Ev(); |
| Name_Map name_map_zd53[] = { |
| NSPAIR(_ZN4zd53C1Ev), |
| NSPAIR(_ZN4zd53D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk21; |
| extern VTBL_ENTRY _ZTI4sk21[]; |
| extern VTBL_ENTRY _ZTV4sk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk21[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_tk11; |
| extern VTBL_ENTRY _ZTI4tk11[]; |
| extern VTBL_ENTRY _ZTV4tk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk11[]; |
| static Base_Class bases_zd53[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk21, 0, //bcp->offset |
| -1, //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_si, 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, 1}, |
| {&cd_tk11, ABISELECT(8,4), //bcp->offset |
| 6, //bcp->virtual_function_table_offset |
| 4, //num_negative_vtable_entries(t, bcp) |
| 3, //bcp->index_in_construction_vtbl_array |
| 5, //bcp->base_subarray_index_in_construction_vtbl_array |
| 2, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zd53[]; |
| static VTBL_ENTRY vtc_zd53[] = { |
| ABISELECT(16,8), |
| ABISELECT(8,4), |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zd53[0]), |
| ABISELECT(-8,-4), |
| ABISELECT(8,4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4zd53[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zd53[]; |
| static VTBL_ENTRY _tg__ZTV4sk21__4zd53[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk21[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4tk11__4zd53[] = { |
| ABISELECT(-8,-4), |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk11[0]), |
| }; |
| static VTT_ENTRY vtt_zd53[] = { |
| {&(_ZTV4zd53[6]), 6,10}, |
| {&(_ZTV4zd53[6]), 6,10}, |
| {&(_ZTV4zd53[10]), 10,10}, |
| {&(_tg__ZTV4sk21__4zd53[3]), 3,3}, |
| {&(_tg__ZTV4tk11__4zd53[4]), 4,4}, |
| }; |
| extern VTBL_ENTRY _ZTI4zd53[]; |
| extern VTBL_ENTRY _ZTV4zd53[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zd53[]; |
| Class_Descriptor cd_zd53 = { "zd53", // class name |
| bases_zd53, 5, |
| &(vtc_zd53[0]), // expected_vtbl_contents |
| &(vtt_zd53[0]), // expected_vtt_contents |
| ABISELECT(24,12), // object size |
| NSPAIRA(_ZTI4zd53),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zd53),10, //virtual function table var |
| 6, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zd53),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 za54 : sk21 , tk12 { |
| ~za54(); // tgen |
| za54(); // tgen |
| }; |
| //SIG(1 za54) C1{ BC2{ BC3{} VBC4{}} BC5{ VBC3 BC4}} |
| |
| |
| za54 ::~za54(){ note_dtor("za54", this);} // tgen |
| za54 ::za54(){ note_ctor("za54", this);} // tgen |
| |
| static void Test_za54() |
| { |
| extern Class_Descriptor cd_za54; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[4]; |
| init_test(&cd_za54, buf); |
| za54 *dp, &lv = *(dp=new (buf) za54()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(24,12), "sizeof(za54)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(za54)"); |
| check_base_class_offset(lv, (si*)(sk21*), 0, "za54"); |
| check_base_class_offset(lv, (sj*)(sk21*), 0, "za54"); |
| check_base_class_offset(lv, (sk21*), 0, "za54"); |
| check_base_class_offset(lv, (si*)(tk12*), ABISELECT(16,8), "za54"); |
| check_base_class_offset(lv, (sj*)(tk12*), ABISELECT(8,4), "za54"); |
| check_base_class_offset(lv, (tk12*), ABISELECT(8,4), "za54"); |
| test_class_info(&lv, &cd_za54); |
| dp->~za54(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vza54(Test_za54, "za54", ABISELECT(24,12)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4za54C1Ev(); |
| extern void _ZN4za54D1Ev(); |
| Name_Map name_map_za54[] = { |
| NSPAIR(_ZN4za54C1Ev), |
| NSPAIR(_ZN4za54D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk21; |
| extern VTBL_ENTRY _ZTI4sk21[]; |
| extern VTBL_ENTRY _ZTV4sk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk21[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk12; |
| extern VTBL_ENTRY _ZTI4tk12[]; |
| extern VTBL_ENTRY _ZTV4tk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk12[]; |
| static Base_Class bases_za54[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk21, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_si, 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 |
| 5, //immediately_derived |
| 0, 1}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 0}, |
| {&cd_tk12, ABISELECT(8,4), //bcp->offset |
| 4, //bcp->virtual_function_table_offset |
| 3, //num_negative_vtable_entries(t, bcp) |
| 4, //bcp->index_in_construction_vtbl_array |
| 3, //bcp->base_subarray_index_in_construction_vtbl_array |
| 2, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4za54[]; |
| static VTBL_ENTRY vtc_za54[] = { |
| ABISELECT(16,8), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4za54[0]), |
| ABISELECT(8,4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4za54[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4za54[]; |
| static VTBL_ENTRY _tg__ZTV4sk21__4za54[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk21[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4tk12__4za54[] = { |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk12[0]), |
| }; |
| static VTT_ENTRY vtt_za54[] = { |
| {&(_ZTV4za54[4]), 4,7}, |
| {&(_tg__ZTV4sk21__4za54[3]), 3,3}, |
| {&(_tg__ZTV4tk12__4za54[3]), 3,3}, |
| {&(_ZTV4za54[7]), 7,7}, |
| }; |
| extern VTBL_ENTRY _ZTI4za54[]; |
| extern VTBL_ENTRY _ZTV4za54[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4za54[]; |
| Class_Descriptor cd_za54 = { "za54", // class name |
| bases_za54, 6, |
| &(vtc_za54[0]), // expected_vtbl_contents |
| &(vtt_za54[0]), // expected_vtt_contents |
| ABISELECT(24,12), // object size |
| NSPAIRA(_ZTI4za54),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4za54),7, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4za54),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 zb54 : sk21 , virtual tk12 { |
| ~zb54(); // tgen |
| zb54(); // tgen |
| }; |
| //SIG(1 zb54) C1{ BC2{ BC3{} VBC4{}} VBC5{ VBC3 BC4}} |
| |
| |
| zb54 ::~zb54(){ note_dtor("zb54", this);} // tgen |
| zb54 ::zb54(){ note_ctor("zb54", this);} // tgen |
| |
| static void Test_zb54() |
| { |
| extern Class_Descriptor cd_zb54; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[4]; |
| init_test(&cd_zb54, buf); |
| zb54 *dp, &lv = *(dp=new (buf) zb54()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(24,12), "sizeof(zb54)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zb54)"); |
| check_base_class_offset(lv, (si*)(sk21*), 0, "zb54"); |
| check_base_class_offset(lv, (sj*)(sk21*), 0, "zb54"); |
| check_base_class_offset(lv, (sk21*), 0, "zb54"); |
| check_base_class_offset(lv, (si*)(tk12*), ABISELECT(16,8), "zb54"); |
| check_base_class_offset(lv, (sj*)(tk12*), ABISELECT(8,4), "zb54"); |
| check_base_class_offset(lv, (tk12*), ABISELECT(8,4), "zb54"); |
| test_class_info(&lv, &cd_zb54); |
| dp->~zb54(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzb54(Test_zb54, "zb54", ABISELECT(24,12)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zb54C1Ev(); |
| extern void _ZN4zb54D1Ev(); |
| Name_Map name_map_zb54[] = { |
| NSPAIR(_ZN4zb54C1Ev), |
| NSPAIR(_ZN4zb54D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk21; |
| extern VTBL_ENTRY _ZTI4sk21[]; |
| extern VTBL_ENTRY _ZTV4sk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk21[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk12; |
| extern VTBL_ENTRY _ZTI4tk12[]; |
| extern VTBL_ENTRY _ZTV4tk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk12[]; |
| static Base_Class bases_zb54[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk21, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_si, 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 |
| 5, //immediately_derived |
| 0, 1}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 0}, |
| {&cd_tk12, ABISELECT(8,4), //bcp->offset |
| 5, //bcp->virtual_function_table_offset |
| 3, //num_negative_vtable_entries(t, bcp) |
| 3, //bcp->index_in_construction_vtbl_array |
| 4, //bcp->base_subarray_index_in_construction_vtbl_array |
| 1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zb54[]; |
| static VTBL_ENTRY vtc_zb54[] = { |
| ABISELECT(16,8), |
| ABISELECT(8,4), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zb54[0]), |
| ABISELECT(8,4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4zb54[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zb54[]; |
| static VTBL_ENTRY _tg__ZTV4sk21__4zb54[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk21[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4tk12__4zb54[] = { |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk12[0]), |
| }; |
| static VTT_ENTRY vtt_zb54[] = { |
| {&(_ZTV4zb54[5]), 5,8}, |
| {&(_tg__ZTV4sk21__4zb54[3]), 3,3}, |
| {&(_ZTV4zb54[8]), 8,8}, |
| {&(_tg__ZTV4tk12__4zb54[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zb54[]; |
| extern VTBL_ENTRY _ZTV4zb54[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zb54[]; |
| Class_Descriptor cd_zb54 = { "zb54", // class name |
| bases_zb54, 6, |
| &(vtc_zb54[0]), // expected_vtbl_contents |
| &(vtt_zb54[0]), // expected_vtt_contents |
| ABISELECT(24,12), // object size |
| NSPAIRA(_ZTI4zb54),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zb54),8, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zb54),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 zc54 : virtual sk21 , tk12 { |
| ~zc54(); // tgen |
| zc54(); // tgen |
| }; |
| //SIG(1 zc54) C1{ VBC2{ BC3{} VBC4{}} BC5{ VBC3 BC4}} |
| |
| |
| zc54 ::~zc54(){ note_dtor("zc54", this);} // tgen |
| zc54 ::zc54(){ note_ctor("zc54", this);} // tgen |
| |
| static void Test_zc54() |
| { |
| extern Class_Descriptor cd_zc54; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[4]; |
| init_test(&cd_zc54, buf); |
| zc54 *dp, &lv = *(dp=new (buf) zc54()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(24,12), "sizeof(zc54)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zc54)"); |
| check_base_class_offset(lv, (si*)(sk21*), ABISELECT(8,4), "zc54"); |
| check_base_class_offset(lv, (sj*)(sk21*), ABISELECT(16,8), "zc54"); |
| check_base_class_offset(lv, (sk21*), ABISELECT(8,4), "zc54"); |
| check_base_class_offset(lv, (si*)(tk12*), 0, "zc54"); |
| check_base_class_offset(lv, (sj*)(tk12*), 0, "zc54"); |
| check_base_class_offset(lv, (tk12*), 0, "zc54"); |
| test_class_info(&lv, &cd_zc54); |
| dp->~zc54(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzc54(Test_zc54, "zc54", ABISELECT(24,12)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zc54C1Ev(); |
| extern void _ZN4zc54D1Ev(); |
| Name_Map name_map_zc54[] = { |
| NSPAIR(_ZN4zc54C1Ev), |
| NSPAIR(_ZN4zc54D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk21; |
| extern VTBL_ENTRY _ZTI4sk21[]; |
| extern VTBL_ENTRY _ZTV4sk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk21[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk12; |
| extern VTBL_ENTRY _ZTI4tk12[]; |
| extern VTBL_ENTRY _ZTV4tk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk12[]; |
| static Base_Class bases_zc54[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 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, 1}, |
| {&cd_sk21, ABISELECT(8,4), //bcp->offset |
| 5, //bcp->virtual_function_table_offset |
| 3, //num_negative_vtable_entries(t, bcp) |
| 3, //bcp->index_in_construction_vtbl_array |
| 4, //bcp->base_subarray_index_in_construction_vtbl_array |
| 1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 0}, |
| {&cd_tk12, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zc54[]; |
| static VTBL_ENTRY vtc_zc54[] = { |
| ABISELECT(16,8), |
| ABISELECT(8,4), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zc54[0]), |
| ABISELECT(8,4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4zc54[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zc54[]; |
| static VTBL_ENTRY _tg__ZTV4tk12__4zc54[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk12[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4sk21__4zc54[] = { |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk21[0]), |
| }; |
| static VTT_ENTRY vtt_zc54[] = { |
| {&(_ZTV4zc54[5]), 5,8}, |
| {&(_tg__ZTV4tk12__4zc54[3]), 3,3}, |
| {&(_ZTV4zc54[8]), 8,8}, |
| {&(_tg__ZTV4sk21__4zc54[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zc54[]; |
| extern VTBL_ENTRY _ZTV4zc54[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zc54[]; |
| Class_Descriptor cd_zc54 = { "zc54", // class name |
| bases_zc54, 6, |
| &(vtc_zc54[0]), // expected_vtbl_contents |
| &(vtt_zc54[0]), // expected_vtt_contents |
| ABISELECT(24,12), // object size |
| NSPAIRA(_ZTI4zc54),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zc54),8, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zc54),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 zd54 : virtual sk21 , virtual tk12 { |
| ~zd54(); // tgen |
| zd54(); // tgen |
| }; |
| //SIG(1 zd54) C1{ VBC2{ BC3{} VBC4{}} VBC5{ VBC3 BC4}} |
| |
| |
| zd54 ::~zd54(){ note_dtor("zd54", this);} // tgen |
| zd54 ::zd54(){ note_ctor("zd54", this);} // tgen |
| |
| static void Test_zd54() |
| { |
| extern Class_Descriptor cd_zd54; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[4]; |
| init_test(&cd_zd54, buf); |
| zd54 *dp, &lv = *(dp=new (buf) zd54()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(24,12), "sizeof(zd54)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zd54)"); |
| check_base_class_offset(lv, (si*)(sk21*), 0, "zd54"); |
| check_base_class_offset(lv, (sj*)(sk21*), 0, "zd54"); |
| check_base_class_offset(lv, (sk21*), 0, "zd54"); |
| check_base_class_offset(lv, (si*)(tk12*), ABISELECT(16,8), "zd54"); |
| check_base_class_offset(lv, (sj*)(tk12*), ABISELECT(8,4), "zd54"); |
| check_base_class_offset(lv, (tk12*), ABISELECT(8,4), "zd54"); |
| test_class_info(&lv, &cd_zd54); |
| dp->~zd54(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzd54(Test_zd54, "zd54", ABISELECT(24,12)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zd54C1Ev(); |
| extern void _ZN4zd54D1Ev(); |
| Name_Map name_map_zd54[] = { |
| NSPAIR(_ZN4zd54C1Ev), |
| NSPAIR(_ZN4zd54D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk21; |
| extern VTBL_ENTRY _ZTI4sk21[]; |
| extern VTBL_ENTRY _ZTV4sk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk21[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk12; |
| extern VTBL_ENTRY _ZTI4tk12[]; |
| extern VTBL_ENTRY _ZTV4tk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk12[]; |
| static Base_Class bases_zd54[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk21, 0, //bcp->offset |
| -1, //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_si, 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 |
| 5, //immediately_derived |
| 0, 1}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 0}, |
| {&cd_tk12, ABISELECT(8,4), //bcp->offset |
| 6, //bcp->virtual_function_table_offset |
| 3, //num_negative_vtable_entries(t, bcp) |
| 3, //bcp->index_in_construction_vtbl_array |
| 5, //bcp->base_subarray_index_in_construction_vtbl_array |
| 2, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zd54[]; |
| static VTBL_ENTRY vtc_zd54[] = { |
| ABISELECT(16,8), |
| ABISELECT(8,4), |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zd54[0]), |
| ABISELECT(8,4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4zd54[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zd54[]; |
| static VTBL_ENTRY _tg__ZTV4sk21__4zd54[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk21[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4tk12__4zd54[] = { |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk12[0]), |
| }; |
| static VTT_ENTRY vtt_zd54[] = { |
| {&(_ZTV4zd54[6]), 6,9}, |
| {&(_ZTV4zd54[6]), 6,9}, |
| {&(_ZTV4zd54[9]), 9,9}, |
| {&(_tg__ZTV4sk21__4zd54[3]), 3,3}, |
| {&(_tg__ZTV4tk12__4zd54[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zd54[]; |
| extern VTBL_ENTRY _ZTV4zd54[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zd54[]; |
| Class_Descriptor cd_zd54 = { "zd54", // class name |
| bases_zd54, 6, |
| &(vtc_zd54[0]), // expected_vtbl_contents |
| &(vtt_zd54[0]), // expected_vtt_contents |
| ABISELECT(24,12), // object size |
| NSPAIRA(_ZTI4zd54),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zd54),9, //virtual function table var |
| 6, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zd54),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 za55 : sk21 , tk21 { |
| ~za55(); // tgen |
| za55(); // tgen |
| }; |
| //SIG(1 za55) C1{ BC2{ BC3{} VBC4{}} BC5{ BC3 VBC4}} |
| |
| |
| za55 ::~za55(){ note_dtor("za55", this);} // tgen |
| za55 ::za55(){ note_ctor("za55", this);} // tgen |
| |
| static void Test_za55() |
| { |
| extern Class_Descriptor cd_za55; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_za55, buf); |
| za55 *dp, &lv = *(dp=new (buf) za55()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(za55)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(za55)"); |
| check_base_class_offset(lv, (si*)(sk21*), 0, "za55"); |
| check_base_class_offset(lv, (sj*)(sk21*), 0, "za55"); |
| check_base_class_offset(lv, (sj*)(tk21*), 0, "za55"); |
| check_base_class_offset(lv, (sk21*), 0, "za55"); |
| check_base_class_offset(lv, (si*)(tk21*), ABISELECT(8,4), "za55"); |
| check_base_class_offset(lv, (tk21*), ABISELECT(8,4), "za55"); |
| test_class_info(&lv, &cd_za55); |
| dp->~za55(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vza55(Test_za55, "za55", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4za55C1Ev(); |
| extern void _ZN4za55D1Ev(); |
| Name_Map name_map_za55[] = { |
| NSPAIR(_ZN4za55C1Ev), |
| NSPAIR(_ZN4za55D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk21; |
| extern VTBL_ENTRY _ZTI4sk21[]; |
| extern VTBL_ENTRY _ZTV4sk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk21[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_tk21; |
| extern VTBL_ENTRY _ZTI4tk21[]; |
| extern VTBL_ENTRY _ZTV4tk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk21[]; |
| static Base_Class bases_za55[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk21, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_si, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_tk21, ABISELECT(8,4), //bcp->offset |
| 3, //bcp->virtual_function_table_offset |
| 3, //num_negative_vtable_entries(t, bcp) |
| 4, //bcp->index_in_construction_vtbl_array |
| 3, //bcp->base_subarray_index_in_construction_vtbl_array |
| 2, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4za55[]; |
| static VTBL_ENTRY vtc_za55[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4za55[0]), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4za55[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4za55[]; |
| static VTBL_ENTRY _tg__ZTV4sk21__4za55[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk21[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4tk21__4za55[] = { |
| ABISELECT(-8,-4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk21[0]), |
| }; |
| static VTT_ENTRY vtt_za55[] = { |
| {&(_ZTV4za55[3]), 3,6}, |
| {&(_tg__ZTV4sk21__4za55[3]), 3,3}, |
| {&(_tg__ZTV4tk21__4za55[3]), 3,3}, |
| {&(_ZTV4za55[6]), 6,6}, |
| }; |
| extern VTBL_ENTRY _ZTI4za55[]; |
| extern VTBL_ENTRY _ZTV4za55[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4za55[]; |
| Class_Descriptor cd_za55 = { "za55", // class name |
| bases_za55, 5, |
| &(vtc_za55[0]), // expected_vtbl_contents |
| &(vtt_za55[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4za55),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4za55),6, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4za55),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 zb55 : sk21 , virtual tk21 { |
| ~zb55(); // tgen |
| zb55(); // tgen |
| }; |
| //SIG(1 zb55) C1{ BC2{ BC3{} VBC4{}} VBC5{ BC3 VBC4}} |
| |
| |
| zb55 ::~zb55(){ note_dtor("zb55", this);} // tgen |
| zb55 ::zb55(){ note_ctor("zb55", this);} // tgen |
| |
| static void Test_zb55() |
| { |
| extern Class_Descriptor cd_zb55; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zb55, buf); |
| zb55 *dp, &lv = *(dp=new (buf) zb55()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zb55)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zb55)"); |
| check_base_class_offset(lv, (si*)(sk21*), 0, "zb55"); |
| check_base_class_offset(lv, (sj*)(sk21*), 0, "zb55"); |
| check_base_class_offset(lv, (sj*)(tk21*), 0, "zb55"); |
| check_base_class_offset(lv, (sk21*), 0, "zb55"); |
| check_base_class_offset(lv, (si*)(tk21*), ABISELECT(8,4), "zb55"); |
| check_base_class_offset(lv, (tk21*), ABISELECT(8,4), "zb55"); |
| test_class_info(&lv, &cd_zb55); |
| dp->~zb55(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzb55(Test_zb55, "zb55", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zb55C1Ev(); |
| extern void _ZN4zb55D1Ev(); |
| Name_Map name_map_zb55[] = { |
| NSPAIR(_ZN4zb55C1Ev), |
| NSPAIR(_ZN4zb55D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk21; |
| extern VTBL_ENTRY _ZTI4sk21[]; |
| extern VTBL_ENTRY _ZTV4sk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk21[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_tk21; |
| extern VTBL_ENTRY _ZTI4tk21[]; |
| extern VTBL_ENTRY _ZTV4tk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk21[]; |
| static Base_Class bases_zb55[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk21, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_si, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_tk21, ABISELECT(8,4), //bcp->offset |
| 4, //bcp->virtual_function_table_offset |
| 3, //num_negative_vtable_entries(t, bcp) |
| 3, //bcp->index_in_construction_vtbl_array |
| 4, //bcp->base_subarray_index_in_construction_vtbl_array |
| 1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zb55[]; |
| static VTBL_ENTRY vtc_zb55[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zb55[0]), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4zb55[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zb55[]; |
| static VTBL_ENTRY _tg__ZTV4sk21__4zb55[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk21[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4tk21__4zb55[] = { |
| ABISELECT(-8,-4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk21[0]), |
| }; |
| static VTT_ENTRY vtt_zb55[] = { |
| {&(_ZTV4zb55[4]), 4,7}, |
| {&(_tg__ZTV4sk21__4zb55[3]), 3,3}, |
| {&(_ZTV4zb55[7]), 7,7}, |
| {&(_tg__ZTV4tk21__4zb55[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zb55[]; |
| extern VTBL_ENTRY _ZTV4zb55[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zb55[]; |
| Class_Descriptor cd_zb55 = { "zb55", // class name |
| bases_zb55, 5, |
| &(vtc_zb55[0]), // expected_vtbl_contents |
| &(vtt_zb55[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zb55),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zb55),7, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zb55),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 zc55 : virtual sk21 , tk21 { |
| ~zc55(); // tgen |
| zc55(); // tgen |
| }; |
| //SIG(1 zc55) C1{ VBC2{ BC3{} VBC4{}} BC5{ BC3 VBC4}} |
| |
| |
| zc55 ::~zc55(){ note_dtor("zc55", this);} // tgen |
| zc55 ::zc55(){ note_ctor("zc55", this);} // tgen |
| |
| static void Test_zc55() |
| { |
| extern Class_Descriptor cd_zc55; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zc55, buf); |
| zc55 *dp, &lv = *(dp=new (buf) zc55()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zc55)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zc55)"); |
| check_base_class_offset(lv, (si*)(sk21*), ABISELECT(8,4), "zc55"); |
| check_base_class_offset(lv, (sj*)(sk21*), 0, "zc55"); |
| check_base_class_offset(lv, (sj*)(tk21*), 0, "zc55"); |
| check_base_class_offset(lv, (sk21*), ABISELECT(8,4), "zc55"); |
| check_base_class_offset(lv, (si*)(tk21*), 0, "zc55"); |
| check_base_class_offset(lv, (tk21*), 0, "zc55"); |
| test_class_info(&lv, &cd_zc55); |
| dp->~zc55(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzc55(Test_zc55, "zc55", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zc55C1Ev(); |
| extern void _ZN4zc55D1Ev(); |
| Name_Map name_map_zc55[] = { |
| NSPAIR(_ZN4zc55C1Ev), |
| NSPAIR(_ZN4zc55D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk21; |
| extern VTBL_ENTRY _ZTI4sk21[]; |
| extern VTBL_ENTRY _ZTV4sk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk21[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_tk21; |
| extern VTBL_ENTRY _ZTI4tk21[]; |
| extern VTBL_ENTRY _ZTV4tk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk21[]; |
| static Base_Class bases_zc55[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk21, ABISELECT(8,4), //bcp->offset |
| 4, //bcp->virtual_function_table_offset |
| 3, //num_negative_vtable_entries(t, bcp) |
| 3, //bcp->index_in_construction_vtbl_array |
| 4, //bcp->base_subarray_index_in_construction_vtbl_array |
| 1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_tk21, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zc55[]; |
| static VTBL_ENTRY vtc_zc55[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zc55[0]), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4zc55[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zc55[]; |
| static VTBL_ENTRY _tg__ZTV4tk21__4zc55[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk21[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4sk21__4zc55[] = { |
| ABISELECT(-8,-4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk21[0]), |
| }; |
| static VTT_ENTRY vtt_zc55[] = { |
| {&(_ZTV4zc55[4]), 4,7}, |
| {&(_tg__ZTV4tk21__4zc55[3]), 3,3}, |
| {&(_ZTV4zc55[7]), 7,7}, |
| {&(_tg__ZTV4sk21__4zc55[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zc55[]; |
| extern VTBL_ENTRY _ZTV4zc55[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zc55[]; |
| Class_Descriptor cd_zc55 = { "zc55", // class name |
| bases_zc55, 5, |
| &(vtc_zc55[0]), // expected_vtbl_contents |
| &(vtt_zc55[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zc55),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zc55),7, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zc55),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 zd55 : virtual sk21 , virtual tk21 { |
| ~zd55(); // tgen |
| zd55(); // tgen |
| }; |
| //SIG(1 zd55) C1{ VBC2{ BC3{} VBC4{}} VBC5{ BC3 VBC4}} |
| |
| |
| zd55 ::~zd55(){ note_dtor("zd55", this);} // tgen |
| zd55 ::zd55(){ note_ctor("zd55", this);} // tgen |
| |
| static void Test_zd55() |
| { |
| extern Class_Descriptor cd_zd55; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zd55, buf); |
| zd55 *dp, &lv = *(dp=new (buf) zd55()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zd55)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zd55)"); |
| check_base_class_offset(lv, (si*)(sk21*), 0, "zd55"); |
| check_base_class_offset(lv, (sj*)(sk21*), 0, "zd55"); |
| check_base_class_offset(lv, (sj*)(tk21*), 0, "zd55"); |
| check_base_class_offset(lv, (sk21*), 0, "zd55"); |
| check_base_class_offset(lv, (si*)(tk21*), ABISELECT(8,4), "zd55"); |
| check_base_class_offset(lv, (tk21*), ABISELECT(8,4), "zd55"); |
| test_class_info(&lv, &cd_zd55); |
| dp->~zd55(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzd55(Test_zd55, "zd55", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zd55C1Ev(); |
| extern void _ZN4zd55D1Ev(); |
| Name_Map name_map_zd55[] = { |
| NSPAIR(_ZN4zd55C1Ev), |
| NSPAIR(_ZN4zd55D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk21; |
| extern VTBL_ENTRY _ZTI4sk21[]; |
| extern VTBL_ENTRY _ZTV4sk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk21[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_tk21; |
| extern VTBL_ENTRY _ZTI4tk21[]; |
| extern VTBL_ENTRY _ZTV4tk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk21[]; |
| static Base_Class bases_zd55[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk21, 0, //bcp->offset |
| -1, //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_si, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_tk21, ABISELECT(8,4), //bcp->offset |
| 5, //bcp->virtual_function_table_offset |
| 3, //num_negative_vtable_entries(t, bcp) |
| 3, //bcp->index_in_construction_vtbl_array |
| 5, //bcp->base_subarray_index_in_construction_vtbl_array |
| 2, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zd55[]; |
| static VTBL_ENTRY vtc_zd55[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zd55[0]), |
| ABISELECT(-8,-4), |
| ABISELECT(-8,-4), |
| (VTBL_ENTRY)&(_ZTI4zd55[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zd55[]; |
| static VTBL_ENTRY _tg__ZTV4sk21__4zd55[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk21[0]), |
| }; |
| static VTBL_ENTRY _tg__ZTV4tk21__4zd55[] = { |
| ABISELECT(-8,-4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk21[0]), |
| }; |
| static VTT_ENTRY vtt_zd55[] = { |
| {&(_ZTV4zd55[5]), 5,8}, |
| {&(_ZTV4zd55[5]), 5,8}, |
| {&(_ZTV4zd55[8]), 8,8}, |
| {&(_tg__ZTV4sk21__4zd55[3]), 3,3}, |
| {&(_tg__ZTV4tk21__4zd55[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zd55[]; |
| extern VTBL_ENTRY _ZTV4zd55[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zd55[]; |
| Class_Descriptor cd_zd55 = { "zd55", // class name |
| bases_zd55, 5, |
| &(vtc_zd55[0]), // expected_vtbl_contents |
| &(vtt_zd55[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zd55),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zd55),8, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zd55),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 za56 : sk21 , tk22 { |
| ~za56(); // tgen |
| za56(); // tgen |
| }; |
| //SIG(1 za56) C1{ BC2{ BC3{} VBC4{}} BC5{ BC3 BC4}} |
| |
| |
| za56 ::~za56(){ note_dtor("za56", this);} // tgen |
| za56 ::za56(){ note_ctor("za56", this);} // tgen |
| |
| static void Test_za56() |
| { |
| extern Class_Descriptor cd_za56; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_za56, buf); |
| za56 *dp, &lv = *(dp=new (buf) za56()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(za56)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(za56)"); |
| check_base_class_offset(lv, (si*)(sk21*), 0, "za56"); |
| check_base_class_offset(lv, (sj*)(sk21*), 0, "za56"); |
| check_base_class_offset(lv, (sk21*), 0, "za56"); |
| check_base_class_offset(lv, (si*)(tk22*), ABISELECT(8,4), "za56"); |
| check_base_class_offset(lv, (sj*)(tk22*), ABISELECT(8,4), "za56"); |
| check_base_class_offset(lv, (tk22*), ABISELECT(8,4), "za56"); |
| test_class_info(&lv, &cd_za56); |
| dp->~za56(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vza56(Test_za56, "za56", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4za56C1Ev(); |
| extern void _ZN4za56D1Ev(); |
| Name_Map name_map_za56[] = { |
| NSPAIR(_ZN4za56C1Ev), |
| NSPAIR(_ZN4za56D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk21; |
| extern VTBL_ENTRY _ZTI4sk21[]; |
| extern VTBL_ENTRY _ZTV4sk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk21[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk22; |
| extern VTBL_ENTRY _ZTI4tk22[]; |
| static Base_Class bases_za56[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk21, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_si, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 0}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 0}, |
| {&cd_tk22, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4za56[]; |
| static VTBL_ENTRY vtc_za56[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4za56[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4za56[]; |
| static VTBL_ENTRY _tg__ZTV4sk21__4za56[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk21[0]), |
| }; |
| static VTT_ENTRY vtt_za56[] = { |
| {&(_ZTV4za56[3]), 3,3}, |
| {&(_tg__ZTV4sk21__4za56[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4za56[]; |
| extern VTBL_ENTRY _ZTV4za56[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4za56[]; |
| Class_Descriptor cd_za56 = { "za56", // class name |
| bases_za56, 6, |
| &(vtc_za56[0]), // expected_vtbl_contents |
| &(vtt_za56[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4za56),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4za56),3, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4za56),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 zb56 : sk21 , virtual tk22 { |
| ~zb56(); // tgen |
| zb56(); // tgen |
| }; |
| //SIG(1 zb56) C1{ BC2{ BC3{} VBC4{}} VBC5{ BC3 BC4}} |
| |
| |
| zb56 ::~zb56(){ note_dtor("zb56", this);} // tgen |
| zb56 ::zb56(){ note_ctor("zb56", this);} // tgen |
| |
| static void Test_zb56() |
| { |
| extern Class_Descriptor cd_zb56; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zb56, buf); |
| zb56 *dp, &lv = *(dp=new (buf) zb56()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zb56)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zb56)"); |
| check_base_class_offset(lv, (si*)(sk21*), 0, "zb56"); |
| check_base_class_offset(lv, (sj*)(sk21*), 0, "zb56"); |
| check_base_class_offset(lv, (sk21*), 0, "zb56"); |
| check_base_class_offset(lv, (si*)(tk22*), ABISELECT(8,4), "zb56"); |
| check_base_class_offset(lv, (sj*)(tk22*), ABISELECT(8,4), "zb56"); |
| check_base_class_offset(lv, (tk22*), ABISELECT(8,4), "zb56"); |
| test_class_info(&lv, &cd_zb56); |
| dp->~zb56(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzb56(Test_zb56, "zb56", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zb56C1Ev(); |
| extern void _ZN4zb56D1Ev(); |
| Name_Map name_map_zb56[] = { |
| NSPAIR(_ZN4zb56C1Ev), |
| NSPAIR(_ZN4zb56D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk21; |
| extern VTBL_ENTRY _ZTI4sk21[]; |
| extern VTBL_ENTRY _ZTV4sk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk21[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk22; |
| extern VTBL_ENTRY _ZTI4tk22[]; |
| static Base_Class bases_zb56[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk21, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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_si, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 0}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 0}, |
| {&cd_tk22, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zb56[]; |
| static VTBL_ENTRY vtc_zb56[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zb56[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zb56[]; |
| static VTBL_ENTRY _tg__ZTV4sk21__4zb56[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk21[0]), |
| }; |
| static VTT_ENTRY vtt_zb56[] = { |
| {&(_ZTV4zb56[4]), 4,4}, |
| {&(_tg__ZTV4sk21__4zb56[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zb56[]; |
| extern VTBL_ENTRY _ZTV4zb56[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zb56[]; |
| Class_Descriptor cd_zb56 = { "zb56", // class name |
| bases_zb56, 6, |
| &(vtc_zb56[0]), // expected_vtbl_contents |
| &(vtt_zb56[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zb56),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zb56),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zb56),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 zc56 : virtual sk21 , tk22 { |
| ~zc56(); // tgen |
| zc56(); // tgen |
| }; |
| //SIG(1 zc56) C1{ VBC2{ BC3{} VBC4{}} BC5{ BC3 BC4}} |
| |
| |
| zc56 ::~zc56(){ note_dtor("zc56", this);} // tgen |
| zc56 ::zc56(){ note_ctor("zc56", this);} // tgen |
| |
| static void Test_zc56() |
| { |
| extern Class_Descriptor cd_zc56; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zc56, buf); |
| zc56 *dp, &lv = *(dp=new (buf) zc56()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zc56)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zc56)"); |
| check_base_class_offset(lv, (si*)(sk21*), 0, "zc56"); |
| check_base_class_offset(lv, (sj*)(sk21*), 0, "zc56"); |
| check_base_class_offset(lv, (sk21*), 0, "zc56"); |
| check_base_class_offset(lv, (si*)(tk22*), ABISELECT(8,4), "zc56"); |
| check_base_class_offset(lv, (sj*)(tk22*), ABISELECT(8,4), "zc56"); |
| check_base_class_offset(lv, (tk22*), ABISELECT(8,4), "zc56"); |
| test_class_info(&lv, &cd_zc56); |
| dp->~zc56(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzc56(Test_zc56, "zc56", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zc56C1Ev(); |
| extern void _ZN4zc56D1Ev(); |
| Name_Map name_map_zc56[] = { |
| NSPAIR(_ZN4zc56C1Ev), |
| NSPAIR(_ZN4zc56D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk21; |
| extern VTBL_ENTRY _ZTI4sk21[]; |
| extern VTBL_ENTRY _ZTV4sk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk21[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk22; |
| extern VTBL_ENTRY _ZTI4tk22[]; |
| static Base_Class bases_zc56[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk21, 0, //bcp->offset |
| -1, //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_si, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 0}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 0}, |
| {&cd_tk22, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zc56[]; |
| static VTBL_ENTRY vtc_zc56[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zc56[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zc56[]; |
| static VTBL_ENTRY _tg__ZTV4sk21__4zc56[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk21[0]), |
| }; |
| static VTT_ENTRY vtt_zc56[] = { |
| {&(_ZTV4zc56[4]), 4,4}, |
| {&(_ZTV4zc56[4]), 4,4}, |
| {&(_tg__ZTV4sk21__4zc56[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zc56[]; |
| extern VTBL_ENTRY _ZTV4zc56[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zc56[]; |
| Class_Descriptor cd_zc56 = { "zc56", // class name |
| bases_zc56, 6, |
| &(vtc_zc56[0]), // expected_vtbl_contents |
| &(vtt_zc56[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zc56),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zc56),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zc56),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 zd56 : virtual sk21 , virtual tk22 { |
| ~zd56(); // tgen |
| zd56(); // tgen |
| }; |
| //SIG(1 zd56) C1{ VBC2{ BC3{} VBC4{}} VBC5{ BC3 BC4}} |
| |
| |
| zd56 ::~zd56(){ note_dtor("zd56", this);} // tgen |
| zd56 ::zd56(){ note_ctor("zd56", this);} // tgen |
| |
| static void Test_zd56() |
| { |
| extern Class_Descriptor cd_zd56; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zd56, buf); |
| zd56 *dp, &lv = *(dp=new (buf) zd56()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zd56)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zd56)"); |
| check_base_class_offset(lv, (si*)(sk21*), 0, "zd56"); |
| check_base_class_offset(lv, (sj*)(sk21*), 0, "zd56"); |
| check_base_class_offset(lv, (sk21*), 0, "zd56"); |
| check_base_class_offset(lv, (si*)(tk22*), ABISELECT(8,4), "zd56"); |
| check_base_class_offset(lv, (sj*)(tk22*), ABISELECT(8,4), "zd56"); |
| check_base_class_offset(lv, (tk22*), ABISELECT(8,4), "zd56"); |
| test_class_info(&lv, &cd_zd56); |
| dp->~zd56(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzd56(Test_zd56, "zd56", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zd56C1Ev(); |
| extern void _ZN4zd56D1Ev(); |
| Name_Map name_map_zd56[] = { |
| NSPAIR(_ZN4zd56C1Ev), |
| NSPAIR(_ZN4zd56D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk21; |
| extern VTBL_ENTRY _ZTI4sk21[]; |
| extern VTBL_ENTRY _ZTV4sk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4sk21[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk22; |
| extern VTBL_ENTRY _ZTI4tk22[]; |
| static Base_Class bases_zd56[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 1}, |
| {&cd_sk21, 0, //bcp->offset |
| -1, //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_si, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 0}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 0}, |
| {&cd_tk22, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zd56[]; |
| static VTBL_ENTRY vtc_zd56[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zd56[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zd56[]; |
| static VTBL_ENTRY _tg__ZTV4sk21__4zd56[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4sk21[0]), |
| }; |
| static VTT_ENTRY vtt_zd56[] = { |
| {&(_ZTV4zd56[5]), 5,5}, |
| {&(_ZTV4zd56[5]), 5,5}, |
| {&(_tg__ZTV4sk21__4zd56[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zd56[]; |
| extern VTBL_ENTRY _ZTV4zd56[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zd56[]; |
| Class_Descriptor cd_zd56 = { "zd56", // class name |
| bases_zd56, 6, |
| &(vtc_zd56[0]), // expected_vtbl_contents |
| &(vtt_zd56[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zd56),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zd56),5, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zd56),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 xt6 : tk22 { |
| }; |
| //SIG(1 xt6) C1{ BC2{ BC3{} BC4{}}} |
| |
| |
| |
| static void Test_xt6() |
| { |
| extern Class_Descriptor cd_xt6; |
| void *lvp; |
| { |
| char buf[1]; |
| init_test(&cd_xt6, buf); |
| xt6 &lv = *(new (buf) xt6()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), 1, "sizeof(xt6)"); |
| check2(__alignof__(lv), 1, "__alignof__(xt6)"); |
| check_base_class_offset(lv, (si*)(tk22*), 0, "xt6"); |
| check_base_class_offset(lv, (sj*)(tk22*), 0, "xt6"); |
| check_base_class_offset(lv, (tk22*), 0, "xt6"); |
| test_class_info(&lv, &cd_xt6); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vxt6(Test_xt6, "xt6", 1); |
| |
| #else // __cplusplus |
| |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk22; |
| extern VTBL_ENTRY _ZTI4tk22[]; |
| static Base_Class bases_xt6[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_tk22, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //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_xt6 = { "xt6", // class name |
| bases_xt6, 3, |
| 0, // no vftv |
| 0, //no vtt |
| 1, // 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 yt6 : virtual tk22 { |
| ~yt6(); // tgen |
| yt6(); // tgen |
| }; |
| //SIG(1 yt6) C1{ VBC2{ BC3{} BC4{}}} |
| |
| |
| yt6 ::~yt6(){ note_dtor("yt6", this);} // tgen |
| yt6 ::yt6(){ note_ctor("yt6", this);} // tgen |
| |
| static void Test_yt6() |
| { |
| extern Class_Descriptor cd_yt6; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_yt6, buf); |
| yt6 *dp, &lv = *(dp=new (buf) yt6()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(yt6)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(yt6)"); |
| check_base_class_offset(lv, (si*)(tk22*), 0, "yt6"); |
| check_base_class_offset(lv, (sj*)(tk22*), 0, "yt6"); |
| check_base_class_offset(lv, (tk22*), 0, "yt6"); |
| test_class_info(&lv, &cd_yt6); |
| dp->~yt6(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vyt6(Test_yt6, "yt6", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN3yt6C1Ev(); |
| extern void _ZN3yt6D1Ev(); |
| Name_Map name_map_yt6[] = { |
| NSPAIR(_ZN3yt6C1Ev), |
| NSPAIR(_ZN3yt6D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk22; |
| extern VTBL_ENTRY _ZTI4tk22[]; |
| static Base_Class bases_yt6[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_tk22, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI3yt6[]; |
| static VTBL_ENTRY vtc_yt6[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI3yt6[0]), |
| }; |
| extern VTBL_ENTRY _ZTV3yt6[]; |
| static VTT_ENTRY vtt_yt6[] = { |
| {&(_ZTV3yt6[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI3yt6[]; |
| extern VTBL_ENTRY _ZTV3yt6[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT3yt6[]; |
| Class_Descriptor cd_yt6 = { "yt6", // class name |
| bases_yt6, 3, |
| &(vtc_yt6[0]), // expected_vtbl_contents |
| &(vtt_yt6[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI3yt6),ABISELECT(40,24), //typeinfo_var |
| NSPAIRA(_ZTV3yt6),3, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT3yt6),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 za60 : sk22 , tk00 { |
| }; |
| //SIG(1 za60) C1{ BC2{ BC3{} BC4{}} BC5{}} |
| |
| |
| |
| static void Test_za60() |
| { |
| extern Class_Descriptor cd_za60; |
| void *lvp; |
| { |
| char buf[1]; |
| init_test(&cd_za60, buf); |
| za60 &lv = *(new (buf) za60()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), 1, "sizeof(za60)"); |
| check2(__alignof__(lv), 1, "__alignof__(za60)"); |
| check_base_class_offset(lv, (si*)(sk22*), 0, "za60"); |
| check_base_class_offset(lv, (sj*)(sk22*), 0, "za60"); |
| check_base_class_offset(lv, (sk22*), 0, "za60"); |
| check_base_class_offset(lv, (tk00*), 0, "za60"); |
| test_class_info(&lv, &cd_za60); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vza60(Test_za60, "za60", 1); |
| |
| #else // __cplusplus |
| |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk22; |
| extern VTBL_ENTRY _ZTI4sk22[]; |
| extern Class_Descriptor cd_tk00; |
| extern VTBL_ENTRY _ZTI4tk00[]; |
| static Base_Class bases_za60[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk22, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_tk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //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_za60 = { "za60", // class name |
| bases_za60, 4, |
| 0, // no vftv |
| 0, //no vtt |
| 1, // 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 zb60 : sk22 , virtual tk00 { |
| ~zb60(); // tgen |
| zb60(); // tgen |
| }; |
| //SIG(1 zb60) C1{ BC2{ BC3{} BC4{}} VBC5{}} |
| |
| |
| zb60 ::~zb60(){ note_dtor("zb60", this);} // tgen |
| zb60 ::zb60(){ note_ctor("zb60", this);} // tgen |
| |
| static void Test_zb60() |
| { |
| extern Class_Descriptor cd_zb60; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_zb60, buf); |
| zb60 *dp, &lv = *(dp=new (buf) zb60()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(zb60)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zb60)"); |
| check_base_class_offset(lv, (si*)(sk22*), 0, "zb60"); |
| check_base_class_offset(lv, (sj*)(sk22*), 0, "zb60"); |
| check_base_class_offset(lv, (sk22*), 0, "zb60"); |
| check_base_class_offset(lv, (tk00*), 0, "zb60"); |
| test_class_info(&lv, &cd_zb60); |
| dp->~zb60(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzb60(Test_zb60, "zb60", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zb60C1Ev(); |
| extern void _ZN4zb60D1Ev(); |
| Name_Map name_map_zb60[] = { |
| NSPAIR(_ZN4zb60C1Ev), |
| NSPAIR(_ZN4zb60D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk22; |
| extern VTBL_ENTRY _ZTI4sk22[]; |
| extern Class_Descriptor cd_tk00; |
| extern VTBL_ENTRY _ZTI4tk00[]; |
| static Base_Class bases_zb60[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk22, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_tk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zb60[]; |
| static VTBL_ENTRY vtc_zb60[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zb60[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zb60[]; |
| static VTT_ENTRY vtt_zb60[] = { |
| {&(_ZTV4zb60[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zb60[]; |
| extern VTBL_ENTRY _ZTV4zb60[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zb60[]; |
| Class_Descriptor cd_zb60 = { "zb60", // class name |
| bases_zb60, 4, |
| &(vtc_zb60[0]), // expected_vtbl_contents |
| &(vtt_zb60[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4zb60),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zb60),3, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zb60),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 zc60 : virtual sk22 , tk00 { |
| ~zc60(); // tgen |
| zc60(); // tgen |
| }; |
| //SIG(1 zc60) C1{ VBC2{ BC3{} BC4{}} BC5{}} |
| |
| |
| zc60 ::~zc60(){ note_dtor("zc60", this);} // tgen |
| zc60 ::zc60(){ note_ctor("zc60", this);} // tgen |
| |
| static void Test_zc60() |
| { |
| extern Class_Descriptor cd_zc60; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_zc60, buf); |
| zc60 *dp, &lv = *(dp=new (buf) zc60()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(zc60)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zc60)"); |
| check_base_class_offset(lv, (si*)(sk22*), 0, "zc60"); |
| check_base_class_offset(lv, (sj*)(sk22*), 0, "zc60"); |
| check_base_class_offset(lv, (sk22*), 0, "zc60"); |
| check_base_class_offset(lv, (tk00*), 0, "zc60"); |
| test_class_info(&lv, &cd_zc60); |
| dp->~zc60(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzc60(Test_zc60, "zc60", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zc60C1Ev(); |
| extern void _ZN4zc60D1Ev(); |
| Name_Map name_map_zc60[] = { |
| NSPAIR(_ZN4zc60C1Ev), |
| NSPAIR(_ZN4zc60D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk22; |
| extern VTBL_ENTRY _ZTI4sk22[]; |
| extern Class_Descriptor cd_tk00; |
| extern VTBL_ENTRY _ZTI4tk00[]; |
| static Base_Class bases_zc60[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk22, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_tk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zc60[]; |
| static VTBL_ENTRY vtc_zc60[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zc60[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zc60[]; |
| static VTT_ENTRY vtt_zc60[] = { |
| {&(_ZTV4zc60[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zc60[]; |
| extern VTBL_ENTRY _ZTV4zc60[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zc60[]; |
| Class_Descriptor cd_zc60 = { "zc60", // class name |
| bases_zc60, 4, |
| &(vtc_zc60[0]), // expected_vtbl_contents |
| &(vtt_zc60[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4zc60),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zc60),3, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zc60),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 zd60 : virtual sk22 , virtual tk00 { |
| ~zd60(); // tgen |
| zd60(); // tgen |
| }; |
| //SIG(1 zd60) C1{ VBC2{ BC3{} BC4{}} VBC5{}} |
| |
| |
| zd60 ::~zd60(){ note_dtor("zd60", this);} // tgen |
| zd60 ::zd60(){ note_ctor("zd60", this);} // tgen |
| |
| static void Test_zd60() |
| { |
| extern Class_Descriptor cd_zd60; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[2]; |
| init_test(&cd_zd60, buf); |
| zd60 *dp, &lv = *(dp=new (buf) zd60()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(8,4), "sizeof(zd60)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zd60)"); |
| check_base_class_offset(lv, (si*)(sk22*), 0, "zd60"); |
| check_base_class_offset(lv, (sj*)(sk22*), 0, "zd60"); |
| check_base_class_offset(lv, (sk22*), 0, "zd60"); |
| check_base_class_offset(lv, (tk00*), 0, "zd60"); |
| test_class_info(&lv, &cd_zd60); |
| dp->~zd60(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzd60(Test_zd60, "zd60", ABISELECT(8,4)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zd60C1Ev(); |
| extern void _ZN4zd60D1Ev(); |
| Name_Map name_map_zd60[] = { |
| NSPAIR(_ZN4zd60C1Ev), |
| NSPAIR(_ZN4zd60D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk22; |
| extern VTBL_ENTRY _ZTI4sk22[]; |
| extern Class_Descriptor cd_tk00; |
| extern VTBL_ENTRY _ZTI4tk00[]; |
| static Base_Class bases_zd60[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk22, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_tk00, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zd60[]; |
| static VTBL_ENTRY vtc_zd60[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zd60[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zd60[]; |
| static VTT_ENTRY vtt_zd60[] = { |
| {&(_ZTV4zd60[4]), 4,4}, |
| }; |
| extern VTBL_ENTRY _ZTI4zd60[]; |
| extern VTBL_ENTRY _ZTV4zd60[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zd60[]; |
| Class_Descriptor cd_zd60 = { "zd60", // class name |
| bases_zd60, 4, |
| &(vtc_zd60[0]), // expected_vtbl_contents |
| &(vtt_zd60[0]), // expected_vtt_contents |
| ABISELECT(8,4), // object size |
| NSPAIRA(_ZTI4zd60),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zd60),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zd60),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 za61 : sk22 , tk01 { |
| ~za61(); // tgen |
| za61(); // tgen |
| }; |
| //SIG(1 za61) C1{ BC2{ BC3{} BC4{}} BC5{ VBC4}} |
| |
| |
| za61 ::~za61(){ note_dtor("za61", this);} // tgen |
| za61 ::za61(){ note_ctor("za61", this);} // tgen |
| |
| static void Test_za61() |
| { |
| extern Class_Descriptor cd_za61; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_za61, buf); |
| za61 *dp, &lv = *(dp=new (buf) za61()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(za61)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(za61)"); |
| check_base_class_offset(lv, (si*)(sk22*), 0, "za61"); |
| check_base_class_offset(lv, (sj*)(sk22*), 0, "za61"); |
| check_base_class_offset(lv, (sk22*), 0, "za61"); |
| check_base_class_offset(lv, (sj*)(tk01*), ABISELECT(8,4), "za61"); |
| check_base_class_offset(lv, (tk01*), 0, "za61"); |
| test_class_info(&lv, &cd_za61); |
| dp->~za61(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vza61(Test_za61, "za61", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4za61C1Ev(); |
| extern void _ZN4za61D1Ev(); |
| Name_Map name_map_za61[] = { |
| NSPAIR(_ZN4za61C1Ev), |
| NSPAIR(_ZN4za61D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk22; |
| extern VTBL_ENTRY _ZTI4sk22[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk01; |
| extern VTBL_ENTRY _ZTI4tk01[]; |
| extern VTBL_ENTRY _ZTV4tk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk01[]; |
| static Base_Class bases_za61[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk22, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 1}, |
| {&cd_tk01, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4za61[]; |
| static VTBL_ENTRY vtc_za61[] = { |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4za61[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4za61[]; |
| static VTBL_ENTRY _tg__ZTV4tk01__4za61[] = { |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk01[0]), |
| }; |
| static VTT_ENTRY vtt_za61[] = { |
| {&(_ZTV4za61[3]), 3,3}, |
| {&(_tg__ZTV4tk01__4za61[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4za61[]; |
| extern VTBL_ENTRY _ZTV4za61[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4za61[]; |
| Class_Descriptor cd_za61 = { "za61", // class name |
| bases_za61, 5, |
| &(vtc_za61[0]), // expected_vtbl_contents |
| &(vtt_za61[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4za61),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4za61),3, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4za61),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 zb61 : sk22 , virtual tk01 { |
| ~zb61(); // tgen |
| zb61(); // tgen |
| }; |
| //SIG(1 zb61) C1{ BC2{ BC3{} BC4{}} VBC5{ VBC4}} |
| |
| |
| zb61 ::~zb61(){ note_dtor("zb61", this);} // tgen |
| zb61 ::zb61(){ note_ctor("zb61", this);} // tgen |
| |
| static void Test_zb61() |
| { |
| extern Class_Descriptor cd_zb61; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zb61, buf); |
| zb61 *dp, &lv = *(dp=new (buf) zb61()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zb61)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zb61)"); |
| check_base_class_offset(lv, (si*)(sk22*), 0, "zb61"); |
| check_base_class_offset(lv, (sj*)(sk22*), 0, "zb61"); |
| check_base_class_offset(lv, (sk22*), 0, "zb61"); |
| check_base_class_offset(lv, (sj*)(tk01*), ABISELECT(8,4), "zb61"); |
| check_base_class_offset(lv, (tk01*), 0, "zb61"); |
| test_class_info(&lv, &cd_zb61); |
| dp->~zb61(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzb61(Test_zb61, "zb61", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zb61C1Ev(); |
| extern void _ZN4zb61D1Ev(); |
| Name_Map name_map_zb61[] = { |
| NSPAIR(_ZN4zb61C1Ev), |
| NSPAIR(_ZN4zb61D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk22; |
| extern VTBL_ENTRY _ZTI4sk22[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk01; |
| extern VTBL_ENTRY _ZTI4tk01[]; |
| extern VTBL_ENTRY _ZTV4tk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk01[]; |
| static Base_Class bases_zb61[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk22, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 1}, |
| {&cd_tk01, 0, //bcp->offset |
| -1, //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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zb61[]; |
| static VTBL_ENTRY vtc_zb61[] = { |
| 0, |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zb61[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zb61[]; |
| static VTBL_ENTRY _tg__ZTV4tk01__4zb61[] = { |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk01[0]), |
| }; |
| static VTT_ENTRY vtt_zb61[] = { |
| {&(_ZTV4zb61[4]), 4,4}, |
| {&(_ZTV4zb61[4]), 4,4}, |
| {&(_tg__ZTV4tk01__4zb61[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zb61[]; |
| extern VTBL_ENTRY _ZTV4zb61[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zb61[]; |
| Class_Descriptor cd_zb61 = { "zb61", // class name |
| bases_zb61, 5, |
| &(vtc_zb61[0]), // expected_vtbl_contents |
| &(vtt_zb61[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zb61),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zb61),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zb61),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 zc61 : virtual sk22 , tk01 { |
| ~zc61(); // tgen |
| zc61(); // tgen |
| }; |
| //SIG(1 zc61) C1{ VBC2{ BC3{} BC4{}} BC5{ VBC4}} |
| |
| |
| zc61 ::~zc61(){ note_dtor("zc61", this);} // tgen |
| zc61 ::zc61(){ note_ctor("zc61", this);} // tgen |
| |
| static void Test_zc61() |
| { |
| extern Class_Descriptor cd_zc61; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zc61, buf); |
| zc61 *dp, &lv = *(dp=new (buf) zc61()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zc61)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zc61)"); |
| check_base_class_offset(lv, (si*)(sk22*), 0, "zc61"); |
| check_base_class_offset(lv, (sj*)(sk22*), 0, "zc61"); |
| check_base_class_offset(lv, (sk22*), 0, "zc61"); |
| check_base_class_offset(lv, (sj*)(tk01*), ABISELECT(8,4), "zc61"); |
| check_base_class_offset(lv, (tk01*), 0, "zc61"); |
| test_class_info(&lv, &cd_zc61); |
| dp->~zc61(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzc61(Test_zc61, "zc61", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zc61C1Ev(); |
| extern void _ZN4zc61D1Ev(); |
| Name_Map name_map_zc61[] = { |
| NSPAIR(_ZN4zc61C1Ev), |
| NSPAIR(_ZN4zc61D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk22; |
| extern VTBL_ENTRY _ZTI4sk22[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk01; |
| extern VTBL_ENTRY _ZTI4tk01[]; |
| extern VTBL_ENTRY _ZTV4tk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk01[]; |
| static Base_Class bases_zc61[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk22, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 1}, |
| {&cd_tk01, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zc61[]; |
| static VTBL_ENTRY vtc_zc61[] = { |
| 0, |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zc61[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zc61[]; |
| static VTBL_ENTRY _tg__ZTV4tk01__4zc61[] = { |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk01[0]), |
| }; |
| static VTT_ENTRY vtt_zc61[] = { |
| {&(_ZTV4zc61[4]), 4,4}, |
| {&(_tg__ZTV4tk01__4zc61[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zc61[]; |
| extern VTBL_ENTRY _ZTV4zc61[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zc61[]; |
| Class_Descriptor cd_zc61 = { "zc61", // class name |
| bases_zc61, 5, |
| &(vtc_zc61[0]), // expected_vtbl_contents |
| &(vtt_zc61[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zc61),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zc61),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zc61),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 zd61 : virtual sk22 , virtual tk01 { |
| ~zd61(); // tgen |
| zd61(); // tgen |
| }; |
| //SIG(1 zd61) C1{ VBC2{ BC3{} BC4{}} VBC5{ VBC4}} |
| |
| |
| zd61 ::~zd61(){ note_dtor("zd61", this);} // tgen |
| zd61 ::zd61(){ note_ctor("zd61", this);} // tgen |
| |
| static void Test_zd61() |
| { |
| extern Class_Descriptor cd_zd61; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zd61, buf); |
| zd61 *dp, &lv = *(dp=new (buf) zd61()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zd61)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zd61)"); |
| check_base_class_offset(lv, (si*)(sk22*), 0, "zd61"); |
| check_base_class_offset(lv, (sj*)(sk22*), 0, "zd61"); |
| check_base_class_offset(lv, (sk22*), 0, "zd61"); |
| check_base_class_offset(lv, (sj*)(tk01*), ABISELECT(8,4), "zd61"); |
| check_base_class_offset(lv, (tk01*), 0, "zd61"); |
| test_class_info(&lv, &cd_zd61); |
| dp->~zd61(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzd61(Test_zd61, "zd61", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zd61C1Ev(); |
| extern void _ZN4zd61D1Ev(); |
| Name_Map name_map_zd61[] = { |
| NSPAIR(_ZN4zd61C1Ev), |
| NSPAIR(_ZN4zd61D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk22; |
| extern VTBL_ENTRY _ZTI4sk22[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk01; |
| extern VTBL_ENTRY _ZTI4tk01[]; |
| extern VTBL_ENTRY _ZTV4tk01[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk01[]; |
| static Base_Class bases_zd61[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk22, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 1}, |
| {&cd_tk01, 0, //bcp->offset |
| -1, //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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zd61[]; |
| static VTBL_ENTRY vtc_zd61[] = { |
| 0, |
| 0, |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zd61[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zd61[]; |
| static VTBL_ENTRY _tg__ZTV4tk01__4zd61[] = { |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk01[0]), |
| }; |
| static VTT_ENTRY vtt_zd61[] = { |
| {&(_ZTV4zd61[5]), 5,5}, |
| {&(_ZTV4zd61[5]), 5,5}, |
| {&(_tg__ZTV4tk01__4zd61[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zd61[]; |
| extern VTBL_ENTRY _ZTV4zd61[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zd61[]; |
| Class_Descriptor cd_zd61 = { "zd61", // class name |
| bases_zd61, 5, |
| &(vtc_zd61[0]), // expected_vtbl_contents |
| &(vtt_zd61[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zd61),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zd61),5, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zd61),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 za62 : sk22 , tk02 { |
| }; |
| //SIG(1 za62) C1{ BC2{ BC3{} BC4{}} BC5{ BC4}} |
| |
| |
| |
| static void Test_za62() |
| { |
| extern Class_Descriptor cd_za62; |
| void *lvp; |
| { |
| char buf[2]; |
| init_test(&cd_za62, buf); |
| za62 &lv = *(new (buf) za62()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), 2, "sizeof(za62)"); |
| check2(__alignof__(lv), 1, "__alignof__(za62)"); |
| check_base_class_offset(lv, (si*)(sk22*), 0, "za62"); |
| check_base_class_offset(lv, (sj*)(sk22*), 0, "za62"); |
| check_base_class_offset(lv, (sk22*), 0, "za62"); |
| check_base_class_offset(lv, (sj*)(tk02*), 1, "za62"); |
| check_base_class_offset(lv, (tk02*), 1, "za62"); |
| test_class_info(&lv, &cd_za62); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vza62(Test_za62, "za62", 2); |
| |
| #else // __cplusplus |
| |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk22; |
| extern VTBL_ENTRY _ZTI4sk22[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk02; |
| extern VTBL_ENTRY _ZTI4tk02[]; |
| static Base_Class bases_za62[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk22, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sj, 1, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_tk02, 1, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //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_za62 = { "za62", // class name |
| bases_za62, 5, |
| 0, // no vftv |
| 0, //no vtt |
| 2, // 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 zb62 : sk22 , virtual tk02 { |
| ~zb62(); // tgen |
| zb62(); // tgen |
| }; |
| //SIG(1 zb62) C1{ BC2{ BC3{} BC4{}} VBC5{ BC4}} |
| |
| |
| zb62 ::~zb62(){ note_dtor("zb62", this);} // tgen |
| zb62 ::zb62(){ note_ctor("zb62", this);} // tgen |
| |
| static void Test_zb62() |
| { |
| extern Class_Descriptor cd_zb62; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zb62, buf); |
| zb62 *dp, &lv = *(dp=new (buf) zb62()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zb62)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zb62)"); |
| check_base_class_offset(lv, (si*)(sk22*), 0, "zb62"); |
| check_base_class_offset(lv, (sj*)(sk22*), 0, "zb62"); |
| check_base_class_offset(lv, (sk22*), 0, "zb62"); |
| check_base_class_offset(lv, (sj*)(tk02*), ABISELECT(8,4), "zb62"); |
| check_base_class_offset(lv, (tk02*), ABISELECT(8,4), "zb62"); |
| test_class_info(&lv, &cd_zb62); |
| dp->~zb62(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzb62(Test_zb62, "zb62", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zb62C1Ev(); |
| extern void _ZN4zb62D1Ev(); |
| Name_Map name_map_zb62[] = { |
| NSPAIR(_ZN4zb62C1Ev), |
| NSPAIR(_ZN4zb62D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk22; |
| extern VTBL_ENTRY _ZTI4sk22[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk02; |
| extern VTBL_ENTRY _ZTI4tk02[]; |
| static Base_Class bases_zb62[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk22, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_tk02, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zb62[]; |
| static VTBL_ENTRY vtc_zb62[] = { |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zb62[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zb62[]; |
| static VTT_ENTRY vtt_zb62[] = { |
| {&(_ZTV4zb62[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zb62[]; |
| extern VTBL_ENTRY _ZTV4zb62[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zb62[]; |
| Class_Descriptor cd_zb62 = { "zb62", // class name |
| bases_zb62, 5, |
| &(vtc_zb62[0]), // expected_vtbl_contents |
| &(vtt_zb62[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zb62),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zb62),3, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zb62),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 zc62 : virtual sk22 , tk02 { |
| ~zc62(); // tgen |
| zc62(); // tgen |
| }; |
| //SIG(1 zc62) C1{ VBC2{ BC3{} BC4{}} BC5{ BC4}} |
| |
| |
| zc62 ::~zc62(){ note_dtor("zc62", this);} // tgen |
| zc62 ::zc62(){ note_ctor("zc62", this);} // tgen |
| |
| static void Test_zc62() |
| { |
| extern Class_Descriptor cd_zc62; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zc62, buf); |
| zc62 *dp, &lv = *(dp=new (buf) zc62()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zc62)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zc62)"); |
| check_base_class_offset(lv, (si*)(sk22*), ABISELECT(8,4), "zc62"); |
| check_base_class_offset(lv, (sj*)(sk22*), ABISELECT(8,4), "zc62"); |
| check_base_class_offset(lv, (sk22*), ABISELECT(8,4), "zc62"); |
| check_base_class_offset(lv, (sj*)(tk02*), 0, "zc62"); |
| check_base_class_offset(lv, (tk02*), 0, "zc62"); |
| test_class_info(&lv, &cd_zc62); |
| dp->~zc62(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzc62(Test_zc62, "zc62", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zc62C1Ev(); |
| extern void _ZN4zc62D1Ev(); |
| Name_Map name_map_zc62[] = { |
| NSPAIR(_ZN4zc62C1Ev), |
| NSPAIR(_ZN4zc62D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk22; |
| extern VTBL_ENTRY _ZTI4sk22[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk02; |
| extern VTBL_ENTRY _ZTI4tk02[]; |
| static Base_Class bases_zc62[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk22, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_tk02, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zc62[]; |
| static VTBL_ENTRY vtc_zc62[] = { |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zc62[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zc62[]; |
| static VTT_ENTRY vtt_zc62[] = { |
| {&(_ZTV4zc62[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zc62[]; |
| extern VTBL_ENTRY _ZTV4zc62[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zc62[]; |
| Class_Descriptor cd_zc62 = { "zc62", // class name |
| bases_zc62, 5, |
| &(vtc_zc62[0]), // expected_vtbl_contents |
| &(vtt_zc62[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zc62),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zc62),3, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zc62),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 zd62 : virtual sk22 , virtual tk02 { |
| ~zd62(); // tgen |
| zd62(); // tgen |
| }; |
| //SIG(1 zd62) C1{ VBC2{ BC3{} BC4{}} VBC5{ BC4}} |
| |
| |
| zd62 ::~zd62(){ note_dtor("zd62", this);} // tgen |
| zd62 ::zd62(){ note_ctor("zd62", this);} // tgen |
| |
| static void Test_zd62() |
| { |
| extern Class_Descriptor cd_zd62; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zd62, buf); |
| zd62 *dp, &lv = *(dp=new (buf) zd62()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zd62)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zd62)"); |
| check_base_class_offset(lv, (si*)(sk22*), 0, "zd62"); |
| check_base_class_offset(lv, (sj*)(sk22*), 0, "zd62"); |
| check_base_class_offset(lv, (sk22*), 0, "zd62"); |
| check_base_class_offset(lv, (sj*)(tk02*), ABISELECT(8,4), "zd62"); |
| check_base_class_offset(lv, (tk02*), ABISELECT(8,4), "zd62"); |
| test_class_info(&lv, &cd_zd62); |
| dp->~zd62(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzd62(Test_zd62, "zd62", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zd62C1Ev(); |
| extern void _ZN4zd62D1Ev(); |
| Name_Map name_map_zd62[] = { |
| NSPAIR(_ZN4zd62C1Ev), |
| NSPAIR(_ZN4zd62D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk22; |
| extern VTBL_ENTRY _ZTI4sk22[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk02; |
| extern VTBL_ENTRY _ZTI4tk02[]; |
| static Base_Class bases_zd62[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk22, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 4, //immediately_derived |
| 0, 0}, |
| {&cd_tk02, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zd62[]; |
| static VTBL_ENTRY vtc_zd62[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zd62[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zd62[]; |
| static VTT_ENTRY vtt_zd62[] = { |
| {&(_ZTV4zd62[4]), 4,4}, |
| }; |
| extern VTBL_ENTRY _ZTI4zd62[]; |
| extern VTBL_ENTRY _ZTV4zd62[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zd62[]; |
| Class_Descriptor cd_zd62 = { "zd62", // class name |
| bases_zd62, 5, |
| &(vtc_zd62[0]), // expected_vtbl_contents |
| &(vtt_zd62[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zd62),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zd62),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zd62),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 za63 : sk22 , tk11 { |
| ~za63(); // tgen |
| za63(); // tgen |
| }; |
| //SIG(1 za63) C1{ BC2{ BC3{} BC4{}} BC5{ VBC3 VBC4}} |
| |
| |
| za63 ::~za63(){ note_dtor("za63", this);} // tgen |
| za63 ::za63(){ note_ctor("za63", this);} // tgen |
| |
| static void Test_za63() |
| { |
| extern Class_Descriptor cd_za63; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_za63, buf); |
| za63 *dp, &lv = *(dp=new (buf) za63()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(za63)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(za63)"); |
| check_base_class_offset(lv, (si*)(sk22*), 0, "za63"); |
| check_base_class_offset(lv, (sj*)(sk22*), 0, "za63"); |
| check_base_class_offset(lv, (sk22*), 0, "za63"); |
| check_base_class_offset(lv, (si*)(tk11*), ABISELECT(8,4), "za63"); |
| check_base_class_offset(lv, (sj*)(tk11*), ABISELECT(8,4), "za63"); |
| check_base_class_offset(lv, (tk11*), 0, "za63"); |
| test_class_info(&lv, &cd_za63); |
| dp->~za63(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vza63(Test_za63, "za63", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4za63C1Ev(); |
| extern void _ZN4za63D1Ev(); |
| Name_Map name_map_za63[] = { |
| NSPAIR(_ZN4za63C1Ev), |
| NSPAIR(_ZN4za63D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk22; |
| extern VTBL_ENTRY _ZTI4sk22[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk11; |
| extern VTBL_ENTRY _ZTI4tk11[]; |
| extern VTBL_ENTRY _ZTV4tk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk11[]; |
| static Base_Class bases_za63[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk22, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_si, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 1}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 1}, |
| {&cd_tk11, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4za63[]; |
| static VTBL_ENTRY vtc_za63[] = { |
| ABISELECT(8,4), |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4za63[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4za63[]; |
| static VTBL_ENTRY _tg__ZTV4tk11__4za63[] = { |
| ABISELECT(8,4), |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk11[0]), |
| }; |
| static VTT_ENTRY vtt_za63[] = { |
| {&(_ZTV4za63[4]), 4,4}, |
| {&(_tg__ZTV4tk11__4za63[4]), 4,4}, |
| }; |
| extern VTBL_ENTRY _ZTI4za63[]; |
| extern VTBL_ENTRY _ZTV4za63[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4za63[]; |
| Class_Descriptor cd_za63 = { "za63", // class name |
| bases_za63, 6, |
| &(vtc_za63[0]), // expected_vtbl_contents |
| &(vtt_za63[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4za63),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4za63),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4za63),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 zb63 : sk22 , virtual tk11 { |
| ~zb63(); // tgen |
| zb63(); // tgen |
| }; |
| //SIG(1 zb63) C1{ BC2{ BC3{} BC4{}} VBC5{ VBC3 VBC4}} |
| |
| |
| zb63 ::~zb63(){ note_dtor("zb63", this);} // tgen |
| zb63 ::zb63(){ note_ctor("zb63", this);} // tgen |
| |
| static void Test_zb63() |
| { |
| extern Class_Descriptor cd_zb63; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zb63, buf); |
| zb63 *dp, &lv = *(dp=new (buf) zb63()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zb63)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zb63)"); |
| check_base_class_offset(lv, (si*)(sk22*), 0, "zb63"); |
| check_base_class_offset(lv, (sj*)(sk22*), 0, "zb63"); |
| check_base_class_offset(lv, (sk22*), 0, "zb63"); |
| check_base_class_offset(lv, (si*)(tk11*), ABISELECT(8,4), "zb63"); |
| check_base_class_offset(lv, (sj*)(tk11*), ABISELECT(8,4), "zb63"); |
| check_base_class_offset(lv, (tk11*), 0, "zb63"); |
| test_class_info(&lv, &cd_zb63); |
| dp->~zb63(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzb63(Test_zb63, "zb63", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zb63C1Ev(); |
| extern void _ZN4zb63D1Ev(); |
| Name_Map name_map_zb63[] = { |
| NSPAIR(_ZN4zb63C1Ev), |
| NSPAIR(_ZN4zb63D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk22; |
| extern VTBL_ENTRY _ZTI4sk22[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk11; |
| extern VTBL_ENTRY _ZTI4tk11[]; |
| extern VTBL_ENTRY _ZTV4tk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk11[]; |
| static Base_Class bases_zb63[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk22, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_si, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 1}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 1}, |
| {&cd_tk11, 0, //bcp->offset |
| -1, //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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zb63[]; |
| static VTBL_ENTRY vtc_zb63[] = { |
| 0, |
| ABISELECT(8,4), |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zb63[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zb63[]; |
| static VTBL_ENTRY _tg__ZTV4tk11__4zb63[] = { |
| ABISELECT(8,4), |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk11[0]), |
| }; |
| static VTT_ENTRY vtt_zb63[] = { |
| {&(_ZTV4zb63[5]), 5,5}, |
| {&(_ZTV4zb63[5]), 5,5}, |
| {&(_tg__ZTV4tk11__4zb63[4]), 4,4}, |
| }; |
| extern VTBL_ENTRY _ZTI4zb63[]; |
| extern VTBL_ENTRY _ZTV4zb63[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zb63[]; |
| Class_Descriptor cd_zb63 = { "zb63", // class name |
| bases_zb63, 6, |
| &(vtc_zb63[0]), // expected_vtbl_contents |
| &(vtt_zb63[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zb63),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zb63),5, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zb63),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 zc63 : virtual sk22 , tk11 { |
| ~zc63(); // tgen |
| zc63(); // tgen |
| }; |
| //SIG(1 zc63) C1{ VBC2{ BC3{} BC4{}} BC5{ VBC3 VBC4}} |
| |
| |
| zc63 ::~zc63(){ note_dtor("zc63", this);} // tgen |
| zc63 ::zc63(){ note_ctor("zc63", this);} // tgen |
| |
| static void Test_zc63() |
| { |
| extern Class_Descriptor cd_zc63; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zc63, buf); |
| zc63 *dp, &lv = *(dp=new (buf) zc63()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zc63)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zc63)"); |
| check_base_class_offset(lv, (si*)(sk22*), 0, "zc63"); |
| check_base_class_offset(lv, (sj*)(sk22*), 0, "zc63"); |
| check_base_class_offset(lv, (sk22*), 0, "zc63"); |
| check_base_class_offset(lv, (si*)(tk11*), ABISELECT(8,4), "zc63"); |
| check_base_class_offset(lv, (sj*)(tk11*), ABISELECT(8,4), "zc63"); |
| check_base_class_offset(lv, (tk11*), 0, "zc63"); |
| test_class_info(&lv, &cd_zc63); |
| dp->~zc63(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzc63(Test_zc63, "zc63", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zc63C1Ev(); |
| extern void _ZN4zc63D1Ev(); |
| Name_Map name_map_zc63[] = { |
| NSPAIR(_ZN4zc63C1Ev), |
| NSPAIR(_ZN4zc63D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk22; |
| extern VTBL_ENTRY _ZTI4sk22[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk11; |
| extern VTBL_ENTRY _ZTI4tk11[]; |
| extern VTBL_ENTRY _ZTV4tk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk11[]; |
| static Base_Class bases_zc63[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk22, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_si, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 1}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 1}, |
| {&cd_tk11, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zc63[]; |
| static VTBL_ENTRY vtc_zc63[] = { |
| 0, |
| ABISELECT(8,4), |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zc63[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zc63[]; |
| static VTBL_ENTRY _tg__ZTV4tk11__4zc63[] = { |
| ABISELECT(8,4), |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk11[0]), |
| }; |
| static VTT_ENTRY vtt_zc63[] = { |
| {&(_ZTV4zc63[5]), 5,5}, |
| {&(_tg__ZTV4tk11__4zc63[4]), 4,4}, |
| }; |
| extern VTBL_ENTRY _ZTI4zc63[]; |
| extern VTBL_ENTRY _ZTV4zc63[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zc63[]; |
| Class_Descriptor cd_zc63 = { "zc63", // class name |
| bases_zc63, 6, |
| &(vtc_zc63[0]), // expected_vtbl_contents |
| &(vtt_zc63[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zc63),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zc63),5, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zc63),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 zd63 : virtual sk22 , virtual tk11 { |
| ~zd63(); // tgen |
| zd63(); // tgen |
| }; |
| //SIG(1 zd63) C1{ VBC2{ BC3{} BC4{}} VBC5{ VBC3 VBC4}} |
| |
| |
| zd63 ::~zd63(){ note_dtor("zd63", this);} // tgen |
| zd63 ::zd63(){ note_ctor("zd63", this);} // tgen |
| |
| static void Test_zd63() |
| { |
| extern Class_Descriptor cd_zd63; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zd63, buf); |
| zd63 *dp, &lv = *(dp=new (buf) zd63()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zd63)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zd63)"); |
| check_base_class_offset(lv, (si*)(sk22*), 0, "zd63"); |
| check_base_class_offset(lv, (sj*)(sk22*), 0, "zd63"); |
| check_base_class_offset(lv, (sk22*), 0, "zd63"); |
| check_base_class_offset(lv, (si*)(tk11*), ABISELECT(8,4), "zd63"); |
| check_base_class_offset(lv, (sj*)(tk11*), ABISELECT(8,4), "zd63"); |
| check_base_class_offset(lv, (tk11*), 0, "zd63"); |
| test_class_info(&lv, &cd_zd63); |
| dp->~zd63(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzd63(Test_zd63, "zd63", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zd63C1Ev(); |
| extern void _ZN4zd63D1Ev(); |
| Name_Map name_map_zd63[] = { |
| NSPAIR(_ZN4zd63C1Ev), |
| NSPAIR(_ZN4zd63D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk22; |
| extern VTBL_ENTRY _ZTI4sk22[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk11; |
| extern VTBL_ENTRY _ZTI4tk11[]; |
| extern VTBL_ENTRY _ZTV4tk11[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk11[]; |
| static Base_Class bases_zd63[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk22, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_si, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 1}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 1}, |
| {&cd_tk11, 0, //bcp->offset |
| -1, //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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zd63[]; |
| static VTBL_ENTRY vtc_zd63[] = { |
| 0, |
| 0, |
| ABISELECT(8,4), |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zd63[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zd63[]; |
| static VTBL_ENTRY _tg__ZTV4tk11__4zd63[] = { |
| ABISELECT(8,4), |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk11[0]), |
| }; |
| static VTT_ENTRY vtt_zd63[] = { |
| {&(_ZTV4zd63[6]), 6,6}, |
| {&(_ZTV4zd63[6]), 6,6}, |
| {&(_tg__ZTV4tk11__4zd63[4]), 4,4}, |
| }; |
| extern VTBL_ENTRY _ZTI4zd63[]; |
| extern VTBL_ENTRY _ZTV4zd63[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zd63[]; |
| Class_Descriptor cd_zd63 = { "zd63", // class name |
| bases_zd63, 6, |
| &(vtc_zd63[0]), // expected_vtbl_contents |
| &(vtt_zd63[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zd63),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zd63),6, //virtual function table var |
| 6, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zd63),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 za64 : sk22 , tk12 { |
| ~za64(); // tgen |
| za64(); // tgen |
| }; |
| //SIG(1 za64) C1{ BC2{ BC3{} BC4{}} BC5{ VBC3 BC4}} |
| |
| |
| za64 ::~za64(){ note_dtor("za64", this);} // tgen |
| za64 ::za64(){ note_ctor("za64", this);} // tgen |
| |
| static void Test_za64() |
| { |
| extern Class_Descriptor cd_za64; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_za64, buf); |
| za64 *dp, &lv = *(dp=new (buf) za64()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(za64)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(za64)"); |
| check_base_class_offset(lv, (si*)(sk22*), ABISELECT(8,4), "za64"); |
| check_base_class_offset(lv, (sj*)(sk22*), ABISELECT(8,4), "za64"); |
| check_base_class_offset(lv, (sk22*), ABISELECT(8,4), "za64"); |
| check_base_class_offset(lv, (si*)(tk12*), 0, "za64"); |
| check_base_class_offset(lv, (sj*)(tk12*), 0, "za64"); |
| check_base_class_offset(lv, (tk12*), 0, "za64"); |
| test_class_info(&lv, &cd_za64); |
| dp->~za64(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vza64(Test_za64, "za64", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4za64C1Ev(); |
| extern void _ZN4za64D1Ev(); |
| Name_Map name_map_za64[] = { |
| NSPAIR(_ZN4za64C1Ev), |
| NSPAIR(_ZN4za64D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk22; |
| extern VTBL_ENTRY _ZTI4sk22[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk12; |
| extern VTBL_ENTRY _ZTI4tk12[]; |
| extern VTBL_ENTRY _ZTV4tk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk12[]; |
| static Base_Class bases_za64[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk22, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 0}, |
| {&cd_tk12, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4za64[]; |
| static VTBL_ENTRY vtc_za64[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4za64[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4za64[]; |
| static VTBL_ENTRY _tg__ZTV4tk12__4za64[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk12[0]), |
| }; |
| static VTT_ENTRY vtt_za64[] = { |
| {&(_ZTV4za64[3]), 3,3}, |
| {&(_tg__ZTV4tk12__4za64[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4za64[]; |
| extern VTBL_ENTRY _ZTV4za64[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4za64[]; |
| Class_Descriptor cd_za64 = { "za64", // class name |
| bases_za64, 6, |
| &(vtc_za64[0]), // expected_vtbl_contents |
| &(vtt_za64[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4za64),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4za64),3, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4za64),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 zb64 : sk22 , virtual tk12 { |
| ~zb64(); // tgen |
| zb64(); // tgen |
| }; |
| //SIG(1 zb64) C1{ BC2{ BC3{} BC4{}} VBC5{ VBC3 BC4}} |
| |
| |
| zb64 ::~zb64(){ note_dtor("zb64", this);} // tgen |
| zb64 ::zb64(){ note_ctor("zb64", this);} // tgen |
| |
| static void Test_zb64() |
| { |
| extern Class_Descriptor cd_zb64; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zb64, buf); |
| zb64 *dp, &lv = *(dp=new (buf) zb64()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zb64)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zb64)"); |
| check_base_class_offset(lv, (si*)(sk22*), ABISELECT(8,4), "zb64"); |
| check_base_class_offset(lv, (sj*)(sk22*), ABISELECT(8,4), "zb64"); |
| check_base_class_offset(lv, (sk22*), ABISELECT(8,4), "zb64"); |
| check_base_class_offset(lv, (si*)(tk12*), 0, "zb64"); |
| check_base_class_offset(lv, (sj*)(tk12*), 0, "zb64"); |
| check_base_class_offset(lv, (tk12*), 0, "zb64"); |
| test_class_info(&lv, &cd_zb64); |
| dp->~zb64(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzb64(Test_zb64, "zb64", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zb64C1Ev(); |
| extern void _ZN4zb64D1Ev(); |
| Name_Map name_map_zb64[] = { |
| NSPAIR(_ZN4zb64C1Ev), |
| NSPAIR(_ZN4zb64D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk22; |
| extern VTBL_ENTRY _ZTI4sk22[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk12; |
| extern VTBL_ENTRY _ZTI4tk12[]; |
| extern VTBL_ENTRY _ZTV4tk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk12[]; |
| static Base_Class bases_zb64[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk22, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 0}, |
| {&cd_tk12, 0, //bcp->offset |
| -1, //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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zb64[]; |
| static VTBL_ENTRY vtc_zb64[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zb64[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zb64[]; |
| static VTBL_ENTRY _tg__ZTV4tk12__4zb64[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk12[0]), |
| }; |
| static VTT_ENTRY vtt_zb64[] = { |
| {&(_ZTV4zb64[4]), 4,4}, |
| {&(_ZTV4zb64[4]), 4,4}, |
| {&(_tg__ZTV4tk12__4zb64[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zb64[]; |
| extern VTBL_ENTRY _ZTV4zb64[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zb64[]; |
| Class_Descriptor cd_zb64 = { "zb64", // class name |
| bases_zb64, 6, |
| &(vtc_zb64[0]), // expected_vtbl_contents |
| &(vtt_zb64[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zb64),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zb64),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zb64),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 zc64 : virtual sk22 , tk12 { |
| ~zc64(); // tgen |
| zc64(); // tgen |
| }; |
| //SIG(1 zc64) C1{ VBC2{ BC3{} BC4{}} BC5{ VBC3 BC4}} |
| |
| |
| zc64 ::~zc64(){ note_dtor("zc64", this);} // tgen |
| zc64 ::zc64(){ note_ctor("zc64", this);} // tgen |
| |
| static void Test_zc64() |
| { |
| extern Class_Descriptor cd_zc64; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zc64, buf); |
| zc64 *dp, &lv = *(dp=new (buf) zc64()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zc64)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zc64)"); |
| check_base_class_offset(lv, (si*)(sk22*), ABISELECT(8,4), "zc64"); |
| check_base_class_offset(lv, (sj*)(sk22*), ABISELECT(8,4), "zc64"); |
| check_base_class_offset(lv, (sk22*), ABISELECT(8,4), "zc64"); |
| check_base_class_offset(lv, (si*)(tk12*), 0, "zc64"); |
| check_base_class_offset(lv, (sj*)(tk12*), 0, "zc64"); |
| check_base_class_offset(lv, (tk12*), 0, "zc64"); |
| test_class_info(&lv, &cd_zc64); |
| dp->~zc64(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzc64(Test_zc64, "zc64", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zc64C1Ev(); |
| extern void _ZN4zc64D1Ev(); |
| Name_Map name_map_zc64[] = { |
| NSPAIR(_ZN4zc64C1Ev), |
| NSPAIR(_ZN4zc64D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk22; |
| extern VTBL_ENTRY _ZTI4sk22[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk12; |
| extern VTBL_ENTRY _ZTI4tk12[]; |
| extern VTBL_ENTRY _ZTV4tk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk12[]; |
| static Base_Class bases_zc64[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk22, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 0}, |
| {&cd_tk12, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zc64[]; |
| static VTBL_ENTRY vtc_zc64[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zc64[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zc64[]; |
| static VTBL_ENTRY _tg__ZTV4tk12__4zc64[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk12[0]), |
| }; |
| static VTT_ENTRY vtt_zc64[] = { |
| {&(_ZTV4zc64[4]), 4,4}, |
| {&(_tg__ZTV4tk12__4zc64[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zc64[]; |
| extern VTBL_ENTRY _ZTV4zc64[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zc64[]; |
| Class_Descriptor cd_zc64 = { "zc64", // class name |
| bases_zc64, 6, |
| &(vtc_zc64[0]), // expected_vtbl_contents |
| &(vtt_zc64[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zc64),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zc64),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zc64),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 zd64 : virtual sk22 , virtual tk12 { |
| ~zd64(); // tgen |
| zd64(); // tgen |
| }; |
| //SIG(1 zd64) C1{ VBC2{ BC3{} BC4{}} VBC5{ VBC3 BC4}} |
| |
| |
| zd64 ::~zd64(){ note_dtor("zd64", this);} // tgen |
| zd64 ::zd64(){ note_ctor("zd64", this);} // tgen |
| |
| static void Test_zd64() |
| { |
| extern Class_Descriptor cd_zd64; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zd64, buf); |
| zd64 *dp, &lv = *(dp=new (buf) zd64()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zd64)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zd64)"); |
| check_base_class_offset(lv, (si*)(sk22*), ABISELECT(8,4), "zd64"); |
| check_base_class_offset(lv, (sj*)(sk22*), ABISELECT(8,4), "zd64"); |
| check_base_class_offset(lv, (sk22*), ABISELECT(8,4), "zd64"); |
| check_base_class_offset(lv, (si*)(tk12*), 0, "zd64"); |
| check_base_class_offset(lv, (sj*)(tk12*), 0, "zd64"); |
| check_base_class_offset(lv, (tk12*), 0, "zd64"); |
| test_class_info(&lv, &cd_zd64); |
| dp->~zd64(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzd64(Test_zd64, "zd64", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zd64C1Ev(); |
| extern void _ZN4zd64D1Ev(); |
| Name_Map name_map_zd64[] = { |
| NSPAIR(_ZN4zd64C1Ev), |
| NSPAIR(_ZN4zd64D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk22; |
| extern VTBL_ENTRY _ZTI4sk22[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk12; |
| extern VTBL_ENTRY _ZTI4tk12[]; |
| extern VTBL_ENTRY _ZTV4tk12[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk12[]; |
| static Base_Class bases_zd64[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk22, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 1}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 0}, |
| {&cd_tk12, 0, //bcp->offset |
| -1, //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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zd64[]; |
| static VTBL_ENTRY vtc_zd64[] = { |
| 0, |
| ABISELECT(8,4), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zd64[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zd64[]; |
| static VTBL_ENTRY _tg__ZTV4tk12__4zd64[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk12[0]), |
| }; |
| static VTT_ENTRY vtt_zd64[] = { |
| {&(_ZTV4zd64[5]), 5,5}, |
| {&(_ZTV4zd64[5]), 5,5}, |
| {&(_tg__ZTV4tk12__4zd64[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zd64[]; |
| extern VTBL_ENTRY _ZTV4zd64[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zd64[]; |
| Class_Descriptor cd_zd64 = { "zd64", // class name |
| bases_zd64, 6, |
| &(vtc_zd64[0]), // expected_vtbl_contents |
| &(vtt_zd64[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zd64),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zd64),5, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zd64),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 za65 : sk22 , tk21 { |
| ~za65(); // tgen |
| za65(); // tgen |
| }; |
| //SIG(1 za65) C1{ BC2{ BC3{} BC4{}} BC5{ BC3 VBC4}} |
| |
| |
| za65 ::~za65(){ note_dtor("za65", this);} // tgen |
| za65 ::za65(){ note_ctor("za65", this);} // tgen |
| |
| static void Test_za65() |
| { |
| extern Class_Descriptor cd_za65; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_za65, buf); |
| za65 *dp, &lv = *(dp=new (buf) za65()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(za65)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(za65)"); |
| check_base_class_offset(lv, (si*)(sk22*), ABISELECT(8,4), "za65"); |
| check_base_class_offset(lv, (sj*)(sk22*), ABISELECT(8,4), "za65"); |
| check_base_class_offset(lv, (sk22*), ABISELECT(8,4), "za65"); |
| check_base_class_offset(lv, (si*)(tk21*), 0, "za65"); |
| check_base_class_offset(lv, (sj*)(tk21*), 0, "za65"); |
| check_base_class_offset(lv, (tk21*), 0, "za65"); |
| test_class_info(&lv, &cd_za65); |
| dp->~za65(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vza65(Test_za65, "za65", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4za65C1Ev(); |
| extern void _ZN4za65D1Ev(); |
| Name_Map name_map_za65[] = { |
| NSPAIR(_ZN4za65C1Ev), |
| NSPAIR(_ZN4za65D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk22; |
| extern VTBL_ENTRY _ZTI4sk22[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk21; |
| extern VTBL_ENTRY _ZTI4tk21[]; |
| extern VTBL_ENTRY _ZTV4tk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk21[]; |
| static Base_Class bases_za65[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk22, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 1}, |
| {&cd_tk21, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4za65[]; |
| static VTBL_ENTRY vtc_za65[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4za65[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4za65[]; |
| static VTBL_ENTRY _tg__ZTV4tk21__4za65[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk21[0]), |
| }; |
| static VTT_ENTRY vtt_za65[] = { |
| {&(_ZTV4za65[3]), 3,3}, |
| {&(_tg__ZTV4tk21__4za65[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4za65[]; |
| extern VTBL_ENTRY _ZTV4za65[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4za65[]; |
| Class_Descriptor cd_za65 = { "za65", // class name |
| bases_za65, 6, |
| &(vtc_za65[0]), // expected_vtbl_contents |
| &(vtt_za65[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4za65),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4za65),3, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4za65),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 zb65 : sk22 , virtual tk21 { |
| ~zb65(); // tgen |
| zb65(); // tgen |
| }; |
| //SIG(1 zb65) C1{ BC2{ BC3{} BC4{}} VBC5{ BC3 VBC4}} |
| |
| |
| zb65 ::~zb65(){ note_dtor("zb65", this);} // tgen |
| zb65 ::zb65(){ note_ctor("zb65", this);} // tgen |
| |
| static void Test_zb65() |
| { |
| extern Class_Descriptor cd_zb65; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zb65, buf); |
| zb65 *dp, &lv = *(dp=new (buf) zb65()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zb65)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zb65)"); |
| check_base_class_offset(lv, (si*)(sk22*), ABISELECT(8,4), "zb65"); |
| check_base_class_offset(lv, (sj*)(sk22*), ABISELECT(8,4), "zb65"); |
| check_base_class_offset(lv, (sk22*), ABISELECT(8,4), "zb65"); |
| check_base_class_offset(lv, (si*)(tk21*), 0, "zb65"); |
| check_base_class_offset(lv, (sj*)(tk21*), 0, "zb65"); |
| check_base_class_offset(lv, (tk21*), 0, "zb65"); |
| test_class_info(&lv, &cd_zb65); |
| dp->~zb65(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzb65(Test_zb65, "zb65", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zb65C1Ev(); |
| extern void _ZN4zb65D1Ev(); |
| Name_Map name_map_zb65[] = { |
| NSPAIR(_ZN4zb65C1Ev), |
| NSPAIR(_ZN4zb65D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk22; |
| extern VTBL_ENTRY _ZTI4sk22[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk21; |
| extern VTBL_ENTRY _ZTI4tk21[]; |
| extern VTBL_ENTRY _ZTV4tk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk21[]; |
| static Base_Class bases_zb65[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk22, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 1}, |
| {&cd_tk21, 0, //bcp->offset |
| -1, //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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zb65[]; |
| static VTBL_ENTRY vtc_zb65[] = { |
| 0, |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zb65[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zb65[]; |
| static VTBL_ENTRY _tg__ZTV4tk21__4zb65[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk21[0]), |
| }; |
| static VTT_ENTRY vtt_zb65[] = { |
| {&(_ZTV4zb65[4]), 4,4}, |
| {&(_ZTV4zb65[4]), 4,4}, |
| {&(_tg__ZTV4tk21__4zb65[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zb65[]; |
| extern VTBL_ENTRY _ZTV4zb65[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zb65[]; |
| Class_Descriptor cd_zb65 = { "zb65", // class name |
| bases_zb65, 6, |
| &(vtc_zb65[0]), // expected_vtbl_contents |
| &(vtt_zb65[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zb65),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zb65),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zb65),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 zc65 : virtual sk22 , tk21 { |
| ~zc65(); // tgen |
| zc65(); // tgen |
| }; |
| //SIG(1 zc65) C1{ VBC2{ BC3{} BC4{}} BC5{ BC3 VBC4}} |
| |
| |
| zc65 ::~zc65(){ note_dtor("zc65", this);} // tgen |
| zc65 ::zc65(){ note_ctor("zc65", this);} // tgen |
| |
| static void Test_zc65() |
| { |
| extern Class_Descriptor cd_zc65; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zc65, buf); |
| zc65 *dp, &lv = *(dp=new (buf) zc65()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zc65)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zc65)"); |
| check_base_class_offset(lv, (si*)(sk22*), ABISELECT(8,4), "zc65"); |
| check_base_class_offset(lv, (sj*)(sk22*), ABISELECT(8,4), "zc65"); |
| check_base_class_offset(lv, (sk22*), ABISELECT(8,4), "zc65"); |
| check_base_class_offset(lv, (si*)(tk21*), 0, "zc65"); |
| check_base_class_offset(lv, (sj*)(tk21*), 0, "zc65"); |
| check_base_class_offset(lv, (tk21*), 0, "zc65"); |
| test_class_info(&lv, &cd_zc65); |
| dp->~zc65(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzc65(Test_zc65, "zc65", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zc65C1Ev(); |
| extern void _ZN4zc65D1Ev(); |
| Name_Map name_map_zc65[] = { |
| NSPAIR(_ZN4zc65C1Ev), |
| NSPAIR(_ZN4zc65D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk22; |
| extern VTBL_ENTRY _ZTI4sk22[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk21; |
| extern VTBL_ENTRY _ZTI4tk21[]; |
| extern VTBL_ENTRY _ZTV4tk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk21[]; |
| static Base_Class bases_zc65[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk22, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 1}, |
| {&cd_tk21, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zc65[]; |
| static VTBL_ENTRY vtc_zc65[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zc65[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zc65[]; |
| static VTBL_ENTRY _tg__ZTV4tk21__4zc65[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk21[0]), |
| }; |
| static VTT_ENTRY vtt_zc65[] = { |
| {&(_ZTV4zc65[4]), 4,4}, |
| {&(_tg__ZTV4tk21__4zc65[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zc65[]; |
| extern VTBL_ENTRY _ZTV4zc65[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zc65[]; |
| Class_Descriptor cd_zc65 = { "zc65", // class name |
| bases_zc65, 6, |
| &(vtc_zc65[0]), // expected_vtbl_contents |
| &(vtt_zc65[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zc65),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zc65),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zc65),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 zd65 : virtual sk22 , virtual tk21 { |
| ~zd65(); // tgen |
| zd65(); // tgen |
| }; |
| //SIG(1 zd65) C1{ VBC2{ BC3{} BC4{}} VBC5{ BC3 VBC4}} |
| |
| |
| zd65 ::~zd65(){ note_dtor("zd65", this);} // tgen |
| zd65 ::zd65(){ note_ctor("zd65", this);} // tgen |
| |
| static void Test_zd65() |
| { |
| extern Class_Descriptor cd_zd65; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zd65, buf); |
| zd65 *dp, &lv = *(dp=new (buf) zd65()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zd65)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zd65)"); |
| check_base_class_offset(lv, (si*)(sk22*), ABISELECT(8,4), "zd65"); |
| check_base_class_offset(lv, (sj*)(sk22*), ABISELECT(8,4), "zd65"); |
| check_base_class_offset(lv, (sk22*), ABISELECT(8,4), "zd65"); |
| check_base_class_offset(lv, (si*)(tk21*), 0, "zd65"); |
| check_base_class_offset(lv, (sj*)(tk21*), 0, "zd65"); |
| check_base_class_offset(lv, (tk21*), 0, "zd65"); |
| test_class_info(&lv, &cd_zd65); |
| dp->~zd65(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzd65(Test_zd65, "zd65", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zd65C1Ev(); |
| extern void _ZN4zd65D1Ev(); |
| Name_Map name_map_zd65[] = { |
| NSPAIR(_ZN4zd65C1Ev), |
| NSPAIR(_ZN4zd65D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk22; |
| extern VTBL_ENTRY _ZTI4sk22[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk21; |
| extern VTBL_ENTRY _ZTI4tk21[]; |
| extern VTBL_ENTRY _ZTV4tk21[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4tk21[]; |
| static Base_Class bases_zd65[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk22, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 1}, |
| {&cd_tk21, 0, //bcp->offset |
| -1, //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}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zd65[]; |
| static VTBL_ENTRY vtc_zd65[] = { |
| 0, |
| ABISELECT(8,4), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zd65[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zd65[]; |
| static VTBL_ENTRY _tg__ZTV4tk21__4zd65[] = { |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4tk21[0]), |
| }; |
| static VTT_ENTRY vtt_zd65[] = { |
| {&(_ZTV4zd65[5]), 5,5}, |
| {&(_ZTV4zd65[5]), 5,5}, |
| {&(_tg__ZTV4tk21__4zd65[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zd65[]; |
| extern VTBL_ENTRY _ZTV4zd65[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zd65[]; |
| Class_Descriptor cd_zd65 = { "zd65", // class name |
| bases_zd65, 6, |
| &(vtc_zd65[0]), // expected_vtbl_contents |
| &(vtt_zd65[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zd65),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zd65),5, //virtual function table var |
| 5, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zd65),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 za66 : sk22 , tk22 { |
| }; |
| //SIG(1 za66) C1{ BC2{ BC3{} BC4{}} BC5{ BC3 BC4}} |
| |
| |
| |
| static void Test_za66() |
| { |
| extern Class_Descriptor cd_za66; |
| void *lvp; |
| { |
| char buf[2]; |
| init_test(&cd_za66, buf); |
| za66 &lv = *(new (buf) za66()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), 2, "sizeof(za66)"); |
| check2(__alignof__(lv), 1, "__alignof__(za66)"); |
| check_base_class_offset(lv, (si*)(sk22*), 0, "za66"); |
| check_base_class_offset(lv, (sj*)(sk22*), 0, "za66"); |
| check_base_class_offset(lv, (sk22*), 0, "za66"); |
| check_base_class_offset(lv, (si*)(tk22*), 1, "za66"); |
| check_base_class_offset(lv, (sj*)(tk22*), 1, "za66"); |
| check_base_class_offset(lv, (tk22*), 1, "za66"); |
| test_class_info(&lv, &cd_za66); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vza66(Test_za66, "za66", 2); |
| |
| #else // __cplusplus |
| |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk22; |
| extern VTBL_ENTRY _ZTI4sk22[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk22; |
| extern VTBL_ENTRY _ZTI4tk22[]; |
| static Base_Class bases_za66[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk22, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_si, 1, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 1, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 0}, |
| {&cd_tk22, 1, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //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_za66 = { "za66", // class name |
| bases_za66, 6, |
| 0, // no vftv |
| 0, //no vtt |
| 2, // 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 zb66 : sk22 , virtual tk22 { |
| ~zb66(); // tgen |
| zb66(); // tgen |
| }; |
| //SIG(1 zb66) C1{ BC2{ BC3{} BC4{}} VBC5{ BC3 BC4}} |
| |
| |
| zb66 ::~zb66(){ note_dtor("zb66", this);} // tgen |
| zb66 ::zb66(){ note_ctor("zb66", this);} // tgen |
| |
| static void Test_zb66() |
| { |
| extern Class_Descriptor cd_zb66; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zb66, buf); |
| zb66 *dp, &lv = *(dp=new (buf) zb66()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zb66)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zb66)"); |
| check_base_class_offset(lv, (si*)(sk22*), 0, "zb66"); |
| check_base_class_offset(lv, (sj*)(sk22*), 0, "zb66"); |
| check_base_class_offset(lv, (sk22*), 0, "zb66"); |
| check_base_class_offset(lv, (si*)(tk22*), ABISELECT(8,4), "zb66"); |
| check_base_class_offset(lv, (sj*)(tk22*), ABISELECT(8,4), "zb66"); |
| check_base_class_offset(lv, (tk22*), ABISELECT(8,4), "zb66"); |
| test_class_info(&lv, &cd_zb66); |
| dp->~zb66(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzb66(Test_zb66, "zb66", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zb66C1Ev(); |
| extern void _ZN4zb66D1Ev(); |
| Name_Map name_map_zb66[] = { |
| NSPAIR(_ZN4zb66C1Ev), |
| NSPAIR(_ZN4zb66D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk22; |
| extern VTBL_ENTRY _ZTI4sk22[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk22; |
| extern VTBL_ENTRY _ZTI4tk22[]; |
| static Base_Class bases_zb66[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk22, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_si, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 0}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 0}, |
| {&cd_tk22, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zb66[]; |
| static VTBL_ENTRY vtc_zb66[] = { |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zb66[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zb66[]; |
| static VTT_ENTRY vtt_zb66[] = { |
| {&(_ZTV4zb66[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zb66[]; |
| extern VTBL_ENTRY _ZTV4zb66[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zb66[]; |
| Class_Descriptor cd_zb66 = { "zb66", // class name |
| bases_zb66, 6, |
| &(vtc_zb66[0]), // expected_vtbl_contents |
| &(vtt_zb66[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zb66),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zb66),3, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zb66),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 zc66 : virtual sk22 , tk22 { |
| ~zc66(); // tgen |
| zc66(); // tgen |
| }; |
| //SIG(1 zc66) C1{ VBC2{ BC3{} BC4{}} BC5{ BC3 BC4}} |
| |
| |
| zc66 ::~zc66(){ note_dtor("zc66", this);} // tgen |
| zc66 ::zc66(){ note_ctor("zc66", this);} // tgen |
| |
| static void Test_zc66() |
| { |
| extern Class_Descriptor cd_zc66; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zc66, buf); |
| zc66 *dp, &lv = *(dp=new (buf) zc66()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zc66)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zc66)"); |
| check_base_class_offset(lv, (si*)(sk22*), ABISELECT(8,4), "zc66"); |
| check_base_class_offset(lv, (sj*)(sk22*), ABISELECT(8,4), "zc66"); |
| check_base_class_offset(lv, (sk22*), ABISELECT(8,4), "zc66"); |
| check_base_class_offset(lv, (si*)(tk22*), 0, "zc66"); |
| check_base_class_offset(lv, (sj*)(tk22*), 0, "zc66"); |
| check_base_class_offset(lv, (tk22*), 0, "zc66"); |
| test_class_info(&lv, &cd_zc66); |
| dp->~zc66(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzc66(Test_zc66, "zc66", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zc66C1Ev(); |
| extern void _ZN4zc66D1Ev(); |
| Name_Map name_map_zc66[] = { |
| NSPAIR(_ZN4zc66C1Ev), |
| NSPAIR(_ZN4zc66D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk22; |
| extern VTBL_ENTRY _ZTI4sk22[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk22; |
| extern VTBL_ENTRY _ZTI4tk22[]; |
| static Base_Class bases_zc66[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk22, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 0}, |
| {&cd_tk22, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 0}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zc66[]; |
| static VTBL_ENTRY vtc_zc66[] = { |
| ABISELECT(8,4), |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zc66[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zc66[]; |
| static VTT_ENTRY vtt_zc66[] = { |
| {&(_ZTV4zc66[3]), 3,3}, |
| }; |
| extern VTBL_ENTRY _ZTI4zc66[]; |
| extern VTBL_ENTRY _ZTV4zc66[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zc66[]; |
| Class_Descriptor cd_zc66 = { "zc66", // class name |
| bases_zc66, 6, |
| &(vtc_zc66[0]), // expected_vtbl_contents |
| &(vtt_zc66[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zc66),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zc66),3, //virtual function table var |
| 3, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zc66),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 zd66 : virtual sk22 , virtual tk22 { |
| ~zd66(); // tgen |
| zd66(); // tgen |
| }; |
| //SIG(1 zd66) C1{ VBC2{ BC3{} BC4{}} VBC5{ BC3 BC4}} |
| |
| |
| zd66 ::~zd66(){ note_dtor("zd66", this);} // tgen |
| zd66 ::zd66(){ note_ctor("zd66", this);} // tgen |
| |
| static void Test_zd66() |
| { |
| extern Class_Descriptor cd_zd66; |
| void *lvp; |
| { |
| ABISELECT(double,int) buf[3]; |
| init_test(&cd_zd66, buf); |
| zd66 *dp, &lv = *(dp=new (buf) zd66()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), ABISELECT(16,8), "sizeof(zd66)"); |
| check2(__alignof__(lv), ABISELECT(8,4), "__alignof__(zd66)"); |
| check_base_class_offset(lv, (si*)(sk22*), 0, "zd66"); |
| check_base_class_offset(lv, (sj*)(sk22*), 0, "zd66"); |
| check_base_class_offset(lv, (sk22*), 0, "zd66"); |
| check_base_class_offset(lv, (si*)(tk22*), ABISELECT(8,4), "zd66"); |
| check_base_class_offset(lv, (sj*)(tk22*), ABISELECT(8,4), "zd66"); |
| check_base_class_offset(lv, (tk22*), ABISELECT(8,4), "zd66"); |
| test_class_info(&lv, &cd_zd66); |
| dp->~zd66(); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vzd66(Test_zd66, "zd66", ABISELECT(16,8)); |
| |
| #else // __cplusplus |
| |
| extern void _ZN4zd66C1Ev(); |
| extern void _ZN4zd66D1Ev(); |
| Name_Map name_map_zd66[] = { |
| NSPAIR(_ZN4zd66C1Ev), |
| NSPAIR(_ZN4zd66D1Ev), |
| {0,0} |
| }; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk22; |
| extern VTBL_ENTRY _ZTI4sk22[]; |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_tk22; |
| extern VTBL_ENTRY _ZTI4tk22[]; |
| static Base_Class bases_zd66[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 2, //immediately_derived |
| 0, 0}, |
| {&cd_sk22, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_si, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 0}, |
| {&cd_sj, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| 5, //immediately_derived |
| 0, 0}, |
| {&cd_tk22, ABISELECT(8,4), //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //bcp->index_in_construction_vtbl_array |
| 0, //bcp->base_subarray_index_in_construction_vtbl_array |
| -1, //init_seq |
| -1, //immediately_derived |
| 1, 1}, |
| {0}}; |
| extern VTBL_ENTRY _ZTI4zd66[]; |
| static VTBL_ENTRY vtc_zd66[] = { |
| ABISELECT(8,4), |
| 0, |
| 0, |
| (VTBL_ENTRY)&(_ZTI4zd66[0]), |
| }; |
| extern VTBL_ENTRY _ZTV4zd66[]; |
| static VTT_ENTRY vtt_zd66[] = { |
| {&(_ZTV4zd66[4]), 4,4}, |
| }; |
| extern VTBL_ENTRY _ZTI4zd66[]; |
| extern VTBL_ENTRY _ZTV4zd66[]; |
| extern VTBL_ENTRY * __attribute__((weak))_ZTT4zd66[]; |
| Class_Descriptor cd_zd66 = { "zd66", // class name |
| bases_zd66, 6, |
| &(vtc_zd66[0]), // expected_vtbl_contents |
| &(vtt_zd66[0]), // expected_vtt_contents |
| ABISELECT(16,8), // object size |
| NSPAIRA(_ZTI4zd66),ABISELECT(56,32), //typeinfo_var |
| NSPAIRA(_ZTV4zd66),4, //virtual function table var |
| 4, // offset into main vftv pointed to by object[0] |
| NSPAIRA(_ZTT4zd66),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 yi { |
| char x; |
| }; |
| //SIG(-1 yi) C1{ Fc} |
| |
| |
| |
| static void Test_yi() |
| { |
| { |
| init_simple_test("yi"); |
| yi lv; |
| check2(sizeof(lv), 1, "sizeof(yi)"); |
| check2(__alignof__(lv), 1, "__alignof__(yi)"); |
| check_field_offset(lv, x, 0, "yi.x"); |
| } |
| } |
| static Arrange_To_Call_Me vyi(Test_yi, "yi", 1); |
| |
| #else // __cplusplus |
| |
| Class_Descriptor cd_yi = { "yi", // class name |
| 0,0,//no base classes |
| 0, // no vftv |
| 0, //no vtt |
| 1, // 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 yj { |
| char x; |
| }; |
| //SIG(-1 yj) C1{ Fc} |
| |
| |
| |
| static void Test_yj() |
| { |
| { |
| init_simple_test("yj"); |
| yj lv; |
| check2(sizeof(lv), 1, "sizeof(yj)"); |
| check2(__alignof__(lv), 1, "__alignof__(yj)"); |
| check_field_offset(lv, x, 0, "yj.x"); |
| } |
| } |
| static Arrange_To_Call_Me vyj(Test_yj, "yj", 1); |
| |
| #else // __cplusplus |
| |
| Class_Descriptor cd_yj = { "yj", // class name |
| 0,0,//no base classes |
| 0, // no vftv |
| 0, //no vtt |
| 1, // 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 yk { |
| char x; |
| }; |
| //SIG(-1 yk) C1{ Fc} |
| |
| |
| |
| static void Test_yk() |
| { |
| { |
| init_simple_test("yk"); |
| yk lv; |
| check2(sizeof(lv), 1, "sizeof(yk)"); |
| check2(__alignof__(lv), 1, "__alignof__(yk)"); |
| check_field_offset(lv, x, 0, "yk.x"); |
| } |
| } |
| static Arrange_To_Call_Me vyk(Test_yk, "yk", 1); |
| |
| #else // __cplusplus |
| |
| Class_Descriptor cd_yk = { "yk", // class name |
| 0,0,//no base classes |
| 0, // no vftv |
| 0, //no vtt |
| 1, // 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 yl { |
| char x; |
| }; |
| //SIG(-1 yl) C1{ Fc} |
| |
| |
| |
| static void Test_yl() |
| { |
| { |
| init_simple_test("yl"); |
| yl lv; |
| check2(sizeof(lv), 1, "sizeof(yl)"); |
| check2(__alignof__(lv), 1, "__alignof__(yl)"); |
| check_field_offset(lv, x, 0, "yl.x"); |
| } |
| } |
| static Arrange_To_Call_Me vyl(Test_yl, "yl", 1); |
| |
| #else // __cplusplus |
| |
| Class_Descriptor cd_yl = { "yl", // class name |
| 0,0,//no base classes |
| 0, // no vftv |
| 0, //no vtt |
| 1, // 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 ym { |
| char x; |
| }; |
| //SIG(-1 ym) C1{ Fc} |
| |
| |
| |
| static void Test_ym() |
| { |
| { |
| init_simple_test("ym"); |
| ym lv; |
| check2(sizeof(lv), 1, "sizeof(ym)"); |
| check2(__alignof__(lv), 1, "__alignof__(ym)"); |
| check_field_offset(lv, x, 0, "ym.x"); |
| } |
| } |
| static Arrange_To_Call_Me vym(Test_ym, "ym", 1); |
| |
| #else // __cplusplus |
| |
| Class_Descriptor cd_ym = { "ym", // class name |
| 0,0,//no base classes |
| 0, // no vftv |
| 0, //no vtt |
| 1, // 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 de0 : yi , yj , yk , yl , ym { |
| char c; |
| }; |
| //SIG(1 de0) C1{ BC2{ Fc} BC3{ Fc} BC4{ Fc} BC5{ Fc} BC6{ Fc} Fc} |
| |
| |
| |
| static void Test_de0() |
| { |
| extern Class_Descriptor cd_de0; |
| void *lvp; |
| { |
| char buf[6]; |
| init_test(&cd_de0, buf); |
| de0 &lv = *(new (buf) de0()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), 6, "sizeof(de0)"); |
| check2(__alignof__(lv), 1, "__alignof__(de0)"); |
| check_base_class_offset(lv, (yi*), 0, "de0"); |
| check_base_class_offset(lv, (yj*), 1, "de0"); |
| check_base_class_offset(lv, (yk*), 2, "de0"); |
| check_base_class_offset(lv, (yl*), 3, "de0"); |
| check_base_class_offset(lv, (ym*), 4, "de0"); |
| check_field_offset(lv, c, 5, "de0.c"); |
| test_class_info(&lv, &cd_de0); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vde0(Test_de0, "de0", 6); |
| |
| #else // __cplusplus |
| |
| extern Class_Descriptor cd_yi; |
| extern Class_Descriptor cd_yj; |
| extern Class_Descriptor cd_yk; |
| extern Class_Descriptor cd_yl; |
| extern Class_Descriptor cd_ym; |
| static Base_Class bases_de0[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_yi, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_yj, 1, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_yk, 2, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_yl, 3, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_ym, 4, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //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_de0 = { "de0", // class name |
| bases_de0, 5, |
| 0, // no vftv |
| 0, //no vtt |
| 6, // 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 de1 : si , sj , sk , sl , sm { |
| char c; |
| }; |
| //SIG(1 de1) C1{ BC2{} BC3{} BC4{} BC5{} BC6{} Fc} |
| |
| |
| |
| static void Test_de1() |
| { |
| extern Class_Descriptor cd_de1; |
| void *lvp; |
| { |
| char buf[1]; |
| init_test(&cd_de1, buf); |
| de1 &lv = *(new (buf) de1()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), 1, "sizeof(de1)"); |
| check2(__alignof__(lv), 1, "__alignof__(de1)"); |
| check_base_class_offset(lv, (si*), 0, "de1"); |
| check_base_class_offset(lv, (sj*), 0, "de1"); |
| check_base_class_offset(lv, (sk*), 0, "de1"); |
| check_base_class_offset(lv, (sl*), 0, "de1"); |
| check_base_class_offset(lv, (sm*), 0, "de1"); |
| check_field_offset(lv, c, 0, "de1.c"); |
| test_class_info(&lv, &cd_de1); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vde1(Test_de1, "de1", 1); |
| |
| #else // __cplusplus |
| |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk; |
| extern Class_Descriptor cd_sl; |
| extern Class_Descriptor cd_sm; |
| static Base_Class bases_de1[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sk, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sl, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sm, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //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_de1 = { "de1", // class name |
| bases_de1, 5, |
| 0, // no vftv |
| 0, //no vtt |
| 1, // 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 de2 : yi , yj , yk , yl , ym { |
| char c; |
| }; |
| //SIG(1 de2) C1{ BC2{ Fc} BC3{ Fc} BC4{ Fc} BC5{ Fc} BC6{ Fc} Fc} |
| |
| |
| |
| static void Test_de2() |
| { |
| extern Class_Descriptor cd_de2; |
| void *lvp; |
| { |
| char buf[6]; |
| init_test(&cd_de2, buf); |
| de2 &lv = *(new (buf) de2()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), 6, "sizeof(de2)"); |
| check2(__alignof__(lv), 1, "__alignof__(de2)"); |
| check_base_class_offset(lv, (yi*), 0, "de2"); |
| check_base_class_offset(lv, (yj*), 1, "de2"); |
| check_base_class_offset(lv, (yk*), 2, "de2"); |
| check_base_class_offset(lv, (yl*), 3, "de2"); |
| check_base_class_offset(lv, (ym*), 4, "de2"); |
| check_field_offset(lv, c, 5, "de2.c"); |
| test_class_info(&lv, &cd_de2); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vde2(Test_de2, "de2", 6); |
| |
| #else // __cplusplus |
| |
| extern Class_Descriptor cd_yi; |
| extern Class_Descriptor cd_yj; |
| extern Class_Descriptor cd_yk; |
| extern Class_Descriptor cd_yl; |
| extern Class_Descriptor cd_ym; |
| static Base_Class bases_de2[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_yi, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_yj, 1, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_yk, 2, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_yl, 3, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_ym, 4, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //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_de2 = { "de2", // class name |
| bases_de2, 5, |
| 0, // no vftv |
| 0, //no vtt |
| 6, // 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 de3 : si , sj , sk , sl , sm { |
| char c; |
| }; |
| //SIG(1 de3) C1{ BC2{} BC3{} BC4{} BC5{} BC6{} Fc} |
| |
| |
| |
| static void Test_de3() |
| { |
| extern Class_Descriptor cd_de3; |
| void *lvp; |
| { |
| char buf[1]; |
| init_test(&cd_de3, buf); |
| de3 &lv = *(new (buf) de3()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), 1, "sizeof(de3)"); |
| check2(__alignof__(lv), 1, "__alignof__(de3)"); |
| check_base_class_offset(lv, (si*), 0, "de3"); |
| check_base_class_offset(lv, (sj*), 0, "de3"); |
| check_base_class_offset(lv, (sk*), 0, "de3"); |
| check_base_class_offset(lv, (sl*), 0, "de3"); |
| check_base_class_offset(lv, (sm*), 0, "de3"); |
| check_field_offset(lv, c, 0, "de3.c"); |
| test_class_info(&lv, &cd_de3); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vde3(Test_de3, "de3", 1); |
| |
| #else // __cplusplus |
| |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk; |
| extern Class_Descriptor cd_sl; |
| extern Class_Descriptor cd_sm; |
| static Base_Class bases_de3[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sk, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sl, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sm, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //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_de3 = { "de3", // class name |
| bases_de3, 5, |
| 0, // no vftv |
| 0, //no vtt |
| 1, // 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 de4 : yi , yj , yk , yl , ym { |
| char c; |
| }; |
| //SIG(1 de4) C1{ BC2{ Fc} BC3{ Fc} BC4{ Fc} BC5{ Fc} BC6{ Fc} Fc} |
| |
| |
| |
| static void Test_de4() |
| { |
| extern Class_Descriptor cd_de4; |
| void *lvp; |
| { |
| char buf[6]; |
| init_test(&cd_de4, buf); |
| de4 &lv = *(new (buf) de4()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), 6, "sizeof(de4)"); |
| check2(__alignof__(lv), 1, "__alignof__(de4)"); |
| check_base_class_offset(lv, (yi*), 0, "de4"); |
| check_base_class_offset(lv, (yj*), 1, "de4"); |
| check_base_class_offset(lv, (yk*), 2, "de4"); |
| check_base_class_offset(lv, (yl*), 3, "de4"); |
| check_base_class_offset(lv, (ym*), 4, "de4"); |
| check_field_offset(lv, c, 5, "de4.c"); |
| test_class_info(&lv, &cd_de4); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vde4(Test_de4, "de4", 6); |
| |
| #else // __cplusplus |
| |
| extern Class_Descriptor cd_yi; |
| extern Class_Descriptor cd_yj; |
| extern Class_Descriptor cd_yk; |
| extern Class_Descriptor cd_yl; |
| extern Class_Descriptor cd_ym; |
| static Base_Class bases_de4[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_yi, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_yj, 1, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_yk, 2, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_yl, 3, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_ym, 4, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //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_de4 = { "de4", // class name |
| bases_de4, 5, |
| 0, // no vftv |
| 0, //no vtt |
| 6, // 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 de5 : si , sj , sk , sl , sm { |
| char c; |
| }; |
| //SIG(1 de5) C1{ BC2{} BC3{} BC4{} BC5{} BC6{} Fc} |
| |
| |
| |
| static void Test_de5() |
| { |
| extern Class_Descriptor cd_de5; |
| void *lvp; |
| { |
| char buf[1]; |
| init_test(&cd_de5, buf); |
| de5 &lv = *(new (buf) de5()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), 1, "sizeof(de5)"); |
| check2(__alignof__(lv), 1, "__alignof__(de5)"); |
| check_base_class_offset(lv, (si*), 0, "de5"); |
| check_base_class_offset(lv, (sj*), 0, "de5"); |
| check_base_class_offset(lv, (sk*), 0, "de5"); |
| check_base_class_offset(lv, (sl*), 0, "de5"); |
| check_base_class_offset(lv, (sm*), 0, "de5"); |
| check_field_offset(lv, c, 0, "de5.c"); |
| test_class_info(&lv, &cd_de5); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vde5(Test_de5, "de5", 1); |
| |
| #else // __cplusplus |
| |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk; |
| extern Class_Descriptor cd_sl; |
| extern Class_Descriptor cd_sm; |
| static Base_Class bases_de5[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sk, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sl, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sm, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //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_de5 = { "de5", // class name |
| bases_de5, 5, |
| 0, // no vftv |
| 0, //no vtt |
| 1, // 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 de6 : yi , yj , yk , yl , ym { |
| char c; |
| }; |
| //SIG(1 de6) C1{ BC2{ Fc} BC3{ Fc} BC4{ Fc} BC5{ Fc} BC6{ Fc} Fc} |
| |
| |
| |
| static void Test_de6() |
| { |
| extern Class_Descriptor cd_de6; |
| void *lvp; |
| { |
| char buf[6]; |
| init_test(&cd_de6, buf); |
| de6 &lv = *(new (buf) de6()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), 6, "sizeof(de6)"); |
| check2(__alignof__(lv), 1, "__alignof__(de6)"); |
| check_base_class_offset(lv, (yi*), 0, "de6"); |
| check_base_class_offset(lv, (yj*), 1, "de6"); |
| check_base_class_offset(lv, (yk*), 2, "de6"); |
| check_base_class_offset(lv, (yl*), 3, "de6"); |
| check_base_class_offset(lv, (ym*), 4, "de6"); |
| check_field_offset(lv, c, 5, "de6.c"); |
| test_class_info(&lv, &cd_de6); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vde6(Test_de6, "de6", 6); |
| |
| #else // __cplusplus |
| |
| extern Class_Descriptor cd_yi; |
| extern Class_Descriptor cd_yj; |
| extern Class_Descriptor cd_yk; |
| extern Class_Descriptor cd_yl; |
| extern Class_Descriptor cd_ym; |
| static Base_Class bases_de6[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_yi, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_yj, 1, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_yk, 2, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_yl, 3, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_ym, 4, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //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_de6 = { "de6", // class name |
| bases_de6, 5, |
| 0, // no vftv |
| 0, //no vtt |
| 6, // 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 de7 : si , sj , sk , sl , sm { |
| char c; |
| }; |
| //SIG(1 de7) C1{ BC2{} BC3{} BC4{} BC5{} BC6{} Fc} |
| |
| |
| |
| static void Test_de7() |
| { |
| extern Class_Descriptor cd_de7; |
| void *lvp; |
| { |
| char buf[1]; |
| init_test(&cd_de7, buf); |
| de7 &lv = *(new (buf) de7()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), 1, "sizeof(de7)"); |
| check2(__alignof__(lv), 1, "__alignof__(de7)"); |
| check_base_class_offset(lv, (si*), 0, "de7"); |
| check_base_class_offset(lv, (sj*), 0, "de7"); |
| check_base_class_offset(lv, (sk*), 0, "de7"); |
| check_base_class_offset(lv, (sl*), 0, "de7"); |
| check_base_class_offset(lv, (sm*), 0, "de7"); |
| check_field_offset(lv, c, 0, "de7.c"); |
| test_class_info(&lv, &cd_de7); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vde7(Test_de7, "de7", 1); |
| |
| #else // __cplusplus |
| |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk; |
| extern Class_Descriptor cd_sl; |
| extern Class_Descriptor cd_sm; |
| static Base_Class bases_de7[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sk, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sl, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sm, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //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_de7 = { "de7", // class name |
| bases_de7, 5, |
| 0, // no vftv |
| 0, //no vtt |
| 1, // 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 de8 : yi , yj , yk , yl , ym { |
| char c; |
| }; |
| //SIG(1 de8) C1{ BC2{ Fc} BC3{ Fc} BC4{ Fc} BC5{ Fc} BC6{ Fc} Fc} |
| |
| |
| |
| static void Test_de8() |
| { |
| extern Class_Descriptor cd_de8; |
| void *lvp; |
| { |
| char buf[6]; |
| init_test(&cd_de8, buf); |
| de8 &lv = *(new (buf) de8()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), 6, "sizeof(de8)"); |
| check2(__alignof__(lv), 1, "__alignof__(de8)"); |
| check_base_class_offset(lv, (yi*), 0, "de8"); |
| check_base_class_offset(lv, (yj*), 1, "de8"); |
| check_base_class_offset(lv, (yk*), 2, "de8"); |
| check_base_class_offset(lv, (yl*), 3, "de8"); |
| check_base_class_offset(lv, (ym*), 4, "de8"); |
| check_field_offset(lv, c, 5, "de8.c"); |
| test_class_info(&lv, &cd_de8); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vde8(Test_de8, "de8", 6); |
| |
| #else // __cplusplus |
| |
| extern Class_Descriptor cd_yi; |
| extern Class_Descriptor cd_yj; |
| extern Class_Descriptor cd_yk; |
| extern Class_Descriptor cd_yl; |
| extern Class_Descriptor cd_ym; |
| static Base_Class bases_de8[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_yi, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_yj, 1, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_yk, 2, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_yl, 3, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_ym, 4, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //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_de8 = { "de8", // class name |
| bases_de8, 5, |
| 0, // no vftv |
| 0, //no vtt |
| 6, // 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 de9 : si , sj , sk , sl , sm { |
| char c; |
| }; |
| //SIG(1 de9) C1{ BC2{} BC3{} BC4{} BC5{} BC6{} Fc} |
| |
| |
| |
| static void Test_de9() |
| { |
| extern Class_Descriptor cd_de9; |
| void *lvp; |
| { |
| char buf[1]; |
| init_test(&cd_de9, buf); |
| de9 &lv = *(new (buf) de9()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), 1, "sizeof(de9)"); |
| check2(__alignof__(lv), 1, "__alignof__(de9)"); |
| check_base_class_offset(lv, (si*), 0, "de9"); |
| check_base_class_offset(lv, (sj*), 0, "de9"); |
| check_base_class_offset(lv, (sk*), 0, "de9"); |
| check_base_class_offset(lv, (sl*), 0, "de9"); |
| check_base_class_offset(lv, (sm*), 0, "de9"); |
| check_field_offset(lv, c, 0, "de9.c"); |
| test_class_info(&lv, &cd_de9); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vde9(Test_de9, "de9", 1); |
| |
| #else // __cplusplus |
| |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk; |
| extern Class_Descriptor cd_sl; |
| extern Class_Descriptor cd_sm; |
| static Base_Class bases_de9[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sk, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sl, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sm, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //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_de9 = { "de9", // class name |
| bases_de9, 5, |
| 0, // no vftv |
| 0, //no vtt |
| 1, // 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 de10 : yi , yj , yk , yl , ym { |
| char c; |
| }; |
| //SIG(1 de10) C1{ BC2{ Fc} BC3{ Fc} BC4{ Fc} BC5{ Fc} BC6{ Fc} Fc} |
| |
| |
| |
| static void Test_de10() |
| { |
| extern Class_Descriptor cd_de10; |
| void *lvp; |
| { |
| char buf[6]; |
| init_test(&cd_de10, buf); |
| de10 &lv = *(new (buf) de10()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), 6, "sizeof(de10)"); |
| check2(__alignof__(lv), 1, "__alignof__(de10)"); |
| check_base_class_offset(lv, (yi*), 0, "de10"); |
| check_base_class_offset(lv, (yj*), 1, "de10"); |
| check_base_class_offset(lv, (yk*), 2, "de10"); |
| check_base_class_offset(lv, (yl*), 3, "de10"); |
| check_base_class_offset(lv, (ym*), 4, "de10"); |
| check_field_offset(lv, c, 5, "de10.c"); |
| test_class_info(&lv, &cd_de10); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vde10(Test_de10, "de10", 6); |
| |
| #else // __cplusplus |
| |
| extern Class_Descriptor cd_yi; |
| extern Class_Descriptor cd_yj; |
| extern Class_Descriptor cd_yk; |
| extern Class_Descriptor cd_yl; |
| extern Class_Descriptor cd_ym; |
| static Base_Class bases_de10[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_yi, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_yj, 1, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_yk, 2, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_yl, 3, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_ym, 4, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //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_de10 = { "de10", // class name |
| bases_de10, 5, |
| 0, // no vftv |
| 0, //no vtt |
| 6, // 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 de11 : si , sj , sk , sl , sm { |
| char c; |
| }; |
| //SIG(1 de11) C1{ BC2{} BC3{} BC4{} BC5{} BC6{} Fc} |
| |
| |
| |
| static void Test_de11() |
| { |
| extern Class_Descriptor cd_de11; |
| void *lvp; |
| { |
| char buf[1]; |
| init_test(&cd_de11, buf); |
| de11 &lv = *(new (buf) de11()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), 1, "sizeof(de11)"); |
| check2(__alignof__(lv), 1, "__alignof__(de11)"); |
| check_base_class_offset(lv, (si*), 0, "de11"); |
| check_base_class_offset(lv, (sj*), 0, "de11"); |
| check_base_class_offset(lv, (sk*), 0, "de11"); |
| check_base_class_offset(lv, (sl*), 0, "de11"); |
| check_base_class_offset(lv, (sm*), 0, "de11"); |
| check_field_offset(lv, c, 0, "de11.c"); |
| test_class_info(&lv, &cd_de11); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vde11(Test_de11, "de11", 1); |
| |
| #else // __cplusplus |
| |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk; |
| extern Class_Descriptor cd_sl; |
| extern Class_Descriptor cd_sm; |
| static Base_Class bases_de11[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sk, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sl, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sm, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //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_de11 = { "de11", // class name |
| bases_de11, 5, |
| 0, // no vftv |
| 0, //no vtt |
| 1, // 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 de12 : yi , yj , yk , yl , ym { |
| char c; |
| }; |
| //SIG(1 de12) C1{ BC2{ Fc} BC3{ Fc} BC4{ Fc} BC5{ Fc} BC6{ Fc} Fc} |
| |
| |
| |
| static void Test_de12() |
| { |
| extern Class_Descriptor cd_de12; |
| void *lvp; |
| { |
| char buf[6]; |
| init_test(&cd_de12, buf); |
| de12 &lv = *(new (buf) de12()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), 6, "sizeof(de12)"); |
| check2(__alignof__(lv), 1, "__alignof__(de12)"); |
| check_base_class_offset(lv, (yi*), 0, "de12"); |
| check_base_class_offset(lv, (yj*), 1, "de12"); |
| check_base_class_offset(lv, (yk*), 2, "de12"); |
| check_base_class_offset(lv, (yl*), 3, "de12"); |
| check_base_class_offset(lv, (ym*), 4, "de12"); |
| check_field_offset(lv, c, 5, "de12.c"); |
| test_class_info(&lv, &cd_de12); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vde12(Test_de12, "de12", 6); |
| |
| #else // __cplusplus |
| |
| extern Class_Descriptor cd_yi; |
| extern Class_Descriptor cd_yj; |
| extern Class_Descriptor cd_yk; |
| extern Class_Descriptor cd_yl; |
| extern Class_Descriptor cd_ym; |
| static Base_Class bases_de12[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_yi, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_yj, 1, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_yk, 2, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_yl, 3, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_ym, 4, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //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_de12 = { "de12", // class name |
| bases_de12, 5, |
| 0, // no vftv |
| 0, //no vtt |
| 6, // 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 de13 : si , sj , sk , sl , sm { |
| char c; |
| }; |
| //SIG(1 de13) C1{ BC2{} BC3{} BC4{} BC5{} BC6{} Fc} |
| |
| |
| |
| static void Test_de13() |
| { |
| extern Class_Descriptor cd_de13; |
| void *lvp; |
| { |
| char buf[1]; |
| init_test(&cd_de13, buf); |
| de13 &lv = *(new (buf) de13()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), 1, "sizeof(de13)"); |
| check2(__alignof__(lv), 1, "__alignof__(de13)"); |
| check_base_class_offset(lv, (si*), 0, "de13"); |
| check_base_class_offset(lv, (sj*), 0, "de13"); |
| check_base_class_offset(lv, (sk*), 0, "de13"); |
| check_base_class_offset(lv, (sl*), 0, "de13"); |
| check_base_class_offset(lv, (sm*), 0, "de13"); |
| check_field_offset(lv, c, 0, "de13.c"); |
| test_class_info(&lv, &cd_de13); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vde13(Test_de13, "de13", 1); |
| |
| #else // __cplusplus |
| |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk; |
| extern Class_Descriptor cd_sl; |
| extern Class_Descriptor cd_sm; |
| static Base_Class bases_de13[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sk, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sl, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sm, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //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_de13 = { "de13", // class name |
| bases_de13, 5, |
| 0, // no vftv |
| 0, //no vtt |
| 1, // 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 de14 : yi , yj , yk , yl , ym { |
| char c; |
| }; |
| //SIG(1 de14) C1{ BC2{ Fc} BC3{ Fc} BC4{ Fc} BC5{ Fc} BC6{ Fc} Fc} |
| |
| |
| |
| static void Test_de14() |
| { |
| extern Class_Descriptor cd_de14; |
| void *lvp; |
| { |
| char buf[6]; |
| init_test(&cd_de14, buf); |
| de14 &lv = *(new (buf) de14()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), 6, "sizeof(de14)"); |
| check2(__alignof__(lv), 1, "__alignof__(de14)"); |
| check_base_class_offset(lv, (yi*), 0, "de14"); |
| check_base_class_offset(lv, (yj*), 1, "de14"); |
| check_base_class_offset(lv, (yk*), 2, "de14"); |
| check_base_class_offset(lv, (yl*), 3, "de14"); |
| check_base_class_offset(lv, (ym*), 4, "de14"); |
| check_field_offset(lv, c, 5, "de14.c"); |
| test_class_info(&lv, &cd_de14); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vde14(Test_de14, "de14", 6); |
| |
| #else // __cplusplus |
| |
| extern Class_Descriptor cd_yi; |
| extern Class_Descriptor cd_yj; |
| extern Class_Descriptor cd_yk; |
| extern Class_Descriptor cd_yl; |
| extern Class_Descriptor cd_ym; |
| static Base_Class bases_de14[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_yi, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_yj, 1, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_yk, 2, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_yl, 3, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_ym, 4, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //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_de14 = { "de14", // class name |
| bases_de14, 5, |
| 0, // no vftv |
| 0, //no vtt |
| 6, // 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 de15 : si , sj , sk , sl , sm { |
| char c; |
| }; |
| //SIG(1 de15) C1{ BC2{} BC3{} BC4{} BC5{} BC6{} Fc} |
| |
| |
| |
| static void Test_de15() |
| { |
| extern Class_Descriptor cd_de15; |
| void *lvp; |
| { |
| char buf[1]; |
| init_test(&cd_de15, buf); |
| de15 &lv = *(new (buf) de15()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), 1, "sizeof(de15)"); |
| check2(__alignof__(lv), 1, "__alignof__(de15)"); |
| check_base_class_offset(lv, (si*), 0, "de15"); |
| check_base_class_offset(lv, (sj*), 0, "de15"); |
| check_base_class_offset(lv, (sk*), 0, "de15"); |
| check_base_class_offset(lv, (sl*), 0, "de15"); |
| check_base_class_offset(lv, (sm*), 0, "de15"); |
| check_field_offset(lv, c, 0, "de15.c"); |
| test_class_info(&lv, &cd_de15); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vde15(Test_de15, "de15", 1); |
| |
| #else // __cplusplus |
| |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk; |
| extern Class_Descriptor cd_sl; |
| extern Class_Descriptor cd_sm; |
| static Base_Class bases_de15[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sk, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sl, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sm, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //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_de15 = { "de15", // class name |
| bases_de15, 5, |
| 0, // no vftv |
| 0, //no vtt |
| 1, // 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 de16 : yi , yj , yk , yl , ym { |
| char c; |
| }; |
| //SIG(1 de16) C1{ BC2{ Fc} BC3{ Fc} BC4{ Fc} BC5{ Fc} BC6{ Fc} Fc} |
| |
| |
| |
| static void Test_de16() |
| { |
| extern Class_Descriptor cd_de16; |
| void *lvp; |
| { |
| char buf[6]; |
| init_test(&cd_de16, buf); |
| de16 &lv = *(new (buf) de16()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), 6, "sizeof(de16)"); |
| check2(__alignof__(lv), 1, "__alignof__(de16)"); |
| check_base_class_offset(lv, (yi*), 0, "de16"); |
| check_base_class_offset(lv, (yj*), 1, "de16"); |
| check_base_class_offset(lv, (yk*), 2, "de16"); |
| check_base_class_offset(lv, (yl*), 3, "de16"); |
| check_base_class_offset(lv, (ym*), 4, "de16"); |
| check_field_offset(lv, c, 5, "de16.c"); |
| test_class_info(&lv, &cd_de16); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vde16(Test_de16, "de16", 6); |
| |
| #else // __cplusplus |
| |
| extern Class_Descriptor cd_yi; |
| extern Class_Descriptor cd_yj; |
| extern Class_Descriptor cd_yk; |
| extern Class_Descriptor cd_yl; |
| extern Class_Descriptor cd_ym; |
| static Base_Class bases_de16[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_yi, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_yj, 1, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_yk, 2, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_yl, 3, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_ym, 4, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //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_de16 = { "de16", // class name |
| bases_de16, 5, |
| 0, // no vftv |
| 0, //no vtt |
| 6, // 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 de17 : si , sj , sk , sl , sm { |
| char c; |
| }; |
| //SIG(1 de17) C1{ BC2{} BC3{} BC4{} BC5{} BC6{} Fc} |
| |
| |
| |
| static void Test_de17() |
| { |
| extern Class_Descriptor cd_de17; |
| void *lvp; |
| { |
| char buf[1]; |
| init_test(&cd_de17, buf); |
| de17 &lv = *(new (buf) de17()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), 1, "sizeof(de17)"); |
| check2(__alignof__(lv), 1, "__alignof__(de17)"); |
| check_base_class_offset(lv, (si*), 0, "de17"); |
| check_base_class_offset(lv, (sj*), 0, "de17"); |
| check_base_class_offset(lv, (sk*), 0, "de17"); |
| check_base_class_offset(lv, (sl*), 0, "de17"); |
| check_base_class_offset(lv, (sm*), 0, "de17"); |
| check_field_offset(lv, c, 0, "de17.c"); |
| test_class_info(&lv, &cd_de17); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vde17(Test_de17, "de17", 1); |
| |
| #else // __cplusplus |
| |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk; |
| extern Class_Descriptor cd_sl; |
| extern Class_Descriptor cd_sm; |
| static Base_Class bases_de17[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sk, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sl, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sm, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //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_de17 = { "de17", // class name |
| bases_de17, 5, |
| 0, // no vftv |
| 0, //no vtt |
| 1, // 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 de18 : yi , yj , yk , yl , ym { |
| char c; |
| }; |
| //SIG(1 de18) C1{ BC2{ Fc} BC3{ Fc} BC4{ Fc} BC5{ Fc} BC6{ Fc} Fc} |
| |
| |
| |
| static void Test_de18() |
| { |
| extern Class_Descriptor cd_de18; |
| void *lvp; |
| { |
| char buf[6]; |
| init_test(&cd_de18, buf); |
| de18 &lv = *(new (buf) de18()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), 6, "sizeof(de18)"); |
| check2(__alignof__(lv), 1, "__alignof__(de18)"); |
| check_base_class_offset(lv, (yi*), 0, "de18"); |
| check_base_class_offset(lv, (yj*), 1, "de18"); |
| check_base_class_offset(lv, (yk*), 2, "de18"); |
| check_base_class_offset(lv, (yl*), 3, "de18"); |
| check_base_class_offset(lv, (ym*), 4, "de18"); |
| check_field_offset(lv, c, 5, "de18.c"); |
| test_class_info(&lv, &cd_de18); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vde18(Test_de18, "de18", 6); |
| |
| #else // __cplusplus |
| |
| extern Class_Descriptor cd_yi; |
| extern Class_Descriptor cd_yj; |
| extern Class_Descriptor cd_yk; |
| extern Class_Descriptor cd_yl; |
| extern Class_Descriptor cd_ym; |
| static Base_Class bases_de18[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_yi, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_yj, 1, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_yk, 2, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_yl, 3, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_ym, 4, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //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_de18 = { "de18", // class name |
| bases_de18, 5, |
| 0, // no vftv |
| 0, //no vtt |
| 6, // 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 de19 : si , sj , sk , sl , sm { |
| char c; |
| }; |
| //SIG(1 de19) C1{ BC2{} BC3{} BC4{} BC5{} BC6{} Fc} |
| |
| |
| |
| static void Test_de19() |
| { |
| extern Class_Descriptor cd_de19; |
| void *lvp; |
| { |
| char buf[1]; |
| init_test(&cd_de19, buf); |
| de19 &lv = *(new (buf) de19()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), 1, "sizeof(de19)"); |
| check2(__alignof__(lv), 1, "__alignof__(de19)"); |
| check_base_class_offset(lv, (si*), 0, "de19"); |
| check_base_class_offset(lv, (sj*), 0, "de19"); |
| check_base_class_offset(lv, (sk*), 0, "de19"); |
| check_base_class_offset(lv, (sl*), 0, "de19"); |
| check_base_class_offset(lv, (sm*), 0, "de19"); |
| check_field_offset(lv, c, 0, "de19.c"); |
| test_class_info(&lv, &cd_de19); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vde19(Test_de19, "de19", 1); |
| |
| #else // __cplusplus |
| |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk; |
| extern Class_Descriptor cd_sl; |
| extern Class_Descriptor cd_sm; |
| static Base_Class bases_de19[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sk, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sl, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sm, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //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_de19 = { "de19", // class name |
| bases_de19, 5, |
| 0, // no vftv |
| 0, //no vtt |
| 1, // 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 de20 : yi , yj , yk , yl , ym { |
| char c; |
| }; |
| //SIG(1 de20) C1{ BC2{ Fc} BC3{ Fc} BC4{ Fc} BC5{ Fc} BC6{ Fc} Fc} |
| |
| |
| |
| static void Test_de20() |
| { |
| extern Class_Descriptor cd_de20; |
| void *lvp; |
| { |
| char buf[6]; |
| init_test(&cd_de20, buf); |
| de20 &lv = *(new (buf) de20()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), 6, "sizeof(de20)"); |
| check2(__alignof__(lv), 1, "__alignof__(de20)"); |
| check_base_class_offset(lv, (yi*), 0, "de20"); |
| check_base_class_offset(lv, (yj*), 1, "de20"); |
| check_base_class_offset(lv, (yk*), 2, "de20"); |
| check_base_class_offset(lv, (yl*), 3, "de20"); |
| check_base_class_offset(lv, (ym*), 4, "de20"); |
| check_field_offset(lv, c, 5, "de20.c"); |
| test_class_info(&lv, &cd_de20); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vde20(Test_de20, "de20", 6); |
| |
| #else // __cplusplus |
| |
| extern Class_Descriptor cd_yi; |
| extern Class_Descriptor cd_yj; |
| extern Class_Descriptor cd_yk; |
| extern Class_Descriptor cd_yl; |
| extern Class_Descriptor cd_ym; |
| static Base_Class bases_de20[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_yi, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_yj, 1, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_yk, 2, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_yl, 3, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_ym, 4, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //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_de20 = { "de20", // class name |
| bases_de20, 5, |
| 0, // no vftv |
| 0, //no vtt |
| 6, // 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 de21 : si , sj , sk , sl , sm { |
| char c; |
| }; |
| //SIG(1 de21) C1{ BC2{} BC3{} BC4{} BC5{} BC6{} Fc} |
| |
| |
| |
| static void Test_de21() |
| { |
| extern Class_Descriptor cd_de21; |
| void *lvp; |
| { |
| char buf[1]; |
| init_test(&cd_de21, buf); |
| de21 &lv = *(new (buf) de21()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), 1, "sizeof(de21)"); |
| check2(__alignof__(lv), 1, "__alignof__(de21)"); |
| check_base_class_offset(lv, (si*), 0, "de21"); |
| check_base_class_offset(lv, (sj*), 0, "de21"); |
| check_base_class_offset(lv, (sk*), 0, "de21"); |
| check_base_class_offset(lv, (sl*), 0, "de21"); |
| check_base_class_offset(lv, (sm*), 0, "de21"); |
| check_field_offset(lv, c, 0, "de21.c"); |
| test_class_info(&lv, &cd_de21); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vde21(Test_de21, "de21", 1); |
| |
| #else // __cplusplus |
| |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk; |
| extern Class_Descriptor cd_sl; |
| extern Class_Descriptor cd_sm; |
| static Base_Class bases_de21[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sk, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sl, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sm, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //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_de21 = { "de21", // class name |
| bases_de21, 5, |
| 0, // no vftv |
| 0, //no vtt |
| 1, // 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 de22 : yi , yj , yk , yl , ym { |
| char c; |
| }; |
| //SIG(1 de22) C1{ BC2{ Fc} BC3{ Fc} BC4{ Fc} BC5{ Fc} BC6{ Fc} Fc} |
| |
| |
| |
| static void Test_de22() |
| { |
| extern Class_Descriptor cd_de22; |
| void *lvp; |
| { |
| char buf[6]; |
| init_test(&cd_de22, buf); |
| de22 &lv = *(new (buf) de22()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), 6, "sizeof(de22)"); |
| check2(__alignof__(lv), 1, "__alignof__(de22)"); |
| check_base_class_offset(lv, (yi*), 0, "de22"); |
| check_base_class_offset(lv, (yj*), 1, "de22"); |
| check_base_class_offset(lv, (yk*), 2, "de22"); |
| check_base_class_offset(lv, (yl*), 3, "de22"); |
| check_base_class_offset(lv, (ym*), 4, "de22"); |
| check_field_offset(lv, c, 5, "de22.c"); |
| test_class_info(&lv, &cd_de22); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vde22(Test_de22, "de22", 6); |
| |
| #else // __cplusplus |
| |
| extern Class_Descriptor cd_yi; |
| extern Class_Descriptor cd_yj; |
| extern Class_Descriptor cd_yk; |
| extern Class_Descriptor cd_yl; |
| extern Class_Descriptor cd_ym; |
| static Base_Class bases_de22[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_yi, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_yj, 1, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_yk, 2, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_yl, 3, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_ym, 4, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //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_de22 = { "de22", // class name |
| bases_de22, 5, |
| 0, // no vftv |
| 0, //no vtt |
| 6, // 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 de23 : si , sj , sk , sl , sm { |
| char c; |
| }; |
| //SIG(1 de23) C1{ BC2{} BC3{} BC4{} BC5{} BC6{} Fc} |
| |
| |
| |
| static void Test_de23() |
| { |
| extern Class_Descriptor cd_de23; |
| void *lvp; |
| { |
| char buf[1]; |
| init_test(&cd_de23, buf); |
| de23 &lv = *(new (buf) de23()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), 1, "sizeof(de23)"); |
| check2(__alignof__(lv), 1, "__alignof__(de23)"); |
| check_base_class_offset(lv, (si*), 0, "de23"); |
| check_base_class_offset(lv, (sj*), 0, "de23"); |
| check_base_class_offset(lv, (sk*), 0, "de23"); |
| check_base_class_offset(lv, (sl*), 0, "de23"); |
| check_base_class_offset(lv, (sm*), 0, "de23"); |
| check_field_offset(lv, c, 0, "de23.c"); |
| test_class_info(&lv, &cd_de23); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vde23(Test_de23, "de23", 1); |
| |
| #else // __cplusplus |
| |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk; |
| extern Class_Descriptor cd_sl; |
| extern Class_Descriptor cd_sm; |
| static Base_Class bases_de23[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sk, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sl, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sm, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //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_de23 = { "de23", // class name |
| bases_de23, 5, |
| 0, // no vftv |
| 0, //no vtt |
| 1, // 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 de24 : yi , yj , yk , yl , ym { |
| char c; |
| }; |
| //SIG(1 de24) C1{ BC2{ Fc} BC3{ Fc} BC4{ Fc} BC5{ Fc} BC6{ Fc} Fc} |
| |
| |
| |
| static void Test_de24() |
| { |
| extern Class_Descriptor cd_de24; |
| void *lvp; |
| { |
| char buf[6]; |
| init_test(&cd_de24, buf); |
| de24 &lv = *(new (buf) de24()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), 6, "sizeof(de24)"); |
| check2(__alignof__(lv), 1, "__alignof__(de24)"); |
| check_base_class_offset(lv, (yi*), 0, "de24"); |
| check_base_class_offset(lv, (yj*), 1, "de24"); |
| check_base_class_offset(lv, (yk*), 2, "de24"); |
| check_base_class_offset(lv, (yl*), 3, "de24"); |
| check_base_class_offset(lv, (ym*), 4, "de24"); |
| check_field_offset(lv, c, 5, "de24.c"); |
| test_class_info(&lv, &cd_de24); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vde24(Test_de24, "de24", 6); |
| |
| #else // __cplusplus |
| |
| extern Class_Descriptor cd_yi; |
| extern Class_Descriptor cd_yj; |
| extern Class_Descriptor cd_yk; |
| extern Class_Descriptor cd_yl; |
| extern Class_Descriptor cd_ym; |
| static Base_Class bases_de24[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_yi, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_yj, 1, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_yk, 2, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_yl, 3, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_ym, 4, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //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_de24 = { "de24", // class name |
| bases_de24, 5, |
| 0, // no vftv |
| 0, //no vtt |
| 6, // 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 de25 : si , sj , sk , sl , sm { |
| char c; |
| }; |
| //SIG(1 de25) C1{ BC2{} BC3{} BC4{} BC5{} BC6{} Fc} |
| |
| |
| |
| static void Test_de25() |
| { |
| extern Class_Descriptor cd_de25; |
| void *lvp; |
| { |
| char buf[1]; |
| init_test(&cd_de25, buf); |
| de25 &lv = *(new (buf) de25()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), 1, "sizeof(de25)"); |
| check2(__alignof__(lv), 1, "__alignof__(de25)"); |
| check_base_class_offset(lv, (si*), 0, "de25"); |
| check_base_class_offset(lv, (sj*), 0, "de25"); |
| check_base_class_offset(lv, (sk*), 0, "de25"); |
| check_base_class_offset(lv, (sl*), 0, "de25"); |
| check_base_class_offset(lv, (sm*), 0, "de25"); |
| check_field_offset(lv, c, 0, "de25.c"); |
| test_class_info(&lv, &cd_de25); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vde25(Test_de25, "de25", 1); |
| |
| #else // __cplusplus |
| |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk; |
| extern Class_Descriptor cd_sl; |
| extern Class_Descriptor cd_sm; |
| static Base_Class bases_de25[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sk, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sl, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sm, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //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_de25 = { "de25", // class name |
| bases_de25, 5, |
| 0, // no vftv |
| 0, //no vtt |
| 1, // 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 de26 : yi , yj , yk , yl , ym { |
| char c; |
| }; |
| //SIG(1 de26) C1{ BC2{ Fc} BC3{ Fc} BC4{ Fc} BC5{ Fc} BC6{ Fc} Fc} |
| |
| |
| |
| static void Test_de26() |
| { |
| extern Class_Descriptor cd_de26; |
| void *lvp; |
| { |
| char buf[6]; |
| init_test(&cd_de26, buf); |
| de26 &lv = *(new (buf) de26()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), 6, "sizeof(de26)"); |
| check2(__alignof__(lv), 1, "__alignof__(de26)"); |
| check_base_class_offset(lv, (yi*), 0, "de26"); |
| check_base_class_offset(lv, (yj*), 1, "de26"); |
| check_base_class_offset(lv, (yk*), 2, "de26"); |
| check_base_class_offset(lv, (yl*), 3, "de26"); |
| check_base_class_offset(lv, (ym*), 4, "de26"); |
| check_field_offset(lv, c, 5, "de26.c"); |
| test_class_info(&lv, &cd_de26); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vde26(Test_de26, "de26", 6); |
| |
| #else // __cplusplus |
| |
| extern Class_Descriptor cd_yi; |
| extern Class_Descriptor cd_yj; |
| extern Class_Descriptor cd_yk; |
| extern Class_Descriptor cd_yl; |
| extern Class_Descriptor cd_ym; |
| static Base_Class bases_de26[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_yi, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_yj, 1, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_yk, 2, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_yl, 3, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_ym, 4, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //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_de26 = { "de26", // class name |
| bases_de26, 5, |
| 0, // no vftv |
| 0, //no vtt |
| 6, // 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 de27 : si , sj , sk , sl , sm { |
| char c; |
| }; |
| //SIG(1 de27) C1{ BC2{} BC3{} BC4{} BC5{} BC6{} Fc} |
| |
| |
| |
| static void Test_de27() |
| { |
| extern Class_Descriptor cd_de27; |
| void *lvp; |
| { |
| char buf[1]; |
| init_test(&cd_de27, buf); |
| de27 &lv = *(new (buf) de27()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), 1, "sizeof(de27)"); |
| check2(__alignof__(lv), 1, "__alignof__(de27)"); |
| check_base_class_offset(lv, (si*), 0, "de27"); |
| check_base_class_offset(lv, (sj*), 0, "de27"); |
| check_base_class_offset(lv, (sk*), 0, "de27"); |
| check_base_class_offset(lv, (sl*), 0, "de27"); |
| check_base_class_offset(lv, (sm*), 0, "de27"); |
| check_field_offset(lv, c, 0, "de27.c"); |
| test_class_info(&lv, &cd_de27); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vde27(Test_de27, "de27", 1); |
| |
| #else // __cplusplus |
| |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk; |
| extern Class_Descriptor cd_sl; |
| extern Class_Descriptor cd_sm; |
| static Base_Class bases_de27[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sk, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sl, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sm, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //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_de27 = { "de27", // class name |
| bases_de27, 5, |
| 0, // no vftv |
| 0, //no vtt |
| 1, // 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 de28 : yi , yj , yk , yl , ym { |
| char c; |
| }; |
| //SIG(1 de28) C1{ BC2{ Fc} BC3{ Fc} BC4{ Fc} BC5{ Fc} BC6{ Fc} Fc} |
| |
| |
| |
| static void Test_de28() |
| { |
| extern Class_Descriptor cd_de28; |
| void *lvp; |
| { |
| char buf[6]; |
| init_test(&cd_de28, buf); |
| de28 &lv = *(new (buf) de28()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), 6, "sizeof(de28)"); |
| check2(__alignof__(lv), 1, "__alignof__(de28)"); |
| check_base_class_offset(lv, (yi*), 0, "de28"); |
| check_base_class_offset(lv, (yj*), 1, "de28"); |
| check_base_class_offset(lv, (yk*), 2, "de28"); |
| check_base_class_offset(lv, (yl*), 3, "de28"); |
| check_base_class_offset(lv, (ym*), 4, "de28"); |
| check_field_offset(lv, c, 5, "de28.c"); |
| test_class_info(&lv, &cd_de28); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vde28(Test_de28, "de28", 6); |
| |
| #else // __cplusplus |
| |
| extern Class_Descriptor cd_yi; |
| extern Class_Descriptor cd_yj; |
| extern Class_Descriptor cd_yk; |
| extern Class_Descriptor cd_yl; |
| extern Class_Descriptor cd_ym; |
| static Base_Class bases_de28[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_yi, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_yj, 1, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_yk, 2, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_yl, 3, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_ym, 4, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //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_de28 = { "de28", // class name |
| bases_de28, 5, |
| 0, // no vftv |
| 0, //no vtt |
| 6, // 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 de29 : si , sj , sk , sl , sm { |
| char c; |
| }; |
| //SIG(1 de29) C1{ BC2{} BC3{} BC4{} BC5{} BC6{} Fc} |
| |
| |
| |
| static void Test_de29() |
| { |
| extern Class_Descriptor cd_de29; |
| void *lvp; |
| { |
| char buf[1]; |
| init_test(&cd_de29, buf); |
| de29 &lv = *(new (buf) de29()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), 1, "sizeof(de29)"); |
| check2(__alignof__(lv), 1, "__alignof__(de29)"); |
| check_base_class_offset(lv, (si*), 0, "de29"); |
| check_base_class_offset(lv, (sj*), 0, "de29"); |
| check_base_class_offset(lv, (sk*), 0, "de29"); |
| check_base_class_offset(lv, (sl*), 0, "de29"); |
| check_base_class_offset(lv, (sm*), 0, "de29"); |
| check_field_offset(lv, c, 0, "de29.c"); |
| test_class_info(&lv, &cd_de29); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vde29(Test_de29, "de29", 1); |
| |
| #else // __cplusplus |
| |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk; |
| extern Class_Descriptor cd_sl; |
| extern Class_Descriptor cd_sm; |
| static Base_Class bases_de29[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sk, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sl, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sm, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //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_de29 = { "de29", // class name |
| bases_de29, 5, |
| 0, // no vftv |
| 0, //no vtt |
| 1, // 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 de30 : yi , yj , yk , yl , ym { |
| char c; |
| }; |
| //SIG(1 de30) C1{ BC2{ Fc} BC3{ Fc} BC4{ Fc} BC5{ Fc} BC6{ Fc} Fc} |
| |
| |
| |
| static void Test_de30() |
| { |
| extern Class_Descriptor cd_de30; |
| void *lvp; |
| { |
| char buf[6]; |
| init_test(&cd_de30, buf); |
| de30 &lv = *(new (buf) de30()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), 6, "sizeof(de30)"); |
| check2(__alignof__(lv), 1, "__alignof__(de30)"); |
| check_base_class_offset(lv, (yi*), 0, "de30"); |
| check_base_class_offset(lv, (yj*), 1, "de30"); |
| check_base_class_offset(lv, (yk*), 2, "de30"); |
| check_base_class_offset(lv, (yl*), 3, "de30"); |
| check_base_class_offset(lv, (ym*), 4, "de30"); |
| check_field_offset(lv, c, 5, "de30.c"); |
| test_class_info(&lv, &cd_de30); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vde30(Test_de30, "de30", 6); |
| |
| #else // __cplusplus |
| |
| extern Class_Descriptor cd_yi; |
| extern Class_Descriptor cd_yj; |
| extern Class_Descriptor cd_yk; |
| extern Class_Descriptor cd_yl; |
| extern Class_Descriptor cd_ym; |
| static Base_Class bases_de30[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_yi, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_yj, 1, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_yk, 2, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_yl, 3, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_ym, 4, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //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_de30 = { "de30", // class name |
| bases_de30, 5, |
| 0, // no vftv |
| 0, //no vtt |
| 6, // 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 de31 : si , sj , sk , sl , sm { |
| char c; |
| }; |
| //SIG(1 de31) C1{ BC2{} BC3{} BC4{} BC5{} BC6{} Fc} |
| |
| |
| |
| static void Test_de31() |
| { |
| extern Class_Descriptor cd_de31; |
| void *lvp; |
| { |
| char buf[1]; |
| init_test(&cd_de31, buf); |
| de31 &lv = *(new (buf) de31()); |
| lvp = (void*)&lv; |
| check2(sizeof(lv), 1, "sizeof(de31)"); |
| check2(__alignof__(lv), 1, "__alignof__(de31)"); |
| check_base_class_offset(lv, (si*), 0, "de31"); |
| check_base_class_offset(lv, (sj*), 0, "de31"); |
| check_base_class_offset(lv, (sk*), 0, "de31"); |
| check_base_class_offset(lv, (sl*), 0, "de31"); |
| check_base_class_offset(lv, (sm*), 0, "de31"); |
| check_field_offset(lv, c, 0, "de31.c"); |
| test_class_info(&lv, &cd_de31); |
| } |
| Check_Ctor_Dtor_Calls(lvp); |
| } |
| static Arrange_To_Call_Me vde31(Test_de31, "de31", 1); |
| |
| #else // __cplusplus |
| |
| extern Class_Descriptor cd_si; |
| extern VTBL_ENTRY _ZTI2si[]; |
| extern Class_Descriptor cd_sj; |
| extern VTBL_ENTRY _ZTI2sj[]; |
| extern Class_Descriptor cd_sk; |
| extern Class_Descriptor cd_sl; |
| extern Class_Descriptor cd_sm; |
| static Base_Class bases_de31[] = { |
| // ofst, vfto, nneg, vtt_idx, base_vtt_idx, init_seq, direct, virtual |
| {&cd_si, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sj, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sk, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sl, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 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_sm, 0, //bcp->offset |
| -1, //bcp->virtual_function_table_offset |
| 2, //num_negative_vtable_entries(t, bcp) |
| 0, //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_de31 = { "de31", // class name |
| bases_de31, 5, |
| 0, // no vftv |
| 0, //no vtt |
| 1, // 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 fe0 { |
| ::yi fa; |
| ::yj fb; |
| ::yk fc; |
| ::yl fd; |
| ::ym fe; |
| char c; |
| }; |
| //SIG(1 fe0) C1{ FC2{ Fc} FC3{ Fc} FC4{ Fc} FC5{ Fc} FC6{ Fc} Fc} |
| |
| |
| |
| static void Test_fe0() |
| { |
| { |
| init_simple_test("fe0"); |
| fe0 lv; |
| check2(sizeof(lv), 6, "sizeof(fe0)"); |
| check2(__alignof__(lv), 1, "__alignof__(fe0)"); |
| check_field_offset(lv, fa, 0, "fe0.fa"); |
| check_field_offset(lv, fb, 1, "fe0.fb"); |
| check_field_offset(lv, fc, 2, "fe0.fc"); |
| check_field_offset(lv, fd, 3, "fe0.fd"); |
| check_field_offset(lv, fe, 4, "fe0.fe"); |
| check_field_offset(lv, c, 5, "fe0.c"); |
| } |
| } |
| static Arrange_To_Call_Me vfe0(Test_fe0, "fe0", 6); |
| |
| #else // __cplusplus |
| |
| #endif // __cplusplus |
| |
| //============================================================================ |
| |
| #ifdef __cplusplus |
| |
| struct fe1 { |
| ::si fa; |
| ::sj fb; |
| ::sk fc; |
| ::sl fd; |
| ::sm fe; |
| char c; |
| }; |
| //SIG(1 fe1) C1{ FC2{} FC3{} FC4{} FC5{} FC6{} Fc} |
| |
| |
| |
| static void Test_fe1() |
| { |
| { |
| init_simple_test("fe1"); |
| fe1 lv; |
| check2(sizeof(lv), 6, "sizeof(fe1)"); |
| check2(__alignof__(lv), 1, "__alignof__(fe1)"); |
| check_field_offset(lv, fa, 0, "fe1.fa"); |
| check_field_offset(lv, fb, 1, "fe1.fb"); |
| check_field_offset(lv, fc, 2, "fe1.fc"); |
| check_field_offset(lv, fd, 3, "fe1.fd"); |
| check_field_offset(lv, fe, 4, "fe1.fe"); |
| check_field_offset(lv, c, 5, "fe1.c"); |
| } |
| } |
| static Arrange_To_Call_Me vfe1(Test_fe1, "fe1", 6); |
| |
| #else // __cplusplus |
| |
| #endif // __cplusplus |
| |
| //============================================================================ |
| |
| #ifdef __cplusplus |
| |
| struct fe2 { |
| ::yi fa; |
| ::yj fb; |
| ::yk fc; |
| ::yl fd; |
| ::ym fe; |
| char c; |
| }; |
| //SIG(1 fe2) C1{ FC2{ Fc} FC3{ Fc} FC4{ Fc} FC5{ Fc} FC6{ Fc} Fc} |
| |
| |
| |
| static void Test_fe2() |
| { |
| { |
| init_simple_test("fe2"); |
| fe2 lv; |
| check2(sizeof(lv), 6, "sizeof(fe2)"); |
| check2(__alignof__(lv), 1, "__alignof__(fe2)"); |
| check_field_offset(lv, fa, 0, "fe2.fa"); |
| check_field_offset(lv, fb, 1, "fe2.fb"); |
| check_field_offset(lv, fc, 2, "fe2.fc"); |
| check_field_offset(lv, fd, 3, "fe2.fd"); |
| check_field_offset(lv, fe, 4, "fe2.fe"); |
| check_field_offset(lv, c, 5, "fe2.c"); |
| } |
| } |
| static Arrange_To_Call_Me vfe2(Test_fe2, "fe2", 6); |
| |
| #else // __cplusplus |
| |
| #endif // __cplusplus |
| |
| //============================================================================ |
| |
| #ifdef __cplusplus |
| |
| struct fe3 { |
| ::si fa; |
| ::sj fb; |
| ::sk fc; |
| ::sl fd; |
| ::sm fe; |
| char c; |
| }; |
| //SIG(1 fe3) C1{ FC2{} FC3{} FC4{} FC5{} FC6{} Fc} |
| |
| |
| |
| static void Test_fe3() |
| { |
| { |
| init_simple_test("fe3"); |
| fe3 lv; |
| check2(sizeof(lv), 6, "sizeof(fe3)"); |
| check2(__alignof__(lv), 1, "__alignof__(fe3)"); |
| check_field_offset(lv, fa, 0, "fe3.fa"); |
| check_field_offset(lv, fb, 1, "fe3.fb"); |
| check_field_offset(lv, fc, 2, "fe3.fc"); |
| check_field_offset(lv, fd, 3, "fe3.fd"); |
| check_field_offset(lv, fe, 4, "fe3.fe"); |
| check_field_offset(lv, c, 5, "fe3.c"); |
| } |
| } |
| static Arrange_To_Call_Me vfe3(Test_fe3, "fe3", 6); |
| |
| #else // __cplusplus |
| |
| #endif // __cplusplus |
| |
| //============================================================================ |
| |
| #ifdef __cplusplus |
| |
| struct fe4 { |
| ::yi fa; |
| ::yj fb; |
| ::yk fc; |
| ::yl fd; |
| ::ym fe; |
| char c; |
| }; |
| //SIG(1 fe4) C1{ FC2{ Fc} FC3{ Fc} FC4{ Fc} FC5{ Fc} FC6{ Fc} Fc} |
| |
| |
| |
| static void Test_fe4() |
| { |
| { |
| init_simple_test("fe4"); |
| fe4 lv; |
| check2(sizeof(lv), 6, "sizeof(fe4)"); |
| check2(__alignof__(lv), 1, "__alignof__(fe4)"); |
| check_field_offset(lv, fa, 0, "fe4.fa"); |
| check_field_offset(lv, fb, 1, "fe4.fb"); |
| check_field_offset(lv, fc, 2, "fe4.fc"); |
| check_field_offset(lv, fd, 3, "fe4.fd"); |
| check_field_offset(lv, fe, 4, "fe4.fe"); |
| check_field_offset(lv, c, 5, "fe4.c"); |
| } |
| } |
| static Arrange_To_Call_Me vfe4(Test_fe4, "fe4", 6); |
| |
| #else // __cplusplus |
| |
| #endif // __cplusplus |
| |
| //============================================================================ |
| |
| #ifdef __cplusplus |
| |
| struct fe5 { |
| ::si fa; |
| ::sj fb; |
| ::sk fc; |
| ::sl fd; |
| ::sm fe; |
| char c; |
| }; |
| //SIG(1 fe5) C1{ FC2{} FC3{} FC4{} FC5{} FC6{} Fc} |
| |
| |
| |
| static void Test_fe5() |
| { |
| { |
| init_simple_test("fe5"); |
| fe5 lv; |
| check2(sizeof(lv), 6, "sizeof(fe5)"); |
| check2(__alignof__(lv), 1, "__alignof__(fe5)"); |
| check_field_offset(lv, fa, 0, "fe5.fa"); |
| check_field_offset(lv, fb, 1, "fe5.fb"); |
| check_field_offset(lv, fc, 2, "fe5.fc"); |
| check_field_offset(lv, fd, 3, "fe5.fd"); |
| check_field_offset(lv, fe, 4, "fe5.fe"); |
| check_field_offset(lv, c, 5, "fe5.c"); |
| } |
| } |
| static Arrange_To_Call_Me vfe5(Test_fe5, "fe5", 6); |
| |
| #else // __cplusplus |
| |
| #endif // __cplusplus |
| |
| //============================================================================ |
| |
| #ifdef __cplusplus |
| |
| struct fe6 { |
| ::yi fa; |
| ::yj fb; |
| ::yk fc; |
| ::yl fd; |
| ::ym fe; |
| char c; |
| }; |
| //SIG(1 fe6) C1{ FC2{ Fc} FC3{ Fc} FC4{ Fc} FC5{ Fc} FC6{ Fc} Fc} |
| |
| |
| |
| static void Test_fe6() |
| { |
| { |
| init_simple_test("fe6"); |
| fe6 lv; |
| check2(sizeof(lv), 6, "sizeof(fe6)"); |
| check2(__alignof__(lv), 1, "__alignof__(fe6)"); |
| check_field_offset(lv, fa, 0, "fe6.fa"); |
| check_field_offset(lv, fb, 1, "fe6.fb"); |
| check_field_offset(lv, fc, 2, "fe6.fc"); |
| check_field_offset(lv, fd, 3, "fe6.fd"); |
| check_field_offset(lv, fe, 4, "fe6.fe"); |
| check_field_offset(lv, c, 5, "fe6.c"); |
| } |
| } |
| static Arrange_To_Call_Me vfe6(Test_fe6, "fe6", 6); |
| |
| #else // __cplusplus |
| |
| #endif // __cplusplus |
| |
| //============================================================================ |
| |
| #ifdef __cplusplus |
| |
| struct fe7 { |
| ::si fa; |
| ::sj fb; |
| ::sk fc; |
| ::sl fd; |
| ::sm fe; |
| char c; |
| }; |
| //SIG(1 fe7) C1{ FC2{} FC3{} FC4{} FC5{} FC6{} Fc} |
| |
| |
| |
| static void Test_fe7() |
| { |
| { |
| init_simple_test("fe7"); |
| fe7 lv; |
| check2(sizeof(lv), 6, "sizeof(fe7)"); |
| check2(__alignof__(lv), 1, "__alignof__(fe7)"); |
| check_field_offset(lv, fa, 0, "fe7.fa"); |
| check_field_offset(lv, fb, 1, "fe7.fb"); |
| check_field_offset(lv, fc, 2, "fe7.fc"); |
| check_field_offset(lv, fd, 3, "fe7.fd"); |
| check_field_offset(lv, fe, 4, "fe7.fe"); |
| check_field_offset(lv, c, 5, "fe7.c"); |
| } |
| } |
| static Arrange_To_Call_Me vfe7(Test_fe7, "fe7", 6); |
| |
| #else // __cplusplus |
| |
| #endif // __cplusplus |
| |
| //============================================================================ |
| |
| #ifdef __cplusplus |
| |
| struct fe8 { |
| ::yi fa; |
| ::yj fb; |
| ::yk fc; |
| ::yl fd; |
| ::ym fe; |
| char c; |
| }; |
| //SIG(1 fe8) C1{ FC2{ Fc} FC3{ Fc} FC4{ Fc} FC5{ Fc} FC6{ Fc} Fc} |
| |
| |
| |
| static void Test_fe8() |
| { |
| { |
| init_simple_test("fe8"); |
| fe8 lv; |
| check2(sizeof(lv), 6, "sizeof(fe8)"); |
| check2(__alignof__(lv), 1, "__alignof__(fe8)"); |
| check_field_offset(lv, fa, 0, "fe8.fa"); |
| check_field_offset(lv, fb, 1, "fe8.fb"); |
| check_field_offset(lv, fc, 2, "fe8.fc"); |
| check_field_offset(lv, fd, 3, "fe8.fd"); |
| check_field_offset(lv, fe, 4, "fe8.fe"); |
| check_field_offset(lv, c, 5, "fe8.c"); |
| } |
| } |
| static Arrange_To_Call_Me vfe8(Test_fe8, "fe8", 6); |
| |
| #else // __cplusplus |
| |
| #endif // __cplusplus |
| |
| //============================================================================ |
| |
| #ifdef __cplusplus |
| |
| struct fe9 { |
| ::si fa; |
| ::sj fb; |
| ::sk fc; |
| ::sl fd; |
| ::sm fe; |
| char c; |
| }; |
| //SIG(1 fe9) C1{ FC2{} FC3{} FC4{} FC5{} FC6{} Fc} |
| |
| |
| |
| static void Test_fe9() |
| { |
| { |
| init_simple_test("fe9"); |
| fe9 lv; |
| check2(sizeof(lv), 6, "sizeof(fe9)"); |
| check2(__alignof__(lv), 1, "__alignof__(fe9)"); |
| check_field_offset(lv, fa, 0, "fe9.fa"); |
| check_field_offset(lv, fb, 1, "fe9.fb"); |
| check_field_offset(lv, fc, 2, "fe9.fc"); |
| check_field_offset(lv, fd, 3, "fe9.fd"); |
| check_field_offset(lv, fe, 4, "fe9.fe"); |
| check_field_offset(lv, c, 5, "fe9.c"); |
| } |
| } |
| static Arrange_To_Call_Me vfe9(Test_fe9, "fe9", 6); |
| |
| #else // __cplusplus |
| |
| #endif // __cplusplus |
| |
| //============================================================================ |
| |
| #ifdef __cplusplus |
| |
| struct fe10 { |
| ::yi fa; |
| ::yj fb; |
| ::yk fc; |
| ::yl fd; |
| ::ym fe; |
| char c; |
| }; |
| //SIG(1 fe10) C1{ FC2{ Fc} FC3{ Fc} FC4{ Fc} FC5{ Fc} FC6{ Fc} Fc} |
| |
| |
| |
| static void Test_fe10() |
| { |
| { |
| init_simple_test("fe10"); |
| fe10 lv; |
| check2(sizeof(lv), 6, "sizeof(fe10)"); |
| check2(__alignof__(lv), 1, "__alignof__(fe10)"); |
| check_field_offset(lv, fa, 0, "fe10.fa"); |
| check_field_offset(lv, fb, 1, "fe10.fb"); |
| check_field_offset(lv, fc, 2, "fe10.fc"); |
| check_field_offset(lv, fd, 3, "fe10.fd"); |
| check_field_offset(lv, fe, 4, "fe10.fe"); |
| check_field_offset(lv, c, 5, "fe10.c"); |
| } |
| } |
| static Arrange_To_Call_Me vfe10(Test_fe10, "fe10", 6); |
| |
| #else // __cplusplus |
| |
| #endif // __cplusplus |
| |
| //============================================================================ |
| |
| #ifdef __cplusplus |
| |
| struct fe11 { |
| ::si fa; |
| ::sj fb; |
| ::sk fc; |
| ::sl fd; |
| ::sm fe; |
| char c; |
| }; |
| //SIG(1 fe11) C1{ FC2{} FC3{} FC4{} FC5{} FC6{} Fc} |
| |
| |
| |
| static void Test_fe11() |
| { |
| { |
| init_simple_test("fe11"); |
| fe11 lv; |
| check2(sizeof(lv), 6, "sizeof(fe11)"); |
| check2(__alignof__(lv), 1, "__alignof__(fe11)"); |
| check_field_offset(lv, fa, 0, "fe11.fa"); |
| check_field_offset(lv, fb, 1, "fe11.fb"); |
| check_field_offset(lv, fc, 2, "fe11.fc"); |
| check_field_offset(lv, fd, 3, "fe11.fd"); |
| check_field_offset(lv, fe, 4, "fe11.fe"); |
| check_field_offset(lv, c, 5, "fe11.c"); |
| } |
| } |
| static Arrange_To_Call_Me vfe11(Test_fe11, "fe11", 6); |
| |
| #else // __cplusplus |
| |
| #endif // __cplusplus |
| |
| //============================================================================ |
| |
| #ifdef __cplusplus |
| |
| struct fe12 { |
| ::yi fa; |
| ::yj fb; |
| ::yk fc; |
| ::yl fd; |
| ::ym fe; |
| char c; |
| }; |
| //SIG(1 fe12) C1{ FC2{ Fc} FC3{ Fc} FC4{ Fc} FC5{ Fc} FC6{ Fc} Fc} |
| |
| |
| |
| static void Test_fe12() |
| { |
| { |
| init_simple_test("fe12"); |
| fe12 lv; |
| check2(sizeof(lv), 6, "sizeof(fe12)"); |
| check2(__alignof__(lv), 1, "__alignof__(fe12)"); |
| check_field_offset(lv, fa, 0, "fe12.fa"); |
| check_field_offset(lv, fb, 1, "fe12.fb"); |
| check_field_offset(lv, fc, 2, "fe12.fc"); |
| check_field_offset(lv, fd, 3, "fe12.fd"); |
| check_field_offset(lv, fe, 4, "fe12.fe"); |
| check_field_offset(lv, c, 5, "fe12.c"); |
| } |
| } |
| static Arrange_To_Call_Me vfe12(Test_fe12, "fe12", 6); |
| |
| #else // __cplusplus |
| |
| #endif // __cplusplus |
| |
| //============================================================================ |
| |
| #ifdef __cplusplus |
| |
| struct fe13 { |
| ::si fa; |
| ::sj fb; |
| ::sk fc; |
| ::sl fd; |
| ::sm fe; |
| char c; |
| }; |
| //SIG(1 fe13) C1{ FC2{} FC3{} FC4{} FC5{} FC6{} Fc} |
| |
| |
| |
| static void Test_fe13() |
| { |
| { |
| init_simple_test("fe13"); |
| fe13 lv; |
| check2(sizeof(lv), 6, "sizeof(fe13)"); |
| check2(__alignof__(lv), 1, "__alignof__(fe13)"); |
| check_field_offset(lv, fa, 0, "fe13.fa"); |
| check_field_offset(lv, fb, 1, "fe13.fb"); |
| check_field_offset(lv, fc, 2, "fe13.fc"); |
| check_field_offset(lv, fd, 3, "fe13.fd"); |
| check_field_offset(lv, fe, 4, "fe13.fe"); |
| check_field_offset(lv, c, 5, "fe13.c"); |
| } |
| } |
| static Arrange_To_Call_Me vfe13(Test_fe13, "fe13", 6); |
| |
| #else // __cplusplus |
| |
| #endif // __cplusplus |
| |
| //============================================================================ |
| |
| #ifdef __cplusplus |
| |
| struct fe14 { |
| ::yi fa; |
| ::yj fb; |
| ::yk fc; |
| ::yl fd; |
| ::ym fe; |
| char c; |
| }; |
| //SIG(1 fe14) C1{ FC2{ Fc} FC3{ Fc} FC4{ Fc} FC5{ Fc} FC6{ Fc} Fc} |
| |
| |
| |
| static void Test_fe14() |
| { |
| { |
| init_simple_test("fe14"); |
| fe14 lv; |
| check2(sizeof(lv), 6, "sizeof(fe14)"); |
| check2(__alignof__(lv), 1, "__alignof__(fe14)"); |
| check_field_offset(lv, fa, 0, "fe14.fa"); |
| check_field_offset(lv, fb, 1, "fe14.fb"); |
| check_field_offset(lv, fc, 2, "fe14.fc"); |
| check_field_offset(lv, fd, 3, "fe14.fd"); |
| check_field_offset(lv, fe, 4, "fe14.fe"); |
| check_field_offset(lv, c, 5, "fe14.c"); |
| } |
| } |
| static Arrange_To_Call_Me vfe14(Test_fe14, "fe14", 6); |
| |
| #else // __cplusplus |
| |
| #endif // __cplusplus |
| |
| //============================================================================ |
| |
| #ifdef __cplusplus |
| |
| struct fe15 { |
| ::si fa; |
| ::sj fb; |
| ::sk fc; |
| ::sl fd; |
| ::sm fe; |
| char c; |
| }; |
| //SIG(1 fe15) C1{ FC2{} FC3{} FC4{} FC5{} FC6{} Fc} |
| |
| |
| |
| static void Test_fe15() |
| { |
| { |
| init_simple_test("fe15"); |
| fe15 lv; |
| check2(sizeof(lv), 6, "sizeof(fe15)"); |
| check2(__alignof__(lv), 1, "__alignof__(fe15)"); |
| check_field_offset(lv, fa, 0, "fe15.fa"); |
| check_field_offset(lv, fb, 1, "fe15.fb"); |
| check_field_offset(lv, fc, 2, "fe15.fc"); |
| check_field_offset(lv, fd, 3, "fe15.fd"); |
| check_field_offset(lv, fe, 4, "fe15.fe"); |
| check_field_offset(lv, c, 5, "fe15.c"); |
| } |
| } |
| static Arrange_To_Call_Me vfe15(Test_fe15, "fe15", 6); |
| |
| #else // __cplusplus |
| |
| #endif // __cplusplus |
| |
| //============================================================================ |
| |
| #ifdef __cplusplus |
| |
| struct fe16 { |
| ::yi fa; |
| ::yj fb; |
| ::yk fc; |
| ::yl fd; |
| ::ym fe; |
| char c; |
| }; |
| //SIG(1 fe16) C1{ FC2{ Fc} FC3{ Fc} FC4{ Fc} FC5{ Fc} FC6{ Fc} Fc} |
| |
| |
| |
| static void Test_fe16() |
| { |
| { |
| init_simple_test("fe16"); |
| fe16 lv; |
| check2(sizeof(lv), 6, "sizeof(fe16)"); |
| check2(__alignof__(lv), 1, "__alignof__(fe16)"); |
| check_field_offset(lv, fa, 0, "fe16.fa"); |
| check_field_offset(lv, fb, 1, "fe16.fb"); |
| check_field_offset(lv, fc, 2, "fe16.fc"); |
| check_field_offset(lv, fd, 3, "fe16.fd"); |
| check_field_offset(lv, fe, 4, "fe16.fe"); |
| check_field_offset(lv, c, 5, "fe16.c"); |
| } |
| } |
| static Arrange_To_Call_Me vfe16(Test_fe16, "fe16", 6); |
| |
| #else // __cplusplus |
| |
| #endif // __cplusplus |
| |
| //============================================================================ |
| |
| #ifdef __cplusplus |
| |
| struct fe17 { |
| ::si fa; |
| ::sj fb; |
| ::sk fc; |
| ::sl fd; |
| ::sm fe; |
| char c; |
| }; |
| //SIG(1 fe17) C1{ FC2{} FC3{} FC4{} FC5{} FC6{} Fc} |
| |
| |
| |
| static void Test_fe17() |
| { |
| { |
| init_simple_test("fe17"); |
| fe17 lv; |
| check2(sizeof(lv), 6, "sizeof(fe17)"); |
| check2(__alignof__(lv), 1, "__alignof__(fe17)"); |
| check_field_offset(lv, fa, 0, "fe17.fa"); |
| check_field_offset(lv, fb, 1, "fe17.fb"); |
| check_field_offset(lv, fc, 2, "fe17.fc"); |
| check_field_offset(lv, fd, 3, "fe17.fd"); |
| check_field_offset(lv, fe, 4, "fe17.fe"); |
| check_field_offset(lv, c, 5, "fe17.c"); |
| } |
| } |
| static Arrange_To_Call_Me vfe17(Test_fe17, "fe17", 6); |
| |
| #else // __cplusplus |
| |
| #endif // __cplusplus |
| |
| //============================================================================ |
| |
| #ifdef __cplusplus |
| |
| struct fe18 { |
| ::yi fa; |
| ::yj fb; |
| ::yk fc; |
| ::yl fd; |
| ::ym fe; |
| char c; |
| }; |
| //SIG(1 fe18) C1{ FC2{ Fc} FC3{ Fc} FC4{ Fc} FC5{ Fc} FC6{ Fc} Fc} |
| |
| |
| |
| static void Test_fe18() |
| { |
| { |
| init_simple_test("fe18"); |
| fe18 lv; |
| check2(sizeof(lv), 6, "sizeof(fe18)"); |
| check2(__alignof__(lv), 1, "__alignof__(fe18)"); |
| check_field_offset(lv, fa, 0, "fe18.fa"); |
| check_field_offset(lv, fb, 1, "fe18.fb"); |
| check_field_offset(lv, fc, 2, "fe18.fc"); |
| check_field_offset(lv, fd, 3, "fe18.fd"); |
| check_field_offset(lv, fe, 4, "fe18.fe"); |
| check_field_offset(lv, c, 5, "fe18.c"); |
| } |
| } |
| static Arrange_To_Call_Me vfe18(Test_fe18, "fe18", 6); |
| |
| #else // __cplusplus |
| |
| #endif // __cplusplus |
| |
| //============================================================================ |
| |
| #ifdef __cplusplus |
| |
| struct fe19 { |
| ::si fa; |
| ::sj fb; |
| ::sk fc; |
| ::sl fd; |
| ::sm fe; |
| char c; |
| }; |
| //SIG(1 fe19) C1{ FC2{} FC3{} FC4{} FC5{} FC6{} Fc} |
| |
| |
| |
| static void Test_fe19() |
| { |
| { |
| init_simple_test("fe19"); |
| fe19 lv; |
| check2(sizeof(lv), 6, "sizeof(fe19)"); |
| check2(__alignof__(lv), 1, "__alignof__(fe19)"); |
| check_field_offset(lv, fa, 0, "fe19.fa"); |
| check_field_offset(lv, fb, 1, "fe19.fb"); |
| check_field_offset(lv, fc, 2, "fe19.fc"); |
| check_field_offset(lv, fd, 3, "fe19.fd"); |
| check_field_offset(lv, fe, 4, "fe19.fe"); |
| check_field_offset(lv, c, 5, "fe19.c"); |
| } |
| } |
| static Arrange_To_Call_Me vfe19(Test_fe19, "fe19", 6); |
| |
| #else // __cplusplus |
| |
| #endif // __cplusplus |
| |
| //============================================================================ |
| |
| #ifdef __cplusplus |
| |
| struct fe20 { |
| ::yi fa; |
| ::yj fb; |
| ::yk fc; |
| ::yl fd; |
| ::ym fe; |
| char c; |
| }; |
| //SIG(1 fe20) C1{ FC2{ Fc} FC3{ Fc} FC4{ Fc} FC5{ Fc} FC6{ Fc} Fc} |
| |
| |
| |
| static void Test_fe20() |
| { |
| { |
| init_simple_test("fe20"); |
| fe20 lv; |
| check2(sizeof(lv), 6, "sizeof(fe20)"); |
| check2(__alignof__(lv), 1, "__alignof__(fe20)"); |
| check_field_offset(lv, fa, 0, "fe20.fa"); |
| check_field_offset(lv, fb, 1, "fe20.fb"); |
| check_field_offset(lv, fc, 2, "fe20.fc"); |
| check_field_offset(lv, fd, 3, "fe20.fd"); |
| check_field_offset(lv, fe, 4, "fe20.fe"); |
| check_field_offset(lv, c, 5, "fe20.c"); |
| } |
| } |
| static Arrange_To_Call_Me vfe20(Test_fe20, "fe20", 6); |
| |
| #else // __cplusplus |
| |
| #endif // __cplusplus |
| |
| //============================================================================ |
| |
| #ifdef __cplusplus |
| |
| struct fe21 { |
| ::si fa; |
| ::sj fb; |
| ::sk fc; |
| ::sl fd; |
| ::sm fe; |
| char c; |
| }; |
| //SIG(1 fe21) C1{ FC2{} FC3{} FC4{} FC5{} FC6{} Fc} |
| |
| |
| |
| static void Test_fe21() |
| { |
| { |
| init_simple_test("fe21"); |
| fe21 lv; |
| check2(sizeof(lv), 6, "sizeof(fe21)"); |
| check2(__alignof__(lv), 1, "__alignof__(fe21)"); |
| check_field_offset(lv, fa, 0, "fe21.fa"); |
| check_field_offset(lv, fb, 1, "fe21.fb"); |
| check_field_offset(lv, fc, 2, "fe21.fc"); |
| check_field_offset(lv, fd, 3, "fe21.fd"); |
| check_field_offset(lv, fe, 4, "fe21.fe"); |
| check_field_offset(lv, c, 5, "fe21.c"); |
| } |
| } |
| static Arrange_To_Call_Me vfe21(Test_fe21, "fe21", 6); |
| |
| #else // __cplusplus |
| |
| #endif // __cplusplus |
| |
| //============================================================================ |
| |
| #ifdef __cplusplus |
| |
| struct fe22 { |
| ::yi fa; |
| ::yj fb; |
| ::yk fc; |
| ::yl fd; |
| ::ym fe; |
| char c; |
| }; |
| //SIG(1 fe22) C1{ FC2{ Fc} FC3{ Fc} FC4{ Fc} FC5{ Fc} FC6{ Fc} Fc} |
| |
| |
| |
| static void Test_fe22() |
| { |
| { |
| init_simple_test("fe22"); |
| fe22 lv; |
| check2(sizeof(lv), 6, "sizeof(fe22)"); |
| check2(__alignof__(lv), 1, "__alignof__(fe22)"); |
| check_field_offset(lv, fa, 0, "fe22.fa"); |
| check_field_offset(lv, fb, 1, "fe22.fb"); |
| check_field_offset(lv, fc, 2, "fe22.fc"); |
| check_field_offset(lv, fd, 3, "fe22.fd"); |
| check_field_offset(lv, fe, 4, "fe22.fe"); |
| check_field_offset(lv, c, 5, "fe22.c"); |
| } |
| } |
| static Arrange_To_Call_Me vfe22(Test_fe22, "fe22", 6); |
| |
| #else // __cplusplus |
| |
| #endif // __cplusplus |
| |
| //============================================================================ |
| |
| #ifdef __cplusplus |
| |
| struct fe23 { |
| ::si fa; |
| ::sj fb; |
| ::sk fc; |
| ::sl fd; |
| ::sm fe; |
| char c; |
| }; |
| //SIG(1 fe23) C1{ FC2{} FC3{} FC4{} FC5{} FC6{} Fc} |
| |
| |
| |
| static void Test_fe23() |
| { |
| { |
| init_simple_test("fe23"); |
| fe23 lv; |
| check2(sizeof(lv), 6, "sizeof(fe23)"); |
| check2(__alignof__(lv), 1, "__alignof__(fe23)"); |
| check_field_offset(lv, fa, 0, "fe23.fa"); |
| check_field_offset(lv, fb, 1, "fe23.fb"); |
| check_field_offset(lv, fc, 2, "fe23.fc"); |
| check_field_offset(lv, fd, 3, "fe23.fd"); |
| check_field_offset(lv, fe, 4, "fe23.fe"); |
| check_field_offset(lv, c, 5, "fe23.c"); |
| } |
| } |
| static Arrange_To_Call_Me vfe23(Test_fe23, "fe23", 6); |
| |
| #else // __cplusplus |
| |
| #endif // __cplusplus |
| |
| //============================================================================ |
| |
| #ifdef __cplusplus |
| |
| struct fe24 { |
| ::yi fa; |
| ::yj fb; |
| ::yk fc; |
| ::yl fd; |
| ::ym fe; |
| char c; |
| }; |
| //SIG(1 fe24) C1{ FC2{ Fc} FC3{ Fc} FC4{ Fc} FC5{ Fc} FC6{ Fc} Fc} |
| |
| |
| |
| static void Test_fe24() |
| { |
| { |
| init_simple_test("fe24"); |
| fe24 lv; |
| check2(sizeof(lv), 6, "sizeof(fe24)"); |
| check2(__alignof__(lv), 1, "__alignof__(fe24)"); |
| check_field_offset(lv, fa, 0, "fe24.fa"); |
| check_field_offset(lv, fb, 1, "fe24.fb"); |
| check_field_offset(lv, fc, 2, "fe24.fc"); |
| check_field_offset(lv, fd, 3, "fe24.fd"); |
| check_field_offset(lv, fe, 4, "fe24.fe"); |
| check_field_offset(lv, c, 5, "fe24.c"); |
| } |
| } |
| static Arrange_To_Call_Me vfe24(Test_fe24, "fe24", 6); |
| |
| #else // __cplusplus |
| |
| #endif // __cplusplus |
| |
| //============================================================================ |
| |
| #ifdef __cplusplus |
| |
| struct fe25 { |
| ::si fa; |
| ::sj fb; |
| ::sk fc; |
| ::sl fd; |
| ::sm fe; |
| char c; |
| }; |
| //SIG(1 fe25) C1{ FC2{} FC3{} FC4{} FC5{} FC6{} Fc} |
| |
| |
| |
| static void Test_fe25() |
| { |
| { |
| init_simple_test("fe25"); |
| fe25 lv; |
| check2(sizeof(lv), 6, "sizeof(fe25)"); |
| check2(__alignof__(lv), 1, "__alignof__(fe25)"); |
| check_field_offset(lv, fa, 0, "fe25.fa"); |
| check_field_offset(lv, fb, 1, "fe25.fb"); |
| check_field_offset(lv, fc, 2, "fe25.fc"); |
| check_field_offset(lv, fd, 3, "fe25.fd"); |
| check_field_offset(lv, fe, 4, "fe25.fe"); |
| check_field_offset(lv, c, 5, "fe25.c"); |
| } |
| } |
| static Arrange_To_Call_Me vfe25(Test_fe25, "fe25", 6); |
| |
| #else // __cplusplus |
| |
| #endif // __cplusplus |
| |
| //============================================================================ |
| |
| #ifdef __cplusplus |
| |
| struct fe26 { |
| ::yi fa; |
| ::yj fb; |
| ::yk fc; |
| ::yl fd; |
| ::ym fe; |
| char c; |
| }; |
| //SIG(1 fe26) C1{ FC2{ Fc} FC3{ Fc} FC4{ Fc} FC5{ Fc} FC6{ Fc} Fc} |
| |
| |
| |
| static void Test_fe26() |
| { |
| { |
| init_simple_test("fe26"); |
| fe26 lv; |
| check2(sizeof(lv), 6, "sizeof(fe26)"); |
| check2(__alignof__(lv), 1, "__alignof__(fe26)"); |
| check_field_offset(lv, fa, 0, "fe26.fa"); |
| check_field_offset(lv, fb, 1, "fe26.fb"); |
| check_field_offset(lv, fc, 2, "fe26.fc"); |
| check_field_offset(lv, fd, 3, "fe26.fd"); |
| check_field_offset(lv, fe, 4, "fe26.fe"); |
| check_field_offset(lv, c, 5, "fe26.c"); |
| } |
| } |
| static Arrange_To_Call_Me vfe26(Test_fe26, "fe26", 6); |
| |
| #else // __cplusplus |
| |
| #endif // __cplusplus |
| |
| //============================================================================ |
| |
| #ifdef __cplusplus |
| |
| struct fe27 { |
| ::si fa; |
| ::sj fb; |
| ::sk fc; |
| ::sl fd; |
| ::sm fe; |
| char c; |
| }; |
| //SIG(1 fe27) C1{ FC2{} FC3{} FC4{} FC5{} FC6{} Fc} |
| |
| |
| |
| static void Test_fe27() |
| { |
| { |
| init_simple_test("fe27"); |
| fe27 lv; |
| check2(sizeof(lv), 6, "sizeof(fe27)"); |
| check2(__alignof__(lv), 1, "__alignof__(fe27)"); |
| check_field_offset(lv, fa, 0, "fe27.fa"); |
| check_field_offset(lv, fb, 1, "fe27.fb"); |
| check_field_offset(lv, fc, 2, "fe27.fc"); |
| check_field_offset(lv, fd, 3, "fe27.fd"); |
| check_field_offset(lv, fe, 4, "fe27.fe"); |
| check_field_offset(lv, c, 5, "fe27.c"); |
| } |
| } |
| static Arrange_To_Call_Me vfe27(Test_fe27, "fe27", 6); |
| |
| #else // __cplusplus |
| |
| #endif // __cplusplus |
| |
| //============================================================================ |
| |
| #ifdef __cplusplus |
| |
| struct fe28 { |
| ::yi fa; |
| ::yj fb; |
| ::yk fc; |
| ::yl fd; |
| ::ym fe; |
| char c; |
| }; |
| //SIG(1 fe28) C1{ FC2{ Fc} FC3{ Fc} FC4{ Fc} FC5{ Fc} FC6{ Fc} Fc} |
| |
| |
| |
| static void Test_fe28() |
| { |
| { |
| init_simple_test("fe28"); |
| fe28 lv; |
| check2(sizeof(lv), 6, "sizeof(fe28)"); |
| check2(__alignof__(lv), 1, "__alignof__(fe28)"); |
| check_field_offset(lv, fa, 0, "fe28.fa"); |
| check_field_offset(lv, fb, 1, "fe28.fb"); |
| check_field_offset(lv, fc, 2, "fe28.fc"); |
| check_field_offset(lv, fd, 3, "fe28.fd"); |
| check_field_offset(lv, fe, 4, "fe28.fe"); |
| check_field_offset(lv, c, 5, "fe28.c"); |
| } |
| } |
| static Arrange_To_Call_Me vfe28(Test_fe28, "fe28", 6); |
| |
| #else // __cplusplus |
| |
| #endif // __cplusplus |
| |
| //============================================================================ |
| |
| #ifdef __cplusplus |
| |
| struct fe29 { |
| ::si fa; |
| ::sj fb; |
| ::sk fc; |
| ::sl fd; |
| ::sm fe; |
| char c; |
| }; |
| //SIG(1 fe29) C1{ FC2{} FC3{} FC4{} FC5{} FC6{} Fc} |
| |
| |
| |
| static void Test_fe29() |
| { |
| { |
| init_simple_test("fe29"); |
| fe29 lv; |
| check2(sizeof(lv), 6, "sizeof(fe29)"); |
| check2(__alignof__(lv), 1, "__alignof__(fe29)"); |
| check_field_offset(lv, fa, 0, "fe29.fa"); |
| check_field_offset(lv, fb, 1, "fe29.fb"); |
| check_field_offset(lv, fc, 2, "fe29.fc"); |
| check_field_offset(lv, fd, 3, "fe29.fd"); |
| check_field_offset(lv, fe, 4, "fe29.fe"); |
| check_field_offset(lv, c, 5, "fe29.c"); |
| } |
| } |
| static Arrange_To_Call_Me vfe29(Test_fe29, "fe29", 6); |
| |
| #else // __cplusplus |
| |
| #endif // __cplusplus |
| |
| //============================================================================ |
| |
| #ifdef __cplusplus |
| |
| struct fe30 { |
| ::yi fa; |
| ::yj fb; |
| ::yk fc; |
| ::yl fd; |
| ::ym fe; |
| char c; |
| }; |
| //SIG(1 fe30) C1{ FC2{ Fc} FC3{ Fc} FC4{ Fc} FC5{ Fc} FC6{ Fc} Fc} |
| |
| |
| |
| static void Test_fe30() |
| { |
| { |
| init_simple_test("fe30"); |
| fe30 lv; |
| check2(sizeof(lv), 6, "sizeof(fe30)"); |
| check2(__alignof__(lv), 1, "__alignof__(fe30)"); |
| check_field_offset(lv, fa, 0, "fe30.fa"); |
| check_field_offset(lv, fb, 1, "fe30.fb"); |
| check_field_offset(lv, fc, 2, "fe30.fc"); |
| check_field_offset(lv, fd, 3, "fe30.fd"); |
| check_field_offset(lv, fe, 4, "fe30.fe"); |
| check_field_offset(lv, c, 5, "fe30.c"); |
| } |
| } |
| static Arrange_To_Call_Me vfe30(Test_fe30, "fe30", 6); |
| |
| #else // __cplusplus |
| |
| #endif // __cplusplus |
| |
| //============================================================================ |
| |
| #ifdef __cplusplus |
| |
| struct fe31 { |
| ::si fa; |
| ::sj fb; |
| ::sk fc; |
| ::sl fd; |
| ::sm fe; |
| char c; |
| }; |
| //SIG(1 fe31) C1{ FC2{} FC3{} FC4{} FC5{} FC6{} Fc} |
| |
| |
| |
| static void Test_fe31() |
| { |
| { |
| init_simple_test("fe31"); |
| fe31 lv; |
| check2(sizeof(lv), 6, "sizeof(fe31)"); |
| check2(__alignof__(lv), 1, "__alignof__(fe31)"); |
| check_field_offset(lv, fa, 0, "fe31.fa"); |
| check_field_offset(lv, fb, 1, "fe31.fb"); |
| check_field_offset(lv, fc, 2, "fe31.fc"); |
| check_field_offset(lv, fd, 3, "fe31.fd"); |
| check_field_offset(lv, fe, 4, "fe31.fe"); |
| check_field_offset(lv, c, 5, "fe31.c"); |
| } |
| } |
| static Arrange_To_Call_Me vfe31(Test_fe31, "fe31", 6); |
| |
| #else // __cplusplus |
| |
| #endif // __cplusplus |
| |
| //============================================================================ |
| |