The Git repository of the Libabigail Project
Go to file
Matthias Maennich ce38bd24cd XML writer: adjust tracking of emitted declarations
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>
2021-11-29 09:56:18 +01:00
autoconf-archive Replace individual license references with SPDX Identifiers 2020-12-02 11:44:13 +01:00
bash-completion Re-license the project to Apache v2 With LLVM Exception 2020-12-02 11:49:13 +01:00
doc abidw: add support for CTF 2021-11-18 09:51:06 +01:00
include ctf-reader: Make create_read_context return a smart pointer. 2021-11-23 15:25:05 +01:00
m4
relicensing-scripts Bug 27512 - Remove broken zip-archive support 2021-03-19 10:52:57 +01:00
scripts Re-license the project to Apache v2 With LLVM Exception 2020-12-02 11:49:13 +01:00
src XML writer: adjust tracking of emitted declarations 2021-11-29 09:56:18 +01:00
tests Standardize and improve the output of several tests 2021-11-17 12:44:16 +01:00
tools ctf-reader: Use ABG_ASSERT instead of assert 2021-11-23 15:36:06 +01:00
.clang-format Tweak clang-format configuration 2021-10-19 12:59:18 +02:00
.gitignore .gitignore: Add libabigail-?.* *.orig files 2019-05-22 14:34:23 +02:00
ABIXML-FORMAT-VERSIONS Bug 28450 - Fix cloned member function handling in DWARF 2021-11-12 18:31:28 +01:00
AUTHORS
COMMIT-LOG-GUIDELINES
COMPILING Fix typo in COMPILING. 2020-02-03 13:49:54 +01:00
CONTRIBUTING Use C++11 for the code base 2020-12-03 14:04:23 +01:00
ChangeLog Update ChangeLog for 2.0 2021-10-04 10:58:23 +02:00
LICENSE.txt Add the LICENSE.txt file 2020-12-02 11:49:33 +01:00
Makefile.am Fix tarball upload directory 2021-10-04 16:06:43 +02:00
NEWS Update NEWS file for 2.0 2021-10-04 10:57:24 +02:00
README
VISIBILITY Control symbols exported from libabigail.so 2016-07-27 12:51:02 +02:00
abigail.m4 Re-license the project to Apache v2 With LLVM Exception 2020-12-02 11:49:13 +01:00
configure.ac abidw: Add --abixml-version 2021-11-12 18:31:28 +01:00
default.abignore Re-license the project to Apache v2 With LLVM Exception 2020-12-02 11:49:13 +01:00
gen-changelog.py Replace individual license references with SPDX Identifiers 2020-12-02 11:44:13 +01:00
install-sh Replace individual license references with SPDX Identifiers 2020-12-02 11:44:13 +01:00
libabigail.pc.in
license-change-2020.txt Add a license-change-2020.txt file 2020-12-02 11:50:22 +01:00
ltmain.sh Replace individual license references with SPDX Identifiers 2020-12-02 11:44:13 +01:00
release-text-template.txt Update the release text template after 1.0 2017-11-22 15:55:43 +01:00
update-copyright.sh Re-license the project to Apache v2 With LLVM Exception 2020-12-02 11:49:13 +01:00

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.