* config/ia64/ia64.c: Include libfuncs.h.
authorrupp <rupp@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 22 Aug 2009 02:50:30 +0000 (02:50 +0000)
committerrupp <rupp@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 22 Aug 2009 02:50:30 +0000 (02:50 +0000)
commit8b8d3752a6b325d5f6c6e3a0d5dcb25b5ea67d6a
tree5ba87de8a7d9c89aad2cd960d2d8dbb5410cc3ed
parent97d4bce2ad806e9bfe6dd8c2cebcfe5d3d723dc5
* config/ia64/ia64.c: Include libfuncs.h.
(TARGET_PROMOTE_FUNCITON_MODE): Define target macro.
(ia64_expand_call): Use reg 25 on VMS.
(ia64_initialize_trampoline): Fix for VMS ABI.
(ia64_function_arg_offset): Always returns 0 when TARGET_ABI_OPEN_VMS.
(ia64_function_arg): Initialize reg 25 on VMS.
Fix OpenVMS ABI issues for varargs.
For OpenVMS, emit the Argument Information register set in the
incoming/sibcall case as well.
(ia64_arg_type): New function.
(ia64_function_arg_advance): Keep track of cum->words.
Fix OpenVMS ABI issues for varargs.
(ia64_function_value): On VMS, promote mode of non-aggregate types.
(ia64_override_options): Set flag_no_common on VMS.
(ia64_init_builtins): Disable FWRITE builtin.
(ia64_asm_output_external): Call DO_CRTL_NAMES.
(ia64_vms_init_libfuncs): Add decc$ routines.
(ia64_vms_valid_pointer_mode): New function.
(ia64_struct_value_rtx): Allways NULL_RTX on VMS.
(ia64_promote_function_mode): New function
* config/ia64/ia64.h (TARGET_ABI_OPEN_VMS): Define as 0 for default.
(LONG_DOUBLE_TYPE_SIZE): Force to 64 on VMS.
(LIBCGC2_LONG_DOUBLE_TYPE_SIZE): Likewise.
(INIT_CUMULATIVE_ARGS): Add atypes for VMS.
(INIT_CUMULATIVE_INCOMING_ARGS): Likewise.
(ASM_OUTPUT_DEF): Use ISDIGIT instead of isdigit.
Suppress trailing '#' if VALUE is numeric.
* config/ia64/vms.h (PROMOTE_FUNCTION_MODE): Remove, code moved to
ia64_promote_function_mode.
(TARGET_VALID_POINTER_MODE): Define.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151009 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/ia64/ia64.c
gcc/config/ia64/ia64.h
gcc/config/ia64/vms.h