diff options
author | Jason Merrill <jason@gcc.gnu.org> | 2001-07-06 07:38:41 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2001-07-06 07:38:41 -0400 |
commit | 6331d1c1d9859927b5509e07b856e60f98b4821f (patch) | |
tree | 670e27a40e7ff30b068cdb104c7a8814b9421bae /gcc/dwarf2out.c | |
parent | d15a05b3acd56e54de35f8e410799e914b9ca604 (diff) | |
download | gcc-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.c | 6 |
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); |