mirror of
git://sourceware.org/git/libabigail.git
synced 2024-12-15 14:34:38 +00:00
3665c8ff44
The leaf-changes-only reporting path does not report on all the same kinds of differences as the default reporting path does, such as reporting about changes to variables, even though they can be considered leaf changs. - The addition or removal of any symbol affects the ABI and is clearly a leaf change. - A change to a variable's declaration may be local rather than caused by a type change elsewhere. This patch adds these missing pieces and reorders some of the existing leaf reporting, bringing the default and leaf corpus_diff functions closer to the point where they can be trivially merged or refactored. This patch also corrects an error in reporting the total number of leaf changes. * doc/manuals/abidiff.rst: Update the documentation for --leaf-changes-only. * doc/manuals/abipkgdiff.rst: Likewise. * src/abg-comparison.cc (emit_diff_stats): Exclude non-leaf changes to variables from the reported total of leaf changes. * src/abg-default-reporter.cc (report): In the corpus_diff override, move some code and comments for clarity. * src/abg-leaf-reporter.cc (report): In the corpus_diff override, additionally report removed/added/changed variables and removed/added symbols absent from debug info. * tests/data/Makefile.am: Add new test case files. * tests/data/test-abidiff-exit/test-leaf0-report.txt: Update to include reporting of variable diff (change of type). * tests/data/test-abidiff-exit/test-leaf1-report.txt: New test case with added/removed variables/functions and changed variables (both local and non-local type changes). * tests/data/test-abidiff-exit/test-leaf1-v0.cc: Ditto. * tests/data/test-abidiff-exit/test-leaf1-v0.o: Ditto. * tests/data/test-abidiff-exit/test-leaf1-v1.cc: Ditto. * tests/data/test-abidiff-exit/test-leaf1-v1.o: Ditto. * tests/test-abidiff-exit.cc: Run new test case. Supply --redundant otherwise the test isn't meaningful. Signed-off-by: Giuliano Procida <gprocida@google.com> Signed-off-by: Dodji Seketeli <dodji@redhat.com> |
||
---|---|---|
.. | ||
data | ||
lib | ||
.gitignore | ||
Makefile.am | ||
mockfedabipkgdiff.in | ||
print-diff-tree.cc | ||
runtestcanonicalizetypes.sh.in | ||
runtestdefaultsupprs.py.in | ||
runtestdefaultsupprspy3.sh.in | ||
runtestfedabipkgdiff.py.in | ||
runtestfedabipkgdiffpy3.sh.in | ||
test-abicompat.cc | ||
test-abidiff-exit.cc | ||
test-abidiff.cc | ||
test-alt-dwarf-file.cc | ||
test-annotate.cc | ||
test-core-diff.cc | ||
test-diff2.cc | ||
test-diff-dwarf-abixml.cc | ||
test-diff-dwarf.cc | ||
test-diff-filter.cc | ||
test-diff-pkg.cc | ||
test-diff-suppr.cc | ||
test-dot.cc | ||
test-ini.cc | ||
test-ir-walker.cc | ||
test-kmi-whitelist.cc | ||
test-lookup-syms.cc | ||
test-read-dwarf.cc | ||
test-read-write.cc | ||
test-svg.cc | ||
test-tools-utils.cc | ||
test-types-stability.cc | ||
test-utils.cc | ||
test-utils.h | ||
test-valgrind-suppressions.supp | ||
test-write-read-archive.cc | ||
update-test-output.py |