mirror of
git://sourceware.org/git/libabigail.git
synced 2024-12-22 01:40:12 +00:00
318b31db5d
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>
25 lines
869 B
Plaintext
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)
|
|
|
|
|