From: Mark Wielaard Date: Fri, 8 Apr 2011 21:10:15 +0000 (+0200) Subject: dwarflint: anonymous typedef unions also can have linkage_name extension. X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0f71d2334811a6d9ee410a4c75364ac49ed1883d;p=thirdparty%2Felfutils.git dwarflint: anonymous typedef unions also can have linkage_name extension. --- diff --git a/dwarflint/check_linkage_external_die.cc b/dwarflint/check_linkage_external_die.cc index b871b5394..9d759dd1f 100644 --- a/dwarflint/check_linkage_external_die.cc +++ b/dwarflint/check_linkage_external_die.cc @@ -139,11 +139,13 @@ namespace if (s == _m_symbols.end ()) { // No symbol in table, OK, if not a defining or const object. - // GNU extension, anonymous structs can have a linkage_name. + // GNU extension, anonymous structs, enums and unions can + // have a linkage_name. if (attrs.find (DW_AT_declaration) == attrs.end () && attrs.find (DW_AT_const_value) == attrs.end () && ((entry.tag () != DW_TAG_structure_type - && entry.tag () != DW_TAG_enumeration_type) + && entry.tag () != DW_TAG_enumeration_type + && entry.tag () != DW_TAG_union_type) || attrs.find (DW_AT_name) != attrs.end ())) { wr_message (to_where (entry), diff --git a/dwarflint/expected-at.cc b/dwarflint/expected-at.cc index 016d2115c..d19f6d156 100644 --- a/dwarflint/expected-at.cc +++ b/dwarflint/expected-at.cc @@ -747,6 +747,7 @@ expected_at_map::expected_at_map () .optional (DW_AT_specification) .optional (DW_AT_start_scope) .optional (DW_AT_visibility) + .optional (at_linkage_name) // GNU extension for anonymous typedef unions. ; m_map [DW_TAG_unspecified_parameters]