From: Richard Kenner Date: Sat, 16 Apr 1994 20:38:20 +0000 (-0400) Subject: (finish_decl): If asmspec_tree, clear DECL_BUILT_IN for function and X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3c4afaa5f86313361f27d659e0af2445224c3e0d;p=gcc.git (finish_decl): If asmspec_tree, clear DECL_BUILT_IN for function and DECL_RTL always. From-SVN: r7048 --- diff --git a/gcc/c-decl.c b/gcc/c-decl.c index 6055e3a844a..a7cd30ee4b1 100644 --- a/gcc/c-decl.c +++ b/gcc/c-decl.c @@ -3406,8 +3406,13 @@ finish_decl (decl, init, asmspec_tree) int temporary = allocation_temporary_p (); char *asmspec = 0; + /* If a name was specified, get the string. Then reset DECL_RTL + so that we will remake it with the new name. */ if (asmspec_tree) - asmspec = TREE_STRING_POINTER (asmspec_tree); + { + asmspec = TREE_STRING_POINTER (asmspec_tree); + DECL_RTL (decl) = 0; + } /* If `start_decl' didn't like having an initialization, ignore it now. */ @@ -3527,6 +3532,11 @@ finish_decl (decl, init, asmspec_tree) } } + /* If this is a function and an assembler name is specified, it isn't + builtin any more. */ + if (TREE_CODE (decl) == FUNCTION_DECL && asmspec) + DECL_BUILT_IN (decl) = 0; + /* Output the assembler code and/or RTL code for variables and functions, unless the type is an undefined structure or union. If not, it will get done when the type is completed. */