[gcc r12-2901] ipa: "naked" attribute implies "noipa" attribute

Martin Liska marxin@gcc.gnu.org
Fri Aug 13 14:04:39 GMT 2021


https://gcc.gnu.org/g:4998404915bba9cb04c438a926cdf7126782a767

commit r12-2901-g4998404915bba9cb04c438a926cdf7126782a767
Author: Martin Liska <mliska@suse.cz>
Date:   Thu Aug 12 17:26:51 2021 +0200

    ipa: "naked" attribute implies "noipa" attribute
    
            PR ipa/101354
    
    gcc/ChangeLog:
    
            * attribs.c (decl_attributes): Make naked functions "noipa"
              functions.

Diff:
---
 gcc/attribs.c | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/gcc/attribs.c b/gcc/attribs.c
index afa485ed37d..0d22c20a35e 100644
--- a/gcc/attribs.c
+++ b/gcc/attribs.c
@@ -517,14 +517,9 @@ decl_attributes (tree *node, tree attributes, int flags,
   if (TREE_CODE (*node) == FUNCTION_DECL
       && attributes
       && lookup_attribute ("naked", attributes) != NULL
-      && lookup_attribute_spec (get_identifier ("naked")))
-    {
-      if (lookup_attribute ("noinline", attributes) == NULL)
-	attributes = tree_cons (get_identifier ("noinline"), NULL, attributes);
-
-      if (lookup_attribute ("noclone", attributes) == NULL)
-	attributes = tree_cons (get_identifier ("noclone"),  NULL, attributes);
-    }
+      && lookup_attribute_spec (get_identifier ("naked"))
+      && lookup_attribute ("noipa", attributes) == NULL)
+	attributes = tree_cons (get_identifier ("noipa"), NULL, attributes);
 
   /* A "noipa" function attribute implies "noinline", "noclone" and "no_icf"
      for those targets that support it.  */


More information about the Gcc-cvs mailing list