From afdfb380cd910c98378cc61051a603698421c183 Mon Sep 17 00:00:00 2001 From: Alan Lehotsky Date: Fri, 31 May 2002 08:49:27 -0400 Subject: [PATCH] *** empty log message *** From-SVN: r54108 --- gcc/ChangeLog | 4 ++++ gcc/varasm.c | 15 ++++++++++----- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f2084b30405..c963e6a60fc 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2002-05-31 Alan Lehotsky + * varasm.c (mark_constant_pool): Walk epilogue delay list + checking the insn, not the chain for potential constants. + Fri May 31 12:38:43 2002 J"orn Rennecke * config/sh/elf.h (ASM_SPEC): Use subtarget_endian_asm_spec. diff --git a/gcc/varasm.c b/gcc/varasm.c index 73ba7cdd11c..dacab19383f 100644 --- a/gcc/varasm.c +++ b/gcc/varasm.c @@ -3893,6 +3893,7 @@ static void mark_constant_pool () { rtx insn; + rtx link; struct pool_constant *pool; if (first_pool == 0 && htab_elements (const_str_htab) == 0) @@ -3905,11 +3906,15 @@ mark_constant_pool () if (INSN_P (insn)) mark_constants (PATTERN (insn)); - for (insn = current_function_epilogue_delay_list; - insn; - insn = XEXP (insn, 1)) - if (INSN_P (insn)) - mark_constants (PATTERN (insn)); + for (link = current_function_epilogue_delay_list; + link; + link = XEXP (link, 1)) + { + insn = XEXP (link, 0); + + if (INSN_P (insn)) + mark_constants (PATTERN (insn)); + } } /* Look through appropriate parts of X, marking all entries in the