mirror of
git://sourceware.org/git/libabigail.git
synced 2025-01-18 23:30:45 +00:00
Adding member type doesn't reset declaration-only-ness of a class
When reading DWARF, a declaration-only class was loosing its declaration-only-ness just because a member type was being added. Bad things was then happening next because that (normally declaration-only) class was then considered as being suitable for early canonicalizing, while it wasn't (yet), in reality. Its canonicalizing should have been deferred. This issue was spotted when comparing kdebase-workspace-4.3.4-29.el6_6.x86_64.rpm and, kdebase-workspace-4.3.4-30.el6_6.x86_64.rpm, using their associated debug info. The issue was happening precisely when comparing their usr/lib64/kde4/kwin4_effect_builtins.so DSOs, precisely; it was leading to a crash. * src/abg-dwarf-reader.cc (build_class_type_and_add_to_ir): Adding a new member type shouldn't remove the declaration-only-ness of the class. Signed-off-by: Dodji Seketeli <dodji@redhat.com>
This commit is contained in:
parent
b8ae34192f
commit
38a46fd0b0
@ -6504,14 +6504,11 @@ build_class_type_and_add_to_ir(read_context& ctxt,
|
||||
}
|
||||
// Handle member types
|
||||
else if (is_type_die(&child))
|
||||
{
|
||||
result->set_is_declaration_only(false);
|
||||
decl_base_sptr td =
|
||||
build_ir_node_from_die(ctxt, &child, is_in_alt_di,
|
||||
result.get(),
|
||||
called_from_public_decl,
|
||||
where_offset);
|
||||
}
|
||||
decl_base_sptr td =
|
||||
build_ir_node_from_die(ctxt, &child, is_in_alt_di,
|
||||
result.get(),
|
||||
called_from_public_decl,
|
||||
where_offset);
|
||||
} while (dwarf_siblingof(&child, &child) == 0);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user