From c57188ef0c10fefc408a67b9c3db877e7dcde29e Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Sat, 6 Dec 2025 11:08:05 +0100 Subject: [PATCH] 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. --- gcc/attribs.cc | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) 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) { -- 2.47.3