]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
(finish_decl): Redo last change.
authorRichard Kenner <kenner@gcc.gnu.org>
Mon, 25 Apr 1994 20:47:30 +0000 (16:47 -0400)
committerRichard Kenner <kenner@gcc.gnu.org>
Mon, 25 Apr 1994 20:47:30 +0000 (16:47 -0400)
From-SVN: r7156

gcc/c-decl.c

index 8aa0859b8e16ec55a457d32227273d04218d66d4..7dd5fbc08bffacafe963b44b38d1209dfd5c4297 100644 (file)
@@ -3412,13 +3412,9 @@ 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 a name was specified, get the string.   */
   if (asmspec_tree)
-    {
-      asmspec = TREE_STRING_POINTER (asmspec_tree);
-      DECL_RTL (decl) = 0;
-    }
+    asmspec = TREE_STRING_POINTER (asmspec_tree);
 
   /* If `start_decl' didn't like having an initialization, ignore it now.  */
 
@@ -3539,9 +3535,13 @@ finish_decl (decl, init, asmspec_tree)
     }
 
   /* If this is a function and an assembler name is specified, it isn't
-     builtin any more.  */
+     builtin any more.  Also reset DECL_RTL so we can give it its new
+     name.  */
   if (TREE_CODE (decl) == FUNCTION_DECL && asmspec)
-    DECL_BUILT_IN (decl) = 0;
+      {
+       DECL_BUILT_IN (decl) = 0;
+       DECL_RTL (decl) = 0;
+      }
 
   /* Output the assembler code and/or RTL code for variables and functions,
      unless the type is an undefined structure or union.