libabigail/tests/data/test-diff-dwarf/test27-local-base-diff-report.txt
Dodji Seketeli 318b31db5d Fix detection of local changes in base classes
It appears we were flagging too many base class changes as local.
That was preventing some change category propagation through base
class diff nodes.  This patch fixes that.

	* abg-ir.cc (equals): In the overload of class_decl::base_spec, if
	the underlying class carries changes, then do not flag these
	changes as local for the class_decl::base_spec.
	* tests/data/test-diff-dwarf/test27-local-base-diff-v{0,1}.o: New
	test input binaries.
	* tests/data/test-diff-dwarf/test27-local-base-diff-v{0,1}.cc: Source
	code for the test input binaries above.
	* tests/data/test-diff-dwarf/test27-local-base-diff-report.txt:
	New test input.
	* tests/data/Makefile.am: Add the test inputs above to source
	distribution.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2015-06-02 12:34:02 +02:00

25 lines
869 B
Plaintext

Functions changes summary: 0 Removed, 2 Changed, 0 Added functions
Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
2 functions with some indirect sub-type change:
[C]'function void bar(base&)' has some indirect sub-type changes:
parameter 1 of type 'base&' has sub-type changes:
in referenced type 'struct base':
type size changed from 32 to 64 bits
1 data member insertion:
'char base::m1', at offset 32 (in bits)
[C]'function void foo(S*)' has some indirect sub-type changes:
parameter 1 of type 'S*' has sub-type changes:
in pointed to type 'struct S':
type size changed from 64 to 96 bits
1 base class change:
'struct base' changed:
details were reported earlier
1 data member change:
'int S::m0' offset changed from 32 to 64 (in bits)