https://gcc.gnu.org/g:c57188ef0c10fefc408a67b9c3db877e7dcde29e
commit r16-5938-gc57188ef0c10fefc408a67b9c3db877e7dcde29e Author: Jakub Jelinek <[email protected]> Date: Sat Dec 6 11:08:05 2025 +0100 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 <[email protected]> * attribs.cc (decl_attributes): Use attribute_value_equal to compare attribute values instead of simple_cst_equal. Diff: --- gcc/attribs.cc | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/gcc/attribs.cc b/gcc/attribs.cc index 7d7f8f36a7fc..51c7f46a00f7 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) {
