libabigail/include
Dodji Seketeli f2437aabad Bug 24787 - Filter out enum changes into compatible integer types
Libabigail's filtering engine fails to recognize an enum changing into
a compatible integer (or vice versa) as a harmless change.

This patch fixes that.

	* include/abg-comparison.h (peel_typedef_or_qualified_type_diff):
	Declare new function.
	(peel_pointer_or_qualified_type_diff): Rename
	peel_pointer_or_qualified_type into this.
	* include/abg-fwd.h (is_enum_type): Declare a new overload for
	type_or_decl_base*.
	* src/abg-comp-filter.cc (has_harmless_enum_to_int_change): Define
	new static function.
	* src/abg-comparison.cc (categorize_harmless_diff_node): Use the
	new has_harmless_enum_to_int_change here.
	(peel_pointer_or_qualified_type_diff): Renamed
	peel_pointer_or_qualified_type into this.
	(is_diff_of_basic_type): Adjust.
	(peel_typedef_or_qualified_type_diff): Define new function.
	* test-diff-filter/PR24787-lib{one, two}.so: New test input
	binaries.
	* test-diff-filter/PR24787-{one, two}.c: Source files of the test
	input binaries above.
	* test-diff-filter/PR24787-report-0.txt: Test output reference.
	* tests/data/Makefile.am: Add the new testing material to source
	distribution.
	* tests/test-diff-filter.cc (in_out_specs): Add the new test to
	the test harness.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2019-07-19 18:22:12 +02:00
..
abg-comp-filter.h Bug 24731 - Wrongly reporting union members order change 2019-06-26 11:09:43 +02:00
abg-comparison.h Bug 24787 - Filter out enum changes into compatible integer types 2019-07-19 18:22:12 +02:00
abg-config.h Update copyright for 2019 2019-01-07 14:54:47 +01:00
abg-corpus.h Implement fast comparison of Linux Kernel types when applicable 2019-07-17 19:35:38 +02:00
abg-cxx-compat.h Add compatibility layer for C++11 mode 2019-07-09 18:05:28 +02:00
abg-diff-utils.h Add compatibility layer for C++11 mode 2019-07-09 18:05:28 +02:00
abg-dwarf-reader.h Avoid over-suppressing fns & vars when analysing the Kernel 2019-02-19 17:42:56 +01:00
abg-fwd.h Bug 24787 - Filter out enum changes into compatible integer types 2019-07-19 18:22:12 +02:00
abg-hash.h Update copyright for 2019 2019-01-07 14:54:47 +01:00
abg-ini.h Add compatibility layer for C++11 mode 2019-07-09 18:05:28 +02:00
abg-interned-str.h Add compatibility layer for C++11 mode 2019-07-09 18:05:28 +02:00
abg-ir.h Implement fast comparison of Linux Kernel types when applicable 2019-07-17 19:35:38 +02:00
abg-libxml-utils.h Add compatibility layer for C++11 mode 2019-07-09 18:05:28 +02:00
abg-libzip-utils.h Add compatibility layer for C++11 mode 2019-07-09 18:05:28 +02:00
abg-reader.h Separate public types of first binary from those of the second 2019-01-16 12:27:45 +01:00
abg-reporter.h Add compatibility layer for C++11 mode 2019-07-09 18:05:28 +02:00
abg-sptr-utils.h Add compatibility layer for C++11 mode 2019-07-09 18:05:28 +02:00
abg-suppression.h Add compatibility layer for C++11 mode 2019-07-09 18:05:28 +02:00
abg-tools-utils.h Add timing to the verbose logs of abidw 2019-07-19 10:46:42 +02:00
abg-traverse.h add missing virtual destructors 2019-04-16 16:11:01 +02:00
abg-version.h.in Add --version option to several libabigail tools 2015-11-16 12:54:10 +01:00
abg-viz-common.h Update copyright for 2019 2019-01-07 14:54:47 +01:00
abg-viz-dot.h viz-dot: remove unused members from dot 2019-04-16 16:11:01 +02:00
abg-viz-svg.h Update copyright for 2019 2019-01-07 14:54:47 +01:00
abg-workers.h Add compatibility layer for C++11 mode 2019-07-09 18:05:28 +02:00
abg-writer.h abg-writer: drop deprecated API 2019-05-22 14:33:45 +02:00
Makefile.am Add compatibility layer for C++11 mode 2019-07-09 18:05:28 +02:00