dwarf2out.c (mem_loc_descriptor): Do not pass constant pool contents for a SYMBOL_REF in case of floating point...

2001-05-10  Toon Moene  <toon@moene.indiv.nluug.nl>

	* dwarf2out.c (mem_loc_descriptor): Do not pass constant pool
	contents for a SYMBOL_REF in case of floating point constants.

From-SVN: r41945
This commit is contained in:
Toon Moene 2001-05-10 20:52:28 +02:00 committed by Toon Moene
parent df33e4e18e
commit 79cdfa4b29
2 changed files with 13 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2001-05-10 Toon Moene <toon@moene.indiv.nluug.nl>
* dwarf2out.c (mem_loc_descriptor): Do not pass constant pool
contents for a SYMBOL_REF in case of floating point constants.
2001-05-10 DJ Delorie <dj@redhat.com>
* c-common.c (combine_strings): Widen strings in a

View File

@ -7120,8 +7120,14 @@ mem_loc_descriptor (rtl, mode)
/* Alternatively, the symbol in the constant pool can be referenced
by a different symbol. */
if (GET_CODE (rtl) == SYMBOL_REF
&& CONSTANT_POOL_ADDRESS_P (rtl))
rtl = get_pool_constant (rtl);
&& CONSTANT_POOL_ADDRESS_P (rtl))
{
rtx tmp = get_pool_constant (rtl);
/* Doesn't work for floating point constants. */
if (! (GET_CODE (tmp) == CONST_DOUBLE && GET_MODE (tmp) != VOIDmode))
rtl = tmp;
}
mem_loc_result = new_loc_descr (DW_OP_addr, 0, 0);
mem_loc_result->dw_loc_oprnd1.val_class = dw_val_class_addr;