From: Richard Henderson Date: Thu, 26 Jul 2001 01:28:01 +0000 (-0700) Subject: varasm.c (assemble_variable): Create DECL_RTL before setting TREE_ASM_WRITTEN. X-Git-Tag: prereleases/libstdc++-3.0.95~3043 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=17eee61c6decd3f7797f760f510b78ccf0c9e5cc;p=thirdparty%2Fgcc.git varasm.c (assemble_variable): Create DECL_RTL before setting TREE_ASM_WRITTEN. * varasm.c (assemble_variable): Create DECL_RTL before setting TREE_ASM_WRITTEN. From-SVN: r44372 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 52a3abdfeacb..f6c6ef469ae4 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 52a0268cf231..cced6623c5e5 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