gcc.git
9 years agoC++11 explicitly forbids macros for bool, true and false.
Jonathan Wakely [Fri, 24 Oct 2014 20:56:40 +0000 (21:56 +0100)]
C++11 explicitly forbids macros for bool, true and false.

gcc:
* ginclude/stdbool.h: Do not define bool, true or false in C++11.

libstdc++-v3:
* testsuite/18_support/headers/cstdbool/macros.cc: New.

From-SVN: r216679

9 years agocheck.c (check_co_collective): Reject coindexed A args.
Tobias Burnus [Fri, 24 Oct 2014 20:52:41 +0000 (22:52 +0200)]
check.c (check_co_collective): Reject coindexed A args.

2014-10-24  Tobias Burnus  <burnus@net-b.de>

gcc/fortran
        * check.c (check_co_collective): Reject coindexed A args.
        (gfc_check_co_reduce): Add OPERATOR checks.
        * gfortran.texi (_gfortran_caf_co_broadcast,
        * _gfortran_caf_co_max,
        _gfortran_caf_co_min, _gfortran_caf_co_sum,
        _gfortran_caf_co_reduce): Add ABI documentation.
        * intrinsic.texi (CO_REDUCE): Document intrinsic.
        (DPROD): Returns double not single precision.
        * trans-decl.c (gfor_fndecl_co_reduce): New global var.
        (gfc_build_builtin_function_decls): Init it.
        * trans.h (gfor_fndecl_co_reduce): Declare it.
        * trans-intrinsic.c (conv_co_collective,
        gfc_conv_intrinsic_subroutine): Handle CO_REDUCE.

gcc/testsuite/
        * gfortran.dg/coarray_collectives_9.f90: Remove dg-error.
        * gfortran.dg/coarray_collectives_13.f90: New.
        * gfortran.dg/coarray_collectives_14.f90: New.
        * gfortran.dg/coarray_collectives_15.f90: New.
        * gfortran.dg/coarray_collectives_16.f90: New.

From-SVN: r216678

9 years agoFix error in earlier ChangeLog entry: s/define/undefine/.
Ian Lance Taylor [Fri, 24 Oct 2014 18:27:04 +0000 (18:27 +0000)]
Fix error in earlier ChangeLog entry: s/define/undefine/.

From-SVN: r216676

9 years ago[ARM] gnu11 cleanup for aapcs testcases
Jiong Wang [Fri, 24 Oct 2014 17:14:02 +0000 (17:14 +0000)]
[ARM] gnu11 cleanup for aapcs testcases

gcc/testsuite/
   * gcc.target/arm/aapcs/abitest.h: Declare memcpy.

From-SVN: r216675

9 years agore PR c/56980 (C pretty-printer does not handle well pointer to typedef of struct)
Marek Polacek [Fri, 24 Oct 2014 16:29:56 +0000 (16:29 +0000)]
re PR c/56980 (C pretty-printer does not handle well pointer to typedef of struct)

PR c/56980
* c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
print "struct"/"union"/"enum" for typedefed names.

* gcc.dg/pr56980.c: New test.

From-SVN: r216674

9 years agofix up changelog format for r216671.
Charles Baylis [Fri, 24 Oct 2014 15:01:49 +0000 (15:01 +0000)]
fix up changelog format for r216671.

From-SVN: r216673

