diff options
author | Alan Lehotsky <apl@alum.mit.edu> | 2002-05-31 08:49:27 -0400 |
---|---|---|
committer | Alan Lehotsky <alehotsky@gcc.gnu.org> | 2002-05-31 08:49:27 -0400 |
commit | afdfb380cd910c98378cc61051a603698421c183 (patch) | |
tree | 15d3051cf65b6ac362a42cc47131fea9211a61d1 | |
parent | f2df45f6958f781a64bcca14357465563085c7d4 (diff) | |
download | gcc-afdfb380cd910c98378cc61051a603698421c183.zip gcc-afdfb380cd910c98378cc61051a603698421c183.tar.gz gcc-afdfb380cd910c98378cc61051a603698421c183.tar.bz2 |
*** empty log message ***
From-SVN: r54108
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | 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 <apl@alum.mit.edu> + * 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 <joern.rennecke@superh.com> * 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 |