aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1994-04-25 16:47:30 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1994-04-25 16:47:30 -0400
commit72f5a12bcb9bec0c8f88b8b01c5cec18b8df5413 (patch)
tree5ee9d04e43448022c128ab88527d85ade59b1b65 /gcc
parent094ecbb0cee9eec4627f8ecbe2baca1f3fbbbf8d (diff)
downloadgcc-72f5a12bcb9bec0c8f88b8b01c5cec18b8df5413.zip
gcc-72f5a12bcb9bec0c8f88b8b01c5cec18b8df5413.tar.gz
gcc-72f5a12bcb9bec0c8f88b8b01c5cec18b8df5413.tar.bz2
(finish_decl): Redo last change.
From-SVN: r7156
Diffstat (limited to 'gcc')
-rw-r--r--gcc/c-decl.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/gcc/c-decl.c b/gcc/c-decl.c
index 8aa0859..7dd5fbc 100644
--- a/gcc/c-decl.c
+++ b/gcc/c-decl.c
@@ -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.