ce38bd24cd
Replace the std::unordered_map used to track emitted declarations with a std::unordered_set as the map only ever held "true". The container itself does not need to be marked mutable because record_decl_as_emitted is called in a non-const context and can itself be made non-const. In addition, the method decl_is_emitted calls a helper which no longer used anywhere else and can be inlined. The remaining two methods are always called on non-type declarations, so the test that existed in decl_is_emitted can be dropped. * abg-writer.cc (write_context): Replace mutable m_emitted_decls_map with plain m_emitted_decls_set. (decl_name_is_emitted): Inlined into decl_is_emitted; dropped. (decl_is_emitted): Turn the is_type check into an assert and inline decl_name_is_emitted. Look up in set instead of map. (record_decl_as_emitted): Make non-const. Insert into set instead of map. Reviewed-by: Giuliano Procida <gprocida@google.com> Signed-off-by: Matthias Maennich <maennich@google.com> Signed-off-by: Dodji Seketeli <dodji@redhat.com> |
||
---|---|---|
autoconf-archive | ||
bash-completion | ||
doc | ||
include | ||
m4 | ||
relicensing-scripts | ||
scripts | ||
src | ||
tests | ||
tools | ||
.clang-format | ||
.gitignore | ||
ABIXML-FORMAT-VERSIONS | ||
AUTHORS | ||
COMMIT-LOG-GUIDELINES | ||
COMPILING | ||
CONTRIBUTING | ||
ChangeLog | ||
LICENSE.txt | ||
Makefile.am | ||
NEWS | ||
README | ||
VISIBILITY | ||
abigail.m4 | ||
configure.ac | ||
default.abignore | ||
gen-changelog.py | ||
install-sh | ||
libabigail.pc.in | ||
license-change-2020.txt | ||
ltmain.sh | ||
release-text-template.txt | ||
update-copyright.sh |
README
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.