[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v1 00/11] Refactor abg-writer
Hi!
This patch series refactors the abg-writer API. The main reason is to ensure
that flags added to tools like abidw are consistently passed to the
corresponding write_* functions. In addition, it should be much easier to add
new flags or to ensure consistent behaviour.
The main implementation detail is that all write_* functions now follow the
pattern write_*(context, obj, indent). All flags are passed down via the
context and do not need to be passed along the call chain anymore.
The final cleanup commit breaks backward compatibility of libabigail and is
therefore optional.
Along the way, some bugs related to the propagation of flags to corpus and
corpus-group representations were fixed.
Two new flags were introduced to support reproducibility across different
environments:
--no-comp-dir-path: omit the compilation directory in xml output
--short-locs : only emit file names rather than full (absolute_) paths
Matthias Maennich (11):
abg-writer: Simplify 'annotate' propagation
Add deprecation facilities
abg-writer: Refactor write_translation_unit API
abg-writer: Refactor write_corpus API
abg-writer: Refactor write_corpus_group API
write_context: allow mutating the ostream used
abidw: Consolidate setting options
Make write_architecture and write_corpus_path flags in the write_context
abidw: add option to omit the compilation directory
abidw: add option to only emit file names (--short-locs)
abg-writer: drop deprecated API
include/abg-writer.h | 75 ++++---
src/abg-writer.cc | 409 ++++++++++++++++++++-------------------
tests/test-read-dwarf.cc | 8 +-
tools/abidw.cc | 57 +++---
tools/abilint.cc | 49 ++---
5 files changed, 304 insertions(+), 294 deletions(-)
--
2.21.0.1020.gf2820cf01a-goog