* 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.
Co-Authored-By: Olivier Hainque <hainque@adacore.com>
From-SVN: r151009
(check_effective_target_arm_iwmmxt_ok): New procedure.
* gcc.target/arm/mmx-1.c: Only run if arm_iwmmxt_ok. Remove the
exclusions for -mfloat-abi=softfp and -mfloat-abi=hard.
From-SVN: r151003
* arm.h (MACHMODE): New define. Include insn-modes.h if available.
(CUMULATIVE_ARGS): Use MACHMODE for declaration of aapcs_vfp_mode.
* arm.c (aapcs_vfp_is_call_or_return_candidate): Change base_mode
to pointer to enum machine_mode. Update all callers as needed.
From-SVN: r150990
* config/alpha/alpha.md (exception_receiver): Emit alternative
GP load sequence if flag_reorder_blocks_and_partition is set.
(*exception_receiver_2): Also enable when
flag_reorder_blocks_and_partition is set.
From-SVN: r150984
2009-08-20 Matt Rice <ratmice@gmail.com>
Diego Novillo <dnovillo@google.com>
* Makefile.in (PLUGIN_HEADERS): Include incpath.h and
tree-ssa-sccvn.h.
Co-Authored-By: Diego Novillo <dnovillo@google.com>
From-SVN: r150967
* gcc-interface/utils.c (convert): In the padded case, do the final
conversion as an unchecked conversion if the underlying types are
array types with variable size.
From-SVN: r150965
* gcc-interface/ada-tree.h (SET_TYPE_RM_VALUE): Mark the expression
as visited.
* gcc-interface/misc.c (gnat_get_subrange_bounds): Always return the
bounds.
* gcc-interface/trans.c (add_decl_expr): Do not mark gigi-specific
fields.
(gnat_gimplify_expr) <DECL_EXPR>: New case.
From-SVN: r150963
libgomp/ChangeLog:
* Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
* Makefile.in: Regenerate.
ChangeLog:
* ltmain.sh (func_normal_abspath): New function.
(func_relative_path): Likewise.
(func_mode_help): Document new -bindir option for link mode.
(func_mode_link): Add new -bindir option, and use it to place
output DLL if specified.
libgfortran/ChangeLog:
* Makefile.am (LTLDFLAGS): Add -bindir flag.
* Makefile.in: Regenerate.
libssp/ChangeLog:
* Makefile.am (libssp_la_LDFLAGS): Add -bindir flag.
* Makefile.in: Regenerate.
libjava/libltdl/ChangeLog:
* Makefile.am (libltdl_la_LDFLAGS): Add -bindir flag.
* Makefile.in: Regenerate.
libjava/classpath/ChangeLog:
* ltmain.sh (func_normal_abspath): New function.
(func_relative_path): Likewise.
(func_mode_help): Document new -bindir option for link mode.
(func_mode_link): Add new -bindir option, and use it to place
output DLL if specified.
From-SVN: r150960
* config/alpha/alpha.c (alpha_end_function): Do not clear
crtl->emit structure and free insn locators if cfun->is_thunk is true,
this is now handled in generic code.
From-SVN: r150959
2009-08-20 Edward Smith-Rowland <3dw4rd@verizon.net>
* include/tr1/gamma.tcc: Change include guard from _TR1_GAMMA_TCC
to _GLIBCXX_TR1_GAMMA_TCC to match the rest of the headers in tr1.
* include/tr1/exp_integral.tcc: Replace _TR1_GAMMA_TCC with
__numeric_constants<_Tp>::__gamma_e().
From-SVN: r150958
2009-08-20 Andreas Krebbel <krebbel1@de.ibm.com>
* config/s390/s390.c (Z10_PREDICT_DISTANCE): New macro.
(s390_z10_fix_long_loop_prediction): New function.
(s390_z10_optimize_cmp): INSN walk moved to callee - s390_reorg.
(s390_reorg): Walk over the INSNs and invoke
s390_z10_fix_long_loop_prediction and s390_z10_optimize_cmp.
From-SVN: r150955
* pa.md (reload_inhi, reload_outhi, reload_inqi, reload_outqi): New
patterns.
* pa.c (emit_move_sequence): Check if address of operand1 is valid
for mode mode of operand0 when doing secondary reload for SAR.
From-SVN: r150951
PR middle-end/41123
* expr.c (expand_expr_real_1) <normal_inner_ref>: Handle all kinds
of CONCAT, not just bitpos 0 bitsize size of the whole CONCAT.
* gcc.dg/pr41123.c: New test.
From-SVN: r150946
/:
* configure.ac: Call AC_DISABLE_OPTION_CHECKING.
(baseargs): Add --disable-option-checking.
* configure: Regenerate.
config/:
* override.m4 (AC_DISABLE_OPTION_CHECKING): Define to be
empty if not defined, to avoid error with 2.59.
(_AC_LANG_IO_PROGRAM): When the Autoconf version is exactly
2.64, avoid per-language instances to drop fopen from test
program.
From-SVN: r150945
* tree-ssa-structalias.c (create_variable_info_for): Also mark
first field in a struct.
(intra_create_variable_infos): Don't deal with flag_argument_noalias.
fortran/
* trans-expr.c (gfc_conv_substring): Don't evaluate casted decl early,
change order of length calculation to (end - start) + 1.
(gfc_get_interface_mapping_array): Adjust call to
gfc_get_nodesc_array_type.
* trans-array.c (gfc_trans_create_temp_array,
gfc_build_constant_array_constructor, gfc_conv_expr_descriptor): Ditto.
* trans-stmt.c (gfc_trans_pointer_assign_need_temp): Ditto.
* trans.c (gfc_add_modify): Assignment between base type and nontarget
type are equal enough.
(gfc_call_malloc): Use prvoid_type_node for return value of
__builtin_malloc.
(gfc_allocate_with_status): Ditto.
* trans-types.c (gfc_array_descriptor_base): Double size of this array.
(gfc_init_types): Build prvoid_type_node.
(gfc_build_array_type): New bool parameter "restricted".
(gfc_get_nodesc_array_type): Ditto, build restrict qualified pointers,
if it's true.
(gfc_get_array_descriptor_base): Ditto.
(gfc_get_array_type_bounds): Ditto.
(gfc_sym_type): Use symbol attributes to feed calls to above functions.
(gfc_get_derived_type): Ditto.
* trans.h (struct lang_type): Add nontarget_type member.
* trans-types.h (prvoid_type_node): Declare.
(gfc_get_array_type_bounds, gfc_get_nodesc_array_type): Declare new
parameter.
* trans-decl.c (gfc_finish_var_decl): Give scalars that can't be
aliased a type with a different alias set than the base type.
(gfc_build_dummy_array_decl): Adjust call to gfc_get_nodesc_array_type.
testsuite/
* gfortran.dg/vect/vect-gems.f90: New test.
* gcc.dg/tree-ssa/alias-1.c: Remove, it checks something broken.
From-SVN: r150934
* config/alpha/alpha.c (alpha_output_mi_thunk_osf): Allocate insn
locators before emit_insn is called. Remove assert that
cfun->is_thunk.
(alpha_end_function): Clear crtl->emit structure and free insn
locators if cfun->is_thunk is true.
From-SVN: r150883
* config/elfos.h (ASM_DECLARE_OBJECT_NAME): Use gnu_unique_object
type if available.
* configure.ac: Test for it.
* configure, config.in: Regenerate.
* doc/install.texi: Document --enable-gnu-unique-object.
From-SVN: r150882