Andreas Schwab
83ebfdc01c
ia64.c (ia64_hpux_asm_file_end): Fix typo in last change and some warnings.
...
* config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
change and some warnings.
From-SVN: r60073
2002-12-12 14:08:21 +00:00
Steve Ellcey
9a3873b48f
ia64.c (ia64_hpux_asm_file_end): Don't send stripped name to globalize_label or assemble_name.
...
* config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
name to globalize_label or assemble_name.
From-SVN: r60046
2002-12-11 20:41:43 +00:00
Steve Ellcey
3870df966e
hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove definition
...
* config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
definition
(MEMBER_TYPE_FORCES_BLK): Move.
* config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
aggregate arguments.
(ia64_function_value): Use PARALLEL to return aggregate values.
From-SVN: r59963
2002-12-09 18:07:58 +00:00
Andrew Haley
5154b05d15
unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename from_Unwind_Find_Enclosing_Function.
...
2002-11-26 Andrew Haley <aph@redhat.com>
* unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
from_Unwind_Find_Enclosing_Function.
* unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
* config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
* libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
_Unwind_Find_Enclosing_Function, export @@GCC_3.3.
* unwind.h (_Unwind_FindEnclosingFunction): Add.
From-SVN: r59568
2002-11-27 10:33:56 +00:00
Jason Thorpe
32f0ffb380
elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
...
* config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
* config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
* config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
* config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
* config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
* config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
* config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
* config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
* config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
* config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
* config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
* config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
* config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
* config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
* config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
* config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
* config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
* config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
* config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
* config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
* config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
* config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
* config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
* config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
defining.
* config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
* config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
From-SVN: r59493
2002-11-26 04:54:50 +00:00
Andrew Haley
5dafd28231
libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
...
2002-11-25 Andrew Haley <aph@redhat.com>
* libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
* config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
* unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
* unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
From-SVN: r59460
2002-11-25 17:20:10 +00:00
Steve Ellcey
08c42743e0
hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
...
* config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
(FIXUNS_TRUNCTFDI2_LIBCALL): New.
(fixunstfsi_libfunc): Change.
(fixunstfdi_libfunc): Change.
(sdiv_optab): Don't zero out SImode handler.
(udiv_optab): Don't zero out SImode handler.
(smod_optab): Don't zero out SImode handler.
(umod_optab): Don't zero out SImode handler.
From-SVN: r59238
2002-11-18 23:21:42 +00:00
David Mosberger
07cf4226a7
crtend.asm: Include "auto-host.h".
...
* config/ia64/crtend.asm: Include "auto-host.h".
[HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
* config/ia64/crtbegin.asm: Similarly.
* config/ia64/t-ia64 (crtbegin.o): Include from current directory.
(crtend.o, crtbeginS.o, crtendS.o): Likewise.
* aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
* configure.in: Use it if --enable-initfini-array not specified.
* doc/install.texi (Configuration): Document --enable-initfini-array.
* configure, config.in: Rebuild.
From-SVN: r58909
2002-11-07 14:48:10 -08:00
Aldy Hernandez
cff9f8d509
hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
...
2002-11-04 Aldy Hernandez <aldyh@redhat.com>
* hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
* config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
(CLASS_CANNOT_CHANGE_MODE): Remove.
(CANNOT_CHANGE_MODE_CLASS): New.
* config/alpha/alpha.h: Same.
* config/ia64/ia64.h: Same.
* config/mips/mips.h: Same.
* config/s390/s390.h: Same.
* config/sh/sh.h: Same.
* config/pa/pa64-regs.h: Same.
* config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
* config/sh/sh.c (sh_cannot_change_mode_class): New.
* config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
prototype.
* config/mips/mips.c (mips_cannot_change_mode_class): New.
* doc/tm.texi (Register Classes): Remove
CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
Document CANNOT_CHANGE_MODE_CLASS.
* reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
(push_reload): Same.
* simplify-rtx.c (simplify_subreg): Same.
* reload1.c (choose_reload_regs): Same.
* recog.c (register_operand): Same.
* regrename.c (mode_change_ok): Change to use new
CANNOT_CHANGE_MODE_CLASS infrastructure.
* regclass.c (cannot_change_mode_set_regs): New.
Declare subregs_of_mode.
(regclass): Use subregs_of_mode.
Remove references to reg_changes_mode.
(init_reg_sets_1): Remove class_can_change_mode and
reg_changes_mode code.
(invalid_mode_change_p): New.
(dump_regclass): Use invalid_mode_change_p instead of
class_can_change_mode.
(regclass): Same.
(record_operand_costs): Do not set reg_changes_mode.
* local-alloc.c (struct qty): Remove changes_mode field.
(alloc_qty): Remove changes_mode initialization.
(update_qty_class): Remove set of changes_mode.
(find_free_reg): Use subregs_of_mode.
* global.c (find_reg): Use subregs_of_mode info.
* rtl.h (cannot_change_mode_set_regs): New prototype.
(invalid_mode_change_p): Same.
(REG_CANNOT_CHANGE_MODE_P): New macro.
* flow.c (mark_used_regs): Calculate subregs_of_mode. Remove
REG_CHANGES_MODE.
(life_analysis): Clear subregs_of_mode.
* combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
Remove use of CLASS_CANNOT_CHANGE_MODE.
(simplify_set): Same.
(gen_lowpart_for_combine): Calculate subregs_of_mode. Remove
REG_CHANGES_MODE.
* regs.h: Add extern for subregs_of_mode;
Include hard-reg-set and basic-block.
(REG_CHANGES_MODE): Delete.
From-SVN: r58794
2002-11-04 16:58:39 +00:00
Steve Ellcey
dcffbadece
ia64.h (MASK_INLINE_DIV_LAT): Remove.
...
* config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
(MASK_INLINE_DIV_THR): Remove.
(TARGET_INLINE_DIV_LAT): Remove.
(TARGET_INLINE_DIV_THR): Remove.
(TARGET_INLINE_DIV): Remove.
(MASK_INLINE_FLOAT_DIV_LAT): New macro.
(MASK_INLINE_FLOAT_DIV_THR): New macro.
(MASK_INLINE_INT_DIV_LAT): New macro.
(MASK_INLINE_INT_DIV_THR): New macro.
(TARGET_INLINE_FLOAT_DIV_LAT): New macro.
(TARGET_INLINE_FLOAT_DIV_THR): New macro.
(TARGET_INLINE_INT_DIV_LAT): New macro.
(TARGET_INLINE_INT_DIV_THR): New macro.
(TARGET_INLINE_FLOAT_DIV): New macro.
(TARGET_INLINE_INT_DIV): New macro.
* config/ia64/ia64.md (divsi3): Change to use new macros.
(modsi3): Ditto.
(udivsi3): Ditto.
(umodsi3): Ditto.
(divsi3_internal): Ditto.
(divdi3): Ditto.
(moddi3): Ditto.
(udivdi3): Ditto.
(umoddi3): Ditto.
(divdi3_internal_lat): Ditto.
(divdi3_internal_thr): Ditto.
(divsf3): Ditto.
(divsf3_internal_lat): Ditto.
(divsf3_internal_thr): Ditto.
(divdf3): Ditto.
(divdf3_internal_lat): Ditto.
(divdf3_internal_thr): Ditto.
(divtf3): Ditto.
(divtf3_internal_lat): Ditto.
(divtf3_internal_thr): Ditto.
* config/ia64/ia64.c (ia64_override_options): Change
to check new macros for conflicts in settings.
* doc/invoke.texi (-minline-divide-min-latency): Remove.
(-minline-divide-max-throughput): Remove.
(-minline-float-divide-min-latency): New.
(-minline-float-divide-max-throughput): New.
(-minline-int-divide-min-latency): New.
(-minline-int-divide-max-throughput): New.
From-SVN: r58727
2002-11-01 20:25:35 +00:00
Steve Ellcey
a543c709ab
* config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
...
From-SVN: r58693
2002-10-31 20:40:29 +00:00
Steve Ellcey
794186cab2
* config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
...
From-SVN: r58543
2002-10-25 22:18:37 +00:00
Richard Henderson
5f13cfc617
ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
...
* config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
(ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
vcall offset.
* g++.dg/inherit/thunk1.C: Enable for ia64.
From-SVN: r58491
2002-10-24 02:16:36 -07:00
Steve Ellcey
16448fd4f0
ia64.c (hfa_element_mode): Don't allow 128 bit floats in HFAs.
...
* config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
in HFAs.
From-SVN: r58464
2002-10-23 18:18:31 +00:00
Richard Henderson
3961e8fe9e
target.h (gcc_target.asm_out): Merge output_mi_thunk and output_mi_vcall_thunk into a single hook.
...
gcc/
* target.h (gcc_target.asm_out): Merge output_mi_thunk and
output_mi_vcall_thunk into a single hook. Add can_output_mi_thunk.
* target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
(TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
(TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
(TARGET_ASM_OUT): Update.
* hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
(hook_bool_tree_hwi_hwi_tree_true): New.
(default_can_output_mi_thunk_no_vcall): New.
* hooks.h: Declare them.
* system.h (ASM_OUTPUT_MI_THUNK): Poison.
* config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
(alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
* config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
config/stormy16/stormy16.c: Similarly.
* config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
Handle 64-bit properly. Streamline.
(x86_output_mi_vcall_thunk): Remove.
(x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
(x86_can_output_mi_thunk): New.
(TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
(TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
(override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
* config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
output_mi_thunk; make static; always use function_section.
(TARGET_ASM_OUTPUT_MI_THUNK): New.
(TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
(rs6000_ra_ever_killed): Test no_new_pseudos not
targetm.asm_out.output_mi_thunk in conjunction with thunks.
* config/rs6000/rs6000-protos.h: Update.
* config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
* config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
xcoffout_declare_function when using rs6000_output_mi_thunk.
* config/s390/s390.c (s390_output_mi_thunk): Rename from
s390_output_mi_vcall_thunk.
(TARGET_ASM_OUTPUT_MI_THUNK): Remove.
(TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
* config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
(TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
* config/vax/vax-protos.h: Update.
* config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
gcc/cp/
* method.c (use_thunk): Always compute vcall_value; assert that
it is not zero. Use can_output_mi_thunk; use output_mi_thunk
for vcall thunks as well.
From-SVN: r58424
2002-10-22 16:05:28 -07:00
Richard Henderson
c590b62588
target.h (struct gcc_target): Line wrap.
...
* target.h (struct gcc_target): Line wrap.
* config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
(TARGET_ASM_OUTPUT_MI_THUNK): Define here...
* config/alpha/alpha.h: ... not here.
* config/alpha/alpha-protos.h: Update.
* config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
config/sparc/openbsd.h, config/sparc/sparc-protos.h,
config/sparc/sparc.c, config/sparc/sparc.h,
config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
config/stormy16/stormy16.h: Similarly.
* config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
selection logic from call patterns.
From-SVN: r58340
2002-10-20 15:37:14 -07:00
Mark Mitchell
eb0424da9d
alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to match target.h.
...
* alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
match target.h.
* arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
* cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
* frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
* i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
x86_output_mi_thunk): Likewise.
* i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
* ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
* m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
* mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
* rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
* s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
* stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
Likewise.
* vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
* target.h (gcc_target): Update output_mi_thunk and
output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
vcall_index.
* config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
TARGET_ASM_OUTPUT_MI_THUNK in comments.
* config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
(TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
* config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
* config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
signature.
* config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
* config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
TARGET_ASM_OUTPUT_MI_THUNK in comments.
* config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
(TARGET_ASM_OUTPUT_MI_THUNK): Do define.
* config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
TARGET_ASM_OUTPUT_MI_THUNK in comments.
* config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
ASM_OUTPUT_MI_THUNK and replace with check of targetm.
* doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
(TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
From-SVN: r58333
2002-10-20 18:52:01 +00:00
Mark Mitchell
483ab821df
target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
...
* target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
(TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
(TARGET_ASM_OUT): Add them.
* target.h (asm_out): Add output_mi_thunk and
output_mi_vcall_thunk.
* config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
* config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
* config/arm/arm.c (arm_output_mi_thunk): Define.
* config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
* config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
* config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
* config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
prototype.
(x86_output_mi_vcall_thunk): Declare.
* config/i386/i386.c (override_options): Clear
output_mi_vcall_thunk in 64-bit mode.
(ix86_fntype_regparm): New function.
(ix86_return_pops_args): Use it.
(ia32_this_parameter): New function.
(x86_output_mi_vcall_thunk): New function.
(x86_output_mi_thunk): Use it
* config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
(TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
* config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
* config/i960/i960.c (i960_output_mi_thunk): New function.
* config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
* config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
* config/ia64/ia64.c (ia64_output_mi_thunk): Define.
* config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
* config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
* config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
* config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
* config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
* config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
* config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
* config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
* config/s390/s390.c (s390_output_mi_thunk): Define.
* config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
* config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
* config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
* config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
* config/vax/vax.c (vax_output_mi_thunk): Define.
* config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
* doc/tm.texi: Adjust documentation.
From-SVN: r58293
2002-10-18 23:35:40 +00:00
Kaveh R. Ghazi
89b0654082
darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
...
* darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
* ia64.c (ia64_hpux_asm_file_end): Const-ify.
From-SVN: r57632
2002-09-29 19:55:08 +00:00
Kazu Hirata
43aa4e05ea
ChangeLog.4: Fix typos.
...
* ChangeLog.4: Fix typos.
* ChangeLog.6: Likewise.
* FSFChangeLog.10: Likewise.
* genattrtab.c: Fix comment typos.
* haifa-sched.c: Likewise.
* real.c: Likewise.
* tree.h: Likewise.
* config/arm/arm.c: Likewise.
* config/arm/crti.asm: Likewise.
* config/arm/crtn.asm: Likewise.
* config/frv/frv.c: Likewise.
* config/frv/frv.md: Likewise.
* config/h8300/h8300.md: Likewise.
* config/i386/rtemself.h: Likewise.
* config/ia64/unwind-ia64.c: Likewise.
* config/ip2k/ip2k.h: Likewise.
* config/m88k/m88k.c: Likewise.
* config/m88k/m88k.md: Likewise.
* config/mips/sr71k.md: Likewise.
* config/mmix/mmix.c: Likewise.
* config/rs6000/rs6000.c: Likewise.
* config/sh/sh.md: Likewise.
From-SVN: r57614
2002-09-28 15:29:45 +00:00
Jakub Jelinek
dce81a1a59
extend.texi (tls_model): Document.
...
* doc/extend.texi (tls_model): Document.
* varasm.c (decl_tls_model): New.
* c-common.c (handle_tls_model_attribute): New.
(c_common_attribute_table): Add tls_model.
* config/alpha/alpha.c (alpha_encode_section_info): Use
decl_tls_model.
* flags.h (enum tls_model, flag_tls_default): Move...
* tree.h (enum tls_model, flag_tls_default): ...here.
(decl_tls_model): New prototype.
* config/ia64/ia64.c (ia64_encode_section_info): Likewise.
* config/i386/i386.c (ix86_encode_section_info): Likewise.
* config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
Allow !flag_pic.
From-SVN: r57588
2002-09-27 15:30:10 +02:00
Steve Ellcey
ee8a73d6e7
ia64.c (ia64_expand_load_address): Ensure correct mode for symbol address.
...
* config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
for symbol address.
From-SVN: r57554
2002-09-26 21:50:42 +00:00
Steve Ellcey
68bb91b1e0
* config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
...
From-SVN: r57551
2002-09-26 21:34:46 +00:00
Steve Ellcey
5429802d9f
* config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
...
From-SVN: r57550
2002-09-26 21:30:17 +00:00
Kazu Hirata
43a88a8c88
elfos.h: Follow spelling conventions.
...
* config/elfos.h: Follow spelling conventions.
* config/alpha/alpha.h: Likewise.
* config/arc/arc.h: Likewise.
* config/arm/arm.md: Likewise.
* config/avr/avr.h: Likewise.
* config/cris/cris.md: Likewise.
* config/d30v/d30v.h: Likewise.
* config/frv/frv.c: Likewise.
* config/frv/frv.h: Likewise.
* config/h8300/h8300.c: Likewise.
* config/h8300/h8300.h: Likewise.
* config/h8300/h8300.md: Likewise.
* config/i386/cygwin.h: Likewise.
* config/i386/i386.h: Likewise.
* config/i386/sysv3.h: Likewise.
* config/i960/i960.h: Likewise.
* config/ia64/ia64.h: Likewise.
* config/ia64/ia64.md: Likewise.
* config/ip2k/ip2k.h: Likewise.
* config/m32r/m32r.h: Likewise.
* config/m68k/m68k.h: Likewise.
* config/m88k/m88k.h: Likewise.
* config/mcore/mcore.c: Likewise.
* config/mcore/mcore.h: Likewise.
* config/mcore/mcore.md: Likewise.
* config/mips/mips.h: Likewise.
* config/mmix/mmix.h: Likewise.
* config/mmix/mmix.md: Likewise.
* config/ns32k/netbsd.h: Likewise.
* config/ns32k/ns32k.h: Likewise.
* config/ns32k/ns32k.md: Likewise.
* config/pa/pa.h: Likewise.
* config/romp/romp.h: Likewise.
* config/rs6000/rs6000.h: Likewise.
* config/rs6000/rs6000.md: Likewise.
* config/sparc/sparc.h: Likewise.
* config/stormy16/stormy-abi: Likewise.
* config/stormy16/stormy16.h: Likewise.
* config/vax/vax.h: Likewise.
From-SVN: r57468
2002-09-24 12:49:05 +00:00
Richard Henderson
3dc85dfb4a
real.c (struct real_format): Move to real.h.
...
* real.c (struct real_format): Move to real.h.
(real_format_for_mode): Rename from fmt_for_mode; update all users;
initialize with ieee defaults.
(real_to_target_fmt, real_from_target_fmt): New.
(ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
ieee_extended_intel_96_format, ieee_extended_intel_128_format,
ieee_quad_format, i370_single_format, i370_double_format,
c4x_single_format, c4x_extended_format): Rename from s/_format//.
(ieee_quad_format): Fix emin.
(format_for_size, init_real_once): Remove.
* real.h (struct real_format): Move from real.c.
(real_format_for_mode): Declare.
(real_to_target_fmt, real_from_target_fmt): Declare.
(ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
ieee_extended_intel_96_format, ieee_extended_intel_128_format,
ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
i370_single_format, i370_double_format, c4x_single_format,
c4x_extended_format): Declare.
* toplev.c (do_compile): Don't call init_real_once.
* defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
* doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
* config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
* config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
* config/alpha/alpha.c (override_options): Set real_format_for_mode
for VAX, if enabled.
* config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
for C4X.
* config/i370/i370.h (OVERRIDE_OPTIONS): New.
* config/i370/i370.c (override_options): New.
* config/i370/i370-protos.h: Update.
* config/i386/i386.c (override_options): Set real_format_for_mode
for Intel 80-bit extended.
* config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
* config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
(OVERRIDE_OPTIONS): Move code...
* config/i960/i960.c (i960_initialize): ... here. Set
real_format_for_mode for Intel 80-bit extended.
* config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
for Intel 80-bit extended, if enabled.
* config/m68k/m68k.c (override_options): Set real_format_for_mode
for Motorola 96-bit extended.
* config/vax/vax.h (OVERRIDE_OPTIONS): New.
* config/vax/vax.c (override_options): New.
* config/vax/vax-protos.h: Update.
From-SVN: r57388
2002-09-21 09:10:36 -07:00
Steve Ellcey
40ad65d05e
hpux.h (STARTFILE_SPEC): Modify.
...
* config/ia64/hpux.h (STARTFILE_SPEC): Modify.
(STARTFILE_PREFIX_SPEC): New.
(LINK_SPEC): Modify.
(LIB_SPEC): Modify.
(LIBGCC_SPEC): New.
From-SVN: r57352
2002-09-20 16:53:25 +00:00
Richard Henderson
66d93b5aed
real.h (UNKNOWN_FLOAT_FORMAT, [...]): Move ...
...
* real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
* defaults.h: ... here.
* config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
From-SVN: r57336
2002-09-19 23:36:36 -07:00
Steve Ellcey
b64ddb88fe
hpux.h (CTORS_SECTION_ASM_OP): New.
...
* config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
(DTORS_SECTION_ASM_OP): Ditto.
(READONLY_DATA_SECTION_ASM_OP): Moved.
(DATA_SECTION_ASM_OP): New.
(SDATA_SECTION_ASM_OP): New.
(BSS_SECTION_ASM_OP): New.
(SBSS_SECTION_ASM_OP): New.
(TEXT_SECTION_ASM_OP): New.
From-SVN: r57304
2002-09-19 15:52:10 +00:00
Kazu Hirata
9cd10576c5
fp-bit.c: Follow spelling conventions.
...
* config/fp-bit.c: Follow spelling conventions.
* config/d30v/d30v.c: Likewise.
* config/d30v/d30v.h: Likewise.
* config/fr30/fr30.c: Likewise.
* config/fr30/fr30.h: Likewise.
* config/fr30/fr30.md: Likewise.
* config/frv/frv.c: Likewise.
* config/frv/frv.h: Likewise.
* config/h8300/h8300.c: Likewise.
* config/h8300/lib1funcs.asm: Likewise.
* config/i370/i370.c: Likewise.
* config/i386/i386.h: Likewise.
* config/i386/i386.md: Likewise.
* config/i386/pentium.md: Likewise.
* config/i386/winnt.c: Likewise.
* config/i960/i960.c: Likewise.
* config/ia64/ia64.h: Likewise.
* config/ip2k/ip2k.c: Likewise.
* config/ip2k/ip2k.h: Likewise.
* config/ip2k/ip2k.md: Likewise.
* config/ip2k/libgcc.S: Likewise.
From-SVN: r57303
2002-09-19 13:51:24 +00:00
Steve Ellcey
e6c247e043
* config/ia64/elf.h: Remove CPP_PREDEFINES.
...
From-SVN: r57253
2002-09-17 15:50:08 +00:00
Richard Henderson
efdc7e19ca
real.c, real.h: Rewrite from scratch.
...
gcc/
* real.c, real.h: Rewrite from scratch.
* Makefile.in (simplify-rtx.o): Depend on TREE_H.
(paranoia): New target.
* builtins.c (fold_builtin_inf): Use new real.h interface.
* c-common.c (builtin_define_with_hex_fp_value): Likewise.
* c-lex.c (interpret_float): Likewise.
* emit-rtl.c (gen_lowpart_common): Likewise.
* optabs.c (expand_float): Use real_2expN.
* config/ia64/ia64.md (divsi3, udivsi3): Likewise.
* defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
(FLOAT_WORDS_BIG_ENDIAN): New.
* cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
directly to REAL_VALUE_NEGATIVE.
* loop.c (canonicalize_condition): Likewise.
* simplify-rtx.c: Include tree.h.
(simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
with floating-point result modes.
* toplev.c (backend_init): Call init_real_once.
* fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
* tree.c (build_real): Likewise.
* config/alpha/alpha.c, config/vax/vax.c (float_strings,
float_values, inited_float_values, check_float_value): Remove.
* config/alpha/alpha.h, config/m68hc11/m68hc11.h,
config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
* doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
gcc/f/
* target.c (ffetarget_real1): Don't pass FFETARGET_ATOF_
directly to ffetarget_make_real1.
(ffetarget_real2): Similarly.
* target.h (ffetarget_cvt_r1_to_rv_, ffetarget_cvt_rv_to_r2_,
ffetarget_cvt_r2_to_rv_): Use new real.h interface and simplify.
gcc/java/
* jcf-parse.c (get_constant): Runtime check for IEEE format;
use new real.h interface.
* jcf-write.c (find_constant_index): Use new real.h interface.
* lex.c (IS_ZERO): Use REAL_VALUES_EQUAL.
contrib/
* paranoia.cc: New file.
From-SVN: r57198
2002-09-16 09:36:39 -07:00
Kaveh R. Ghazi
bd25febf65
* ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
...
From-SVN: r57170
2002-09-15 19:10:12 +00:00
Kazu Hirata
05713b80e0
ChangeLog: Follow spelling conventions.
...
* ChangeLog: Follow spelling conventions.
* ChangeLog.0: Likewise.
* ChangeLog.1: Likewise.
* ChangeLog.2: Likewise.
* ChangeLog.3: Likewise.
* ChangeLog.4: Likewise.
* ChangeLog.5: Likewise.
* ChangeLog.6: Likewise.
* FSFChangeLog.10: Likewise.
* FSFChangeLog.11: Likewise.
* c-common.c: Likewise.
* c-common.h: Likewise.
* c-format.c: Likewise.
* c-opts.c: Likewise.
* cpplib.c: Likewise.
* langhooks.h: Likewise.
* real.c: Likewise.
* reg-stack.c: Likewise.
* toplev.c: Likewise.
* config/arm/arm.c: Likewise.
* config/arm/arm.md: Likewise.
* config/arm/linux-gas.h: Likewise.
* config/arm/netbsd.h: Likewise.
* config/c4x/c4x.c: Likewise.
* config/c4x/c4x.h: Likewise.
* config/c4x/c4x.md: Likewise.
* config/c4x/libgcc.S: Likewise.
* config/fr30/fr30.md: Likewise.
* config/frv/frv.md: Likewise.
* config/ia64/ia64.md: Likewise.
* config/mips/mips.h: Likewise.
* config/mn10300/mn10300.c: Likewise.
* config/stormy16/stormy16.c: Likewise.
* config/v850/v850.md: Likewise.
* doc/extend.texi: Likewise.
* doc/invoke.texi: Likewise.
* doc/md.texi: Likewise.
From-SVN: r57166
2002-09-15 18:24:08 +00:00
Steve Ellcey
32b4f6f42a
config.gcc (ia64*-*-aix*, [...]): Set extra_parts.
...
* config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
ia64*-*-linux*): Set extra_parts.
* config/ia64/t-aix (EXTRA_PARTS): Remove.
* config/ia64/t-ia64 (EXTRA_PARTS): Remove.
From-SVN: r57119
2002-09-13 21:12:18 +00:00
Steve Ellcey
1f29862567
t-hpux (LIBGCC1_TEST, [...]): New, set to NULL.
...
* config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
LIB2ADDEH): New, set to NULL.
(SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
From-SVN: r57110
2002-09-13 16:58:27 +00:00
Steve Ellcey
1a7e147025
quadlib.c (_U_Qfcmp): Make extern.
...
* config/ia64/quadlib.c (_U_Qfcmp): Make extern.
(_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
(_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
Add declarations.
(_U_Qfneg): Remove.
From-SVN: r57109
2002-09-13 16:40:53 +00:00
Steve Ellcey
686f3bf031
hpux.h (TARGET_HPUX_LD): New, define true.
...
* config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
(ASM_FILE_END) New.
* config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
* config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
* config/ia64/ia64.c (ia64_asm_output_external): Create list
of external functions if TARGET_HPUX_LD is true.
(ia64_hpux_add_extern_decl): New, routine to put names on
list of external functions.
(ia64_hpux_asm_file_end): Put out declarations for external
functions if and only if they are used.
From-SVN: r56986
2002-09-09 22:03:31 +00:00
Steve Ellcey
57016b4723
ia64.h (EXTRA_SPECS): Remove cpp_cpu.
...
* config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
(CPP_CPU_SPEC): Remove.
(TARGET_CPU_CPP_BUILTINS): New.
* config/ia64/hpux.h (CPP_PREDEFINES): Remove.
(CPP_SPEC): Remove.
(TARGET_OS_CPP_BUILTINS): New.
* config/ia64/linux.h (CPP_PREDEFINES): Remove.
(TARGET_OS_CPP_BUILTINS): New.
* config/ia64/aix.h (CPP_SPEC): Move some stuff to
TARGET_OS_CPP_BUILTINS.
(CPP_PREDEFINES): Remove.
(CPLUSPLUS_CPP_SPEC): Remove.
(TARGET_OS_CPP_BUILTINS): New.
From-SVN: r56771
2002-09-03 21:09:54 +00:00
Steve Ellcey
34c1864f43
config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and cxx_target.
...
* config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
cxx_target.
* config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
handling routine for builtin pragma.
* config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
Registered pragma handling routine.
* ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
(ia64_hpux_add_pragma_builtin) New subroutine used by above.
If builtin pragma seen for math routine and C89 conformance is
requested use different math function in order to set errno.
* t-ia64 (ia64-c.o): Add new rule for new file.
From-SVN: r56767
2002-09-03 19:47:10 +00:00
Jason Thorpe
23532de9e5
chorus.h: Consistently define *_DEBUGGING_INFO with the value 1.
...
* config/chorus.h: Consistently define *_DEBUGGING_INFO with
the value 1. Do not undef before defining.
* config/darwin.h: Likewise.
* config/dbx.h: Likewise.
* config/dbxcoff.h: Likewise.
* config/dbxelf.h: Likewise.
* config/elfos.h: Likewise.
* config/interix.h: Likewise.
* config/lynx-ng.h: Likewise.
* config/lynx.h: Likewise.
* config/netware.h: Likewise.
* config/psos.h: Likewise.
* config/svr3.h: Likewise.
* config/alpha/alpha.h: Likewise.
* config/alpha/elf.h: Likewise.
* config/alpha/vms.h: Likewise.
* config/arc/arc.h: Likewise.
* config/arm/aout.h: Likewise.
* config/arm/coff.h: Likewise.
* config/c4x/c4x.h: Likewise.
* config/h8300/h8300.h: Likewise.
* config/i386/cygwin.h: Likewise.
* config/i386/djgpp.h: Likewise.
* config/i386/gas.h: Likewise.
* config/i386/gstabs.h: Likewise.
* config/i386/i386-coff.h: Likewise.
* config/i386/i386-interix.h: Likewise.
* config/i386/sco5.h: Likewise.
* config/i386/svr3dbx.h: Likewise.
* config/i386/sysv3.h: Likewise.
* config/i386/win32.h: Likewise.
* config/i386/x86-64.h: Likewise.
* config/i960/i960.h: Likewise.
* config/ia64/ia64.h: Likewise.
* config/ip2k/ip2k.h: Likewise.
* config/m32r/m32r.h: Likewise.
* config/m68k/3b1.h: Likewise.
* config/m68k/3b1g.h: Likewise.
* config/m68k/ccur-GAS.h: Likewise.
* config/m68k/coff.h: Likewise.
* config/m68k/hp2bsd.h: Likewise.
* config/m68k/hp310g.h: Likewise.
* config/m68k/hp320g.h: Likewise.
* config/m68k/hp3bsd.h: Likewise.
* config/m68k/hp3bsd44.h: Likewise.
* config/m68k/linux-aout.h: Likewise.
* config/m68k/m68k-aout.h: Likewise.
* config/m68k/mot3300.h: Likewise.
* config/m68k/netbsd.h: Likewise.
* config/m68k/openbsd.h: Likewise.
* config/m68k/pbb.h: Likewise.
* config/m68k/plexus.h: Likewise.
* config/m68k/sun2.h: Likewise.
* config/m68k/sun3.h: Likewise.
* config/m68k/tower-as.h: Likewise.
* config/m68k/vxm68k.h: Likewise.
* config/m88k/aout-dbx.h: Likewise.
* config/m88k/m88k-aout.h: Likewise.
* config/mcore/mcore-elf.h: Likewise.
* config/mcore/mcore-pe.h: Likewise.
* config/mips/elf.h: Likewise.
* config/mips/elf64.h: Likewise.
* config/mips/iris5gas.h: Likewise.
* config/mips/iris6.h: Likewise.
* config/mips/mips.h: Likewise.
* config/mips/sni-gas.h: Likewise.
* config/mmix/mmix.h: Likewise.
* config/ns32k/netbsd.h: Likewise.
* config/pa/pa64-hpux.h: Likewise.
* config/romp/romp.h: Likewise.
* config/rs6000/sysv4.h: Likewise.
* config/rs6000/xcoff.h: Likewise.
* config/sh/coff.h: Likewise.
* config/sh/elf.h: Likewise.
* config/sparc/linux64.h: Likewise.
* config/sparc/liteelf.h: Likewise.
* config/sparc/netbsd.h: Likewise.
* config/sparc/openbsd.h: Likewise.
* config/sparc/pbd.h: Likewise.
* config/sparc/sp64-elf.h: Likewise.
* config/sparc/sp86x-elf.h: Likewise.
* config/sparc/sparc.h: Likewise.
* config/vax/vax.h: Likewise.
* config/vax/vaxv.h: Likewise.
From-SVN: r56667
2002-08-29 21:40:18 +00:00
Kaveh R. Ghazi
5eb99654a2
alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
...
* alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
* alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
ASM_OUTPUT_ALIGNED_BSS): Use target hook.
* alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
* alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
* arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
(GLOBAL_ASM_OP): Define.
* arm.c (aof_globalize_label): New function.
(TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
* arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
* c4x.c (c4x_globalize_label): New function.
(TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
* c4x.h (ASM_GLOBALIZE_LABEL): Delete.
(GLOBAL_ASM_OP): Define.
* cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
* darwin-protos.h (darwin_globalize_label): Declare.
* darwin.c (darwin_globalize_label): New function.
* darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
(ASM_GLOBALIZE_LABEL): Delete.
(GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
* dsp16xx.c (asm_output_common): Use target hook.
* elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
* frv.h (ASM_GLOBALIZE_LABEL): Delete.
(GLOBAL_ASM_OP): Define.
* i370.c (i370_globalize_label): New function.
(TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
* i370.h (ASM_GLOBALIZE_LABEL): Delete.
* i386.c (ix86_asm_file_end): Use target hook.
* i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
(ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
* ia64.c (ia64_asm_output_external): Likewise.
* ia64/sysv4.h: Update comment.
* m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
* mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
* mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
* mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
* mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
* mmix-protos.h (mmix_asm_globalize_label): Delete.
* mmix.c (mmix_asm_globalize_label): Likewise.
* mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
(GLOBAL_ASM_OP): Define.
* ns32k.c (ns32k_globalize_label): New function.
* ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
(ASM_GLOBALIZE_LABEL): Delete.
* pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
(TARGET_ASM_GLOBALIZE_LABEL): Undefine.
* pa.c (pa_globalize_label): New function.
* pa.h (ASM_GLOBALIZE_LABEL): Delete.
(TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
* rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
(GLOBAL_ASM_OP): Define.
(TARGET_ASM_GLOBALIZE_LABEL): Undef.
* rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
* rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
(GLOBAL_ASM_OP): Define.
* v850.c (v850_output_aligned_bss): Use target hook.
* vax.c (vms_globalize_label): New function.
(TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
* vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
(GLOBAL_ASM_OP): Define.
* defaults.h (ASM_GLOBALIZE_LABEL): Delete.
* doc/tm.texi: Update docs.
* dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
target hook.
* final.c (output_alternate_entry_point): Likewise.
* hooks.c (hook_FILEptr_constcharptr_void): New function.
* hooks.h (hook_FILEptr_constcharptr_void): Declare.
* output.h (assemble_global): Delete.
(default_globalize_label): Declare.
* system.h (ASM_GLOBALIZE_LABEL): Poison.
* target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
(TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
* target.h (gcc_target): Add globalize_label member.
* varasm.c (asm_output_bss, asm_output_aligned_bss,
globalize_decl): Use target hook.
(assemble_global): Delete.
(default_globalize_label): New function.
From-SVN: r56478
2002-08-21 02:41:51 +00:00
Kaveh R. Ghazi
506a61b144
* alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
...
fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
(ASM_GLOBALIZE_LABEL): Delete.
(GLOBAL_ASM_OP): Define.
From-SVN: r55892
2002-07-31 02:13:35 +00:00
Zack Weinberg
2be2ac706e
defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, [...]): New default definitions of new macros.
...
* defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
* doc/tm.texi: Document them. Also document SIZE_ASM_OP,
TYPE_ASM_OP, and TYPE_OPERAND_FMT.
* config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
config/cris/aout.h, config/i386/freebsd-aout.h,
config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
config/xtensa/elf.h, config/xtensa/linux.h:
Use the new macros.
Where possible, remove redundant definitions of SIZE_ASM_OP,
TYPE_ASM_OP, and TYPE_OPERAND_FMT.
From-SVN: r55735
2002-07-25 05:14:23 +00:00
David Mosberger
dc44a4d856
ia64.c (gen_thread_pointer): Fix typo in marking thread_pointer_rtx as unchanging.
...
* config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
thread_pointer_rtx as unchanging.
From-SVN: r55722
2002-07-24 14:42:48 -07:00
Steve Ellcey
5da4f54878
explow.c (convert_memory_address): Remove special handling when POINTERS_EXTEND_UNSIGNED < 0.
...
* gcc/explow.c (convert_memory_address): Remove special handling
when POINTERS_EXTEND_UNSIGNED < 0.
* gcc/config/ia64.md (movsi_symbolic): New instruction for ILP32
mode.
(movedi_symbolic): Fix typo.
(load_fptr): Remove mode restriction so it works for SI and DI.
(load_fptr_internal1): Ditto.
(load_gprel): Ditto.
(load_symptr_internal1): Ditto.
(call_pic): Ditto.
* gcc/config/ia64.c (call_operand): Modify mode check.
(ia64_expand_load_address): Handle DI and SI addresses and symbols.
(ia64_expand_move): Ditto.
(ia64_assemble_integer): Handle SImode function pointers.
(ia64_expand_fetch_and_op): Handle SImode mem addresses.
(ia64_expand_op_and_fetch): Ditto.
(ia64_expand_compare_and_swap): Ditto.
(ia64_expand_lock_test_and_set): Ditto.
(ia64_expand_lock_release): Ditto.
From-SVN: r55488
2002-07-16 16:07:13 +00:00
Zack Weinberg
6c535c69ee
varargs.h: Replace with stub which issues #error.
...
* ginclude/varargs.h: Replace with stub which issues #error.
* ginclude/stdarg.h: __builtin_stdarg_start is renamed
__builtin_va_start.
* builtins.def (BUILT_IN_VARARGS_START): Delete.
(BUILT_IN_VA_START): New.
* builtins.c (expand_builtin_va_start): Eliminate first
argument and code to implement pre-ISO varargs.
(std_expand_builtin_va_start): Ignore first argument; it is
always 1.
(expand_builtin): Handle BUILT_IN_VA_START and
BUILT_IN_STDARG_START identically. Delete
BUILT_IN_VARARGS_START case.
* function.c (assign_parms): Delete hide_last_arg and all
its uses.
(mark_varargs): Delete function.
* function.h (struct function): Delete 'varargs' bit.
(current_function_varargs): Delete macro.
* tree.h: Don't declare mark_varargs.
* c-decl.c (c_function_varargs, c_mark_varargs): Delete.
(c_expand_body): Don't call mark_varargs.
* c-objc-common.c: Handle BUILT_IN_VA_START and
BUILT_IN_STDARG_START identically. Delete
BUILT_IN_VARARGS_START case.
* c-tree.h: Don't declare c_mark_varargs.
* c-parse.in: Remove grammar rules for '&...' (which has been
commented out since before 2.7.2) and for '...' in K+R
argument declarations.
* builtins.c, function.c, integrate.c, sibcall.c,
config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
config/stormy16/stormy16.c: Delete all references to
current_function_varargs, and code predicated on that flag.
* config/alpha/alpha.c (alpha_va_start),
config/arc/arc.c (arc_va_start),
config/i386/i386.c (ix86_va_start),
config/mips/mips.c (mips_va_start),
config/mn10300/mn10300.c (mn10300_va_start),
config/rs6000/rs6000.c (rs6000_va_start),
config/s390/s390.c (s390_va_start),
config/sh/sh.c (sh_va_start),
Ignore first argument; it is always 1.
* config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
* config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
* config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
Delete m68hc11_va_start.
* config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
No need to define EXPAND_BUILTIN_VA_START.
* doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
testsuite:
* c-torture/execute/991216-3.c, c-torture/execute/strct-varg-1.c,
c-torture/execute/va-arg-7.c, c-torture/execute/va-arg-8.c,
c-torture/execute/va-arg-15.c, c-torture/execute/va-arg-16.c,
c-torture/execute/va-arg-17.c, c-torture/execute/va-arg-19.c:
Convert to use <stdarg.h>.
* c-torture/execute/va-arg-3.c, c-torture/execute/va-arg-3.x:
Delete.
* gcc.dg/va-arg-2.c: New.
* lib/gcc.exp, lib/objc.exp: Remove code to set -DNO_VARARGS.
From-SVN: r55472
2002-07-16 02:16:47 +00:00
Roger Sayle
6a2dd09a65
tree.h: Modify builtin_function interface to take an extra argument ATTRS...
...
* tree.h: Modify builtin_function interface to take an extra
argument ATTRS, which is a tree representing an attribute list.
* c-decl.c (builtin_function): Accept additional parameter.
* objc/objc-act.c (builtin_function): Likewise.
* f/com.c (builtin_function): Likewise.
* java/decl.c (builtin_function): Likewise.
* ada/utils.c (builtin_function): Likewise.
* cp/decl.c (builtin_function): Likewise.
(builtin_function_1): Likewise.
* c-common.c (c_common_nodes_and_builtins): Pass an additional
NULL_TREE argument to builtin_function. (builtin_function_2):
Likewise.
* cp/call.c (build_java_interface_fn_ref): Likewise.
* objc/objc-act.c (synth_module_prologue): Likewise.
* java/decl.c (java_init_decl_processing): Likewise.
* f/com.c (ffe_com_init_0): Likewise.
* config/alpha/alpha.c (alpha_init_builtins): Pass an additional
NULL_TREE argument builtin_function.
* config/arm/arm.c (def_builtin): Likewise.
* config/c4x/c4x.c (c4x_init_builtins): Likewise.
* config/i386/i386.c (def_builtin): Likewise.
* config/ia64/ia64.c (def_builtin): Likewise.
* config/rs6000/rs6000.c (def_builtin): Likewise.
From-SVN: r55161
2002-07-01 23:07:19 +00:00
Aldy Hernandez
b4de2f7db7
i386.c (ix86_init_mmx_sse_builtins): Use build_function_type_list instead of build_function_type.
...
2002-06-29 Aldy Hernandez <aldyh@redhat.com>
* config/i386/i386.c (ix86_init_mmx_sse_builtins): Use
build_function_type_list instead of build_function_type.
* config/ia64/ia64.c (ia64_init_builtins): Same.
* config/alpha/alpha.c (alpha_init_builtins): Same.
* config/rs6000/rs6000.c (altivec_init_builtins): Same.
* config/arm/arm.c (arm_init_builtins): Same.
* tree.h: Add build_function_type_list prototype.
* tree.c (build_function_type_list): New.
From-SVN: r55109
2002-06-30 01:19:58 +00:00
Alan Modra
147d5f6f76
* config/ia64/ia64.md (doloop_end_internal): Correct rtl.
...
From-SVN: r54726
2002-06-18 09:54:51 +09:30