From 478e31275bf4f5ba64b0be7820289f9ff2d95d74 Mon Sep 17 00:00:00 2001 From: alehotsky Date: Fri, 31 May 2002 12:49:27 +0000 Subject: [PATCH] *** empty log message *** git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@54108 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 4 ++++ gcc/varasm.c | 15 ++++++++++----- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f2084b3..c963e6a 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 73ba7cd..dacab19 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 -- 2.7.4