aboutsummaryrefslogtreecommitdiff
path: root/gcc/dwarf2out.c
diff options
context:
space:
mode:
authorJason Merrill <jason@gcc.gnu.org>2001-07-06 07:38:41 -0400
committerJason Merrill <jason@gcc.gnu.org>2001-07-06 07:38:41 -0400
commit6331d1c1d9859927b5509e07b856e60f98b4821f (patch)
tree670e27a40e7ff30b068cdb104c7a8814b9421bae /gcc/dwarf2out.c
parentd15a05b3acd56e54de35f8e410799e914b9ca604 (diff)
downloadgcc-6331d1c1d9859927b5509e07b856e60f98b4821f.zip
gcc-6331d1c1d9859927b5509e07b856e60f98b4821f.tar.gz
gcc-6331d1c1d9859927b5509e07b856e60f98b4821f.tar.bz2
dwarf2out.c (mem_loc_descriptor): Only look through a constant pool reference if...
* dwarf2out.c (mem_loc_descriptor): Only look through a constant pool reference if the target constant is also a SYMBOL_REF. From-SVN: r43805
Diffstat (limited to 'gcc/dwarf2out.c')
-rw-r--r--gcc/dwarf2out.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index a47dbfc..7e385d0 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -7427,18 +7427,16 @@ mem_loc_descriptor (rtl, mode)
pool. */
case CONST:
case SYMBOL_REF:
- /* Alternatively, the symbol in the constant pool can be referenced
+ /* Alternatively, the symbol in the constant pool might be referenced
by a different symbol. */
if (GET_CODE (rtl) == SYMBOL_REF
&& 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))
+ if (GET_CODE (tmp) == SYMBOL_REF)
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;
mem_loc_result->dw_loc_oprnd1.v.val_addr = save_rtx (rtl);