1
0
mirror of git://sourceware.org/git/libabigail.git synced 2024-12-29 05:02:06 +00:00
libabigail/tests
Dodji Seketeli cbf1debeab Fix reading several clones of the same member function from DWARF
* include/abg-fwd.h (set_member_function_is_ctor)
	(set_member_function_is_dtor, set_member_function_is_const)
	(set_member_function_vtable_offset): Declare new functions.
	* include/abg-ir.h (class_decl::sort_virtual_mem_fns): Declare new
	member function.
	(mem_fn_context_rel::{vtable_offset, is_constructor is_destructor,
	is_const}): Add these setters.
	(set_member_function_is_ctor, set_member_function_is_dtor)
	(set_member_function_is_static, set_member_function_is_const)
	(set_member_function_vtable_offset)
	(set_member_function_is_virtual): Declare these new friend
	function to class class_decl::method_decl.
	* src/abg-dwarf-reader.cc (finish_member_function_reading): Split
	this out from build_class_type_and_add_to_ir.  Use the new setters
	for member functions properties introduced above.
	(build_class_type_and_add_to_ir): Factorize the creation of member
	function by using build_ir_node_from_die.  Once that function has
	created the member function in a rather generic way, use the new
	finish_member_function_reading to set the remaining specific
	properties for member functions.
	(build_function_decl): When called to read additional properties
	of a function_decl, allow this to read and update the elf symbol
	properties too.  This is useful for building a clone of a function
	that already has an elf symbol.
	(build_ir_node_from_die):  When building a function decl, consider
	the case of a DIE that has both DW_AT_specification and
	DW_AT_abstract_origin set.  That is, DW_AT_abstract_origin is set,
	and the origin has DW_AT_specification set.  This is basically a
	clone of a function that implements an interface (this happens for
	destructors, for instance).  In this case, really do the cloning
	of the interface implementation.  If the cloned function happens
	to be member function, use finish_member_function_reading to read
	the properties relevant to its method-ness.
	* src/abg-ir.cc (set_member_function_is_ctor)
	(set_member_function_is_dtor, set_member_function_is_const)
	(set_member_function_vtable_offset)
	(class_decl::sort_virtual_mem_fns): Define new functions.
	(sort_virtual_member_functions): Define new static function.
	(struct virtual_member_function_less_than): New functor.
	(class_decl::add_member_function): Keep virtual member functions
	vector sorted.
	* data/test-read-dwarf/test1.abi: Adjust.  Now, both the
	cdtor specification and all the clones that implements the
	different are emitted.
	* data/test-read-dwarf/test2.so.abi: Likewise.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2014-10-02 10:09:23 +02:00
..
data Fix reading several clones of the same member function from DWARF 2014-10-02 10:09:23 +02:00
Makefile.am Rename bi* tools to abi* tools 2014-09-26 10:58:16 +02:00
test-abidiff.cc Rename bi* tools to abi* tools 2014-09-26 10:58:16 +02:00
test-alt-dwarf-file.cc Rename bi* tools to abi* tools 2014-09-26 10:58:16 +02:00
test-core-diff.cc Fix further reaching reverse path calculation in core diff algo 2014-02-10 15:51:09 +01:00
test-diff2.cc Re-write middle snakes management in core diff algorithms 2013-11-19 11:25:47 +01:00
test-diff-dwarf.cc Better support for inline related diffs 2014-09-16 15:10:41 +02:00
test-diff-filter.cc Rename bi* tools to abi* tools 2014-09-26 10:58:16 +02:00
test-dot.cc Correct DOT merge. 2013-07-23 23:13:55 +02:00
test-ir-walker.cc Rename test-walker.cc into test-ir-walker.cc 2014-03-27 13:01:17 +01:00
test-lookup-syms.cc Rename bi* tools to abi* tools 2014-09-26 10:58:16 +02:00
test-read-dwarf.cc Support C and C++ array type. 2014-08-22 13:07:41 +02:00
test-read-write.cc Support C and C++ array type. 2014-08-22 13:07:41 +02:00
test-svg.cc Add svg generation. 2013-07-23 23:13:54 +02:00
test-utils.cc Initial version of an archive manipulation program: biar 2013-08-29 17:08:47 +02:00
test-utils.h Initial version of an archive manipulation program: biar 2013-08-29 17:08:47 +02:00
test-write-read-archive.cc Add a symbol database to the ABI Corpus & support symbol aliases 2014-05-28 16:33:35 +02:00