9 years ago[PATCH 2/2] [AARCH64,NEON] Convert arm_neon.h to use new builtins for vld[234](q...
Charles Baylis [Fri, 24 Oct 2014 15:00:20 +0000 (15:00 +0000)]
[PATCH 2/2] [AARCH64,NEON] Convert arm_neon.h to use new builtins for vld[234](q?)_lane_*

2014-10-24  Charles Baylis  <charles.baylis@linaro.org>

* config/aarch64/arm_neon.h (__LD2_LANE_FUNC): Rewrite using builtins,
update uses to use new macro arguments.
(__LD3_LANE_FUNC): Likewise.
(__LD4_LANE_FUNC): Likewise.

From-SVN: r216672

9 years ago[PATCH 1/2] [AARCH64,NEON] Add patterns + builtins for vld[234](q?)_lane_* intrinsics
Charles Baylis [Fri, 24 Oct 2014 14:58:51 +0000 (14:58 +0000)]
[PATCH 1/2] [AARCH64,NEON] Add patterns + builtins for vld[234](q?)_lane_* intrinsics

2014-10-24  Charles Baylis  <charles.baylis@linaro.org>
* config/aarch64/aarch64-builtins.c
(aarch64_types_loadstruct_lane_qualifiers): Define.
* config/aarch64/aarch64-simd-builtins.def (ld2_lane, ld3_lane,
ld4_lane): New builtins.
* config/aarch64/aarch64-simd.md (aarch64_vec_load_lanesoi_lane<mode>):
New pattern.
(aarch64_vec_load_lanesci_lane<mode>): Likewise.
(aarch64_vec_load_lanesxi_lane<mode>): Likewise.
(aarch64_ld2_lane<mode>): New expand.
(aarch64_ld3_lane<mode>): Likewise.
(aarch64_ld4_lane<mode>): Likewise.
* config/aarch64/aarch64.md (define_c_enum "unspec"): Add
UNSPEC_LD2_LANE, UNSPEC_LD3_LANE, UNSPEC_LD4_LANE.

From-SVN: r216671

9 years agoFix bad email last commit
Hans-Peter Nilsson [Fri, 24 Oct 2014 14:31:47 +0000 (14:31 +0000)]
Fix bad email last commit

From-SVN: r216670

9 years agoconfigure.ac (build_configargs): Don't share config.cache between build subdirs.
Hans-Peter Nilsson [Fri, 24 Oct 2014 14:30:35 +0000 (14:30 +0000)]
configure.ac (build_configargs): Don't share config.cache between build subdirs.

* configure.ac (build_configargs): Don't share config.cache between
build subdirs.

From-SVN: r216669

9 years agoavr-protos.h (avr_out_sign_extend): New.
Georg-Johann Lay [Fri, 24 Oct 2014 14:25:10 +0000 (14:25 +0000)]
avr-protos.h (avr_out_sign_extend): New.

* avr-protos.h (avr_out_sign_extend): New.
* avr.c (avr_adjust_insn_length) [ADJUST_LEN_SEXT]: Handle.
(avr_out_sign_extend): New function.
* avr.md (extendqihi2, extendqipsi2, extendqisi2, extendhipsi2)
(extendhisi2, extendpsisi2): Use it.
(adjust_len) [sext]: New.

From-SVN: r216668

9 years agoatomic_base.h: Avoid including <stdbool.h>.
Paolo Carlini [Fri, 24 Oct 2014 12:54:43 +0000 (12:54 +0000)]
atomic_base.h: Avoid including <stdbool.h>.

2014-10-24  Paolo Carlini  <paolo.carlini@oracle.com>

* include/bits/atomic_base.h: Avoid including <stdbool.h>.
* include/std/atomic: When __cplusplus < 201103L skip the rest of
the header.
* testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc: Adjust.

From-SVN: r216667

9 years agoconfig.gcc (sparc*-*-*): Accept mcpu=leon3v7 processor.
Daniel Hellstrom [Fri, 24 Oct 2014 12:34:49 +0000 (14:34 +0200)]
config.gcc (sparc*-*-*): Accept mcpu=leon3v7 processor.

2014-10-24  Daniel Hellstrom  <daniel@gaisler.com>

* config.gcc (sparc*-*-*): Accept mcpu=leon3v7 processor.
* doc/invoke.texi (SPARC options): Add mcpu=leon3v7 comment.
* config/sparc/leon.md (leon3_load, leon_store, leon_fp_*): Handle
leon3v7 as leon3.
* config/sparc/sparc-opts.h (enum processor_type): Add LEON3V7.
* config/sparc/sparc.c (sparc_option_override): Add leon3v7 support.
* config/sparc/sparc.h (TARGET_CPU_leon3v7): New define.
* config/sparc/sparc.md (cpu): Add leon3v7.
* config/sparc/sparc.opt (enum processor_type): Add leon3v7.

From-SVN: r216666

9 years ago[ARM] revert changes on check_effective_target_arm_*_ok
Jiong Wang [Fri, 24 Oct 2014 12:06:37 +0000 (12:06 +0000)]
[ARM] revert changes on check_effective_target_arm_*_ok

  gcc/testsuite/
    * lib/target-supports.exp
    (check_effective_target_arm_crypto_ok_nocache): Remove declaration for
    vaeseq_u8.
    (check_effective_target_arm_neon_fp16_ok_nocache): Remove declaration for
    vcvt_f16_f32.
    (check_effective_target_arm_neonv2_ok_nocache): Remove declaration for
    vfma_f32.

From-SVN: r216663

9 years agore PR tree-optimization/63595 (Segmentation faults inside kernel)
Martin Liska [Fri, 24 Oct 2014 11:57:58 +0000 (13:57 +0200)]
re PR tree-optimization/63595 (Segmentation faults inside kernel)

Fix for PR63595

* gcc.dg/ipa/pr63595.c: New test.
* ipa-icf.c (sem_function::compare_phi_node): PHI result comparison

From-SVN: r216662

9 years agovuzp.c: New file.
Christophe Lyon [Fri, 24 Oct 2014 11:54:30 +0000 (11:54 +0000)]
vuzp.c: New file.

2014-10-24  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/vuzp.c: New file.
* gcc.target/aarch64/advsimd-intrinsics/vzip.c: Likewise.

From-SVN: r216661

9 years agovmul.c: New file.
Christophe Lyon [Fri, 24 Oct 2014 11:54:06 +0000 (11:54 +0000)]
vmul.c: New file.

2014-10-24  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/vmul.c: New file.

From-SVN: r216660

9 years agovldX_lane.c: New file.
Christophe Lyon [Fri, 24 Oct 2014 11:53:29 +0000 (11:53 +0000)]
vldX_lane.c: New file.

2014-10-24  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/vldX_lane.c: New file.

From-SVN: r216659

9 years agovldX.c: New file.
Christophe Lyon [Fri, 24 Oct 2014 11:53:04 +0000 (11:53 +0000)]
vldX.c: New file.

2014-10-24  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/vldX.c: New file.

From-SVN: r216658

9 years agovld1_dup.c: New file.
Christophe Lyon [Fri, 24 Oct 2014 11:52:40 +0000 (11:52 +0000)]
vld1_dup.c: New file.

2014-10-24  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/vld1_dup.c: New file.

From-SVN: r216657

9 years agovdup-vmov.c: New file.
Christophe Lyon [Fri, 24 Oct 2014 11:52:16 +0000 (11:52 +0000)]
vdup-vmov.c: New file.

2014-10-24  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/vdup-vmov.c: New file.

From-SVN: r216656

9 years agovclz.c: New file.
Christophe Lyon [Fri, 24 Oct 2014 11:51:47 +0000 (11:51 +0000)]
vclz.c: New file.

2014-10-24  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/vclz.c: New file.

From-SVN: r216655

9 years agovbsl.c: New file.
Christophe Lyon [Fri, 24 Oct 2014 11:51:19 +0000 (11:51 +0000)]
vbsl.c: New file.

2014-10-24  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/vbsl.c: New file.

From-SVN: r216654

9 years agovaddw.c: New file.
Christophe Lyon [Fri, 24 Oct 2014 11:50:51 +0000 (11:50 +0000)]
vaddw.c: New file.

2014-10-24  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/vaddw.c: New file.

From-SVN: r216653

9 years agovaddl.c: New file.
Christophe Lyon [Fri, 24 Oct 2014 11:50:24 +0000 (11:50 +0000)]
vaddl.c: New file.

2014-10-24  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/vaddl.c: New file.

From-SVN: r216652

9 years agovaddhn.c: New file.
Christophe Lyon [Fri, 24 Oct 2014 11:49:59 +0000 (11:49 +0000)]
vaddhn.c: New file.

2014-10-24  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/vaddhn.c: New file.

From-SVN: r216651

9 years agovabdl.c: New file.
Christophe Lyon [Fri, 24 Oct 2014 11:49:10 +0000 (11:49 +0000)]
vabdl.c: New file.

2014-10-24  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/vabdl.c: New file.

From-SVN: r216650

9 years agovabd.c: New file.
Christophe Lyon [Fri, 24 Oct 2014 11:48:34 +0000 (11:48 +0000)]
vabd.c: New file.

2014-10-24  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/vabd.c: New file.

From-SVN: r216649

9 years agovabal.c: New file.
Christophe Lyon [Fri, 24 Oct 2014 11:47:49 +0000 (11:47 +0000)]
vabal.c: New file.

2014-10-24  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/vabal.c: New file.

From-SVN: r216648

9 years agobinary_sat_op.inc: New file.
Christophe Lyon [Fri, 24 Oct 2014 11:47:21 +0000 (11:47 +0000)]
binary_sat_op.inc: New file.

2014-10-24  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/binary_sat_op.inc: New
file.
* gcc.target/aarch64/advsimd-intrinsics/vqadd.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vqsub.c: Likewise.

From-SVN: r216647

9 years agounary_sat_op.inc: New file.
Christophe Lyon [Fri, 24 Oct 2014 11:46:47 +0000 (11:46 +0000)]
unary_sat_op.inc: New file.

2014-10-24  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/unary_sat_op.inc: New
file.
* gcc.target/aarch64/advsimd-intrinsics/vqabs.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vqneg.c: Likewise.

From-SVN: r216646

9 years agocmp_fp_op.inc: New file.
Christophe Lyon [Fri, 24 Oct 2014 11:46:04 +0000 (11:46 +0000)]
cmp_fp_op.inc: New file.

2014-10-24  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/cmp_fp_op.inc: New file.
* gcc.target/aarch64/advsimd-intrinsics/vcage.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vcagt.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vcale.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vcalt.c: Likewise.

From-SVN: r216645

9 years agocmp_op.inc: New file.
Christophe Lyon [Fri, 24 Oct 2014 11:45:24 +0000 (11:45 +0000)]
cmp_op.inc: New file.

2014-10-24  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/cmp_op.inc: New file.
* gcc.target/aarch64/advsimd-intrinsics/vceq.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vcge.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vcgt.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vcle.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vclt.c: Likewise.

From-SVN: r216644

9 years agobinary_op.inc: New file.
Christophe Lyon [Fri, 24 Oct 2014 11:44:44 +0000 (11:44 +0000)]
binary_op.inc: New file.

2014-10-24  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/binary_op.inc: New file.
* gcc.target/aarch64/advsimd-intrinsics/vadd.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vand.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vbic.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/veor.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vorn.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vorr.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vsub.c: Likewise.

From-SVN: r216643

9 years agounary_op.inc: New file.
Christophe Lyon [Fri, 24 Oct 2014 11:42:09 +0000 (11:42 +0000)]
unary_op.inc: New file.

2014-10-24  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/unary_op.inc: New file.
* gcc.target/aarch64/advsimd-intrinsics/vabs.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vneg.c: Likewise.

From-SVN: r216642

9 years agoAdd new files missing from previous commit.
Christophe Lyon [Fri, 24 Oct 2014 11:40:58 +0000 (13:40 +0200)]
Add new files missing from previous commit.

From-SVN: r216641

9 years agoREADME.advsimd-intrinsics: New file.
Christophe Lyon [Fri, 24 Oct 2014 11:38:51 +0000 (13:38 +0200)]
README.advsimd-intrinsics: New file.

2014-10-24  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/arm/README.advsimd-intrinsics: New file.
* gcc.target/aarch64/advsimd-intrinsics/README: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/compute-ref-data.h:
Likewise.
* gcc.target/aarch64/advsimd-intrinsics/advsimd-intrinsics.exp:
Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vaba.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vld1.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vshl.c: Likewise.

From-SVN: r216640

9 years ago[AArch64] LINK_SPEC changes for Cortex-A53 erratum 835769 workaround
Kyrylo Tkachov [Fri, 24 Oct 2014 11:32:40 +0000 (11:32 +0000)]
[AArch64] LINK_SPEC changes for Cortex-A53 erratum 835769 workaround

     * config/aarch64/aarch64-elf-raw.h (CA53_ERR_835769_SPEC): Define.
     (LINK_SPEC): Include CA53_ERR_835769_SPEC.
     * config/aarch64/aarch64-linux.h (CA53_ERR_835769_SPEC): Define.
     (LINK_SPEC): Include CA53_ERR_835769_SPEC.

From-SVN: r216639

9 years agowrapper.exp ({tool}_maybe_build_wrapper): Clear wrap_compile_flags before setting it.
Christophe Lyon [Fri, 24 Oct 2014 11:32:05 +0000 (11:32 +0000)]
wrapper.exp ({tool}_maybe_build_wrapper): Clear wrap_compile_flags before setting it.

2014-10-24  Christophe Lyon  <christophe.lyon@linaro.org>

* lib/wrapper.exp ({tool}_maybe_build_wrapper): Clear
wrap_compile_flags before setting it.

From-SVN: r216638

9 years ago[AArch64] Cleanup logic around aarch64_final_prescan
Kyrylo Tkachov [Fri, 24 Oct 2014 11:30:42 +0000 (11:30 +0000)]
[AArch64] Cleanup logic around aarch64_final_prescan

* config/aarch64/aarch64.h (ADJUST_INSN_LENGTH): Wrap definition in
do while (0).
* config/aarch64/aarch64.c (is_mem_p): Delete.
(is_memory_op): Rename to...
(has_memory_op): ... This.  Use FOR_EACH_SUBRTX.
(dep_between_memop_and_curr): Assert that the input is a SET.
(aarch64_madd_needs_nop): Add comment.  Do not call
dep_between_memop_and_curr on NULL body.
(aarch64_final_prescan_insn): Add comment.
Include rtl-iter.h.

From-SVN: r216637

9 years agoMakefile.in (BUILD_CPPLIB): Move $(LIBINTL) $(LIBICONV) to genmatch BUILD_LIBS instead.
Richard Biener [Fri, 24 Oct 2014 11:09:30 +0000 (11:09 +0000)]
Makefile.in (BUILD_CPPLIB): Move $(LIBINTL) $(LIBICONV) to genmatch BUILD_LIBS instead.

2014-10-24  Richard Biener  <rguenther@suse.de>

* Makefile.in (BUILD_CPPLIB): Move $(LIBINTL) $(LIBICONV)
to genmatch BUILD_LIBS instead.

From-SVN: r216632

9 years agogenmatch.c (expr::gen_transform): Use fold_buildN_loc and build_call_expr_loc.
Richard Biener [Fri, 24 Oct 2014 11:00:08 +0000 (11:00 +0000)]
genmatch.c (expr::gen_transform): Use fold_buildN_loc and build_call_expr_loc.

2014-10-24  Richard Biener  <rguenther@suse.de>

* genmatch.c (expr::gen_transform): Use fold_buildN_loc
and build_call_expr_loc.
(dt_simplify::gen): Drop non_lvalue for GIMPLE, use
non_lvalue_loc to build it for GENERIC.
(decision_tree::gen_generic): Add location argument to
generic_simplify prototype.
(capture_info): New class.
(capture_info::capture_info): New constructor.
(capture_info::walk_match): New method.
(capture_info::walk_result): New method.
(capture_info::walk_c_expr): New method.
(dt_simplify::gen): Handle preserving side-effects for
GENERIC code generation.
(decision_tree::gen_generic): Do not reject operands
with TREE_SIDE_EFFECTS.
* generic-match.h: New file.
* generic-match-head.c: Include generic-match.h, not gimple-match.h.
* match.pd: Add some constant folding patterns from fold-const.c.
* fold-const.c: Include generic-match.h.
(fold_unary_loc): Dispatch to generic_simplify.
(fold_ternary_loc): Likewise.
(fold_binary_loc): Likewise.  Remove patterns now implemented
by generic_simplify.
* gimple-fold.c (replace_stmt_with_simplification): New function.
(fold_stmt_1): Add valueize parameter, dispatch to gimple_simplify.
(no_follow_ssa_edges): New function.
(fold_stmt): New overload with valueization hook.  Use
no_follow_ssa_edges for the overload without hook.
(fold_stmt_inplace): Likewise.
* gimple-fold.h (no_follow_ssa_edges): Declare.

From-SVN: r216631

9 years agore PR target/63173 (performance problem with simd intrinsics vld2_dup_* on aarch64...
Felix Yang [Fri, 24 Oct 2014 10:53:08 +0000 (10:53 +0000)]
re PR target/63173 (performance problem with simd intrinsics vld2_dup_* on aarch64-none-elf)

        PR target/63173
        * config/aarch64/arm_neon.h (__LD2R_FUNC): Remove macro.
        (__LD3R_FUNC): Ditto.
        (__LD4R_FUNC): Ditto.
        (vld2_dup_s8, vld2_dup_s16, vld2_dup_s32, vld2_dup_f32, vld2_dup_f64,
         vld2_dup_u8, vld2_dup_u16, vld2_dup_u32, vld2_dup_p8, vld2_dup_p16
         vld2_dup_s64, vld2_dup_u64, vld2q_dup_s8, vld2q_dup_p8,
         vld2q_dup_s16, vld2q_dup_p16, vld2q_dup_s32, vld2q_dup_s64,
         vld2q_dup_u8, vld2q_dup_u16, vld2q_dup_u32, vld2q_dup_u64
         vld2q_dup_f32, vld2q_dup_f64): Rewrite using builtin functions.
        (vld3_dup_s64, vld3_dup_u64, vld3_dup_f64, vld3_dup_s8
         vld3_dup_p8, vld3_dup_s16, vld3_dup_p16, vld3_dup_s32
         vld3_dup_u8, vld3_dup_u16, vld3_dup_u32, vld3_dup_f32
         vld3q_dup_s8, vld3q_dup_p8, vld3q_dup_s16, vld3q_dup_p16
         vld3q_dup_s32, vld3q_dup_s64, vld3q_dup_u8, vld3q_dup_u16
         vld3q_dup_u32, vld3q_dup_u64, vld3q_dup_f32, vld3q_dup_f64): Likewise.
        (vld4_dup_s64, vld4_dup_u64, vld4_dup_f64, vld4_dup_s8
         vld4_dup_p8, vld4_dup_s16, vld4_dup_p16, vld4_dup_s32
         vld4_dup_u8, vld4_dup_u16, vld4_dup_u32, vld4_dup_f32
         vld4q_dup_s8, vld4q_dup_p8, vld4q_dup_s16, vld4q_dup_p16
         vld4q_dup_s32, vld4q_dup_s64, vld4q_dup_u8, vld4q_dup_u16
         vld4q_dup_u32, vld4q_dup_u64, vld4q_dup_f32, vld4q_dup_f64): Likewise.
        * config/aarch64/aarch64.md (define_c_enum "unspec"): Add
        UNSPEC_LD2_DUP, UNSPEC_LD3_DUP, UNSPEC_LD4_DUP.
        * config/aarch64/aarch64-simd-builtins.def (ld2r, ld3r, ld4r): New
        builtins.
        * config/aarch64/aarch64-simd.md (aarch64_simd_ld2r<mode>): New pattern.
        (aarch64_simd_ld3r<mode>): Likewise.
        (aarch64_simd_ld4r<mode>): Likewise.
        (aarch64_ld2r<mode>): New expand.
        (aarch64_ld3r<mode>): Likewise.
        (aarch64_ld4r<mode>): Likewise.

Co-Authored-By: Jiji Jiang <jiangjiji@huawei.com>
From-SVN: r216630

9 years agoFix gcc.dg/pr63594-1.c execution on Solaris/x86
Rainer Orth [Fri, 24 Oct 2014 09:09:43 +0000 (09:09 +0000)]
Fix gcc.dg/pr63594-1.c execution on Solaris/x86

        * gcc.dg/pr63594-1.c: Apply -mno-mmx to all i?86-*-* and x86_64-*-*
        targets.
        * gcc.dg/pr63594-2.c: Likewise.

From-SVN: r216629

9 years ago980217-1.c (main): Fix implicit int.
Uros Bizjak [Fri, 24 Oct 2014 08:58:42 +0000 (10:58 +0200)]
980217-1.c (main): Fix implicit int.

* gcc.target/alpha/980217-1.c (main): Fix implicit int.
* gcc.target/alpha/pr19518.c (_mm_setzero_si64): New function.

From-SVN: r216627

9 years agoMAINTAINERS (write-after-approval): Add myself.
Daniel Hellstrom [Fri, 24 Oct 2014 08:52:20 +0000 (10:52 +0200)]
MAINTAINERS (write-after-approval): Add myself.

2014-10-24  Daniel Hellstrom  <daniel@gaisler.com>

* MAINTAINERS (write-after-approval): Add myself.

From-SVN: r216626

9 years agoHandle SCRATCH in decompose_address
Maxim Kuvyrkov [Fri, 24 Oct 2014 08:23:01 +0000 (08:23 +0000)]
Handle SCRATCH in decompose_address

* rtlanal.c (get_base_term): Handle SCRATCH.

From-SVN: r216624

9 years agoDisable max_issue when scheduling for register pressure
Maxim Kuvyrkov [Fri, 24 Oct 2014 08:22:49 +0000 (08:22 +0000)]
Disable max_issue when scheduling for register pressure

* haifa-sched.c (sched_init): Disable max_issue when scheduling for
register pressure.

From-SVN: r216623

9 years agoRemove cached_first_cycle_multipass_dfa_lookahead and cached_issue_rate
Maxim Kuvyrkov [Fri, 24 Oct 2014 08:22:37 +0000 (08:22 +0000)]
Remove cached_first_cycle_multipass_dfa_lookahead and cached_issue_rate

* haifa-sched.c (cached_first_cycle_multipass_dfa_lookahead,)
(cached_issue_rate): Remove.  Use dfa_lookahead and issue_rate instead.
(max_issue, choose_ready, sched_init): Update.

From-SVN: r216622

9 years agoImprove scheduler dumps of ready list
Maxim Kuvyrkov [Fri, 24 Oct 2014 08:22:24 +0000 (08:22 +0000)]
Improve scheduler dumps of ready list

* sched-int.h (struct _haifa_insn_data:last_rfs_win): New field.
* haifa-sched.c (INSN_LAST_RFS_WIN): New access macro.
(rfs_result): Set INSN_LAST_RFS_WIN.  Update signature.
(rank_for_schedule): Update calls to rfs_result to pass new parameters.
(print_rank_for_schedule_stats): Print out elements of ready list that
ended up on their respective places due to each of the sorting
heuristics.
(ready_sort): Update.
(debug_ready_list_1): Improve printout for SCHED_PRESSURE_MODEL.
(schedule_block): Update.

From-SVN: r216621

9 years agoAccount for prologue spills in reg_pressure scheduling
Maxim Kuvyrkov [Fri, 24 Oct 2014 08:22:12 +0000 (08:22 +0000)]
Account for prologue spills in reg_pressure scheduling

* haifa-sched.c (sched_class_regs_num, call_used_regs_num): New static
arrays.  Use sched_class_regs_num instead of ira_class_hard_regs_num.
(print_curr_reg_pressure, setup_insn_reg_pressure_info,)
(model_update_pressure, model_spill_cost): Use sched_class_regs_num.
(model_start_schedule): Update.
(sched_pressure_start_bb): New static function.  Calculate
sched_class_regs_num.
(schedule_block): Use it.
(alloc_global_sched_pressure_data): Calculate call_used_regs_num.

From-SVN: r216620

9 years agoMakefile.in (BUILD_CPPLIB): When in stage2+ use the host library and make sure to...
Richard Biener [Fri, 24 Oct 2014 08:04:25 +0000 (08:04 +0000)]
Makefile.in (BUILD_CPPLIB): When in stage2+ use the host library and make sure to pull in the required...

2014-10-24  Richard Biener  <rguenther@suse.de>

* Makefile.in (BUILD_CPPLIB): When in stage2+ use the
host library and make sure to pull in the required libintl
and libiconv dependencies.

From-SVN: r216619

9 years agofold-const.c (fold_binary_loc): Fix copy-and-pasto.
Richard Biener [Fri, 24 Oct 2014 07:57:51 +0000 (07:57 +0000)]
fold-const.c (fold_binary_loc): Fix copy-and-pasto.

2014-10-24  Richard Biener  <rguenther@suse.de>

* fold-const.c (fold_binary_loc): Fix copy-and-pasto.

From-SVN: r216617

9 years agoFix bootstrap/PR63632
Markus Trippelsdorf [Fri, 24 Oct 2014 06:39:24 +0000 (06:39 +0000)]
Fix bootstrap/PR63632

r216566 (r216568 for 4.9 branch) added %{fno-lto} to LINK_COMMAND_SPEC.
However the linker doesn't understand -fno-lto and errors out.
This causes an LTO/PGO bootstrap failure, because -fno-lto is used
during STAGEprofile.
Fixed by filtering out -fno-lto in collect2.c.

From-SVN: r216613

9 years agoipa-icf.c (sem_item_optimizer::parse_nonsingleton_classes): Guard division by zero...
Martin Liska [Fri, 24 Oct 2014 06:06:20 +0000 (08:06 +0200)]
ipa-icf.c (sem_item_optimizer::parse_nonsingleton_classes): Guard division by zero in dumps.

* ipa-icf.c (sem_item_optimizer::parse_nonsingleton_classes): Guard
division by zero in dumps.
(sem_item_optimizer::merge_classes): Ditto.

From-SVN: r216612

9 years agocompiler: Use MPC library for complex numbers.
Ian Lance Taylor [Fri, 24 Oct 2014 05:01:50 +0000 (05:01 +0000)]
compiler: Use MPC library for complex numbers.

* go-gcc.cc (Gcc_backend::complex_constant_expression): Take one
mpc_t parameter instead of two mpfr_t parameters.

From-SVN: r216611

9 years agocompiler: Simplify making integer expressions.
Ian Lance Taylor [Fri, 24 Oct 2014 01:49:23 +0000 (01:49 +0000)]
compiler: Simplify making integer expressions.

Instead of always needing an mpz_t, add helper functions to
create an integer functions from signed or unsigned long
values.

From-SVN: r216610

9 years agoDaily bump.
GCC Administrator [Fri, 24 Oct 2014 00:16:51 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r216609

9 years agopa.c (pa_can_combine_p): Fix typo in last change.
John David Anglin [Thu, 23 Oct 2014 23:33:34 +0000 (23:33 +0000)]
pa.c (pa_can_combine_p): Fix typo in last change.

* config/pa/pa.c (pa_can_combine_p): Fix typo in last change.

From-SVN: r216606

9 years ago* tree-vrp.c (extract_range_from_assert): Fix typo in comment.
Ian Lance Taylor [Thu, 23 Oct 2014 22:48:40 +0000 (22:48 +0000)]
* tree-vrp.c (extract_range_from_assert): Fix typo in comment.

From-SVN: r216605

9 years ago* config/mep/mep.h (TARGET_HAS_F_SETLKW): Don't define.
Ian Lance Taylor [Thu, 23 Oct 2014 22:46:49 +0000 (22:46 +0000)]
* config/mep/mep.h (TARGET_HAS_F_SETLKW): Don't define.

From-SVN: r216604

9 years agointernal.h (backtrace_atomic_load_pointer): Fix to return void *.
Ian Lance Taylor [Thu, 23 Oct 2014 22:40:37 +0000 (22:40 +0000)]
internal.h (backtrace_atomic_load_pointer): Fix to return void *.

* internal.h (backtrace_atomic_load_pointer) [no atomic or sync]:
Fix to return void *.

From-SVN: r216603

9 years agoconfigure.ac: Disable the Go frontend on systems where it is known to not work.
Ian Lance Taylor [Thu, 23 Oct 2014 22:36:20 +0000 (22:36 +0000)]
configure.ac: Disable the Go frontend on systems where it is known to not work.

* configure.ac: Disable the Go frontend on systems where it is known
to not work.
* configure: Regenerate.

From-SVN: r216602

9 years agocomplexity.cc: Add missing test variable.
François Dumont [Thu, 23 Oct 2014 22:03:49 +0000 (22:03 +0000)]
complexity.cc: Add missing test variable.

2014-10-23  François Dumont  <fdumont@gcc.gnu.org>

* testsuite/25_algorithms/make_heap/complexity.cc: Add missing test
variable.
* testsuite/25_algorithms/sort_heap/complexity.cc: Likewise and use
log2. Now require cmath support.
* testsuite/25_algorithms/pop_heap/complexity.cc: Likewise and require
normal mode.
* testsuite/25_algorithms/push_heap/complexity.cc: Likewise.

From-SVN: r216601

9 years agore PR debug/63623 (Lots of functions get -fvar-tracking silently turned off unnecessa...
Jakub Jelinek [Thu, 23 Oct 2014 21:58:41 +0000 (23:58 +0200)]
re PR debug/63623 (Lots of functions get -fvar-tracking silently turned off unnecessarily)

PR debug/63623
* var-tracking.c (stack_adjust_offset_pre_post_cb): New function.
(stack_adjust_offset_pre_post): Use it through for_each_inc_dec,
instead of only handling autoinc in dest if it is a MEM.
(vt_stack_adjustments): Fix up formatting.

From-SVN: r216600

9 years agore PR c++/63619 (warning: deleting ‘void*’ is undefined has no -W flag)
Jonathan Wakely [Thu, 23 Oct 2014 21:07:49 +0000 (22:07 +0100)]
re PR c++/63619 (warning: deleting â€˜void*’ is undefined has no -W flag)

PR c++/63619

gcc/cp:
PR c++/63619
* decl2.c (delete_sanity): Use OPT_Wdelete_incomplete in warning.

gcc/testsuite:
PR c++/63619
* g++.dg/warn/Wdelete-incomplete-3.C: New.
* g++.dg/warn/Wdelete-incomplete-4.C: New.

From-SVN: r216599

9 years agomsp430.c (msp430_print_operand): 'x' modifier is independend of -mlarge.
DJ Delorie [Thu, 23 Oct 2014 19:02:48 +0000 (15:02 -0400)]
msp430.c (msp430_print_operand): 'x' modifier is independend of -mlarge.

* config/msp430/msp430.c (msp430_print_operand): 'x' modifier is
independend of -mlarge.
* config/msp430/constraints.md (Ys): Update comment.

From-SVN: r216598

9 years agostatus_cxx2011.xml: Update status.
Jonathan Wakely [Thu, 23 Oct 2014 16:55:23 +0000 (17:55 +0100)]
status_cxx2011.xml: Update status.

* doc/xml/manual/status_cxx2011.xml: Update status.
* doc/xml/manual/status_cxx2014.xml: Update TS status.

From-SVN: r216597

9 years agore PR target/63534 (Bootstrap failure on x86_64/i686-linux)
Evgeny Stupachenko [Thu, 23 Oct 2014 16:52:11 +0000 (16:52 +0000)]
re PR target/63534 (Bootstrap failure on x86_64/i686-linux)

PR target/63534
PR target/63618
gcc/
* cse.c (delete_trivially_dead_insns): Consider PIC register is used
while it is pseudo.
* dse.c (deletable_insn_p): Likewise.
gcc/testsuite/
* gcc.target/i386/pr63618.c: New test.

From-SVN: r216596

9 years agore PR c/63626 (Warning "inline function declared but never defined" output twice)
Marek Polacek [Thu, 23 Oct 2014 16:46:44 +0000 (16:46 +0000)]
re PR c/63626 (Warning "inline function declared but never defined" output twice)

PR c/63626
* c-decl.c (pop_scope): Don't print warning in external_scope.

* gcc.dg/pr63626.c: New test.

From-SVN: r216595

9 years agoc-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR in unsigned type.
Marek Polacek [Thu, 23 Oct 2014 13:02:02 +0000 (13:02 +0000)]
c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR in unsigned type.

* c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
in unsigned type.

* c-c++-common/ubsan/undefined-2.c: New test.

From-SVN: r216593

9 years agoavr.c: Fix GNU coding rules and typos.
Georg-Johann Lay [Thu, 23 Oct 2014 12:22:16 +0000 (12:22 +0000)]
avr.c: Fix GNU coding rules and typos.

* config/avr/avr.c: Fix GNU coding rules and typos.
* config/avr/avr.h: Dito.
* config/avr/avr-c.c: Dito.
* config/avr/avr.md: Dito.

From-SVN: r216592

9 years agoAVX. Fix block absq emit for non AVX-512 targets.
Kirill Yukhin [Thu, 23 Oct 2014 11:50:19 +0000 (11:50 +0000)]
AVX. Fix block absq emit for non AVX-512 targets.

gcc/
* config/i386/sse.md (define_mode_iterator VI1248_AVX512VL_AVX512BW):
New.
(define_insn "*abs<mode>2"): Use VI1248_AVX512VL_AVX512BW mode
iterator.
(define_expand "abs<mode>2"): Ditto.

gcc/testsuite/
* gcc.target/i386/pr63600.c: New.

From-SVN: r216591

9 years agoAVX-512. 81.1/n. Extend `function_code' field `tree_var_decl' structure.
Kirill Yukhin [Thu, 23 Oct 2014 11:44:12 +0000 (11:44 +0000)]
AVX-512. 81.1/n. Extend `function_code' field `tree_var_decl' structure.

gcc/
* tree-core.h (tree_var_decl): Extend `function_code' field
by one bit, move `regdecl_flag' field to ...
(tree_decl_with_vis): Here.
* tree.h (DECL_STATIC_CHAIN): Update struct name.

From-SVN: r216590

9 years agoFix gcc.dg/ipa/ipa-icf-21.c on 32-bit Linux/x86.
Rainer Orth [Thu, 23 Oct 2014 11:32:55 +0000 (11:32 +0000)]
Fix gcc.dg/ipa/ipa-icf-21.c on 32-bit Linux/x86.

* gcc.dg/ipa/ipa-icf-21.c: Add -msse2 to dg-options.

From-SVN: r216589

9 years ago[multiple changes]
Arnaud Charlet [Thu, 23 Oct 2014 10:45:48 +0000 (12:45 +0200)]
[multiple changes]

2014-10-23  Ed Schonberg  <schonberg@adacore.com>

* sem_eval.adb (Check_Non_Static_Context): Do not set
Is_Machine_Number on a literal of a fixed-point type.

2014-10-23  Robert Dewar  <dewar@adacore.com>

* mlib-prj.adb, sem_ch4.adb, exp_ch3.adb: Minor reformatting.

2014-10-23  Pierre-Marie Derodat  <derodat@adacore.com>

* exp_dbug.ads: Update ___XA parallel type specification.

2014-10-23  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch3.adb (Copy_Array_Subtype_Attributes): Inherit the rep
chain of the source type.
* sem_ch13.adb (Analyze_Aspect_Specifications): Minor
reformatting of an error message.
* sem_util.adb (Inherit_Rep_Item_Chain): Do not inherit a rep
chain that has been inherited already.

From-SVN: r216588

9 years ago[multiple changes]
Arnaud Charlet [Thu, 23 Oct 2014 10:39:50 +0000 (12:39 +0200)]
[multiple changes]

2014-10-23  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb (Analyze_Expression_Function): Simplify analysis
in generic context, and generate body in this case as well,
to simplify ASIS traversals on the construct.

2014-10-23  Ed Schonberg  <schonberg@adacore.com>

* sem_ch4.adb (Complete_Object_Operation): Indicate that the
scope of the operation (s) is referenced, to prevent spurious
warnings about unused units.

2014-10-23  Johannes Kanig  <kanig@adacore.com>

* errout.adb (Error_Msg_Internal): Copy check flag, increment
check msg count.
* erroutc.adb (Delete_Msg) adjust check msg count.
(Output_Msg_Text) handle check msg case (do nothing).
(Prescan_Message) recognize check messages with severity prefixes.
* errutil.adb (Error_Msg) handle check flag, adjust counter.

2014-10-23  Ed Schonberg  <schonberg@adacore.com>

* sem_eval.adb (Subtypes_Statically_Match): For a generic actual
type, check for the presence of discriminants in its parent type,
against the presence of discriminants in the context type.

2014-10-23  Tristan Gingold  <gingold@adacore.com>

* adaint.c: __gnat_get_file_names_case_sensitive: Default is
true on arm-darwin.

2014-10-23  Arnaud Charlet  <charlet@adacore.com>

* pprint.adb (Expression_Image): Add handling of quantifiers.

2014-10-23  Ed Schonberg  <schonberg@adacore.com>

* exp_pakd.adb (Expand_Packed_Element_Reference): If the
prefix is a source entity, generate a reference to it before
transformation, because rewritten node might not generate a
proper reference, leading to spurious warnings.

2014-10-23  Tristan Gingold  <gingold@adacore.com>

* init.c: Fix thinko in previous patch.

2014-10-23  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch3.adb (Decimal_Fixed_Point_Type_Declaration):
Inherit the rep chain of the implicit base type.
(Floating_Point_Type_Declaration): Inherit the rep chain of the
implicit base type.
(Ordinary_Fixed_Point_Type_Declaration): Inherit the rep chain of the
implicit base type.
(Signed_Integer_Type_Declaration): Inherit the rep chain of the
implicit base type.
* sem_util.ads, sem_util.adb (Inherit_Rep_Item_Chain): New routine.

2014-10-23  Pascal Obry  <obry@adacore.com>

* g-regist.adb, g-regist.ads: Add support for reading 32bit or 64bit
view of the registry.

2014-10-23  Ed Schonberg  <schonberg@adacore.com>

* exp_ch3.adb (Expand_N_Object_Declaration): If type is abstract,
return without expanding expression, to prevent subsequent crash.
* freeze.adb: better error message for illegal declaration.

From-SVN: r216587

9 years agosysdep.c (__gnat_localtime_tzoff): Properly delimit the substring which represents...
Hristian Kirtchev [Thu, 23 Oct 2014 10:33:06 +0000 (10:33 +0000)]
sysdep.c (__gnat_localtime_tzoff): Properly delimit the substring which represents the time zone on VxWorks.

2014-10-23  Hristian Kirtchev  <kirtchev@adacore.com>

* sysdep.c (__gnat_localtime_tzoff): Properly delimit the
substring which represents the time zone on VxWorks.

From-SVN: r216586

9 years ago[multiple changes]
Arnaud Charlet [Thu, 23 Oct 2014 10:27:00 +0000 (12:27 +0200)]
[multiple changes]

2014-10-23  Vincent Celier  <celier@adacore.com>

* gnatls.adb: If --RTS= was not used, check if there is a default
runtime. If there is none, in verbose mode, indicate that the
default runtime is not available and show only the current
directory in the source and the object search paths.

2014-10-23  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb (Process_Formals): A thunk procedure with a
parameter of a limited view does not need a freeze node.

2014-10-23  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch7.adb (Analyze_Package_Body_Helper):
The logic which hides local entities from external
visibility is now contained in routine Hide_Public_Entities.
(Hide_Public_Entities): New routine. Object and subprogram
renamings are now hidden from external visibility the same way
objects are.

2014-10-23  Ed Schonberg  <schonberg@adacore.com>

* sem_attr.adb (Analyze_Attribute): The prefix of attribute Elaborated
does not require freezing, in particular if it denotes a generic
function.

From-SVN: r216585

9 years ago[multiple changes]
Arnaud Charlet [Thu, 23 Oct 2014 10:19:58 +0000 (12:19 +0200)]
[multiple changes]

2014-10-23  Yannick Moy  <moy@adacore.com>

* sem_prag.adb (Analyze_Pragma/Pragma_Inline & Pragma_Inline_Always):
Disable analysis in GNATprove mode.

2014-10-23  Arnaud Charlet  <charlet@adacore.com>

* mlib-prj.adb: Remove obsolete references to libdecgnat (VMS only).

2014-10-23  Arnaud Charlet  <charlet@adacore.com>

* gnat1drv.adb (Adjust_Global_Switches): Ignore style check
pragmas in codepeer mode.

2014-10-23  Gary Dismukes  <dismukes@adacore.com>

* gnat_rm.texi: Minor syntax fix for pragma Annotate (missing ',').

2014-10-23  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch12.adb (Inline_Instance_Body): Alphabetize
local variables and constants. Add constants Save_SM and Save_SMP
to capture SPARK_Mode-related attributes.  Compile the inlined
body with the SPARK_Mode of the enclosing context.

2014-10-23  Hristian Kirtchev  <kirtchev@adacore.com>

* sinfo.adb (Elaboration_Boolean): Removed.
(Set_Elaboration_Boolean): Removed.
* sinfo.ads Remove attribute Elaboration_Boolean along with its
occurrence in nodes.
(Elaboration_Boolean): Removed along with pragma Inline.
(Set_Elaboration_Boolean): Removed along with pragma Inline.

2014-10-23  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Constant_Redeclaration): Make error message more
explicit on a deferred constant whose object_definition is an
anonymous array.

2014-10-23  Vincent Celier  <celier@adacore.com>

* gnatls.adb: Never call Targparm.Get_Target_Parameters.

2014-10-23  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb (Analyze_Expression_Function): In a generic
context do not create a body, and only pre-analyze the expression,
which may include incomplete views.

From-SVN: r216584

9 years ago[multiple changes]
Arnaud Charlet [Thu, 23 Oct 2014 10:16:47 +0000 (12:16 +0200)]
[multiple changes]

2014-10-23  Robert Dewar  <dewar@adacore.com>

* sem_type.adb: Minor code reorganization (use Nkind_In, Ekind_In).
* sem_ch3.adb: Minor reformatting.

2014-10-23  Ed Schonberg  <schonberg@adacore.com>

* sem_ch12.adb (Analyze_Associations): If an actual for a formal
object is a call to a parameterless expression function, add
the function to the list of actuals to freeze.
* freeze.adb (Check_Expression_Function): Create freeze nodes of
outer types that may be references in the body of the expression.

From-SVN: r216583

9 years ago[multiple changes]
Arnaud Charlet [Thu, 23 Oct 2014 10:14:28 +0000 (12:14 +0200)]
[multiple changes]

2014-10-23  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_util.ads, checks.ads: Minor comment reformatting.

2014-10-23  Javier Miranda  <miranda@adacore.com>

* sem_eval (Test_In_Range): Disable removal of range_check for
VM targets.

2014-10-23  Robert Dewar  <dewar@adacore.com>

* erroutc.adb (Validate_Specific_Warnings): Fix test for -W
messages, which got disabled when we unconditionally added an
asterisk at the start of the string.

2014-10-23  Vincent Celier  <celier@adacore.com>

* gnatls.adb: Ensure that "gnatls -l" works even when there is
no default runtime.

2014-10-23  Eric Botcazou  <ebotcazou@adacore.com>

* sem_ch3.adb (Build_Derived_Private_Type): When the parent is
untagged and has discriminants, build the implicit full view after
building the derived type. Capture original declaration and type
here instead of...
(Copy_And_Build): ...here.
* sem_type.adb (Full_View_Covers): Handle the Underlying_Full_View.

From-SVN: r216582

9 years ago[multiple changes]
Arnaud Charlet [Thu, 23 Oct 2014 10:11:21 +0000 (12:11 +0200)]
[multiple changes]

2014-10-23  Hristian Kirtchev  <kirtchev@adacore.com>

* checks.adb (Ensure_Valid): Update the subprogram
profile. Propagate the contex attributes to Insert_Valid_Check.
(Insert_Valid_Check): Update the subprogram profile. Propagate
the attributes of the context to Duplicate_Subexpr_No_Checks.
(Validity_Check_Range): Update the subprogram profile. Propagate
the context attribute to Ensure_Valid.
* checks.ads (Ensure_Valid): Update the subprogram profile
along with the comment on usage.
(Insert_Valid_Check): Update the subprogram profile along with the
comment on usage.
(Validity_Check_Range): Update the subprogram profile along with
the comment on usage.
* exp_util.adb (Build_Temporary): New routine.
(Duplicate_Subexpr_No_Checks): Update the subprogram
profile. Propagate the attributes of the context to Remove_Side_Effects.
(Remove_Side_Effects): Update the subprogram profile. Update all calls
to Make_Temporary to invoke Build_Temporary.
* exp_util.ads (Duplicate_Subexpr_No_Checks): Update
the subprogram profile along with the comment on usage.
(Remove_Side_Effects): Update the subprogram profile along with
the comment on usage.
* sem_ch3.adb (Process_Range_Expr_In_Decl): Pass the subtype
to the validity check machinery.  Explain the reason for this
propagation.

2014-10-23  Robert Dewar  <dewar@adacore.com>

* a-strsea.adb: Minor reformatting.

From-SVN: r216581

9 years ago[multiple changes]
Arnaud Charlet [Thu, 23 Oct 2014 10:09:31 +0000 (12:09 +0200)]
[multiple changes]

2014-10-23  Thomas Quinot  <quinot@adacore.com>

* bcheck.adb (Check_Consistent_SSO_Default): Exclude internal
units from consistency check.
* gnat_rm.texi (Default_Scalar_Storage_Order): Document that
consistency check excludes run-time units.

2014-10-23  Ed Schonberg  <schonberg@adacore.com>

* a-strsea.adb (Find_Token): Enable constraint checking in this
procedure, so that even when compiling with checks suppressed, as is
the case for the run-time, an exception is raised in this routine when
the input meets the conditions described in RM 2005 A.4.3 (68/1).

From-SVN: r216580

9 years agoMakefile.def: Add libcpp build module and dependencies.
Richard Biener [Thu, 23 Oct 2014 09:14:48 +0000 (09:14 +0000)]
Makefile.def: Add libcpp build module and dependencies.

2014-10-23  Richard Biener  <rguenther@suse.de>

* Makefile.def: Add libcpp build module and dependencies.
* configure.ac: Add libcpp build module.
* Makefile.in: Regenerate.
* configure: Likewise.

gcc/
* Makefile.in (BUILD_CPPLIB): Add.
(build/genmatch$(build_exeext)): Use BUILD_CPPLIB, not CPPLIB.
Drop LIBIBERTY.

From-SVN: r216579

9 years agoFix gcc.dg/ipa/ipa-icf-2[18].c on Solaris
Rainer Orth [Thu, 23 Oct 2014 09:12:47 +0000 (09:12 +0000)]
Fix gcc.dg/ipa/ipa-icf-2[18].c on Solaris

* gcc.dg/ipa/ipa-icf-21.c: Restrict to i?86-*-* x86_64-*-*.
* gcc.dg/ipa/ipa-icf-28.c: Require init_priority.

From-SVN: r216578

9 years agoFix gnu11 fallout on SPARC
Rainer Orth [Thu, 23 Oct 2014 08:39:19 +0000 (08:39 +0000)]
Fix gnu11 fallout on SPARC

* include/gc.h [(sparc || __sparc) && sun] (GC_INIT): Remove
comment and definition.

From-SVN: r216577

9 years agoFix SPARC testsuite gnu11 fallout
Rainer Orth [Thu, 23 Oct 2014 08:35:38 +0000 (08:35 +0000)]
Fix SPARC testsuite gnu11 fallout

* gcc.target/sparc/20001013-1.c (main): Declare int return.
* gcc.target/sparc/mnofpu.c (e1e_rphy): Declare.
* gcc.target/sparc/sparc-ret.c (toto): Declare.
* gcc.target/sparc/ultrasp6.c (__assert, HSRate): Declare.
* gcc.target/sparc/ultrasp8.c (__malloc_lock, __malloc_unlock):
Declare.

From-SVN: r216576

9 years agofold-const.c (fold_binary_loc): Preserve side-effects of X - X when simplifying to 0.
Richard Biener [Thu, 23 Oct 2014 08:25:55 +0000 (08:25 +0000)]
fold-const.c (fold_binary_loc): Preserve side-effects of X - X when simplifying to 0.

2014-10-22  Richard Biener  <rguenther@suse.de>

* fold-const.c (fold_binary_loc): Preserve side-effects of
X - X when simplifying to 0.
* stor-layout.c (finish_bitfield_representative): Strip
side-effects of evaluating the difference of two DECL_FIELD_OFFSET.

From-SVN: r216575

9 years agoCommit old ChangeLog entry forgotten in commit of actual change.
Ian Lance Taylor [Thu, 23 Oct 2014 03:34:02 +0000 (03:34 +0000)]
Commit old ChangeLog entry forgotten in commit of actual change.

PR go/55969
* configure.ac: Disable libgo on some systems where it does not
work.

From-SVN: r216573

9 years agore PR libstdc++/63497 (std::regex can't handle [^class] correctly and cause runtime...
Tim Shen [Thu, 23 Oct 2014 03:15:52 +0000 (03:15 +0000)]
re PR libstdc++/63497 (std::regex can't handle [^class] correctly and cause runtime crash)

PR libstdc++/63497
include/bits/regex_executor.h (_Executor::_M_word_boundary): Remove
unused parameter.
include/bits/regex_executor.tcc (_Executor::_M_dfs,
_Executor::_M_word_boundary): Avoid dereferecing _M_current at _M_end
or other invalid position.

From-SVN: r216572

9 years agoDaily bump.
GCC Administrator [Thu, 23 Oct 2014 00:16:18 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r216571

9 years agore PR lto/63603 (Linking with -fno-lto still invokes LTO)
Richard Biener [Wed, 22 Oct 2014 20:51:00 +0000 (20:51 +0000)]
re PR lto/63603 (Linking with -fno-lto still invokes LTO)

2014-10-22  Richard Biener  <rguenther@suse.de>
            Tobias Burnus <burnus@net-b.de>

        PR lto/63603
        * gcc.c (LINK_COMMAND_SPEC): Add %{fno-lto}.

Co-Authored-By: Tobias Burnus <burnus@net-b.de>
From-SVN: r216566

9 years agoDo not build soft-fp code at all for powerpc64-linux-gnu.
Joseph Myers [Wed, 22 Oct 2014 17:29:14 +0000 (18:29 +0100)]
Do not build soft-fp code at all for powerpc64-linux-gnu.

When I added support for using soft-fp in libgcc
<https://gcc.gnu.org/ml/gcc-patches/2006-03/msg00689.html>, libgcc
configuration was still done in the gcc/ directory, meaning that the
variables set in makefile fragments could not depend on the multilib
being built.  Thus, building the soft-fp code for powerpc64-linux-gnu
was disabled in the same way as had been done with fp-bit: the code
was built, but with #ifndef __powerpc64__ wrappers around it so that
the resulting objects were empty.

Now that libgcc configuration is done in the toplevel libgcc
directory, such uses of softfp_wrap_start / softfp_wrap_end are better
replaced by configure-time conditionals that determine whether to use
soft-fp for a given multilib.  This patch does so for
powerpc*-*-linux*.  The same would appear to apply to
powerpc*-*-freebsd* (using rs6000/t-freebsd64), but I have not made
any changes there.  t-ppc64-fp is also used by AIX targets, but they
don't use soft-fp anyway so the changes are of no consequence to them.

The same principle of replacing softfp_wrap_start / softfp_wrap_end
with configure-time conditionals also applies to
softfp_exclude_libgcc2, which was intended for cases where soft-fp is
being used on hard-float multilibs and so it is desirable on those
multilibs for a few functions to come from libgcc2.c rather than
soft-fp (but the soft-fp versions would be more efficient on
soft-float multilibs).  Now we have hardfp.c and t-hardfp, those are
better to use in that case, to minimize the size of the bulk of the
functions that are only present for ABI compatibility and should never
be called by newly compiled code.

I intend followup patches to switch 32-bit hard-float multilibs to use
t-hardfp as far as possible (for all non-libgcc2.c operations for
classic hard float; for all except __unord* for e500v2; for all SFmode
operations except __unordsf2 for e500v1).  After that will come making
the soft-fp operations, in the remaining cases for which they are
built because they are actually needed for code compiled by current
GCC, into compat symbols when building for glibc 2.19 or later, so
that the glibc versions (with exception and rounding mode support) get
used instead (2.19 or later is needed for all the functions to be
exported from glibc as non-compat symbols).  In turn, that is required
before implementing TARGET_ATOMIC_ASSIGN_EXPAND_FENV for soft-float
and e500, as that can only be properly effective when GCC-compiled
code is actually interoperating correctly with the exception and
rounding mode state used by <fenv.h> functions.

Tested with no regressions with cross to powerpc64-linux-gnu (in
addition, verified that stripped libgcc_s.so.1 is identical before and
after the patch).

* config.host (powerpc*-*-linux*): Only use soft-fp for 32-bit
configurations.
* config/rs6000/t-ppc64-fp (softfp_wrap_start, softfp_wrap_end):
Remove variables.

From-SVN: r216564

9 years agoauto-profile.c: Change order of header files.
Dehao Chen [Wed, 22 Oct 2014 17:11:17 +0000 (17:11 +0000)]
auto-profile.c: Change order of header files.

gcc/ChangeLog:

2014-10-22  Dehao Chen  <dehao@google.com>

        * auto-profile.c: Change order of header files.

From-SVN: r216563

9 years agore PR tree-optimization/63530 (GCC generates incorrect aligned store on ARM after...
Guozhi Wei [Wed, 22 Oct 2014 15:56:59 +0000 (15:56 +0000)]
re PR tree-optimization/63530 (GCC generates incorrect aligned store on ARM after the loop is unrolled.)

PR tree-optimization/63530
tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): Set
pointer alignment according to DR_MISALIGNMENT.
gcc.dg/vect/pr63530.c: New testcase.

From-SVN: r216562

9 years agoReset global state ipa-icf.c:optimizer
David Malcolm [Wed, 22 Oct 2014 15:10:02 +0000 (15:10 +0000)]
Reset global state ipa-icf.c:optimizer

gcc/
* ipa-icf.c (ipa_icf_driver): Set optimizer to NULL when done.

From-SVN: r216561

9 years agocfgbuild.h: New.
Andrew MacLeod [Wed, 22 Oct 2014 14:26:56 +0000 (14:26 +0000)]
cfgbuild.h: New.

2014-10-22  Andrew MacLeod  <amacleod@redhat.com>

* cfgbuild.h: New.  Add prototypes for cfgbuild.c.
* cfgcleanup.h: New.  Add prototypes for cfgcleanup.c.
* cfgloopmanip.h: New.  Add prototypes for cfgloopmanip.c.
* dominance.h: New.  Add prototypes for dominance.c.
* cfgloop.h: Move some prototypes/enum to cfgloopmanip.h and include it.
* cfghooks.h: (struct profile_record) Relocate here.
Relocate 2 prototypes from basic-block.h.
* basic-block.h: Move prototypes and struct to new header files.
Include cfgbuild.h, cfgcleanup.h, and dominance.h.
* rtl.h: Move a few prototypes to new header files.
* cfgcleanup.c (merge_memattrs): Make static.
* genopinit.c (main): Add predict.h to list of includes.
* predict.h: Update prototype list to match predict.c.
* predict.c (maybe_hot_count_p): Export.
(cgraph_edge::maybe_hot_p): Move to cgraph.c.
(cgraph_node::optimize_for_size_p): Move to cgraph.h.
* cgraph.h (cgraph_node::optimize_for_size_p): Relocate here.
* cgraph.c (cgraph_edge::maybe_hot_p): Relocate here.
* profile.h: Adjust prototypes.
* ifcvt.h: New.  Relocate struct ce_if_block here.
* ifcvt.c: Include ifcvt.h.

* config/frv/frv.c: Include ifcvt.h.
* config/frv/frv-protos.h: Add 'struct' to ce_if_block * parameters.

From-SVN: r216559

9 years agolra.c (lra): Remove call to recog_init.
Richard Sandiford [Wed, 22 Oct 2014 12:03:00 +0000 (12:03 +0000)]
lra.c (lra): Remove call to recog_init.

gcc/
* lra.c (lra): Remove call to recog_init.
* config/i386/i386.md (preferred_for_speed): New attribute
(*float<SWI48:mode><MODEF:mode>2_sse): Override it instead of
"enabled".  Remove check for sched1.

gcc/testsuite/
* gcc.target/i386/conversion-2.c: New test.

From-SVN: r216557

9 years agorecog.h (recog_data_d): Remove enabled_alternatives.
Richard Sandiford [Wed, 22 Oct 2014 12:02:39 +0000 (12:02 +0000)]
recog.h (recog_data_d): Remove enabled_alternatives.

gcc/
* recog.h (recog_data_d): Remove enabled_alternatives.
* recog.c (extract_insn): Don't set it.
* reload.c (find_reloads): Call get_enabled_alternatives.

From-SVN: r216556