diff options
author | Zack Weinberg <zack@gcc.gnu.org> | 2003-04-20 18:20:39 +0000 |
---|---|---|
committer | Zack Weinberg <zack@gcc.gnu.org> | 2003-04-20 18:20:39 +0000 |
commit | c6a2438aaf2ceeb137d21d67b00edf27a92104c0 (patch) | |
tree | 6af2bc9bef24c55c4233dbdc955842df62042749 /gcc/varasm.c | |
parent | 8c7d377fa2a94ea39f7eb38df8aeb776452f49f0 (diff) | |
download | gcc-c6a2438aaf2ceeb137d21d67b00edf27a92104c0.zip gcc-c6a2438aaf2ceeb137d21d67b00edf27a92104c0.tar.gz gcc-c6a2438aaf2ceeb137d21d67b00edf27a92104c0.tar.bz2 |
target.h (encode_section_info): Add new argument carrying the RTL to be modified by the hook.
* target.h (encode_section_info): Add new argument carrying
the RTL to be modified by the hook.
* varasm.c (make_decl_rtl, output_constant_def): Update calls
to encode_section_info.
(default_encode_section_info): Take and use RTL argument,
don't use TREE_CST_RTL or DECL_RTL.
* output.h: Update prototype of default_encode_section_info.
* config/darwin.h (ASM_DECLARE_OBJECT_NAME)
(ASM_DECLARE_FUNCTION_NAME, ASM_OUTPUT_ALIGNED_DECL_LOCAL):
Update calls to encode_section_info.
* config/darwin.c, config/arm/arm.c, config/arm/pe.c
* config/h8300/h8300.c, config/i386/winnt.c, config/m32r/m32r.c
* config/m68hc11/m68hc11.c, config/m88k/m88k.c, config/mcore/mcore.c
* config/mips/mips.c, config/mmix/mmix.c, config/pa/pa.c
* config/romp/romp.c, config/rs6000/rs6000.c, config/s390/s390.c
* config/v850/v850.c (TARGET_ENCODE_SECTION_INFO definitions):
Take and use RTL argument, don't use TREE_CST_RTL or DECL_RTL,
except for PE dllimport/dllexport. Update calls to
default_encode_section_info.
* config/darwin-protos.h, config/arm/arm-protos.h, config/i386-protos.h:
Update prototypes.
* doc/tm.texi (TARGET_ENCODE_SECTION_INFO): Update.
From-SVN: r65859
Diffstat (limited to 'gcc/varasm.c')
-rw-r--r-- | gcc/varasm.c | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/gcc/varasm.c b/gcc/varasm.c index a517450..72141f16 100644 --- a/gcc/varasm.c +++ b/gcc/varasm.c @@ -809,7 +809,7 @@ make_decl_rtl (decl, asmspec) /* Let the target reassign the RTL if it wants. This is necessary, for example, when one machine specific decl attribute overrides another. */ - (* targetm.encode_section_info) (decl, false); + (* targetm.encode_section_info) (decl, DECL_RTL (decl), false); return; } @@ -932,7 +932,7 @@ make_decl_rtl (decl, asmspec) such as that it is a function name. If the name is changed, the macro ASM_OUTPUT_LABELREF will have to know how to strip this information. */ - (* targetm.encode_section_info) (decl, true); + (* targetm.encode_section_info) (decl, DECL_RTL (decl), true); } /* Make the rtl for variable VAR be volatile. @@ -2674,10 +2674,7 @@ output_constant_def (exp, defer) encoded in it. */ if (! found) { - /* Take care not to invoke targetm.encode_section_info for - constants which don't have a TREE_CST_RTL. */ - if (TREE_CODE (exp) != INTEGER_CST) - (*targetm.encode_section_info) (exp, true); + (*targetm.encode_section_info) (exp, rtl, true); desc->rtl = rtl; desc->label = XSTR (XEXP (desc->rtl, 0), 0); @@ -5346,15 +5343,14 @@ default_elf_select_rtx_section (mode, x, align) /* Set the generally applicable flags on the SYMBOL_REF for EXP. */ void -default_encode_section_info (decl, first) +default_encode_section_info (decl, rtl, first) tree decl; + rtx rtl; int first ATTRIBUTE_UNUSED; { - rtx rtl, symbol; + rtx symbol; int flags; - rtl = DECL_P (decl) ? DECL_RTL (decl) : TREE_CST_RTL (decl); - /* Careful not to prod global register variables. */ if (GET_CODE (rtl) != MEM) return; |