mirror of
git://sourceware.org/git/libabigail.git
synced 2024-12-16 15:04:46 +00:00
The Git repository of the Libabigail Project
c00add2a21
The complete and deleting C++ destructors have the same signature. Because the dwarf-reader re-uses the IR of functions that have the same signature, it can happen that one of the two destructors of a class is missed and thus not represented in the IR. When these destructors are virtual, that can have an impact on class comparison, because virtual member functions are take part in class comparison, just like data member and unlike non-virtual member functions. This patch fixes the build_or_get_fn_decl_if_not_suppressed to avoid "reusing" virtual destructors, based on their signature when several are present. Instead an IR is built for all virtual destructors that are seen. * src/abg-dwarf-reader.c (build_or_get_fn_decl_if_not_suppressed): Do not try to re-use a virtual destructor of a class, based on its signature. Several different of these can have the same signature, inside a given class. * tests/data/test-types-stability/PR27086-libstdc++.so.6.0.26: Add new binary test input. * tests/data/Makefile.am: Add the new test input to source distribution. * tests/test-types-stability.cc (elf_paths): Add the test input above to this harness. Signed-off-by: Dodji Seketeli <dodji@redhat.com> |
||
---|---|---|
autoconf-archive | ||
bash-completion | ||
doc | ||
include | ||
m4 | ||
relicensing-scripts | ||
scripts | ||
src | ||
tests | ||
tools | ||
.clang-format | ||
.gitignore | ||
abigail.m4 | ||
AUTHORS | ||
ChangeLog | ||
COMMIT-LOG-GUIDELINES | ||
COMPILING | ||
configure.ac | ||
CONTRIBUTING | ||
default.abignore | ||
gen-changelog.py | ||
install-sh | ||
libabigail.pc.in | ||
license-change-2020.txt | ||
LICENSE.txt | ||
ltmain.sh | ||
Makefile.am | ||
NEWS | ||
README | ||
release-text-template.txt | ||
update-copyright.sh | ||
VISIBILITY |
This is the Application Binary Interface Generic Analysis and Instrumentation Library. It aims at constructing, manipulating, serializing and de-serializing ABI-relevant artifacts. The set of artifacts that we are intersted is made of quantities like types, variable, fonctions and declarations of a given library or program. For a given library or program this set of quantities is called an ABI corpus. This library aims at (among other things) providing a way to compare two ABI Corpora (apparently the plural of corpus is copora, heh, that's cool), provide detailed information about their differences, and help build tools to infer interesting conclusions about these differences. You are welcome to contribute to this project after reading the files CONTRIBUTING and COMMIT-LOG-GUIDELINES files in the source tree. Communicating with the maintainers of this project -- including sending patches to be include to the source code -- happens via email at libabigail@sourceware.org.