libabigail/tests/data/test-read-write
Dodji Seketeli d8de76cfa8 ir: Use non qualified typedef name for type canonicalization
While looking into fixing self-comparison errors for the gcc-gnat
package[1], I stumbled upon the fact that a typedef that is defined in
the global scope is different from a typedef defined in a scope, even
if they both point to the same underlying type.  This is a spurious
difference that feeds a spurious explosion of the number of canonical
types, for no reason.  It can lead to spurious self-comparison errors
down the road.  Sadly, fixing this issue is not enough to fix the
self-comparison error in [1].

[1]: The command is:

    $ fedabipkgdiff --self-compare  -a --from fc37 gcc-gnat

	* include/abg-ir.h (reference_type_def::{pointed_to_type_,
	is_lvalue_}): Remove these data members.
	(reference_type_def::priv_): Add a unique data member.
	(typedef_decl::get_qualified_name): Add new virtual member
	functions.
	* src/abg-ir.cc (get_decl_name_for_comparison): If the decl we are
	comparing is a typedef, only consider its non-qualified name.
	(get_type_name): For internal purposes, the type name of a typedef
	is its non-qualified name.
	(pointer_type_def::get_qualified_name): For internal purposes, if
	the pointed-to name is a typedef, use the non-qualified name of
	the typedef.
	(reference_type_def::priv): Define new data type.
	(reference_type_def::reference_type_def): Initialize the new
	reference_type_def::priv_ data member and adjust to the move of
	the reference_type_def::pointed_to_type_ data member to
	reference_type_def::priv::pointed_to_type_.
	(reference_type_def::{s,g}et_pointed_to_type): Adjust.
	(reference_type_def::is_lvalue): Likewise.
	(reference_type_def::get_qualified_name): Support caching
	qualified names for internal and non-internal purposes.
	(typedef_decl::get_pretty_representation): For internal purposes,
	use non-qualified typedef name.
	(typedef_decl::get_qualified_name): Define the two overloads for
	this virtual member function.
	(function_decl::get_pretty_representation): Use the
	'qualified_name' parameter.  Also, rather than systematically
	using the qualified name of the return type, use get_type_name
	instead that knows when to use qualified names and when not to.
	(qualified_name_setter::do_update):
	* tests/data/test-abidiff/test-PR18791-report0.txt: Adjust.
	* tests/data/test-annotate/libtest23.so.abi: Likewise.
	* tests/data/test-annotate/libtest24-drop-fns-2.so.abi: Likewise.
	* tests/data/test-annotate/libtest24-drop-fns.so.abi: Likewise.
	* tests/data/test-annotate/test15-pr18892.so.abi: Likewise.
	* tests/data/test-annotate/test17-pr19027.so.abi: Likewise.
	* tests/data/test-annotate/test18-pr19037-libvtkRenderingLIC-6.1.so.abi:
	Likewise.
	* tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi:
	Likewise.
	* tests/data/test-annotate/test20-pr19025-libvtkParallelCore-6.1.so.abi:
	Likewise.
	* tests/data/test-diff-dwarf/test42-PR21296-clanggcc-report0.txt:
	Likewise.
	* tests/data/test-read-dwarf/PR22015-libboost_iostreams.so.abi:
	Likewise.
	* tests/data/test-read-dwarf/PR22122-libftdc.so.abi: Likewise.
	* tests/data/test-read-dwarf/libtest23.so.abi: Likewise.
	* tests/data/test-read-dwarf/libtest24-drop-fns-2.so.abi:
	Likewise.
	* tests/data/test-read-dwarf/libtest24-drop-fns.so.abi: Likewise.
	* tests/data/test-read-dwarf/test-libaaudio.so.abi: Likewise.
	* tests/data/test-read-dwarf/test-libandroid.so.abi: Likewise.
	* tests/data/test-read-dwarf/test0.hash.abi: Likewise.
	* tests/data/test-read-dwarf/test1.hash.abi: Likewise.
	* tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi: Likewise.
	* tests/data/test-read-dwarf/test11-pr18828.so.abi: Likewise.
	* tests/data/test-read-dwarf/test12-pr18844.so.abi: Likewise.
	* tests/data/test-read-dwarf/test15-pr18892.so.abi: Likewise.
	* tests/data/test-read-dwarf/test16-pr18904.so.abi: Likewise.
	* tests/data/test-read-dwarf/test17-pr19027.so.abi: Likewise.
	* tests/data/test-read-dwarf/test18-pr19037-libvtkRenderingLIC-6.1.so.abi:
	Likewise.
	* tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi:
	Likewise.
	* tests/data/test-read-dwarf/test20-pr19025-libvtkParallelCore-6.1.so.abi:
	Likewise.
	* tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi:
	Likewise.
	* tests/data/test-read-dwarf/test9-pr18818-clang.so.abi: Likewise.
	* tests/data/test-read-write/test28-without-std-fns-ref.xml:
	Likewise.
	* tests/data/test-read-write/test28-without-std-vars-ref.xml:
	Likewise.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2023-09-07 15:23:38 +02:00
