mirror of
git://sourceware.org/git/libabigail.git
synced 2025-01-20 16:30:44 +00:00
fc71e519bb
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> |
||
---|---|---|
.. | ||
data | ||
lib | ||
.gitignore | ||
Makefile.am | ||
mockfedabipkgdiff.in | ||
print-diff-tree.cc | ||
runtestcanonicalizetypes.sh.in | ||
runtestdefaultsupprs.py.in | ||
runtestdefaultsupprspy3.sh.in | ||
runtestfedabipkgdiff.py.in | ||
runtestfedabipkgdiffpy3.sh.in | ||
runtestslowselfcompare.sh.in | ||
test-abicompat.cc | ||
test-abidiff-exit.cc | ||
test-abidiff.cc | ||
test-alt-dwarf-file.cc | ||
test-annotate.cc | ||
test-core-diff.cc | ||
test-cxx-compat.cc | ||
test-diff2.cc | ||
test-diff-dwarf-abixml.cc | ||
test-diff-dwarf.cc | ||
test-diff-filter.cc | ||
test-diff-pkg.cc | ||
test-diff-suppr.cc | ||
test-dot.cc | ||
test-elf-helpers.cc | ||
test-ini.cc | ||
test-ir-walker.cc | ||
test-kmi-whitelist.cc | ||
test-lookup-syms.cc | ||
test-read-common.cc | ||
test-read-common.h | ||
test-read-ctf.cc | ||
test-read-dwarf.cc | ||
test-read-write.cc | ||
test-svg.cc | ||
test-symtab-reader.cc | ||
test-symtab.cc | ||
test-tools-utils.cc | ||
test-types-stability.cc | ||
test-utils.cc | ||
test-utils.h | ||
test-valgrind-suppressions.supp | ||
update-test-output.py |