From 30459ad0cb8652867376638aa20b4e80af378058 Mon Sep 17 00:00:00 2001 From: rth Date: Thu, 26 Jul 2001 01:28:01 +0000 Subject: [PATCH] * varasm.c (assemble_variable): Create DECL_RTL before setting TREE_ASM_WRITTEN. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@44372 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 5 +++++ gcc/varasm.c | 6 +++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 52a3abd..f6c6ef4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2001-07-25 Richard Henderson + + * varasm.c (assemble_variable): Create DECL_RTL before setting + TREE_ASM_WRITTEN. + Thu Jul 26 00:19:30 CEST 2001 Jan Hubicka * predict.c (estimate_probability): Avoid duplicated predictions. diff --git a/gcc/varasm.c b/gcc/varasm.c index 52a0268..cced662 100644 --- a/gcc/varasm.c +++ b/gcc/varasm.c @@ -1204,6 +1204,7 @@ assemble_variable (decl, top_level, at_end, dont_output_data) register const char *name; unsigned int align; int reloc = 0; + rtx decl_rtl; last_assemble_variable_decl = 0; @@ -1254,6 +1255,9 @@ assemble_variable (decl, top_level, at_end, dont_output_data) if (TREE_ASM_WRITTEN (decl)) return; + /* Make sure ENCODE_SECTION_INFO is invoked before we set ASM_WRITTEN. */ + decl_rtl = DECL_RTL (decl); + TREE_ASM_WRITTEN (decl) = 1; /* Do no output if -fsyntax-only. */ @@ -1269,7 +1273,7 @@ assemble_variable (decl, top_level, at_end, dont_output_data) return; } - name = XSTR (XEXP (DECL_RTL (decl), 0), 0); + name = XSTR (XEXP (decl_rtl, 0), 0); if (TREE_PUBLIC (decl) && DECL_NAME (decl) && ! first_global_object_name && ! (DECL_COMMON (decl) && (DECL_INITIAL (decl) == 0 -- 2.7.4