libabigail/tests/data/test-abidiff
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
..
empty-report.txt symtab: Add support for MODVERSIONS (CRC checksums) 2021-04-02 16:13:13 +02:00
test-crc-0.xml symtab: Add support for MODVERSIONS (CRC checksums) 2021-04-02 16:13:13 +02:00
test-crc-1.xml symtab: Add support for MODVERSIONS (CRC checksums) 2021-04-02 16:13:13 +02:00
test-crc-2.xml symtab: Add support for MODVERSIONS (CRC checksums) 2021-04-02 16:13:13 +02:00
test-crc-report-0-1.txt Linux symbol CRCs: support 0 and report presence changes 2022-06-30 18:30:58 +02:00
test-crc-report-1-0.txt Linux symbol CRCs: support 0 and report presence changes 2022-06-30 18:30:58 +02:00
test-crc-report-1-2.txt Linux symbol CRCs: support 0 and report presence changes 2022-06-30 18:30:58 +02:00
test-empty-corpus-0.xml abg-reader: handle empty corpus nodes in xml representation 2020-01-20 12:20:09 +00:00
test-empty-corpus-1.xml abg-reader: handle empty corpus nodes in xml representation 2020-01-20 12:20:09 +00:00
test-empty-corpus-2.xml abg-reader: handle empty corpus nodes in xml representation 2020-01-20 12:20:09 +00:00
test-enum0-report.txt Bug 28319 - re-fix of rhbz1951526 - SELF CHECK FAILED for 'gimp-2.10' 2022-01-14 10:45:29 +01:00
test-enum0-v0.cc.bi Rename bi* tools to abi* tools 2014-09-26 10:58:16 +02:00
test-enum0-v1.cc.bi Rename bi* tools to abi* tools 2014-09-26 10:58:16 +02:00
test-enum1-report.txt abidiff: Fix enum impacted interfaces blank line. 2020-03-30 16:27:13 +02:00
test-enum1-v0.cc.bi Rename bi* tools to abi* tools 2014-09-26 10:58:16 +02:00
test-enum1-v1.cc.bi Rename bi* tools to abi* tools 2014-09-26 10:58:16 +02:00
test-namespace-0.xml add Linux kernel symbol namespace support 2022-07-01 14:51:27 +02:00
test-namespace-1.xml add Linux kernel symbol namespace support 2022-07-01 14:51:27 +02:00
test-namespace-report.txt add Linux kernel symbol namespace support 2022-07-01 14:51:27 +02:00
test-PR18166-libtirpc.so Fix "is-anonymous" abixml property impact on some tests 2015-10-15 13:50:48 +02:00
test-PR18166-libtirpc.so.abi Remove ABI XML test data file blank lines 2020-07-28 16:21:34 +02:00
test-PR18791-report0.txt ir: Use non qualified typedef name for type canonicalization 2023-09-07 15:23:38 +02:00
test-PR18791-v0.so.abi Bug 20199 - Consider integral type synonyms as being equal 2016-07-13 23:37:43 +02:00
test-PR18791-v1.so.abi Bug 20199 - Consider integral type synonyms as being equal 2016-07-13 23:37:43 +02:00
test-PR24552-v0.abi Bug 24552 - abidiff fails comparing a corpus against a corpus group 2019-05-16 18:10:08 +02:00
test-PR24552-v1.abi Bug 24552 - abidiff fails comparing a corpus against a corpus group 2019-05-16 18:10:08 +02:00
test-PR27616-squished-v0.abi reader: Handle 'abi-corpus' element being possibly empty 2021-05-03 17:13:31 +02:00
test-PR27616-squished-v1.abi reader: Handle 'abi-corpus' element being possibly empty 2021-05-03 17:13:31 +02:00
test-PR27616-v0.xml reader: Handle 'abi-corpus' element being possibly empty 2021-05-03 17:13:31 +02:00
test-PR27616-v1.xml reader: Handle 'abi-corpus' element being possibly empty 2021-05-03 17:13:31 +02:00
test-PR27985-report.txt Bug 27985 - abidiff: bad array types in report 2021-09-03 11:08:01 +02:00
test-PR27985-v0.c Bug 27985 - abidiff: bad array types in report 2021-09-03 11:08:01 +02:00
test-PR27985-v0.o Bug 27985 - abidiff: bad array types in report 2021-09-03 11:08:01 +02:00
test-PR27985-v0.o.abi Bug 27985 - abidiff: bad array types in report 2021-09-03 11:08:01 +02:00
test-PR27985-v1.c Bug 27985 - abidiff: bad array types in report 2021-09-03 11:08:01 +02:00
test-PR27985-v1.o Bug 27985 - abidiff: bad array types in report 2021-09-03 11:08:01 +02:00
test-PR27985-v1.o.abi Bug 27985 - abidiff: bad array types in report 2021-09-03 11:08:01 +02:00
test-qual-type0-report.txt abidiff: do not qualify member names in diff report 2021-02-08 16:29:13 +01:00
test-qual-type0-v0.cc.bi Rename bi* tools to abi* tools 2014-09-26 10:58:16 +02:00
test-qual-type0-v1.cc.bi Rename bi* tools to abi* tools 2014-09-26 10:58:16 +02:00
test-struct0-report.txt abidiff: do not qualify member names in diff report 2021-02-08 16:29:13 +01:00
test-struct0-v0.cc.bi Rename bi* tools to abi* tools 2014-09-26 10:58:16 +02:00
test-struct0-v1.cc.bi Rename bi* tools to abi* tools 2014-09-26 10:58:16 +02:00
test-struct1-report.txt abidiff: do not qualify member names in diff report 2021-02-08 16:29:13 +01:00
test-struct1-v0.cc.bi Rename bi* tools to abi* tools 2014-09-26 10:58:16 +02:00
test-struct1-v1.cc.bi Rename bi* tools to abi* tools 2014-09-26 10:58:16 +02:00
test-var0-report.txt Output 2-space indentation consistently. 2020-03-16 22:39:35 +01:00
test-var0-v0.cc.bi Rename bi* tools to abi* tools 2014-09-26 10:58:16 +02:00
test-var0-v1.cc.bi Rename bi* tools to abi* tools 2014-09-26 10:58:16 +02:00