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)
            {

Reply via email to