Commit eb7b11fd by Jim Wilson Committed by Jim Wilson

Fix C++ template instantiation back end core dump.

	* varasm.c (mark_constants): Don't look inside CONST_DOUBLEs.

From-SVN: r14999
parent 9aef2966
Fri Aug 29 11:42:04 1997 Jim Wilson <wilson@cygnus.com>
* varasm.c (mark_constants): Don't look inside CONST_DOUBLEs.
Fri Aug 29 09:33:20 1997 Philipp Thomas (kthomas@lxi165.gwdg.de) Fri Aug 29 09:33:20 1997 Philipp Thomas (kthomas@lxi165.gwdg.de)
* dwarfout2.c (build_abbrev_table): Use xrealloc, not xmalloc * dwarfout2.c (build_abbrev_table): Use xrealloc, not xmalloc
......
...@@ -3798,6 +3798,13 @@ mark_constants (x) ...@@ -3798,6 +3798,13 @@ mark_constants (x)
find_pool_constant (x)->mark = 1; find_pool_constant (x)->mark = 1;
return; return;
} }
/* Never search inside a CONST_DOUBLE, because CONST_DOUBLE_MEM may be
a MEM, but does not constitute a use of that MEM. This is particularly
important inside a nested function, because CONST_DOUBLE_MEM may be
a reference to a MEM in the parent's constant pool. See the comment
in force_const_mem. */
else if (GET_CODE (x) == CONST_DOUBLE)
return;
/* Insns may appear inside a SEQUENCE. Only check the patterns of /* Insns may appear inside a SEQUENCE. Only check the patterns of
insns, not any notes that may be attached. We don't want to mark insns, not any notes that may be attached. We don't want to mark
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment