* config/bfin/bfin.md (reload_outpdi, reload_inpdi): New patterns.
* config/bfin/bfin.c (bfin_secondary_reload): Make sure we use them.
From-SVN: r128470
2007-09-13 James E. Wilson <wilson@specifix.com>
PR tree-optimization/33389
* tree-ssa-operands.c (append_vuse): If ann->in_vdef_list true,
then set build_loads before returning.
From-SVN: r128469
2007-09-13 Sandra Loosemore <sandra@codesourcery.com>
David Ung <davidu@mips.com>
gcc/
* config/mips/mips.h (ASM_OUTPUT_REG_PUSH): Replace {d}subu with
{d}addiu and a negative immediate such that it works with MIPS16
instructions.
Co-Authored-By: David Ung <davidu@mips.com>
From-SVN: r128468
gcc/
2007-09-13 Richard Sandiford <richard@codesourcery.com>
Sandra Loosemore <sandra@codesourcery.com>
* config/mips/mips.h (SYMBOL_FLAG_MIPS16_FUNC): Delete.
(SYMBOL_REF_MIPS16_FUNC_P): Delete.
* config/mips/mips.c (mips_attribute_table): Turn mips16 and
nomips16 into decl attributes.
(TARGET_INSERT_ATTRIBUTES): Override.
(TARGET_MERGE_DECL_ATTRIBUTES): Likewise.
(TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P): Always return true.
(mips_mips16_type_p, mips_nomips16_type_p): Delete in favor of...
(mips_mips16_decl_p, mips_nomips16_decl_p): ...these new functions.
(mips_comp_type_attributes): Remove mips16 and nomips16 handling.
(mips_use_mips16_mode_p): Reimplement as a function that takes
a decl and considers only decl attributes. If the decl is nested
function, use its parent attributes.
(mips_function_ok_for_sibcall): Use mips_use_mips16_mode_p
instead of SYMBOL_REF_MIPS16_FUNC_P.
(mips_set_mips16_mode): Move call to sorry here from old
mips_use_mips16_mode_p.
(mflip_mips16_entry): New structure.
(mflip_mips16_htab): New variable.
(mflip_mips16_htab_hash, mflip_mips16_htab_eq): New functions.
(mflip_mips16_use_mips16_p, mips_insert_attributes): Likewise.
(mips_merge_decl_attributes): New function.
(mips_set_current_function): Reinstate call to mips_set_mips16_mode.
Use mips_use_mips16_mode_p.
(mips_output_mi_thunk): Use mips_use_mips16_mode_p instead of
SYMBOL_REF_MIPS16_FUNC_P.
(mips_encode_section_info): Don't set SYMBOL_FLAG_MIPS16_FUNC.
gcc/testsuite/
* gcc.dg/gcc-have-sync-compare-and-swap.c: Skip for -mflip-mips16.
* gcc.target/mips/mips16-attributes-2.c: New test.
* gcc.target/mips/mips16-attributes-3.c: Likewise.
* gcc.target/mips/args-3.c: Skip for -mflip-mips16. Do not use the
hard-float asm when __mips16 is defined.
* gcc.target/mips/atomic-memory-1.c (main): Add a nomips16 attribute.
* gcc.target/mips/atomic-memory-2.c (main): Likewise.
* gcc.target/mips/fpcmp-1.c (f1, f2): Likewise.
* gcc.target/mips/fpcmp-2.c (f1, f2): Likewise.
* gcc.target/mips/neg-abs-1.c (f1, f2, d1, f2): Likewise.
* gcc.target/mips/pr26765.c (foo): Likewise.
* gcc.target/mips/gcc-have-sync-compare-and-swap-1.c: Run for all
targets, use dg-mips-options instead of dg-options, and use -mgp32
to force 32-bit mode.
* gcc.target/mips/gcc-have-sync-compare-and-swap-2.c: Likewise -mgp64
and 64-bit mode.
* gcc.target/mips/mips.exp (is_gp32_flag): Return true for -mips32*.
Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
From-SVN: r128460
PR testsuite/33153
* gcc.dg/pr32912-1.c: Add -fno-common to options on hppa*-*-hpux*.
* gcc.dg/pr32912-2.c: Delete declaration of a, b, c, d, e and f.
From-SVN: r128454
* config/dfp-bit.c (dfp_conversion_exception): New function.
(DFP_TO_DFP) Add new variants to use direct conversions in decNumber.
(DFP_TO_INT): Ditto.
(INT_TO_DFP): Ditto.
* config/dfp-bit.h (DEC_FLOAT_FROM_INT, DEC_FLOAT_TO_INT): New.
From-SVN: r128449
PR target/32338
* config/ia64/ia64.c (ia64_expand_epilogue): Emit blockage
before sp restoration even when total_size is 0, but
frame_pointer_needed.
* gcc.dg/pr32338-1.c: New test.
* gcc.dg/pr32338-2.c: New test.
From-SVN: r128446
* config/xtensa/xtensa.c (machine_function): Add vararg_a7_copy.
(xtensa_copy_incoming_a7): Use start_sequence instead of
push_to_sequence. Stash insns in vararg_a7_copy for builtin_saveregs.
(xtensa_builtin_saveregs): Place code from vararg_a7_copy at the start
of the saveregs sequence.
From-SVN: r128443
PR ada/26797
PR ada/32407
* utils.c (unchecked_convert): Use a subtype as the intermediate type
in the special VIEW_CONVERT_EXPR case.
From-SVN: r128441
* configure.host: Enable interpreter for mips64. Enable hash
synchronization for all mips*-*-linux* targets.
* sysdep/mips/locks.h (compare_and_swap, compare_and_swap_release) Use
__sync_bool_compare_and_swap instead of in-line asm.
(release_set, read_barrier, write_barrier): Use __sync_synchronize
instead of in-line asm.
From-SVN: r128438
gcc/
* c-tree.h (grokfield): Add a "tree *" argument.
* c-decl.c (grokdeclarator): Take a pointer to the decl's attributes.
Chain nested decl attributes to it. Don't call decl_attributes here.
(groktypename): Pass grokdeclarator a pointer to the attribute list.
(start_decl, grokparm, push_parm_decl, start_function): Likewise.
(grokfield): Take a pointer to the decl's attributes and pass
it to grokdeclarator.
* c-parser.c (c_parser_struct_declaration): Update the calls to
grokfield. Call decl_attributes for anonymous struct and union
fields.
From-SVN: r128437
* a-extiti.ads (Timer): The discriminant is a "not null access
constant" in the Reference Manual.
(Cancel_Handler): Cancelled is an out parameter in the Reference Manual.
* a-swuwha.adb: Remove junk RM header
* g-bytswa-x86.adb (Swap2, Swap4, Swap8): Remove explicit "in" mode
indicator
* g-bytswa.ads: Minor reformatting
* g-soccon-solaris-64.ads, g-soccon-hpux-ia64.ads:
Add new constant Thread_Blocking_IO, always True by default, set False
on a per-runtime basis.
(Need_Netdb_Buffer): New constant.
* s-dsaser.ads (Get_Local_Partition_Id, Get_Passive_Partition_Id):
Added renames for corresponding functions in System.Partition_Interface.
* Makefile.in: Remove VMS specific System.CRTL packages which are no
longer needed.
* s-crtl-vms64.ads: Removed.
From-SVN: r128430
2007-09-12 Hristian Kirtchev <kirtchev@adacore.com>
* bindusg.adb (Display): Correct comment for switch -X. Add a line for
the usage of switch -y.
* switch-b.adb (Scan_Binder_Switches): Set flag Leap_Seconds_Support
when switch -y is present.
* opt.ads: Add binder flag Leap_Seconds_Support used to enable/disable
leap seconds in Ada.Calendar and its children.
From-SVN: r128429
2007-09-12 Robert Dewar <dewar@adacore.com>
* g-thread.ads: Document use of "with GNAT.Threads" to ensure loading
the tasking version of the Ada run time when foreign threads are
present and there are no explicit Ada tasks or tasking constructs.
* gnat_rm.texi: Clarify documentation of GNAT.Threads.
From-SVN: r128428
2007-09-12 Ed Schonberg <schonberg@adacore.com>
* sem_aggr.adb (Resolve_Record_Aggregate): An others association with
a box need not correspond to any component.
From-SVN: r128427
2007-09-12 Olivier Hainque <hainque@adacore.com>
ada/
* decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: For a subtype
with discriminant constraints, generalize the code for BIT_FIELDs
to PACKED fields of constant size and propagate DECL_PACKED.
testsuite/
* gnat.dg/packed_subtype.adb: New test.
From-SVN: r128425
2007-09-12 Tobias Burnus <burnus@net-b.de>
PR fortran/33297
* check.c (scalar_check): Move up in the file.
(kind_check): Call scalar_check.
(dim_check): If optional, do not call nonoptional_check; use
bool for optional.
(gfc_check_all_any,gfc_check_count,gfc_check_cshift,gfc_check_eoshift,
gfc_check_lbound,gfc_check_minloc_maxloc,check_reduction,
gfc_check_spread,gfc_check_ubound): Use true/false instead of 0/1
for dim_check; honor changed meaning of optional.
(gfc_check_int): Replace checks by kind_check.
(gfc_check_size): Replace checks by dim_check.
2007-09-12 Tobias Burnus <burnus@net-b.de>
PR fortran/33297
* gfortran.dg/intrinsic_size.f90: New.
From-SVN: r128424
* tree-vect-analyze.c (vect_analyze_data_ref_dependence): Distinguish
between positive and negative dependence distance using DDR_REVERSED_P.
From-SVN: r128420
2007-09-12 Christopher D. Rickett <crickett@lanl.gov>
PR fortran/33395
* trans-expr.c (gfc_conv_initializer): Remove unnecessary test for
intmod_sym_id and use derived symbol to set new kind of C_NULL_PTR
and C_NULL_FUNPTR expressions.
2007-09-12 Christopher D. Rickett <crickett@lanl.gov>
PR fortran/33395
* gfortran.dg/c_ptr_tests_12.f03: New test case.
From-SVN: r128418
* tree-vect-transform.c (vect_get_slp_defs): Don't build a vector
for oprnd1 if not required.
(vectorizable_operation): Use scalar operand in SLP in case of
shift with scalar argument.
From-SVN: r128412