From b76e938a192da0da198d2f414070182f2506508d Mon Sep 17 00:00:00 2001 From: Martin Liska Date: Thu, 12 Aug 2021 17:26:51 +0200 Subject: [PATCH] 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) --- 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. */ -- 2.34.1