diff options
author | Richard Sandiford <rsandifo@gcc.gnu.org> | 2006-01-25 09:10:56 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2006-01-25 09:10:56 +0000 |
commit | c185c79706795682a35d3b15df2ff3b7e1f2138b (patch) | |
tree | 9ec01d7044846a0ba35c49e3628382ad19db08d7 /gcc/config/darwin.c | |
parent | 14c1a9d75ed4be5d79d3cc47cd49dfba36bd9967 (diff) | |
download | gcc-c185c79706795682a35d3b15df2ff3b7e1f2138b.zip gcc-c185c79706795682a35d3b15df2ff3b7e1f2138b.tar.gz gcc-c185c79706795682a35d3b15df2ff3b7e1f2138b.tar.bz2 |
rtl.texi (SYMBOL_REF_CONSTANT, [...]): Document.
* doc/rtl.texi (SYMBOL_REF_CONSTANT, SYMBOL_REF_DATA): Document.
* gengtype.c (adjust_field_rtx_def): Garbage-collect field 2 of
a SYMBOL_REF as either a tree or a constant_descriptor_rtx,
depending on the value of CONSTANT_POOL_ADDRESS_P.
* optabs.c (init_one_libfunc): Nullify SYMBOL_REF_DATA rather than
SYMBOL_REF_DECL.
* varasm.c (make_decl_rtl, build_constant_desc): Set SYMBOL_REF_DATA
rather than SYMBOL_REF_DECL.
(rtx_constant_pool): Remove const_rtx_sym_htab.
(const_desc_rtx_sym_hash, const_desc_rtx_sym_eq): Delete.
(init_varasm_status): Don't initialize const_rtx_sym_htab.
(force_const_mem): Point SYMBOL_REF_DATA to the constant pool entry.
Remove handling of const_rtx_sym_htab.
(find_pool_constant): Delete.
(get_pool_constant, get_pool_constant_mark): Use SYMBOL_REF_CONSTANT
rather than find_pool_constant.
(get_pool_constant_for_function): Delete.
(get_pool_mode, mark_constant): Use SYMBOL_REF_CONSTANT rather than
find_pool_constant.
* rtl.h (rtunion_def): Add rt_constant and rt_ptr fields.
(X0CONSTANT, X0PTR, SYMBOL_REF_DATA): New macros.
(SYMBOL_REF_DECL): Return NULL if CONSTANT_POOL_ADDRESS_P.
(SYMBOL_REF_CONSTANT): New macro.
(get_pool_constant_for_function): Delete.
* config/i386/winnt.c (i386_pe_mark_dllexport): Set SYMBOL_REF_DATA
rather than SYMBOL_REF_DECL.
(i386_pe_mark_dllimport): Likewise.
* config/rs6000/rs6000.c (rs6000_emit_move): Copy SYMBOL_REF_DATA
rather than SYMBOL_REF_DECL.
* config/darwin.c (machopic_indirect_data_reference): Likewise.
(machopic_indirect_call_target): Likewise.
From-SVN: r110210
Diffstat (limited to 'gcc/config/darwin.c')
-rw-r--r-- | gcc/config/darwin.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/gcc/config/darwin.c b/gcc/config/darwin.c index 8920d62..05de707 100644 --- a/gcc/config/darwin.c +++ b/gcc/config/darwin.c @@ -559,7 +559,7 @@ machopic_indirect_data_reference (rtx orig, rtx reg) (Pmode, machopic_indirection_name (orig, /*stub_p=*/false))); - SYMBOL_REF_DECL (ptr_ref) = SYMBOL_REF_DECL (orig); + SYMBOL_REF_DATA (ptr_ref) = SYMBOL_REF_DATA (orig); ptr_ref = gen_const_mem (Pmode, ptr_ref); machopic_define_symbol (ptr_ref); @@ -642,10 +642,9 @@ machopic_indirect_call_target (rtx target) const char *stub_name = machopic_indirection_name (sym_ref, /*stub_p=*/true); enum machine_mode mode = GET_MODE (sym_ref); - tree decl = SYMBOL_REF_DECL (sym_ref); XEXP (target, 0) = gen_rtx_SYMBOL_REF (mode, stub_name); - SYMBOL_REF_DECL (XEXP (target, 0)) = decl; + SYMBOL_REF_DATA (XEXP (target, 0)) = SYMBOL_REF_DATA (sym_ref); MEM_READONLY_P (target) = 1; MEM_NOTRAP_P (target) = 1; } |