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 | |
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')
-rw-r--r-- | gcc/ChangeLog | 65 | ||||
-rw-r--r-- | gcc/dwarf2out.c | 6 |
2 files changed, 37 insertions, 34 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index da11f96..d08abdf 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,35 +1,40 @@ +2001-07-02 Jason Merrill <jason_merrill@redhat.com> + + * dwarf2out.c (mem_loc_descriptor): Only look through a constant pool + reference if the target constant is also a SYMBOL_REF. + 2001-07-05 Eric Christopher <echristo@redhat.com> - * config/mips/mips.h (MASK_MIPS3900): Remove. - (MASK_MIPS16,MASK_NO_CHECK_ZERO_DIV,MASK_CHECK_RANGE_DIV, - MASK_UNINIT_CONST_IN_RODATA): Change for 3900 mask removal. - (TARGET_MIPS3900): Change to use mips_arch. - (TARGET_MIPS4000): New. - (TARGET_MIPS4100): New. - (TARGET_MIPS4300): New. - (TARGET_SWITCHES): Change 3900 and 4650 options to NULL. - (SUBTARGET_TARGET_OPTIONS): Add -march. Change help text - for -mipsX. - (GENERATE_BRANCHLIKELY): Move TARGET_MIPS3900. - (ISA_HAS_BRANCHLIKELY): To here. - (CC1_CPU_SPEC): New. - (CC1_SPEC): Use here. Remove 4650 and 3900 options. - (mips_arch_string): Declare. - (mips_arch): Declare. - (TARGET_OPTIONS): Add -march and -mtune. - - * config/mips/mips.c (mips_arch_string): New. - (mips_arch): New. - (override_options): Handle -march for codegen and -mtune - for scheduling. Use mips_arch. Move tx39 target default here. - (mips_parse_cpu): Move error message to override_options. - - * config/mips/r3900.h (TARGET_DEFAULT): Remove. - - * config/mips/mips.md: Use TARGET_MIPS4000 and TARGET_MIPS4300. - - * doc/invoke.texi (Option Summary): Add -march and -mtune entries. - (MIPS Options): Ditto. Change mcpu entry to historical text. + * config/mips/mips.h (MASK_MIPS3900): Remove. + (MASK_MIPS16,MASK_NO_CHECK_ZERO_DIV,MASK_CHECK_RANGE_DIV, + MASK_UNINIT_CONST_IN_RODATA): Change for 3900 mask removal. + (TARGET_MIPS3900): Change to use mips_arch. + (TARGET_MIPS4000): New. + (TARGET_MIPS4100): New. + (TARGET_MIPS4300): New. + (TARGET_SWITCHES): Change 3900 and 4650 options to NULL. + (SUBTARGET_TARGET_OPTIONS): Add -march. Change help text + for -mipsX. + (GENERATE_BRANCHLIKELY): Move TARGET_MIPS3900. + (ISA_HAS_BRANCHLIKELY): To here. + (CC1_CPU_SPEC): New. + (CC1_SPEC): Use here. Remove 4650 and 3900 options. + (mips_arch_string): Declare. + (mips_arch): Declare. + (TARGET_OPTIONS): Add -march and -mtune. + + * config/mips/mips.c (mips_arch_string): New. + (mips_arch): New. + (override_options): Handle -march for codegen and -mtune + for scheduling. Use mips_arch. Move tx39 target default here. + (mips_parse_cpu): Move error message to override_options. + + * config/mips/r3900.h (TARGET_DEFAULT): Remove. + + * config/mips/mips.md: Use TARGET_MIPS4000 and TARGET_MIPS4300. + + * doc/invoke.texi (Option Summary): Add -march and -mtune entries. + (MIPS Options): Ditto. Change mcpu entry to historical text. 2001-07-05 H.J. Lu (hjl@gnu.org) 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); |