public inbox for libabigail@sourceware.org
 help / color / mirror / Atom feed
* [PATCH 0/7] Suppression parsing - preparatory work
@ 2020-08-17  9:38 Giuliano Procida
  2020-08-17  9:38 ` [PATCH 1/7] Add missing newlines to end of test files Giuliano Procida
                   ` (7 more replies)
  0 siblings, 8 replies; 14+ messages in thread
From: Giuliano Procida @ 2020-08-17  9:38 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, kernel-team, gprocida

Hi Dodji.

Quite a while ago I had a series of patches with the aim of improving
libabigail's suppression parsing with the main aims:

* adding error handling and reporting
* refactoring for easier maintenance (both fixes and features)

Early on in the series, I changed the way regexes were parsed and
passed in and out of the suppression specifications. This wasn't
something you were happy with, so I shelved the series.

I've taken a lttle time to remove those changes and rebase the series.
My plan is to feed changes to you in digistible batches.

This batch contains:

* 2 commits that fix issues in an uncontroversial way
* 3 commits to add the outer shell of error handling
* 2 commits to simplify how suppressions are constructed

The error handling commits do not add any error reporting but do add
placeholder TODOs for where this could be added.

The constructor change commits remove the non-default constructors for
the 4 suppression types as they are antithetical to a table-driver
parser where there are a large number of optional fields. If these
constructors need to be preserved for other reasons, that can still be
done. For (human) use, a better interface for building suppressions
might be where setters can be chained (a.k.a. fluent interface) but
that might not be your preference.

Please take a fresh look at these.

If you wanted to look ahead to what the end state could be, please see
https://github.com/myxoid/libabigail/tree/suppression-parsing-revisited
but note that the last few commits are not ready for consumption.

Thank you,
Giuliano.

Giuliano Procida (7):
  Add missing newlines to end of test files.
  Fix two wrongs in test suppression regex
  Better suppression section parsing delegation.
  Add read_*_suppression success/failure plumbing.
  Add error handling to read_suppressions.
  Default construct suppression types.
  Refresh getter/setter comments.

 include/abg-suppression.h                     |  48 +-
 src/abg-suppression-priv.h                    |  28 +-
 src/abg-suppression.cc                        | 618 +++++++-----------
 src/abg-tools-utils.cc                        |   6 +-
 .../test-diff-suppr/test0-type-suppr-2.suppr  |   2 +-
 .../test22-suppr-removed-var-sym-4.suppr      |   2 +-
 .../test23-alias-filter-0.suppr               |   2 +-
 .../test23-alias-filter-4.suppr               |   2 +-
 .../test28-add-aliased-function-1.suppr       |   2 +-
 .../test28-add-aliased-function-2.suppr       |   2 +-
 .../test28-add-aliased-function-3.suppr       |   2 +-
 .../test28-add-aliased-function-4.suppr       |   2 +-
 .../test38-char-class-in-ini.abignore         |   2 +-
 .../test41-enumerator-changes-0.suppr         |   2 +-
 .../test-diff-suppr/test7-var-suppr-7.suppr   |   2 +-
 .../test01-equal-in-property-string.abignore  |   2 +-
 16 files changed, 274 insertions(+), 450 deletions(-)

-- 
2.28.0.220.ged08abb693-goog


^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2020-10-06 20:20 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-17  9:38 [PATCH 0/7] Suppression parsing - preparatory work Giuliano Procida
2020-08-17  9:38 ` [PATCH 1/7] Add missing newlines to end of test files Giuliano Procida
2020-10-01 14:36   ` Dodji Seketeli
2020-08-17  9:38 ` [PATCH 2/7] Fix two wrongs in test suppression regex Giuliano Procida
2020-10-01 14:42   ` Dodji Seketeli
2020-08-17  9:38 ` [PATCH 3/7] Better suppression section parsing delegation Giuliano Procida
2020-10-01 15:56   ` Dodji Seketeli
2020-10-02  7:20     ` Giuliano Procida
2020-08-17  9:38 ` [PATCH 4/7] Add read_*_suppression success/failure plumbing Giuliano Procida
2020-08-17  9:38 ` [PATCH 5/7] Add error handling to read_suppressions Giuliano Procida
2020-08-17  9:38 ` [PATCH 6/7] Default construct suppression types Giuliano Procida
2020-08-17  9:38 ` [PATCH 7/7] Refresh getter/setter comments Giuliano Procida
2020-10-02  7:25 ` [PATCH 0/7] Suppression parsing - preparatory work Dodji Seketeli
2020-10-06 20:19   ` Giuliano Procida

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).