..
test0.xml Bump ABIXML format version to 2.0 2021-02-01 14:09:29 +01:00
test1.xml Bump ABIXML format version to 2.0 2021-02-01 14:09:29 +01:00
test2.xml Bump ABIXML format version to 2.0 2021-02-01 14:09:29 +01:00
test3.xml Bump ABIXML format version to 2.0 2021-02-01 14:09:29 +01:00
test4.xml Bump ABIXML format version to 2.0 2021-02-01 14:09:29 +01:00
test5.xml Bump ABIXML format version to 2.0 2021-02-01 14:09:29 +01:00
test6.xml Bump ABIXML format version to 2.0 2021-02-01 14:09:29 +01:00
test7.xml Bump ABIXML format version to 2.0 2021-02-01 14:09:29 +01:00
test8.xml Bump ABIXML format version to 2.0 2021-02-01 14:09:29 +01:00
test9.xml Bump ABIXML format version to 2.0 2021-02-01 14:09:29 +01:00
test10.xml Bump ABIXML format version to 2.0 2021-02-01 14:09:29 +01:00
test11.xml Bump ABIXML format version to 2.0 2021-02-01 14:09:29 +01:00
test12.xml Bump ABIXML format version to 2.0 2021-02-01 14:09:29 +01:00
test13.xml Bump ABIXML format version to 2.0 2021-02-01 14:09:29 +01:00
test14.xml Bump ABIXML format version to 2.0 2021-02-01 14:09:29 +01:00
test15.xml Bump ABIXML format version to 2.0 2021-02-01 14:09:29 +01:00
test16.xml Bump ABIXML format version to 2.0 2021-02-01 14:09:29 +01:00
test17.xml Bug 30466 - harfbuzz fails self-check on f38 2023-06-02 17:46:57 +02:00
test18.xml Bug 30466 - harfbuzz fails self-check on f38 2023-06-02 17:46:57 +02:00
test19.xml Bug 30466 - harfbuzz fails self-check on f38 2023-06-02 17:46:57 +02:00
test20.xml Bug 30466 - harfbuzz fails self-check on f38 2023-06-02 17:46:57 +02:00
test21.xml Bug 30466 - harfbuzz fails self-check on f38 2023-06-02 17:46:57 +02:00
test22.xml Bug 30466 - harfbuzz fails self-check on f38 2023-06-02 17:46:57 +02:00
test23.xml Bug 30466 - harfbuzz fails self-check on f38 2023-06-02 17:46:57 +02:00
test24.xml Bump ABIXML format version to 2.0 2021-02-01 14:09:29 +01:00
test25.xml dwarf-reader: Support Ada subranges having upper_bound < lower_bound 2023-04-05 16:54:32 +02:00
test26.xml Bug 30466 - harfbuzz fails self-check on f38 2023-06-02 17:46:57 +02:00
test27.xml Bug 30466 - harfbuzz fails self-check on f38 2023-06-02 17:46:57 +02:00
test28-drop-std-fns.abignore Drop suppressed ABI artifacts from the IR 2016-09-21 18:35:08 +02:00
test28-drop-std-vars.abignore Drop suppressed ABI artifacts from the IR 2016-09-21 18:35:08 +02:00
test28-without-std-fns-ref.xml ir: Use non qualified typedef name for type canonicalization 2023-09-07 15:23:38 +02:00
test28-without-std-fns.xml Drop suppressed ABI artifacts from the IR 2016-09-21 18:35:08 +02:00
test28-without-std-vars-ref.xml ir: Use non qualified typedef name for type canonicalization 2023-09-07 15:23:38 +02:00
test28-without-std-vars.xml Drop suppressed ABI artifacts from the IR 2016-09-21 18:35:08 +02:00
test28.xml Drop suppressed ABI artifacts from the IR 2016-09-21 18:35:08 +02:00
test-crc.xml Bug 29340 - Add support for Ada range types 2023-03-31 23:14:01 +02:00