mirror of
git://sourceware.org/git/libabigail.git
synced 2024-12-22 17:52:16 +00:00
661f76c8f4
* include/abg-comparison.h (class base_diff): New. * include/abg-ir.h (function_decl::get_first_non_implicit_parm): New member function. (function_type::get_first_non_implicit_parm): Likewise. * src/abg-comparison.cc (base_has_changed): Change parm to take class_decl::base_spec_sptr. (class_diff::ensure_lookup_tables_populated): Compare the base specs not just the base classes. (class_diff::report): Adjust. Report sub-type changes in the member functions. (base_diff::*): Define member functions. (compute_diff): Define an overload for base_diff_sptr. * src/abg-hash.cc ({function_type, method_type}:#️⃣:operator()): Do not hash the implicit parm of member functions. (class_decl:#️⃣:operator()): Do not hash member types. * src/abg-ir.cc (decl_base::decl_base): Initialize the hashing_started_ member that got moved here from class_decl. (decl_base::get_hash): Do not set the hash if it's being set b/c we are in a class_decl. (decl_base::operator==) Do not compare hashes for now. Two decls can have different hashes and compare equal; think about an incomplete type foo, that compares equal with a complete foo. Their hashes will be different though. So for now, just avoid comparing these. (compare_function_types): Avoid comparing the implicit parameter for member functions. ({function, method}_type::get_first_non_implicit_parm): New definition. * tests/data/test-read-write/test20.xml: Update. Signed-off-by: Dodji Seketeli <dodji@redhat.com>
88 lines
6.5 KiB
XML
88 lines
6.5 KiB
XML
<abi-instr version='1.0' path='data/test-read-write/test20.xml'>
|
|
<type-decl name='void' alignment-in-bits='8' id='type-id-1'/>
|
|
<function-decl name='foo' mangled-name='_Z3foov' filepath='../../prtests/test9.cc' line='78' column='1' visibility='default' binding='global' size-in-bits='8' alignment-in-bits='8'>
|
|
<return type-id='type-id-1'/>
|
|
</function-decl>
|
|
<type-decl name='int' size-in-bits='32' alignment-in-bits='32' id='type-id-2'/>
|
|
<class-decl name='B0' visibility='default' is-declaration-only='yes' id='type-id-3'/>
|
|
<pointer-type-def type-id='type-id-3' size-in-bits='64' alignment-in-bits='64' id='type-id-4'/>
|
|
<class-decl name='B0' size-in-bits='32' alignment-in-bits='32' visibility='default' filepath='../../prtests/test9.cc' line='1' column='7' def-of-decl-id='type-id-3' id='type-id-3'>
|
|
<data-member access='private' layout-offset-in-bits='0'>
|
|
<var-decl name='m0' type-id='type-id-2' visibility='default' filepath='../../prtests/test9.cc' line='3' column='7'/>
|
|
</data-member>
|
|
<member-function access='public'>
|
|
<function-decl name='__base_ctor ' mangled-name='_ZN2B0C2Ev' filepath='../../prtests/test9.cc' line='7' column='3' declared-inline='yes' visibility='default' binding='weak' size-in-bits='8' alignment-in-bits='8'>
|
|
<parameter type-id='type-id-4'/>
|
|
<return type-id='type-id-1'/>
|
|
</function-decl>
|
|
</member-function>
|
|
<member-function access='public'>
|
|
<function-decl name='__comp_ctor ' mangled-name='_ZN2B0C1Ev' filepath='../../prtests/test9.cc' line='7' column='3' declared-inline='yes' visibility='default' binding='weak' size-in-bits='8' alignment-in-bits='8'>
|
|
<parameter type-id='type-id-4'/>
|
|
<return type-id='type-id-1'/>
|
|
</function-decl>
|
|
</member-function>
|
|
</class-decl>
|
|
<class-decl name='B1' size-in-bits='32' alignment-in-bits='32' visibility='default' filepath='../../prtests/test9.cc' line='20' column='7' id='type-id-5'>
|
|
<data-member access='private' layout-offset-in-bits='0'>
|
|
<var-decl name='m0' type-id='type-id-2' visibility='default' filepath='../../prtests/test9.cc' line='22' column='7'/>
|
|
</data-member>
|
|
<member-function access='public'>
|
|
<function-decl name='__base_ctor ' mangled-name='_ZN2B1C2Ev' filepath='../../prtests/test9.cc' line='26' column='3' declared-inline='yes' visibility='default' binding='weak' size-in-bits='8' alignment-in-bits='8'>
|
|
<parameter type-id='type-id-6'/>
|
|
<return type-id='type-id-1'/>
|
|
</function-decl>
|
|
</member-function>
|
|
<member-function access='public'>
|
|
<function-decl name='__comp_ctor ' mangled-name='_ZN2B1C1Ev' filepath='../../prtests/test9.cc' line='26' column='3' declared-inline='yes' visibility='default' binding='weak' size-in-bits='8' alignment-in-bits='8'>
|
|
<parameter type-id='type-id-6'/>
|
|
<return type-id='type-id-1'/>
|
|
</function-decl>
|
|
</member-function>
|
|
</class-decl>
|
|
<pointer-type-def type-id='type-id-5' size-in-bits='64' alignment-in-bits='64' id='type-id-6'/>
|
|
<class-decl name='B2' visibility='default' is-declaration-only='yes' id='type-id-7'/>
|
|
<pointer-type-def type-id='type-id-7' size-in-bits='64' alignment-in-bits='64' id='type-id-8'/>
|
|
<class-decl name='B2' size-in-bits='32' alignment-in-bits='32' visibility='default' filepath='../../prtests/test9.cc' line='39' column='7' def-of-decl-id='type-id-7' id='type-id-9'>
|
|
<data-member access='private' layout-offset-in-bits='0'>
|
|
<var-decl name='m0' type-id='type-id-2' visibility='default' filepath='../../prtests/test9.cc' line='41' column='7'/>
|
|
</data-member>
|
|
<member-function access='public'>
|
|
<function-decl name='__base_ctor ' mangled-name='_ZN2B2C2Ev' filepath='../../prtests/test9.cc' line='45' column='3' declared-inline='yes' visibility='default' binding='weak' size-in-bits='8' alignment-in-bits='8'>
|
|
<parameter type-id='type-id-8'/>
|
|
<return type-id='type-id-1'/>
|
|
</function-decl>
|
|
</member-function>
|
|
<member-function access='public'>
|
|
<function-decl name='__comp_ctor ' mangled-name='_ZN2B2C1Ev' filepath='../../prtests/test9.cc' line='45' column='3' declared-inline='yes' visibility='default' binding='weak' size-in-bits='8' alignment-in-bits='8'>
|
|
<parameter type-id='type-id-8'/>
|
|
<return type-id='type-id-1'/>
|
|
</function-decl>
|
|
</member-function>
|
|
</class-decl>
|
|
<class-decl name='S' visibility='default' is-declaration-only='yes' id='type-id-10'/>
|
|
<pointer-type-def type-id='type-id-10' size-in-bits='64' alignment-in-bits='64' id='type-id-11'/>
|
|
<class-decl name='S' size-in-bits='192' alignment-in-bits='64' visibility='default' filepath='../../prtests/test9.cc' line='58' column='7' id='type-id-12'>
|
|
<base-class access='public' layout-offset-in-bits='64' type-id='type-id-3'/>
|
|
<base-class access='public' layout-offset-in-bits='96' type-id='type-id-5'/>
|
|
<base-class access='private' layout-offset-in-bits='160' is-virtual='yes' type-id='type-id-9'/>
|
|
<data-member access='private' layout-offset-in-bits='128'>
|
|
<var-decl name='m0' type-id='type-id-2' visibility='default' filepath='../../prtests/test9.cc' line='60' column='7'/>
|
|
</data-member>
|
|
<member-function access='public'>
|
|
<function-decl name='__comp_ctor ' mangled-name='_ZN1SC1Ev' filepath='../../prtests/test9.cc' line='64' column='3' declared-inline='yes' visibility='default' binding='weak' size-in-bits='8' alignment-in-bits='8'>
|
|
<parameter type-id='type-id-11'/>
|
|
<return type-id='type-id-1'/>
|
|
</function-decl>
|
|
</member-function>
|
|
</class-decl>
|
|
<class-decl name='__class_type_info_pseudo' size-in-bits='128' alignment-in-bits='64' visibility='default' id='type-id-13'/>
|
|
<qualified-type-def type-id='type-id-13' const='yes' id='type-id-14'/>
|
|
<var-decl name='_ZTI2B0' type-id='type-id-14' mangled-name='_ZTI2B0' visibility='default' binding='weak' filepath='../../prtests/test9.cc' line='81' column='1'/>
|
|
<var-decl name='_ZTI2B2' type-id='type-id-14' mangled-name='_ZTI2B2' visibility='default' binding='weak' filepath='../../prtests/test9.cc' line='81' column='1'/>
|
|
<var-decl name='_ZTI2B1' type-id='type-id-14' mangled-name='_ZTI2B1' visibility='default' binding='weak' filepath='../../prtests/test9.cc' line='81' column='1'/>
|
|
<class-decl name='__vmi_class_type_info_pseudo3' size-in-bits='576' alignment-in-bits='64' visibility='default' id='type-id-15'/>
|
|
<qualified-type-def type-id='type-id-15' const='yes' id='type-id-16'/>
|
|
<var-decl name='_ZTI1S' type-id='type-id-16' mangled-name='_ZTI1S' visibility='default' binding='weak' filepath='../../prtests/test9.cc' line='58' column='7'/>
|
|
</abi-instr>
|