@@ -580,9 +580,7 @@ lto_symtab_merge_p (tree prevailing, tree decl)
tree prev_attr = lookup_attribute ("error", DECL_ATTRIBUTES (prevailing));
tree attr = lookup_attribute ("error", DECL_ATTRIBUTES (decl));
if ((prev_attr == NULL) != (attr == NULL)
- || (prev_attr
- && TREE_VALUE (TREE_VALUE (prev_attr))
- != TREE_VALUE (TREE_VALUE (attr))))
+ || (prev_attr && !attribute_value_equal (prev_attr, attr)))
{
if (symtab->dump_file)
fprintf (symtab->dump_file, "Not merging decls; "
@@ -593,9 +591,7 @@ lto_symtab_merge_p (tree prevailing, tree decl)
prev_attr = lookup_attribute ("warning", DECL_ATTRIBUTES (prevailing));
attr = lookup_attribute ("warning", DECL_ATTRIBUTES (decl));
if ((prev_attr == NULL) != (attr == NULL)
- || (prev_attr
- && TREE_VALUE (TREE_VALUE (prev_attr))
- != TREE_VALUE (TREE_VALUE (attr))))
+ || (prev_attr && !attribute_value_equal (prev_attr, attr)))
{
if (symtab->dump_file)
fprintf (symtab->dump_file, "Not merging decls; "