libabigail/tests/data/test-diff-dwarf/test42-PR21296-clanggcc-report0.txt
Giuliano Procida dc5e2dd893 Tag add/remove/change lines unconditionally with [A], [D], [C].
These tags were previously only emitted by the default reporter if the
there were more than 100 (hard-coded constant) items in a a list. The
leaf reporter emitted them unconditionally. This change simplifies the
code, makes output more consistent and makes it easier to interpret
diffs of diff output.

Additionally, in the reporting of changed unreachable types, the
indentation and quoting for the deleted and added cases was missing.
This patch corrects these issues.

Finally, when doing package differences, there were no tags for
deleted/added binaries. This patch adds them.

	* src/abg-default-reporter.cc (report): In the corpus_diff
	override, remove calculations of number of changes (total) and
	comparisons against arbitrary threshold (large_num); emit [A],
	[D], [C] tags unconditionally.
	* src/abg-reporter-priv.cc
	(maybe_report_unreachable_type_changes): Remove comparisons of
	number of changes against arbitrary threshold (large_num);
	emit [A], [D], [C] tags unconditionally; fix quoting of
        deleted unreachable types; fix indentation of changed
	unreachable types.
	* tools/abipkgdiff.cc (compare_prepared_userspace_packages):
	Emit [D] and [A] tags for removed and added binaries.
	* tests/data/test-*/*report*.txt: In 109 report files, add
        tags [A], [D], [C] tags and correct some indentation and
        quoting.

Signed-off-by: Giuliano Procida <gprocida@google.com>
2020-03-18 14:45:26 +01:00

81 lines
6.3 KiB
Plaintext

Functions changes summary: 1 Removed, 11 Changed, 0 Added functions
Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
1 Removed function:
[D] 'method void std::_Tuple_impl<1ul>::_Tuple_impl()'
11 functions with some indirect sub-type change:
[C] 'method STR::~STR(int)' has some indirect sub-type changes:
linkage names of method STR::~STR(int)
changed from '_ZN3STRD1Ev, _ZN3STRD2Ev' to '_ZN3STRD2Ev'
name of symbol changed from _ZN3STRD1Ev to _ZN3STRD2Ev
parameter 1 of type 'int' was removed
[C] 'function std::tuple<STR&&> my_forward_as_tuple<STR>(STR&&)' has some indirect sub-type changes:
return type changed:
type name changed from 'std::tuple<STR&&>' to 'std::tuple<STR &&>'
type size hasn't changed
1 base class deletion:
struct std::_Tuple_impl<0ul, STR&&>
1 base class insertion:
struct std::_Tuple_impl<0, STR &&>
[C] 'method void std::_Head_base<0ul, STR&&, false>::_Head_base<STR>(STR&&)' has some indirect sub-type changes:
'method void std::_Head_base<0ul, STR&&, false>::_Head_base<STR>(STR&&) {_ZNSt10_Head_baseILm0EO3STRLb0EEC2IS0_St9true_typeEEOT_}' now becomes 'method void std::_Head_base<0, STR &&, false>::_Head_base<STR, std::true_type>(STR&&) {_ZNSt10_Head_baseILm0EO3STRLb0EEC2IS0_St9true_typeEEOT_}'
[C] 'method STR& std::_Head_base<0ul, STR&&, false>::_M_head()' has some indirect sub-type changes:
'method STR& std::_Head_base<0ul, STR&&, false>::_M_head() {_ZNSt10_Head_baseILm0EO3STRLb0EE7_M_headERKS2_}' now becomes 'method STR& std::_Head_base<0, STR &&, false>::_M_head() {_ZNSt10_Head_baseILm0EO3STRLb0EE7_M_headERKS2_}'
[C] 'method STR& std::_Tuple_impl<0ul, STR&&>::_M_head()' has some indirect sub-type changes:
'method STR& std::_Tuple_impl<0ul, STR&&>::_M_head() {_ZNSt11_Tuple_implILm0EJO3STREE7_M_headERKS2_}' now becomes 'method STR& std::_Tuple_impl<0, STR &&>::_M_head() {_ZNSt11_Tuple_implILm0EJO3STREE7_M_headERKS2_}'
[C] 'method void std::_Tuple_impl<0ul, STR&&>::_Tuple_impl<STR>(STR&&)' has some indirect sub-type changes:
Please note that the symbol of this function is _ZNSt11_Tuple_implILm0EJO3STREEC2IS0_JESt10false_typeEEOT_DpOT0_
and it aliases symbol: _ZNSt11_Tuple_implILm0EJO3STREEC1IS0_JESt10false_typeEEOT_DpOT0_
linkage names of method void std::_Tuple_impl<0ul, STR&&>::_Tuple_impl<STR>(STR&&)
changed from '_ZNSt11_Tuple_implILm0EJO3STREEC2IS0_JESt10false_typeEEOT_DpOT0_, _ZNSt11_Tuple_implILm0EJO3STREEC1IS0_JESt10false_typeEEOT_DpOT0_' to '_ZNSt11_Tuple_implILm0EJO3STREEC2IS0_JESt10false_typeEEOT_DpOT0_'
'method void std::_Tuple_impl<0ul, STR&&>::_Tuple_impl<STR>(STR&&) {_ZNSt11_Tuple_implILm0EJO3STREEC2IS0_JESt10false_typeEEOT_DpOT0_, _ZNSt11_Tuple_implILm0EJO3STREEC1IS0_JESt10false_typeEEOT_DpOT0_}' now becomes 'method void std::_Tuple_impl<0, STR &&>::_Tuple_impl<STR, std::false_type>(STR&&) {_ZNSt11_Tuple_implILm0EJO3STREEC2IS0_JESt10false_typeEEOT_DpOT0_}'
[C] 'function std::__add_c_ref<STR&&>::type std::__get_helper<0ul, STR&&>(const std::_Tuple_impl<0ul, STR&&>&)' has some indirect sub-type changes:
'function std::__add_c_ref<STR&&>::type std::__get_helper<0ul, STR&&>(const std::_Tuple_impl<0ul, STR&&>&) {_ZSt12__get_helperILm0EO3STRJEENSt11__add_c_refIT0_E4typeERKSt11_Tuple_implIXT_EJS3_DpT1_EE}' now becomes 'function std::__add_c_ref<STR &&>::type std::__get_helper<0, STR &&>(const std::_Tuple_impl<0, STR &&>&) {_ZSt12__get_helperILm0EO3STRJEENSt11__add_c_refIT0_E4typeERKSt11_Tuple_implIXT_EJS3_DpT1_EE}'
return type changed:
typedef name changed from std::__add_c_ref<STR&&>::type to std::__add_c_ref<STR &&>::type
parameter 1 of type 'const std::_Tuple_impl<0ul, STR&&>&' changed:
in referenced type 'const std::_Tuple_impl<0ul, STR&&>':
'const std::_Tuple_impl<0ul, STR&&>' changed to 'const std::_Tuple_impl<0, STR &&>'
[C] 'function std::__add_c_ref<STR&&>::type std::get<0ul, STR&&>(const std::tuple<STR&&>&)' has some indirect sub-type changes:
'function std::__add_c_ref<STR&&>::type std::get<0ul, STR&&>(const std::tuple<STR&&>&) {_ZSt3getILm0EJO3STREENSt11__add_c_refINSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeEE4typeERKS7_}' now becomes 'function std::__add_c_ref<STR &&>::type std::get<0, STR &&>(const std::tuple<STR &&>&) {_ZSt3getILm0EJO3STREENSt11__add_c_refINSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeEE4typeERKS7_}'
return type changed:
typedef name changed from std::__add_c_ref<STR&&>::type to std::__add_c_ref<STR &&>::type
parameter 1 of type 'const std::tuple<STR&&>&' changed:
in referenced type 'const std::tuple<STR&&>':
'const std::tuple<STR&&>' changed to 'const std::tuple<STR &&>'
[C] 'function std::remove_reference<STR&>::type&& std::move<STR&>(STR&)' has some indirect sub-type changes:
'function std::remove_reference<STR&>::type&& std::move<STR&>(STR&) {_ZSt4moveIR3STREONSt16remove_referenceIT_E4typeEOS3_}' now becomes 'function std::remove_reference<STR &>::type&& std::move<STR &>(STR&) {_ZSt4moveIR3STREONSt16remove_referenceIT_E4typeEOS3_}'
return type changed:
in referenced type 'typedef std::remove_reference<STR&>::type':
typedef name changed from std::remove_reference<STR&>::type to std::remove_reference<STR &>::type
[C] 'method void std::tuple<STR&&>::tuple<STR>(STR&&)' has some indirect sub-type changes:
Please note that the symbol of this function is _ZNSt5tupleIJO3STREEC2IJS0_ESt9true_typeEEDpOT_
and it aliases symbol: _ZNSt5tupleIJO3STREEC1IJS0_ESt9true_typeEEDpOT_
linkage names of method void std::tuple<STR&&>::tuple<STR>(STR&&)
changed from '_ZNSt5tupleIJO3STREEC2IJS0_ESt9true_typeEEDpOT_, _ZNSt5tupleIJO3STREEC1IJS0_ESt9true_typeEEDpOT_' to '_ZNSt5tupleIJO3STREEC2IJS0_ESt9true_typeEEDpOT_'
'method void std::tuple<STR&&>::tuple<STR>(STR&&) {_ZNSt5tupleIJO3STREEC2IJS0_ESt9true_typeEEDpOT_, _ZNSt5tupleIJO3STREEC1IJS0_ESt9true_typeEEDpOT_}' now becomes 'method void std::tuple<STR &&>::tuple<STR, std::true_type>(STR&&) {_ZNSt5tupleIJO3STREEC2IJS0_ESt9true_typeEEDpOT_}'
[C] 'function void tpl<std::tuple<STR&&> >(std::tuple<STR&&>)' has some indirect sub-type changes:
'function void tpl<std::tuple<STR&&> >(std::tuple<STR&&>) {_Z3tplISt5tupleIJO3STREEEvT_}' now becomes 'function void tpl<std::tuple<STR &&> >(std::tuple<STR &&>) {_Z3tplISt5tupleIJO3STREEEvT_}'
parameter 1 of type 'class std::tuple<STR&&>' changed:
details were reported earlier