mirror of
git://sourceware.org/git/libabigail.git
synced 2025-01-18 23:30:45 +00:00
ir: Tighten the test for anonymous data member
In is_anonymous_data_member(), we only test that the name of the data member is empty; we forget to test that decl_base::get_is_anonymous() is true. This might make us wrongly think that a data member is anonymous in cases like in the equals() function for var_decl, where we temporarily set the name of the compared var_decl to "" before invoking the decl_base::operator==. We do this to perform the comparison by not taking into account the name of the variable. This hasn't yet happened on the binaries of the regression test suite, but it's definitely wrong so I am fixing it here. * src/abg-ir.cc: (is_anonymous_data_member): Consider decl_base::get_is_anonymous as well. Signed-off-by: Dodji Seketeli <dodji@redhat.com>
This commit is contained in:
parent
8926b2f3d1
commit
d71518dbf0
@ -5474,6 +5474,7 @@ bool
|
||||
is_anonymous_data_member(const var_decl& d)
|
||||
{
|
||||
return (is_data_member(d)
|
||||
&& d.get_is_anonymous()
|
||||
&& d.get_name().empty()
|
||||
&& is_class_or_union_type(d.get_type()));
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user