Compare qualified name in decl_base comparison operator

* src/abg-ir.cc (equals): In the overload for decl_base, compare
	qualified names, not just names.
	* tests/data/test-abidiff/test-PR18791-report0.txt: Adjust.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
This commit is contained in:
Dodji Seketeli 2015-09-09 08:17:27 +02:00
parent 4b29b46269
commit 113601c062
2 changed files with 80 additions and 80 deletions

View File

@ -2185,7 +2185,7 @@ equals(const decl_base& l, const decl_base& r, change_kind* k)
}
}
if (l.get_name() != r.get_name())
if (l.get_qualified_name() != r.get_qualified_name())
{
result = false;
if (k)

View File

@ -11,37 +11,41 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
19 functions with some indirect sub-type change:
[C]'method void sigc::connection::set_slot(sigc::slot_base*)' has some indirect sub-type changes:
parameter 1 of type 'sigc::slot_base*' has sub-type changes:
in pointed to type 'class sigc::slot_base':
1 data member change:
type of 'sigc::slot_base::rep_type* sigc::slot_base::rep_' changed:
in pointed to type 'typedef sigc::slot_base::rep_type':
underlying type 'struct sigc::internal::slot_rep' changed:
1 base class change:
'struct sigc::trackable' changed:
1 data member change:
type of 'sigc::internal::trackable_callback_list* sigc::trackable::callback_list_' changed:
in pointed to type 'struct sigc::internal::trackable_callback_list':
type size changed from 192 to 256 bits
2 data member changes:
type of 'sigc::internal::trackable_callback_list::callback_list sigc::internal::trackable_callback_list::callbacks_' changed:
underlying type 'class std::list<sigc::internal::trackable_callback, std::allocator<sigc::internal::trackable_callback> >' changed:
type name changed from 'std::list<sigc::internal::trackable_callback, std::allocator<sigc::internal::trackable_callback> >' to 'std::__cxx11::list<sigc::internal::trackable_callback, std::allocator<sigc::internal::trackable_callback> >'
type size changed from 128 to 192 bits
1 base class deletion:
class std::_List_base<sigc::internal::trackable_callback, std::allocator<sigc::internal::trackable_callback> >
1 base class insertion:
class std::__cxx11::_List_base<sigc::internal::trackable_callback, std::allocator<sigc::internal::trackable_callback> >
'bool sigc::internal::trackable_callback_list::clearing_' offset changed from 128 to 192 (in bits)
[C]'method sigc::connection::connection(const sigc::connection&)' has some indirect sub-type changes:
parameter 1 of type 'const sigc::connection&' has sub-type changes:
in referenced type 'const sigc::connection':
in unqualified underlying type 'struct sigc::connection':
1 data member change:
type of 'sigc::slot_base* sigc::connection::slot_' changed:
in pointed to type 'class sigc::slot_base':
1 data member change:
type of 'sigc::slot_base::rep_type* sigc::slot_base::rep_' changed:
in pointed to type 'typedef sigc::slot_base::rep_type':
underlying type 'struct sigc::internal::slot_rep' changed:
1 base class change:
'struct sigc::trackable' changed:
1 data member change:
type of 'sigc::internal::trackable_callback_list* sigc::trackable::callback_list_' changed:
in pointed to type 'struct sigc::internal::trackable_callback_list':
type size changed from 192 to 256 bits
2 data member changes:
type of 'sigc::internal::trackable_callback_list::callback_list sigc::internal::trackable_callback_list::callbacks_' changed:
underlying type 'class std::list<sigc::internal::trackable_callback, std::allocator<sigc::internal::trackable_callback> >' changed:
type name changed from 'std::list<sigc::internal::trackable_callback, std::allocator<sigc::internal::trackable_callback> >' to 'std::__cxx11::list<sigc::internal::trackable_callback, std::allocator<sigc::internal::trackable_callback> >'
type size changed from 128 to 192 bits
1 base class deletion:
class std::_List_base<sigc::internal::trackable_callback, std::allocator<sigc::internal::trackable_callback> >
1 base class insertion:
class std::__cxx11::_List_base<sigc::internal::trackable_callback, std::allocator<sigc::internal::trackable_callback> >
'bool sigc::internal::trackable_callback_list::clearing_' offset changed from 128 to 192 (in bits)
pointed to type 'class sigc::slot_base' changed, as reported earlier
[C]'method sigc::connection::connection(sigc::slot_base&)' has some indirect sub-type changes:
@ -55,19 +59,6 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
in referenced type 'const sigc::connection':
unqualified underlying type 'struct sigc::connection' changed, as reported earlier
[C]'method void sigc::connection::set_slot(sigc::slot_base*)' has some indirect sub-type changes:
parameter 1 of type 'sigc::slot_base*' has sub-type changes:
pointed to type 'class sigc::slot_base' changed, as reported earlier
[C]'method sigc::internal::signal_impl::iterator_type sigc::internal::signal_impl::connect(const sigc::slot_base&)' has some indirect sub-type changes:
return type changed:
underlying type 'typedef std::list<sigc::slot_base, std::allocator<sigc::slot_base> >::iterator' changed:
typedef name changed from std::list<sigc::slot_base, std::allocator<sigc::slot_base> >::iterator to std::__cxx11::list<sigc::slot_base, std::allocator<sigc::slot_base> >::iterator
parameter 1 of type 'const sigc::slot_base&' has sub-type changes:
in referenced type 'const sigc::slot_base':
unqualified underlying type 'class sigc::slot_base' changed, as reported earlier
[C]'method sigc::internal::signal_impl::iterator_type sigc::internal::signal_impl::erase(sigc::internal::signal_impl::iterator_type)' has some indirect sub-type changes:
return type changed:
underlying type 'typedef std::list<sigc::slot_base, std::allocator<sigc::slot_base> >::iterator' changed:
@ -91,11 +82,10 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
in referenced type 'const sigc::slot_base':
unqualified underlying type 'class sigc::slot_base' changed, as reported earlier
[C]'method sigc::signal_base::iterator_type sigc::signal_base::connect(const sigc::slot_base&)' has some indirect sub-type changes:
[C]'method sigc::internal::signal_impl::iterator_type sigc::internal::signal_impl::connect(const sigc::slot_base&)' has some indirect sub-type changes:
return type changed:
underlying type 'typedef sigc::internal::signal_impl::iterator_type' changed:
underlying type 'typedef std::list<sigc::slot_base, std::allocator<sigc::slot_base> >::iterator' changed:
typedef name changed from std::list<sigc::slot_base, std::allocator<sigc::slot_base> >::iterator to std::__cxx11::list<sigc::slot_base, std::allocator<sigc::slot_base> >::iterator
underlying type 'typedef std::list<sigc::slot_base, std::allocator<sigc::slot_base> >::iterator' changed:
typedef name changed from std::list<sigc::slot_base, std::allocator<sigc::slot_base> >::iterator to std::__cxx11::list<sigc::slot_base, std::allocator<sigc::slot_base> >::iterator
parameter 1 of type 'const sigc::slot_base&' has sub-type changes:
in referenced type 'const sigc::slot_base':
@ -113,20 +103,6 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
typedef name changed from std::list<sigc::slot_base, std::allocator<sigc::slot_base> >::iterator to std::__cxx11::list<sigc::slot_base, std::allocator<sigc::slot_base> >::iterator
[C]'method sigc::internal::signal_impl* sigc::signal_base::impl()' has some indirect sub-type changes:
return type changed:
in pointed to type 'struct sigc::internal::signal_impl':
type size changed from 192 to 256 bits
1 data member change:
type of 'std::list<sigc::slot_base, std::allocator<sigc::slot_base> > sigc::internal::signal_impl::slots_' changed:
type name changed from 'std::list<sigc::slot_base, std::allocator<sigc::slot_base> >' to 'std::__cxx11::list<sigc::slot_base, std::allocator<sigc::slot_base> >'
type size changed from 128 to 192 bits
1 base class deletion:
class std::_List_base<sigc::slot_base, std::allocator<sigc::slot_base> >
1 base class insertion:
class std::__cxx11::_List_base<sigc::slot_base, std::allocator<sigc::slot_base> >
[C]'method sigc::signal_base::iterator_type sigc::signal_base::insert(sigc::signal_base::iterator_type, const sigc::slot_base&)' has some indirect sub-type changes:
return type changed:
underlying type 'typedef sigc::internal::signal_impl::iterator_type' changed:
@ -142,32 +118,49 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
in referenced type 'const sigc::slot_base':
unqualified underlying type 'class sigc::slot_base' changed, as reported earlier
[C]'method sigc::signal_base& sigc::signal_base::operator=(const sigc::signal_base&)' has some indirect sub-type changes:
[C]'method sigc::signal_base::iterator_type sigc::signal_base::connect(const sigc::slot_base&)' has some indirect sub-type changes:
return type changed:
in referenced type 'struct sigc::signal_base':
1 base class change:
'struct sigc::trackable' changed:
details were reported earlier
underlying type 'typedef sigc::internal::signal_impl::iterator_type' changed:
underlying type 'typedef std::list<sigc::slot_base, std::allocator<sigc::slot_base> >::iterator' changed:
typedef name changed from std::list<sigc::slot_base, std::allocator<sigc::slot_base> >::iterator to std::__cxx11::list<sigc::slot_base, std::allocator<sigc::slot_base> >::iterator
1 data member change:
type of 'sigc::internal::signal_impl* sigc::signal_base::impl_' changed:
pointed to type 'struct sigc::internal::signal_impl' changed, as reported earlier
parameter 1 of type 'const sigc::signal_base&' has sub-type changes:
in referenced type 'const sigc::signal_base':
unqualified underlying type 'struct sigc::signal_base' changed, as reported earlier
parameter 1 of type 'const sigc::slot_base&' has sub-type changes:
in referenced type 'const sigc::slot_base':
unqualified underlying type 'class sigc::slot_base' changed, as reported earlier
[C]'method sigc::signal_base::signal_base(const sigc::signal_base&)' has some indirect sub-type changes:
parameter 1 of type 'const sigc::signal_base&' has sub-type changes:
in referenced type 'const sigc::signal_base':
in unqualified underlying type 'struct sigc::signal_base':
1 base class change:
'struct sigc::trackable' changed:
details were reported earlier
1 data member change:
type of 'sigc::internal::signal_impl* sigc::signal_base::impl_' changed:
in pointed to type 'struct sigc::internal::signal_impl':
type size changed from 192 to 256 bits
1 data member change:
type of 'std::list<sigc::slot_base, std::allocator<sigc::slot_base> > sigc::internal::signal_impl::slots_' changed:
type name changed from 'std::list<sigc::slot_base, std::allocator<sigc::slot_base> >' to 'std::__cxx11::list<sigc::slot_base, std::allocator<sigc::slot_base> >'
type size changed from 128 to 192 bits
1 base class deletion:
class std::_List_base<sigc::slot_base, std::allocator<sigc::slot_base> >
1 base class insertion:
class std::__cxx11::_List_base<sigc::slot_base, std::allocator<sigc::slot_base> >
[C]'method sigc::signal_base& sigc::signal_base::operator=(const sigc::signal_base&)' has some indirect sub-type changes:
return type changed:
referenced type 'struct sigc::signal_base' changed, as reported earlier
parameter 1 of type 'const sigc::signal_base&' has sub-type changes:
in referenced type 'const sigc::signal_base':
unqualified underlying type 'struct sigc::signal_base' changed, as reported earlier
[C]'method sigc::slot_base& sigc::slot_base::operator=(const sigc::slot_base&)' has some indirect sub-type changes:
[C]'method sigc::internal::signal_impl* sigc::signal_base::impl()' has some indirect sub-type changes:
return type changed:
referenced type 'class sigc::slot_base' changed, as reported earlier
parameter 1 of type 'const sigc::slot_base&' has sub-type changes:
in referenced type 'const sigc::slot_base':
unqualified underlying type 'class sigc::slot_base' changed, as reported earlier
pointed to type 'struct sigc::internal::signal_impl' changed, as reported earlier
[C]'method sigc::slot_base::slot_base(sigc::slot_base::rep_type*)' has some indirect sub-type changes:
parameter 1 of type 'sigc::slot_base::rep_type*' has sub-type changes:
@ -179,9 +172,17 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
in referenced type 'const sigc::slot_base':
unqualified underlying type 'class sigc::slot_base' changed, as reported earlier
[C]'method sigc::internal::trackable_callback_list* sigc::trackable::callback_list()' has some indirect sub-type changes:
[C]'method sigc::slot_base& sigc::slot_base::operator=(const sigc::slot_base&)' has some indirect sub-type changes:
return type changed:
pointed to type 'struct sigc::internal::trackable_callback_list' changed, as reported earlier
referenced type 'class sigc::slot_base' changed, as reported earlier
parameter 1 of type 'const sigc::slot_base&' has sub-type changes:
in referenced type 'const sigc::slot_base':
unqualified underlying type 'class sigc::slot_base' changed, as reported earlier
[C]'method sigc::trackable::trackable(const sigc::trackable&)' has some indirect sub-type changes:
parameter 1 of type 'const sigc::trackable&' has sub-type changes:
in referenced type 'const sigc::trackable':
unqualified underlying type 'struct sigc::trackable' changed, as reported earlier
[C]'method sigc::trackable& sigc::trackable::operator=(const sigc::trackable&)' has some indirect sub-type changes:
return type changed:
@ -190,10 +191,9 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
in referenced type 'const sigc::trackable':
unqualified underlying type 'struct sigc::trackable' changed, as reported earlier
[C]'method sigc::trackable::trackable(const sigc::trackable&)' has some indirect sub-type changes:
parameter 1 of type 'const sigc::trackable&' has sub-type changes:
in referenced type 'const sigc::trackable':
unqualified underlying type 'struct sigc::trackable' changed, as reported earlier
[C]'method sigc::internal::trackable_callback_list* sigc::trackable::callback_list()' has some indirect sub-type changes:
return type changed:
pointed to type 'struct sigc::internal::trackable_callback_list' changed, as reported earlier