libabigail/tests
Dodji Seketeli 3f22e252ae Avoid canonicalizing function types too early
In the DWARF reader it can happen that a function type being built is
canonicalized too early, before the type is done building.  This leads
to some spurious type differences later at comparison time.  It
typically happens when a sub-type of the function type refers to the
function type itself.  We correctly handle similar cases for class
types, but not for function types.  Oops.

This patch handles this case for function types in the dwarf reader
and in the abixml reader.

	* src/abg-dwarf-reader.cc (die_function_type_map_type): New
	typedef.
	*  ():
	(read_context::die_wip_function_types_map_): New data member.
	(read_context::{die_wip_function_types_map,
	is_wip_function_type_die_offset}): New methods.
	(build_function_type): Mark the function being built as "work in
	progress".
	(maybe_canonicalize_type): Do not early-canonicalize WIP function
	types.
	* src/abg-reader.cc (build_function_type): Mark the function being
	built as "work in progress".
	* tests/test-diff-dwarf-abixml.cc: New test harness.
	* tests/Makefile.am: Add new test harness runtestdiffdwarfabixml
	to the build system.
	* tests/data/test-diff-dwarf-abixml/test0-pr19026-libvtkIOSQL-6.1.so.1:
	New test binary input.
	* tests/data/test-diff-dwarf-abixml/test0-pr19026-libvtkIOSQL-6.1.so.1.abi:
	New test input.
	* tests/data/Makefile.am: Add new test inputs to source
	distribution.
	* tests/data/test-read-dwarf/test17-pr19027.so.abi: Adjust.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2015-11-09 18:33:58 +01:00
..
data Avoid canonicalizing function types too early 2015-11-09 18:33:58 +01:00
Makefile.am Avoid canonicalizing function types too early 2015-11-09 18:33:58 +01:00
print-diff-tree.cc Introduce the concept of environment 2015-09-07 23:35:29 +02:00
runtestcanonicalizetypes.sh.in
test-abicompat.cc Fix type synthesis to fix abicompat weak mode 2015-07-20 17:11:32 +02:00
test-abidiff.cc Fix "is-anonymous" abixml property impact on some tests 2015-10-15 13:50:48 +02:00
test-alt-dwarf-file.cc
test-core-diff.cc
test-diff2.cc
test-diff-dwarf-abixml.cc Avoid canonicalizing function types too early 2015-11-09 18:33:58 +01:00
test-diff-dwarf.cc Support DW_AT_count DWARF attribute 2015-11-07 23:22:19 +01:00
test-diff-filter.cc Bug 18535 - abidiff reports false positive ABI difference for libstdc++ 2015-09-24 11:51:56 +02:00
test-diff-pkg.cc Bug 19082 - Recognize suppression spec files 2015-10-13 09:19:47 +02:00
test-diff-suppr.cc Support source_location_not_in and source_location_not_regexp suppressions 2015-09-16 20:54:40 +02:00
test-dot.cc
test-ir-walker.cc Introduce the concept of environment 2015-09-07 23:35:29 +02:00
test-lookup-syms.cc
test-read-dwarf.cc Fix typo in test-read-dwarf.cc 2015-10-17 16:20:57 +02:00
test-read-write.cc Bug 17340 - Support pointers and references to functions 2015-09-30 21:20:42 +02:00
test-svg.cc
test-types-stability.cc Propagate environment property to base specifiers 2015-11-09 18:33:58 +01:00
test-utils.cc
test-utils.h
test-write-read-archive.cc Fix archive writing support 2015-04-24 19:59:19 +02:00
update-test-read-dwarf-output.py Add a script to update the reference output of runtestreaddwarf 2015-10-17 16:20:58 +02:00