[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