libabigail/tests
Dodji Seketeli fc71e519bb Bug 29857 - dwarf-reader: Resolve decl-only unions
When looking at https://sourceware.org/bugzilla/show_bug.cgi?id=29857
I noticed that decl-only unions where not resolved to their definition
union, unlike what is done for classes and enums.

At type canonicalization, a type A defined in a translation unit TU,
that depends on a decl-only union U will compare different from a type
A defined in a translation unit TU', that depends on the definition of
U, even though the types A should be equal.

This patch teaches the decl-only class resolver to also resolve
decl-only unions, as opposed to resolving just decl-only classes.

	* include/abg-fwd.h (typedef classes_or_unions_type): Declare new
	typedef.
	(lookup_union_types): Declare new function.
	* src/abg-dwarf-reader.cc (reader::decl_only_classes_map_): Change
	the type of this from string_classes_map to
	string_classes_or_unions_map.
	(reader::declaration_only_classes): Return a
	string_classes_or_unions_map, no more a string_classes_map.
	(reader::{maybe_schedule_declaration_only_class_for_resolution,
	is_decl_only_class_scheduled_for_resolution}): Handle
	class_or_union, not just class_decl.  This is a way to make this
	handle unions as well as classes.
	(get_opaque_version_of_type): Adjust.
	* src/abg-ir.cc (lookup_union_types): Define new function.
	* tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi:
	Adjust.
	* tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi:
	Adjust.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2022-12-19 17:52:10 +01:00
..
data Bug 29857 - dwarf-reader: Resolve decl-only unions 2022-12-19 17:52:10 +01:00
lib tests: Update Catch2 library to v2.13.9 2022-07-08 15:54:21 +02:00
.gitignore tests/.gitignore: ignore all files starting with runtest* 2020-05-13 11:26:28 +02:00
Makefile.am Canonicalize DIEs w/o assuming ODR & handle typedefs transparently 2022-06-20 17:26:58 +02:00
mockfedabipkgdiff.in Handle several variants of Python 'imp', 'importlib' modules 2022-01-06 15:44:29 +01:00
print-diff-tree.cc Make Front Ends first class citizens 2022-11-18 18:12:38 +01:00
runtestcanonicalizetypes.sh.in Re-license the project to Apache v2 With LLVM Exception 2020-12-02 11:49:13 +01:00
runtestdefaultsupprs.py.in Re-license the project to Apache v2 With LLVM Exception 2020-12-02 11:49:13 +01:00
runtestdefaultsupprspy3.sh.in Re-license the project to Apache v2 With LLVM Exception 2020-12-02 11:49:13 +01:00
runtestfedabipkgdiff.py.in Re-license the project to Apache v2 With LLVM Exception 2020-12-02 11:49:13 +01:00
runtestfedabipkgdiffpy3.sh.in Re-license the project to Apache v2 With LLVM Exception 2020-12-02 11:49:13 +01:00
runtestslowselfcompare.sh.in Bug 26769 - Fix missing types in abixml output 2020-11-23 13:02:34 +01:00
test-abicompat.cc Update year in copyright notice 2022-06-21 12:58:57 +02:00
test-abidiff-exit.cc rhbz2114909 - Refer to changed base classes using their non-qualified names 2022-10-20 17:17:09 +02:00
test-abidiff.cc Make Front Ends first class citizens 2022-11-18 18:12:38 +01:00
test-alt-dwarf-file.cc test-alt-dwarf: Add missing dwz alt-debug file 2022-06-23 15:57:23 +02:00
test-annotate.cc test-annotate: Don't emit architecture data 2022-09-20 08:58:09 +02:00
test-core-diff.cc Update year in copyright notice 2022-06-21 12:58:57 +02:00
test-cxx-compat.cc Update year in copyright notice 2022-06-21 12:58:57 +02:00
test-diff2.cc Update year in copyright notice 2022-06-21 12:58:57 +02:00
test-diff-dwarf-abixml.cc Update year in copyright notice 2022-06-21 12:58:57 +02:00
test-diff-dwarf.cc Make Front Ends first class citizens 2022-11-18 18:12:38 +01:00
test-diff-filter.cc comparison: Ensure that fn parms with basic types can't be redundant 2022-09-22 01:46:20 +02:00
test-diff-pkg.cc dwarf-reader: Leverage ODR & DWZ 2022-11-30 17:17:15 +01:00
test-diff-suppr.cc Update year in copyright notice 2022-06-21 12:58:57 +02:00
test-dot.cc Re-license the project to Apache v2 With LLVM Exception 2020-12-02 11:49:13 +01:00
test-elf-helpers.cc Update year in copyright notice 2022-06-21 12:58:57 +02:00
test-ini.cc Update year in copyright notice 2022-06-21 12:58:57 +02:00
test-ir-walker.cc Make Front Ends first class citizens 2022-11-18 18:12:38 +01:00
test-kmi-whitelist.cc Update year in copyright notice 2022-06-21 12:58:57 +02:00
test-lookup-syms.cc Update year in copyright notice 2022-06-21 12:58:57 +02:00
test-read-common.cc Use the CTF reader by default when applicable 2022-11-28 16:52:33 +01:00
test-read-common.h Use the CTF reader by default when applicable 2022-11-28 16:52:33 +01:00
test-read-ctf.cc ctf-reader: Fix array size representation 2022-11-30 10:49:22 +01:00
test-read-dwarf.cc Use the CTF reader by default when applicable 2022-11-28 16:52:33 +01:00
test-read-write.cc Make Front Ends first class citizens 2022-11-18 18:12:38 +01:00
test-svg.cc Re-license the project to Apache v2 With LLVM Exception 2020-12-02 11:49:13 +01:00
test-symtab-reader.cc Update year in copyright notice 2022-06-21 12:58:57 +02:00
test-symtab.cc Make Front Ends first class citizens 2022-11-18 18:12:38 +01:00
test-tools-utils.cc Update year in copyright notice 2022-06-21 12:58:57 +02:00
test-types-stability.cc Update year in copyright notice 2022-06-21 12:58:57 +02:00
test-utils.cc Update year in copyright notice 2022-06-21 12:58:57 +02:00
test-utils.h Update year in copyright notice 2022-06-21 12:58:57 +02:00
test-valgrind-suppressions.supp Shut down a helgrind false positive in the "system" libc call 2017-03-17 09:02:19 +01:00
update-test-output.py Re-license the project to Apache v2 With LLVM Exception 2020-12-02 11:49:13 +01:00