aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/darwin.c
diff options
context:
space:
mode:
authorRichard Sandiford <rsandifo@gcc.gnu.org>2006-01-25 09:10:56 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2006-01-25 09:10:56 +0000
commitc185c79706795682a35d3b15df2ff3b7e1f2138b (patch)
tree9ec01d7044846a0ba35c49e3628382ad19db08d7 /gcc/config/darwin.c
parent14c1a9d75ed4be5d79d3cc47cd49dfba36bd9967 (diff)
downloadgcc-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.c5
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;
}