From: Jakub Jelinek Date: Sat, 6 Dec 2025 10:08:05 +0000 (+0100) Subject: attribs: Use attribute_value_equal in decl_attributes X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c57188ef0c10fefc408a67b9c3db877e7dcde29e;p=thirdparty%2Fgcc.git attribs: Use attribute_value_equal in decl_attributes This is another thing discussed in the 1/9 Reflection thread, also not dependent on reflection. decl_attributes calls simple_cst_equal on TREE_VALUEs of the current and preexisting attributes, but that is just a small part of how attribute values should be compared. The following patch fixes that. 2025-12-06 Jakub Jelinek * attribs.cc (decl_attributes): Use attribute_value_equal to compare attribute values instead of simple_cst_equal. --- diff --git a/gcc/attribs.cc b/gcc/attribs.cc index 7d7f8f36a7f..51c7f46a00f 100644 --- a/gcc/attribs.cc +++ b/gcc/attribs.cc @@ -967,10 +967,8 @@ decl_attributes (tree *node, tree attributes, int flags, for (a = find_same_attribute (attr, old_attrs); a != NULL_TREE; a = find_same_attribute (attr, TREE_CHAIN (a))) - { - if (simple_cst_equal (TREE_VALUE (a), args) == 1) - break; - } + if (attribute_value_equal (a, attr)) + break; if (a == NULL_TREE) {