libabigail/tests
Dodji Seketeli 29bc673dc0 Fix chaining of descendant node of qualified type diff node
While looking at the abidiff report emitted for two versions of the
TBB library, I noticed that some diff nodes were not marked as
redundant as they should be.  As a result, they were being reported as
having "been reported earlier", which seems to be an acceptable cruft
to me especially now that the comparison IR can do proper redundancy
detection and marking.

I tracked that down and it's because the child node of a
qualified_type_diff is just the underlying type diff node, whereas
during reporting, we report about the leaf underlying type diff node,
which can be different from the just the underlying type diff node
because the later is always non-qualified.

The fix is to make the child node of qualified_type_diff be the leaf
underlying type diff node, so that diff tree walking (for the purpose
of redundancy detection) and reporting are all looking at the same
tree.

	* include/abg-comparison.h
	(qualified_type_diff::leaf_underlying_type_diff): Declare new
	accessor.
	* src/abg-comparison.cc (get_leaf_type): Forward declare this
	static function.
	(qualified_type_diff::priv::leaf_underlying_type_diff): Define new
	data member.
	(qualified_type_diff::leaf_underlying_type_diff): Define this new
	accessor.
	(qualified_type_diff::chain_into_hierarchy): Call
	leaf_underlying_type_diff() here rather than
	underlying_type_diff().
	(qualified_type_diff::report): Use leaf_underlying_type_diff()
	rather than re-computing the diff between the two leaf underlying
	type diff nodes.
	* libtest26-qualified-redundant-node-v{0,1}.so: New binary test
	input files.
	* tests/data/test-diff-filter/test26-qualified-redundant-node-v{0,1}.cc:
	Source code for the binary test inputs above.
	* tests/test-diff-filter.cc (int_out_spec): Add the new test input
	to the vector of test input data over which to run this test
	harness.
	* tests/data/test-diff-filter/test26-qualified-redundant-node-report-{0,1.txt:
	New test input file.
	* tests/data/Makefile.am: Add the new test input data to the
	source distribution.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2015-01-26 12:12:57 +01:00
..
data Fix chaining of descendant node of qualified type diff node 2015-01-26 12:12:57 +01:00
Makefile.am Adjust archive-related code for the recent addition of tools_utils::* 2015-01-13 11:02:10 +01:00
print-diff-tree.cc Update copyright years 2015-01-07 17:52:10 +01:00
test-abicompat.cc Update copyright year for tests/test-abicompat.cc 2015-01-09 14:09:16 +01:00
test-abidiff.cc Expose a new libabigail::tools_utils namespace 2015-01-08 12:28:14 +01:00
test-alt-dwarf-file.cc Expose a new libabigail::tools_utils namespace 2015-01-08 12:28:14 +01:00
test-core-diff.cc Expose a new libabigail::tools_utils namespace 2015-01-08 12:28:14 +01:00
test-diff2.cc Update copyright years 2015-01-07 17:52:10 +01:00
test-diff-dwarf.cc Expose a new libabigail::tools_utils namespace 2015-01-08 12:28:14 +01:00
test-diff-filter.cc Fix chaining of descendant node of qualified type diff node 2015-01-26 12:12:57 +01:00
test-diff-suppr.cc Expose a new libabigail::tools_utils namespace 2015-01-08 12:28:14 +01:00
test-dot.cc Correct DOT merge. 2013-07-23 23:13:55 +02:00
test-ir-walker.cc Update copyright years 2015-01-07 17:52:10 +01:00
test-lookup-syms.cc Expose a new libabigail::tools_utils namespace 2015-01-08 12:28:14 +01:00
test-read-dwarf.cc Expose a new libabigail::tools_utils namespace 2015-01-08 12:28:14 +01:00
test-read-write.cc Expose a new libabigail::tools_utils namespace 2015-01-08 12:28:14 +01:00
test-svg.cc Add svg generation. 2013-07-23 23:13:54 +02:00
test-utils.cc Update copyright years 2015-01-07 17:52:10 +01:00
test-utils.h Update copyright years 2015-01-07 17:52:10 +01:00
test-write-read-archive.cc Adjust archive-related code for the recent addition of tools_utils::* 2015-01-13 11:02:10 +01:00