2014-02-09 Paul Thomas <pault@gcc.gnu.org>
PR fortran/57522
* resolve.c (resolve_assoc_var): Set the subref_array_pointer
attribute for the 'associate-name' if necessary.
* trans-stmt.c (trans_associate_var): If the 'associate-name'
is a subref_array_pointer, assign the element size of the
associate variable to 'span'.
2014-02-09 Paul Thomas <pault@gcc.gnu.org>
PR fortran/57522
* gfortran.dg/associated_target_5.f03 : New test
From-SVN: r207646
2014-02-09 Paul Thomas <pault@gcc.gnu.org>
PR fortran/59026
* trans-expr.c (gfc_conv_procedure_call): Pass the value of the
actual argument to a formal argument with the value attribute
in an elemental procedure.
2014-02-09 Paul Thomas <pault@gcc.gnu.org>
PR fortran/59026
* gfortran.dg/elemental_by_value_1.f90 : New test
From-SVN: r207645
2014-02-08 Janus Weil <janus@gcc.gnu.org>
Mikael Morin <mikael.morin@gcc.gnu.org>
PR fortran/58470
* class.c (generate_finalization_wrapper): Assert that proc_tree has
been set in gfc_resolve_finalizers.
* resolve.c (resolve_fl_derived0): Remove unnecessary call to
gfc_is_finalizable.
2014-02-08 Janus Weil <janus@gcc.gnu.org>
PR fortran/58470
* gfortran.dg/finalize_22.f90: New.
Co-Authored-By: Mikael Morin <mikael@gcc.gnu.org>
From-SVN: r207636
2014-02-08 Paul Thomas <pault@gcc.gnu.org>
PR fortran/60066
* gfortran.dg/elemental_subroutine_10.f90 : New test. This PR
was fixed by the patch for PR59906.
From-SVN: r207633
* tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers
not at the end of datarefs vector use ordered_remove to avoid
reordering datarefs vector.
From-SVN: r207632
PR c/59984
* gimplify.c (gimplify_bind_expr): In ORT_SIMD region
mark local addressable non-static vars as GOVD_PRIVATE
instead of GOVD_LOCAL.
* omp-low.c (lower_omp_for): Move gimple_bind_vars
and BLOCK_VARS of gimple_bind_block to new_stmt rather
than copying them.
* gcc.dg/vect/pr59984.c: New test.
From-SVN: r207629
PR middle-end/60092
* tree-ssa-ccp.c (surely_varying_stmt_p): Don't return true
if TYPE_ATTRIBUTES (gimple_call_fntype ()) contain
assume_aligned or alloc_align attributes.
(bit_value_assume_aligned): Add ATTR, PTRVAL and ALLOC_ALIGN
arguments. Handle also assume_aligned and alloc_align attributes.
(evaluate_stmt): Adjust bit_value_assume_aligned caller.
Handle calls to functions with assume_aligned or alloc_align
attributes.
* doc/extend.texi: Document assume_aligned and alloc_align
attributes.
c-family/
* c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
and tree_to_uhwi.
(handle_alloc_align_attribute, handle_assume_aligned_attribute): New
functions.
(c_common_attribute_table): Add alloc_align and assume_aligned
attributes.
testsuite/
* gcc.dg/attr-alloc_align-1.c: New test.
* gcc.dg/attr-alloc_align-2.c: New test.
* gcc.dg/attr-alloc_align-3.c: New test.
* gcc.dg/attr-assume_aligned-1.c: New test.
* gcc.dg/attr-assume_aligned-2.c: New test.
* gcc.dg/attr-assume_aligned-3.c: New test.
From-SVN: r207628
* varpool.c: Include pointer-set.h.
(varpool_remove_unreferenced_decls): Variables in other partitions
will not be output; be however careful to not lose information
about partitioning.
From-SVN: r207620
gcc/
* config/s390/s390.c (s390_restore_gprs_from_fprs): Add REG_CFA_RESTORE
notes to each restore. Also add REG_CFA_DEF_CFA when restoring %r15.
(s390_optimize_prologue): Don't clear RTX_FRAME_RELATED_P. Update the
REG_CFA_RESTORE list when deciding not to restore a register.
From-SVN: r207604
gcc/
* config/s390/s390.c: Include tree-pass.h and context.h.
(s390_early_mach): New function, split out from...
(s390_emit_prologue): ...here.
(pass_data_s390_early_mach): New pass structure.
(pass_s390_early_mach): New class.
(s390_option_override): Create and register early_mach pass.
Move to end of file.
From-SVN: r207603
2014-02-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* gcc.dg/gcc-have-sync-compare-and-swap.c: Align the 16 byte
variable used for atomic operations.
From-SVN: r207600
2014-02-07 Richard Biener <rguenther@suse.de>
PR middle-end/60092
* gimple-low.c (lower_builtin_posix_memalign): New function.
(lower_stmt): Call it to lower posix_memalign in a way
to make alignment info accessible.
* gcc.dg/vect/pr60092-2.c: New testcase.
From-SVN: r207598
PR rtl-optimization/60030
* internal-fn.c (ubsan_expand_si_overflow_mul_check): Surround
lopart with paradoxical subreg before shifting it up by hprec.
From-SVN: r207582
* config/arm/aarch-cost-tables.h (cortexa57_extra_costs): New table.
Remove extra newline at end of file.
* config/arm/arm.c (arm_cortex_a57_tune): New tuning struct.
(arm_issue_rate): Handle cortexa57.
* config/arm/arm-cores.def (cortex-a57): Use cortex_a57 tuning.
(cortex-a57.cortex-a53): Likewise.
From-SVN: r207565
PR target/59575
* config/arm/arm.c (emit_multi_reg_push): Add dwarf_regs_mask argument,
don't record in REG_FRAME_RELATED_EXPR registers not set in that
bitmask.
(arm_expand_prologue): Adjust all callers.
(arm_unwind_emit_sequence): Allow saved, but not important for unwind
info, registers also at the lowest numbered registers side. Use
gcc_assert instead of abort, and SET_SRC/SET_DEST macros instead of
XEXP.
* gcc.target/arm/pr59575.c: New test.
From-SVN: r207564
PR target/59575
* config/arm/arm.c (emit_multi_reg_push): Add dwarf_regs_mask argument,
don't record in REG_FRAME_RELATED_EXPR registers not set in that
bitmask.
(arm_expand_prologue): Adjust all callers.
(arm_unwind_emit_sequence): Allow saved, but not important for unwind
info, registers also at the lowest numbered registers side. Use
gcc_assert instead of abort, and SET_SRC/SET_DEST macros instead of
XEXP.
* gcc.target/arm/pr59575.c: New test.
From-SVN: r207563
PR debug/59992
* var-tracking.c (adjust_mems): Before adding a SET
to amd->side_effects, adjust it's SET_SRC using
simplify_replace_fn_rtx.
* gcc.dg/pr59992.c: New test.
From-SVN: r207562
2014-02-06 Marc Glisse <marc.glisse@inria.fr>
* g++.dg/cpp0x/constexpr-attribute2.C: Restrict to target
init_priority. Test alignment of variable instead of function.
From-SVN: r207561