[gcc(refs/users/marxin/heads/backport-11)] ipa: "naked" attribute implies "noipa" attribute

Martin Liska marxin@gcc.gnu.org
Tue Jan 18 12:57:15 GMT 2022


https://gcc.gnu.org/g:b76e938a192da0da198d2f414070182f2506508d

commit b76e938a192da0da198d2f414070182f2506508d
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.
    
    (cherry picked from commit 4998404915bba9cb04c438a926cdf7126782a767)

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

diff --git a/gcc/attribs.c b/gcc/attribs.c
index ebc0783c439..47969bd7742 100644
--- a/gcc/attribs.c
+++ b/gcc/attribs.c
@@ -520,14 +520,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