platform/upstream/linaro-gcc.git
8 years ago2015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
iverbin [Wed, 22 Jul 2015 17:19:31 +0000 (17:19 +0000)]
2015-07-22  Maxim Blumenthal  <maxim.blumenthal@intel.com>

PR libgomp/66950
* testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
(fib_ref): New function.
(fib): Correct corner cases in the recursion.
(main): Replace the non-simd loop with fib_ref call.
* testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
subroutine.
(fibonacci): Lower the parameter N to 30.  Correct accordingly check
for the last array element value.  Replace the non-simd loop with
fib_ref call.  Remove redundant b_ref array.  Remove the comparison
of the last array element with according Fibonacci sequence element.
(fib): Correct corner cases in the recursion.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226080 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * gcc.dg/vmx/unpack.c: Use dg-additional-options rather than
mpolacek [Wed, 22 Jul 2015 16:44:45 +0000 (16:44 +0000)]
* gcc.dg/vmx/unpack.c: Use dg-additional-options rather than
dg-options.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226078 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR driver/66737
ienkovich [Wed, 22 Jul 2015 16:24:28 +0000 (16:24 +0000)]
PR driver/66737
* config/i386/linux-common.h (MPX_SPEC): Use linker option
for 64bit target only.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226076 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * config/nvptx/nvptx.c: Expand some comments.
bernds [Wed, 22 Jul 2015 15:30:14 +0000 (15:30 +0000)]
* config/nvptx/nvptx.c: Expand some comments.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226075 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoFix r225926's iso_varying_string ICE regression
mikael [Wed, 22 Jul 2015 15:26:52 +0000 (15:26 +0000)]
Fix r225926's iso_varying_string ICE regression

PR fortran/61831
PR fortran/66929
gcc/fortran/
* trans-array.c (gfc_get_proc_ifc_for_expr): Use esym as procedure
symbol if available.
gcc/testsuite/
* gfortran.dg/generic_30.f90: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226074 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[Patch ARM/AArch64 obvious] Fix typo: Rename insn_reservation cortex_53_advsimd to...
jgreenhalgh [Wed, 22 Jul 2015 14:15:26 +0000 (14:15 +0000)]
[Patch ARM/AArch64 obvious] Fix typo: Rename insn_reservation cortex_53_advsimd to cortex_a53_advsimd

gcc/

* config/arm/cortex-a53 (cortex_53_advsimd): Rename to...
(cortex_a53_advsimd): ...This.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226069 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-07-22 Richard Biener <rguenther@suse.de>
rguenth [Wed, 22 Jul 2015 13:18:47 +0000 (13:18 +0000)]
2015-07-22  Richard Biener  <rguenther@suse.de>

* genmatch.c (expr::gen_transform): Clarify error message
and display location.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226068 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-07-22 Richard Biener <rguenther@suse.de>
rguenth [Wed, 22 Jul 2015 13:16:50 +0000 (13:16 +0000)]
2015-07-22  Richard Biener  <rguenther@suse.de>

* genmatch.c (struct operand): Add location member.
(predicate, expr, c_expr, capture, if_expr, with_expr): Adjust
constructors.
(struct simplify): Remove match_location and result_location
members.
(elsehwere): Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226067 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoAdd scheduling for M51xx core family.
rts [Wed, 22 Jul 2015 12:46:09 +0000 (12:46 +0000)]
Add scheduling for M51xx core family.

gcc/
* config/mips/m5100.md: New file.
* config/mips/mips-cpus.def (m5100, m5101): Define.
* config/mips/mips-tables.opt: Regenerate.
* config/mips/mips.c (mips_rtx_cost_data): Add costs for m5100.
* config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Map -march=m5100 and
-march=m5101 to -mips32r5.
(MIPS_ARCH_FLOAT_SPEC): Map -m5101 to -msoft-float.
(MIPS_ISA_NAN2008_SPEC): Map -march=m51* to -mnan=2008 if
!-msoft-float.
* config/mips/mips.md: Include m5100.md.
(processor): Add m5100.
* doc/invoke.texi (-march=@var{arch}): Add m5100, m5101.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226066 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoAdd -march=interaptiv.
rts [Wed, 22 Jul 2015 12:45:51 +0000 (12:45 +0000)]
Add -march=interaptiv.

gcc/
* config/mips/mips-cpus.def (interaptiv): Define.
* config/mips/mips-tables.opt: Regenerate.
* config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Map -march=interaptiv to
-mips32r2.
(BASE_DRIVER_SELF_SPECS): Likewise but map to -mdsp.
* doc/invoke.texi (-march=@var{arch}): Add interaptiv.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226065 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[AArch64] PR target/63521 Define REG_ALLOC_ORDER
jiwang [Wed, 22 Jul 2015 11:41:10 +0000 (11:41 +0000)]
[AArch64] PR target/63521 Define REG_ALLOC_ORDER

2015-07-22  Jiong Wang  <jiong.wang@arm.com>

gcc/
  PR target/63521
  * config/aarch64/aarch64.h (REG_ALLOC_ORDER): Define.
  (HONOR_REG_ALLOC_ORDER): Define.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226064 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-07-22 Chung-Lin Tang <cltang@codesourcery.com>
cltang [Wed, 22 Jul 2015 11:39:30 +0000 (11:39 +0000)]
2015-07-22  Chung-Lin Tang  <cltang@codesourcery.com>

libgcc/
* config/nios2/linux-atomic.c (<asm/unistd.h>): Remove #include.
(EFAULT,EBUSY,ENOSYS): Delete unused #defines.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226063 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-07-22 Richard Biener <rguenther@suse.de>
rguenth [Wed, 22 Jul 2015 11:31:50 +0000 (11:31 +0000)]
2015-07-22  Richard Biener  <rguenther@suse.de>

PR tree-optimization/66952
* tree-ssa-ifcombine.c (pass_tree_ifcombine::execute): For
blocks we end up executing unconditionally reset all SSA
info such as range and alignment.
* tree-ssanames.h (reset_flow_sensitive_info): Declare.
* tree-ssanames.c (reset_flow_sensitive_info): New function.

* gcc.dg/torture/pr66952.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226062 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-07-22 Charles Baylis <charles.baylis@linaro.org>
cbaylis [Wed, 22 Jul 2015 10:56:40 +0000 (10:56 +0000)]
2015-07-22  Charles Baylis  <charles.baylis@linaro.org>

* config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>): Fix
typo in attribute.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226061 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-07-22 Richard Biener <rguenther@suse.de>
rguenth [Wed, 22 Jul 2015 10:48:11 +0000 (10:48 +0000)]
2015-07-22  Richard Biener  <rguenther@suse.de>

* genmatch.c (parser::parse_result): Properly handle
match with result operands and conditions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226060 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agogcc/ChangeLog:
cbaylis [Wed, 22 Jul 2015 10:44:16 +0000 (10:44 +0000)]
gcc/ChangeLog:

2015-07-22  Charles Baylis  <charles.baylis@linaro.org>

PR target/63870
* config/aarch64/aarch64-builtins.c (enum aarch64_type_qualifiers):
Add qualifier_struct_load_store_lane_index.
(aarch64_types_loadstruct_lane_qualifiers): Use
qualifier_struct_load_store_lane_index for lane index argument for
last argument.
(aarch64_types_storestruct_lane_qualifiers): Ditto.
(builtin_simd_arg): Add SIMD_ARG_STRUCT_LOAD_STORE_LANE_INDEX.
(aarch64_simd_expand_args): Add new argument describing mode of
builtin. Check lane bounds for arguments with
SIMD_ARG_STRUCT_LOAD_STORE_LANE_INDEX.
(aarch64_simd_expand_builtin): Emit error for incorrect lane indices
if marked with SIMD_ARG_STRUCT_LOAD_STORE_LANE_INDEX.
(aarch64_simd_expand_builtin): Handle arguments with
qualifier_struct_load_store_lane_index. Pass machine mode of builtin to
aarch64_simd_expand_args.
* config/aarch64/aarch64-simd-builtins.def: Declare ld[234]_lane and
vst[234]_lane with BUILTIN_VALLDIF.
* config/aarch64/aarch64-simd.md:
(aarch64_vec_load_lanesoi_lane<mode>): Use VALLDIF iterator. Perform
endianness reversal on lane index.
(aarch64_vec_load_lanesci_lane<mode>): Ditto.
(aarch64_vec_load_lanesxi_lane<mode>): Ditto.
(vec_store_lanesoi_lane<mode>): Use VALLDIF iterator.
(vec_store_lanesci_lane<mode>): Ditto.
(vec_store_lanesxi_lane<mode>): Ditto.
(aarch64_ld2_lane<mode>): Use VALLDIF iterator. Remove endianness
reversal of lane index.
(aarch64_ld3_lane<mode>): Ditto.
(aarch64_ld4_lane<mode>): Ditto.
(aarch64_st2_lane<mode>): Ditto.
(aarch64_st3_lane<mode>): Ditto.
(aarch64_st4_lane<mode>): Ditto.
* config/aarch64/arm_neon.h (__LD2_LANE_FUNC): Rename mode parameter
to qmode. Add new mode parameter. Update uses.
        (__LD3_LANE_FUNC): Ditto.
(__LD4_LANE_FUNC): Ditto.
(__ST2_LANE_FUNC): Ditto.
(__ST3_LANE_FUNC): Ditto.
(__ST4_LANE_FUNC): Ditto.

gcc/testsuite/ChangeLog:

2015-07-22  Charles Baylis  <charles.baylis@linaro.org>

        * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_f32_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_f64_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_p8_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_s16_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_s32_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_s64_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_s8_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_u16_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_u32_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_u64_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_u8_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_f32_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_f64_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_p8_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_s16_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_s32_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_s64_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_s8_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_u16_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_u32_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_u64_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_u8_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_f32_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_f64_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_p8_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_s16_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_s32_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_s64_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_s8_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_u16_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_u32_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_u64_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_u8_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_f32_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_f64_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_p8_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_s16_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_s32_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_s64_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_s8_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_u16_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_u32_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_u64_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_u8_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_f32_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_f64_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_p8_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_s16_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_s32_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_s64_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_s8_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_u16_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_u32_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_u64_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_u8_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_f32_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_f64_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_p8_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_s16_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_s32_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_s64_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_s8_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_u16_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_u32_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_u64_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_u8_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_f32_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_f64_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_p8_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_s16_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_s32_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_s64_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_s8_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_u16_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_u32_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_u64_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_u8_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_f32_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_f64_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_p8_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_s16_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_s32_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_s64_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_s8_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_u16_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_u32_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_u64_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_u8_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_f32_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_f64_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_p8_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_s16_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_s32_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_s64_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_s8_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_u16_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_u32_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_u64_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_u8_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_f32_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_f64_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_p8_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_s16_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_s32_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_s64_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_s8_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_u16_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_u32_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_u64_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_u8_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_f32_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_f64_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_p8_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_s16_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_s32_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_s64_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_s8_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_u16_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_u32_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_u64_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_u8_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_f32_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_f64_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_p8_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_s16_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_s32_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_s64_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_s8_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_u16_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_u32_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_u64_indices_1.c: New
test.
        * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_u8_indices_1.c: New
test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226059 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * doc/invoke.texi (Language Independent Options): Rename node to
redi [Wed, 22 Jul 2015 09:00:16 +0000 (09:00 +0000)]
* doc/invoke.texi (Language Independent Options): Rename node to
Diagnostic Message Formatting Options.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226058 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Wed, 22 Jul 2015 00:16:13 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226057 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago/cp
paolo [Tue, 21 Jul 2015 20:51:28 +0000 (20:51 +0000)]
/cp
2015-07-21  Paolo Carlini  <paolo.carlini@oracle.com>

* decl.c (grokdeclarator): For an erroneous template parameter
propagate error_mark_node as type.

/testsuite
2015-07-21  Paolo Carlini  <paolo.carlini@oracle.com>

* g++.dg/template/crash81.C: Update.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226054 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-07-21 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Tue, 21 Jul 2015 19:54:23 +0000 (19:54 +0000)]
2015-07-21  Vladimir Makarov  <vmakarov@redhat.com>

PR ipa/66424.
* lra-remat.c (operand_to_remat): Prevent using insns with input
subregs processed separately by IRA.

2015-07-21  Vladimir Makarov  <vmakarov@redhat.com>

PR ipa/66424.
* gcc.target/i386/pr66424.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226053 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-07-21 Andrew MacLeod <amacleod@redhat.com>
amacleod [Tue, 21 Jul 2015 19:15:13 +0000 (19:15 +0000)]
2015-07-21  Andrew MacLeod  <amacleod@redhat.com>

* ssa-iterators.h (has_zero_uses, has_single_use): Implement as
straight loops.
(single_imm_use): Check for iterator node.
(num_imm_uses): Likewise.
* tree-ssa-operands.c (has_zero_uses_1): Delete.
(single_imm_use_1): Check for iterator node.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226051 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * configure.ac: Add check for new options in isl-0.15.
law [Tue, 21 Jul 2015 18:33:35 +0000 (18:33 +0000)]
* configure.ac: Add check for new options in isl-0.15.
* config.in, configure: Rebuilt.
* graphite-blocking.c: Include <isl/constraint.h>
* graphite-interchange.c,  graphite-poly.c: Likewise.
* graphhite-scop-detection.c, graphite-sese-to-poly.c: Likewise.
* graphite.c: Likewise.
* graphite-isl-ast-to-gimple.c: Include <isl/constraint.h> and
<isl/union_set.h>.
* graphite-dependences.c: Include <isl/constraint.h>.
(max_number_of_out_dimensions): Returns isl_stat.
(extend_schedule_1): Likewise
(extend_schedule): Corresponding changes.
* graphite-optimize-isl.c: Include <isl/constraint.h> and
<isl/union_set.h>.
(getSingleMap): Change return type of isl_stat.
(optimize_isl): Conditionally use
isl_options_set_schedule_serialize_sccs.
* graphite-poly.h (isl_stat, isl_stat_ok): Define fallbacks
if not HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226050 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR target/66956
gjl [Tue, 21 Jul 2015 17:25:48 +0000 (17:25 +0000)]
PR target/66956
* config/avr/avr-dimode.md (<extend_u>mulsidi3_insn)
(<extend_u>mulsidi3): Don't use if !AVR_HAVE_MUL.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226046 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-07-21 Alex Velenko <Alex.Velenko@arm.com>
avelenko [Tue, 21 Jul 2015 14:29:08 +0000 (14:29 +0000)]
2015-07-21  Alex Velenko  <Alex.Velenko@arm.com>

* gcc.target/arm/thumb-bitfld1.c (foo): Add explicit return type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226043 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-07-21 Richard Biener <rguenther@suse.de>
rguenth [Tue, 21 Jul 2015 14:03:57 +0000 (14:03 +0000)]
2015-07-21  Richard Biener  <rguenther@suse.de>

PR tree-optimization/66948
* genmatch.c (capture_info::walk_match): Also recurse to
captures.  Properly compute expr state from captures of
captures.
* match.pd: Add single-use guards to
(X & C2) >> C1 into (X >> C1) & (C2 >> C1) transform.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226041 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago libgomp/
nathan [Tue, 21 Jul 2015 13:30:06 +0000 (13:30 +0000)]
libgomp/
* target.c (gomp_offload_image_to_device): Rename to ...
(gomp_load_image_to_device): ... here.
(GOMP_offload_register): Adjust call.
(gomp_init_device): Likewise.
(gomp_unload_image_from_device): New.  Broken out of ...
(GOMP_offload_unregister): ... here.  Call it.
(gomp_unload_device): New.
* libgomp.h (gomp_unload_device): Declare.
* oacc-init.c (acc_shutdown_1): Unload from device before deleting
mem maps.

gcc/
* config/nvptx/mkoffload.c (process): Add static destructor call.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226039 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoFix r225926's broken testcase
mikael [Tue, 21 Jul 2015 11:33:15 +0000 (11:33 +0000)]
Fix r225926's broken testcase

gcc/testsuite/
PR fortran/61831
* gfortran.dg/derived_constructor_comps_6.f90: Fix dg directive.
Drop address sanitization.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226038 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-07-21 Alex Velenko <Alex.Velenko@arm.com>
avelenko [Tue, 21 Jul 2015 10:33:42 +0000 (10:33 +0000)]
2015-07-21  Alex Velenko  <Alex.Velenko@arm.com>
gcc/testsuite/
        * gcc.target/arm/split-live-ranges-for-shrink-wrap.c (dg-skip-if):
Skip -march=armv4t.
        (dg-additional-options): Set armv5t flag.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226036 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoFix ChangeLog of r225926 (PR fortran/61831)
mikael [Tue, 21 Jul 2015 10:03:00 +0000 (10:03 +0000)]
Fix ChangeLog of r225926 (PR fortran/61831)

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226033 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * gcc.dg/vmx/unpack-be-order.c: Use -Wno-shift-overflow.
mpolacek [Tue, 21 Jul 2015 10:01:53 +0000 (10:01 +0000)]
* gcc.dg/vmx/unpack-be-order.c: Use -Wno-shift-overflow.
* gcc.dg/vmx/unpack.c: Likewise.
* gcc.target/powerpc/quad-atomic.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226032 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[match.pd] PR middle-end/66915 Restrict A - B -> A + (-B) to non-fixed-point types
ktkachov [Tue, 21 Jul 2015 08:26:32 +0000 (08:26 +0000)]
[match.pd] PR middle-end/66915 Restrict A - B -> A + (-B) to non-fixed-point types

PR middle-end/66915
* match.pd (A - B -> A + (-B)): Don't allow folding
when type if a fixed-point type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226028 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Tue, 21 Jul 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226026 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago* config/rl78/rl78-real.md (andqi3_real): Expand operands for clr1.
dj [Mon, 20 Jul 2015 23:21:43 +0000 (23:21 +0000)]
* config/rl78/rl78-real.md (andqi3_real): Expand operands for clr1.
(iorqi3_real): Likewise for set1.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226023 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * include/bits/c++config: Fix abi_tag in special modes.
jason [Mon, 20 Jul 2015 22:39:54 +0000 (22:39 +0000)]
* include/bits/c++config: Fix abi_tag in special modes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226022 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/i386/i386.c (ix86_md_asm_adjust): Handle DImode dest_mode
uros [Mon, 20 Jul 2015 18:52:12 +0000 (18:52 +0000)]
* config/i386/i386.c (ix86_md_asm_adjust): Handle DImode dest_mode
for !TARGET_64BIT.

testsuite/ChangeLog:

* gcc.target/i386/asm-flag-5.c (f_ll): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226017 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoadd missing changelog
spop [Mon, 20 Jul 2015 18:05:16 +0000 (18:05 +0000)]
add missing changelog

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226015 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoRefactor graphite-isl-ast-to-gimple.c
spop [Mon, 20 Jul 2015 18:02:49 +0000 (18:02 +0000)]
Refactor graphite-isl-ast-to-gimple.c

Refactor graphite-isl-ast-to-gimple.c:
Refactor so that each function can access 'region'. This will help
maintain a parameter rename_map within a region. No functional change intended.
This patch will be followed by another set of patches
where translate_isl_ast_to_gimple::region is used to keep parameters which need
renaming. Since we are planning to remove limit_scops, we now have to maintain a
set of parameters which needs renaming. This refactoring helps avoid passing
`region' to all the functions in this file.

It passes bootstrap and regtest.

gcc/ChangeLog:

2015-07-19  Aditya Kumar  <hiraditya@msn.com>

        * graphite-isl-ast-to-gimple.c:
Refactor so that each function can access 'region'. This will help
maintain a parameter rename_map within a region.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226014 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoMissed a difference between gomp4 and trunk
nathan [Mon, 20 Jul 2015 17:38:49 +0000 (17:38 +0000)]
Missed a difference between gomp4 and trunk

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226012 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * oacc-parallel.c (GOACC_parallel): Move variadic handling into
nathan [Mon, 20 Jul 2015 17:31:46 +0000 (17:31 +0000)]
* oacc-parallel.c (GOACC_parallel): Move variadic handling into
wait=-specific if.
(GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
!=0 condition.
(goacc_waits): Move !num_waits handling to ...
(GOACC_wait): ... here, the only caller that might have zero waits.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226011 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago compiler: Create dummy labels for blank labels.
ian [Mon, 20 Jul 2015 17:25:24 +0000 (17:25 +0000)]
compiler: Create dummy labels for blank labels.

    Fixes golang/go#11591.

    Reviewed-on: https://go-review.googlesource.com/12043

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226009 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago compiler: Remove unnecessary check for GCC-specific issue.
ian [Mon, 20 Jul 2015 16:47:24 +0000 (16:47 +0000)]
compiler: Remove unnecessary check for GCC-specific issue.

    Reviewed-on: https://go-review.googlesource.com/11800

    compiler: remove name of unused parameter to avoid warning

    Reviewed-on: https://go-review.googlesource.com/12367

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226007 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/rs6000/rs6000.md (*lt0_disi): New.
segher [Mon, 20 Jul 2015 16:32:55 +0000 (16:32 +0000)]
* config/rs6000/rs6000.md (*lt0_disi): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226006 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR target/66217
segher [Mon, 20 Jul 2015 16:30:56 +0000 (16:30 +0000)]
PR target/66217
* config/rs6000/constraints.md ("S", "T", "t"): Delete.  Update
"available letters" comment.
* config/rs6000/predicates.md (mask_operand, mask_operand_wrap,
mask64_operand, mask64_2_operand, any_mask_operand, and64_2_operand,
and_2rld_operand):  Delete.
(and_operand): Adjust.
(rotate_mask_operator): New.
* config/rs6000/rs6000-protos.h (build_mask64_2_operands,
includes_lshift_p, includes_rshift_p, includes_rldic_lshift_p,
includes_rldicr_lshift_p, insvdi_rshift_rlwimi_p, extract_MB,
extract_ME): Delete.
(rs6000_is_valid_mask, rs6000_is_valid_and_mask,
rs6000_is_valid_shift_mask, rs6000_is_valid_insert_mask,
rs6000_insn_for_and_mask, rs6000_insn_for_shift_mask,
rs6000_insn_for_insert_mask, rs6000_is_valid_2insn_and,
rs6000_emit_2insn_and): New.
* config/rs6000/rs6000.c (num_insns_constant): Adjust.
(build_mask64_2_operands, includes_lshift_p, includes_rshift_p,
includes_rldic_lshift_p, includes_rldicr_lshift_p,
insvdi_rshift_rlwimi_p, extract_MB, extract_ME): Delete.
(rs6000_is_valid_mask, rs6000_is_valid_and_mask,
rs6000_insn_for_and_mask, rs6000_is_valid_shift_mask,
s6000_insn_for_shift_mask, rs6000_is_valid_insert_mask,
rs6000_insn_for_insert_mask, rs6000_is_valid_2insn_and,
rs6000_emit_2insn_and): New.
(print_operand) <'b', 'B', 'm', 'M', 's', 'S', 'W'>: Delete.
(rs6000_rtx_costs) <CONST_INT>: Delete mask_operand and mask64_operand
handling.
<NOT>: Don't fall through to next case.
<AND>: Handle the various rotate-and-mask cases directly.
<IOR>: Always cost as one insn.
* config/rs6000/rs6000.md (splitter for bswap:SI): Adjust.
(and<mode>3): Adjust expander for the new patterns.
(and<mode>3_imm, and<mode>3_imm_dot, and<mode>3_imm_dot2,
and<mode>3_imm_mask_dot, and<mode>3_imm_mask_dot2): Adjust condition.
(*and<mode>3_imm_dot_shifted): New.
(*and<mode>3_mask): Delete, rewrite as ...
(and<mode>3_mask): ... New.
(*and<mode>3_mask_dot, *and<mode>3_mask_dot): Rewrite.
(andsi3_internal0_nomc): Delete.
(*andsi3_internal6): Delete.
(*and<mode>3_2insn): New.
(insv, insvsi_internal, *insvsi_internal1, *insvsi_internal2,
*insvsi_internal3, *insvsi_internal4, *insvsi_internal5,
*insvsi_internal6, insvdi_internal, *insvdi_internal2,
*insvdi_internal3): Delete.
(*rotl<mode>3_mask, *rotl<mode>3_mask_dot, *rotl<mode>3_mask_dot2,
*rotl<mode>3_insert, *rotl<mode>3_insert_2, *rotl<mode>3_insert_3,
*rotl<mode>3_insert_4, two splitters for multi-precision shifts,
*ior<mode>_mask): New.
(extzv, extzvdi_internal, *extzvdi_internal1, *extzvdi_internal2,
*rotlsi3_mask, *rotlsi3_mask_dot, *rotlsi3_mask_dot2,
*ashlsi3_imm_mask, *ashlsi3_imm_mask_dot, *ashlsi3_imm_mask_dot2,
*lshrsi3_imm_mask, *lshrsi3_imm_mask_dot, *lshrsi3_imm_mask_dot2):
Delete.
(ashr<mode>3): Delete expander.
(*ashr<mode>3): Rename to ...
(ashr<mode>3): ... This.
(ashrdi3_no_power, *ashrdisi3_noppc64be): Delete.
(*rotldi3_internal4, *rotldi3_internal5 and split,
*rotldi3_internal6 and split, *ashldi3_internal4, ashldi3_internal5
and split, *ashldi3_internal6 and split, *ashldi3_internal7,
ashldi3_internal8 and split, *ashldi3_internal9 and split): Delete.
(*anddi3_2rld, *anddi3_2rld_dot, *anddi3_2rld_dot2): Delete.
(splitter for loading a mask): Adjust.
* doc/md.texi (Machine Constraints): Remove q, S, T, t constraints.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226005 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
nathan [Mon, 20 Jul 2015 16:17:57 +0000 (16:17 +0000)]
* plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
(struct ptx_image_data): Move earlier, add fns field.
(struct ptx_device): Add images and image_lock fields.
(ptx_images, ptx_image_lock): Delete.
(nvptx_open_device): Initialize images and image_lock fields.
(nvptx_close_device): Destroy image_lock.
(GOMP_OFFLOAD_load_image): Register image to device-specific fields.
(GOMP_OFFLOAD_unload_image): Unregister image from device-specific
fields.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226004 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * genemit.c (print_code, gen_exp, gen_insn, gen_expand, gen_split,
mpolacek [Mon, 20 Jul 2015 15:57:19 +0000 (15:57 +0000)]
* genemit.c (print_code, gen_exp, gen_insn, gen_expand, gen_split,
output_add_clobbers, output_added_clobbers_hard_reg_p,
gen_rtx_scratch): Remove declarations.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226003 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[AArch64][testcase] Restrict got_mem_hoist_1.c with small memory model
jiwang [Mon, 20 Jul 2015 14:33:49 +0000 (14:33 +0000)]
[AArch64][testcase] Restrict got_mem_hoist_1.c with small memory model

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225999 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/55095
mpolacek [Mon, 20 Jul 2015 13:43:45 +0000 (13:43 +0000)]
PR c++/55095
* c-common.c (c_fully_fold_internal): Warn about left shift overflows.
Use EXPR_LOC_OR_LOC.
(maybe_warn_shift_overflow): New function.
* c-common.h (maybe_warn_shift_overflow): Declare.
* c-opts.c (c_common_post_options): Set warn_shift_overflow.
* c.opt (Wshift-overflow): New option.

* c-typeck.c (digest_init): Pass OPT_Wpedantic to pedwarn_init.
(build_binary_op): Warn about left shift overflows.

* typeck.c (cp_build_binary_op): Warn about left shift overflows.

* doc/invoke.texi: Document -Wshift-overflow and -Wshift-overflow=.

* c-c++-common/Wshift-overflow-1.c: New test.
* c-c++-common/Wshift-overflow-2.c: New test.
* c-c++-common/Wshift-overflow-3.c: New test.
* c-c++-common/Wshift-overflow-4.c: New test.
* c-c++-common/Wshift-overflow-5.c: New test.
* g++.dg/cpp1y/left-shift-1.C: New test.
* gcc.dg/c90-left-shift-2.c: New test.
* gcc.dg/c90-left-shift-3.c: New test.
* gcc.dg/c99-left-shift-2.c: New test.
* gcc.dg/c99-left-shift-3.c: New test.
* gcc.dg/pr40501.c: Use -Wno-shift-overflow.
* gcc.c-torture/execute/pr40386.c: Likewise.
* gcc.dg/vect/pr33373.c: Likewise.
* gcc.dg/vect/vect-shift-2-big-array.c: Likewise.
* gcc.dg/vect/vect-shift-2.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225998 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[simplify-rtx][2/2] Simplify - (y ? -x : x) -> (!y ? -x : x)
ktkachov [Mon, 20 Jul 2015 12:51:45 +0000 (12:51 +0000)]
[simplify-rtx][2/2] Simplify - (y ? -x : x) -> (!y ? -x : x)

* simplify-rtx.c (simplify_unary_operation_1, NEG case):
(neg (x ? (neg y) : y)) -> !x ? (neg y) : y.

* gcc.target/aarch64/neg_abs_1.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225997 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[PATCH][combine][1/2] Try to simplify before substituting
ktkachov [Mon, 20 Jul 2015 12:49:36 +0000 (12:49 +0000)]
[PATCH][combine][1/2] Try to simplify before substituting

* combine.c (combine_simplify_rtx): Move simplification step
before various transformations/substitutions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225996 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoFix partial specialization syntax of wide int traits.
miyuki [Mon, 20 Jul 2015 05:30:12 +0000 (05:30 +0000)]
Fix partial specialization syntax of wide int traits.

gcc/
* wide-int.h (struct binary_traits): Fix partial specialization syntax.
(struct int_traits): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225993 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Mon, 20 Jul 2015 00:16:15 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225992 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * doc/xml/manual/status_cxx2017.xml: Fix URL for N4279.
redi [Sun, 19 Jul 2015 18:32:35 +0000 (18:32 +0000)]
* doc/xml/manual/status_cxx2017.xml: Fix URL for N4279.
* doc/html/manual/status.html: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225988 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Sun, 19 Jul 2015 00:16:18 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225987 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agofix compilation of vmsdbgout.c
tbsaunde [Sat, 18 Jul 2015 21:09:04 +0000 (21:09 +0000)]
fix compilation of vmsdbgout.c

The debug-early branch renamed vmsdbgout_decl to
vmsdbgout_function_decl, but didn't update its prototype.

gcc/ChangeLog:

2015-07-18  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* vmsdbgout.c (vmsdbgout_decl): Change name of prototyped
function to vmsdbgout_function_decl.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225983 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR target/66922
uros [Sat, 18 Jul 2015 09:50:37 +0000 (09:50 +0000)]
PR target/66922
* config/i386/i386.c (ix86_expand_pextr): Reject extractions
from misaligned positions.
(ix86_expand_pinsr): Reject insertions to misaligned positions.

testsuite/ChangeLog:

PR target/66922
* gcc.target/i386/pr66922.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225980 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agofix pr46851 and pr60340: remove unmaintained omega dependence test
spop [Sat, 18 Jul 2015 01:11:05 +0000 (01:11 +0000)]
fix pr46851 and pr60340: remove unmaintained omega dependence test

Regstrapped on amd64-linux.

2015-07-18  Sebastian Pop  <s.pop@samsung.com>

PR middle-end/46851
PR middle-end/60340
* Makefile.in: Removed omega.o.
* common.opt: Remove flag fcheck-data-deps.
* doc/invoke.texi: Remove documentation for fcheck-data-deps and
its associated params: omega-max-vars, omega-max-geqs,
omega-max-eqs, omega-max-wild-cards, omega-hash-table-size,
omega-max-keys, omega-eliminate-redundant-constraints.
* doc/loop.texi: Remove all the section on Omega.
* graphite-blocking.c: Include missing params.h: it used to be
included through tree-data-ref.h and omega.h.
* graphite-isl-ast-to-gimple.c: Same.
* graphite-optimize-isl.c: Same.
* graphite-sese-to-poly.c: Same.
* graphite.c: Same.
* omega.c: Remove.
* omega.h: Remove.
* params.def: Removed PARAM_OMEGA_MAX_VARS, PARAM_OMEGA_MAX_GEQS,
PARAM_OMEGA_MAX_EQS, PARAM_OMEGA_MAX_WILD_CARDS,
PARAM_OMEGA_HASH_TABLE_SIZE, PARAM_OMEGA_MAX_KEYS, and
PARAM_OMEGA_ELIMINATE_REDUNDANT_CONSTRAINTS.
* passes.def: Remove pass_check_data_deps.
* tree-data-ref.c (dump_affine_function): Declare DEBUG_FUNCTION.
(dump_conflict_function): Same.
(dump_subscript): Same.
(print_direction_vector): Same.
(print_dir_vectors): Same.
(print_lambda_vector): Same.
(print_dist_vectors): Same.
(dump_data_dependence_relation): Same.
(dump_data_dependence_relations): Same.
(dump_dist_dir_vectors): Same.
(dump_ddrs): Same.
(init_omega_eq_with_af): Removed.
(omega_extract_distance_vectors): Removed.
(omega_setup_subscript): Removed.
(init_omega_for_ddr_1): Removed.
(init_omega_for_ddr): Removed.
(ddr_consistent_p): Removed.
(compute_affine_dependence): Do not use omega to check data
dependences.
(compute_data_dependences_for_bb): Removed.
(analyze_all_data_dependences): Removed.
(tree_check_data_deps): Removed.
* tree-data-ref.h: Do not include omega.h.
(compute_data_dependences_for_bb): Removed.
(tree_check_data_deps): Removed.
* tree-ssa-loop.c (pass_check_data_deps): Removed.
(make_pass_check_data_deps): Removed.
* tree-ssa-phiopt.c: Include params.h.
* tree-vect-data-refs.c: Same.
* tree-vect-slp.c: Same.

testsuite/
* gcc.dg/tree-ssa/pr42327.c: Removed.
* g++.dg/other/pr35011.C: Removed.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225979 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Sat, 18 Jul 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225978 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/i386/i386.md (pushsf splitter): Pass curr_insn to
uros [Fri, 17 Jul 2015 23:41:11 +0000 (23:41 +0000)]
* config/i386/i386.md (pushsf splitter): Pass curr_insn to
find_constant_src.  FAIL if find_constant_src returns NULL_RTX.
(mem->fpreg splitters): Ditto.
(general_operand->nonimmediate_operand splitter): Use explicit modes.
Disable DFmode for TARGET_64BIT.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225975 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoReplicate static chain on the stack
hjl [Fri, 17 Jul 2015 23:02:25 +0000 (23:02 +0000)]
Replicate static chain on the stack

If we put static chain on the stack, we need to replicate it on the stack
when stack is realigned with DRAP so that static chain can be reached via
(argp - 2) slot.

gcc/

PR target/66906
* config/i386/i386.c (ix86_expand_prologue): Replicate static
chain on the stack.

gcc/testsuite/

PR target/66906
* gcc.target/i386/pr66906.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225974 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoAdd missing ChangeLog entries
hjl [Fri, 17 Jul 2015 22:57:35 +0000 (22:57 +0000)]
Add missing ChangeLog entries

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225973 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/testsuite/
mikael [Fri, 17 Jul 2015 20:02:38 +0000 (20:02 +0000)]
gcc/testsuite/
* gfortran.dg/coarray_collectives_16.f90: Fix pattern
as follow-up to r225930.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225965 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-07-17 Paul Thomas <pault@gcc.gnu.org>
pault [Fri, 17 Jul 2015 17:32:09 +0000 (17:32 +0000)]
2015-07-17  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/52846
* decl.c (gfc_match_end): Pick out declared submodule name from
the composite identifier.
* gfortran.h : Add 'submodule_name' to gfc_use_list structure.
* module.c (gfc_match_submodule): Define submodule_name and add
static 'submodule_name'.
(gfc_match_submodule): Build up submodule filenames, using '@'
as a delimiter. Store the output filename in 'submodule_name'.
Similarly, the submodule identifier is built using '.' as an
identifier.
(gfc_dump_module): If current state is COMP_SUBMODULE, write
to file 'submodule_name', using SUBMODULE_EXTENSION.
(gfc_use_module): Similarly, use the 'submodule_name' field in
the gfc_use_list structure and SUBMODULE_EXTENSION to read the
implicitly used submodule files.

2015-07-17  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/52846
* lib/fortran-modules.exp (proc cleanup-submodules): New
procedure.
* gfortran.dg/submodule_1.f08: Change extension and clean up
the submodule files.
* gfortran.dg/submodule_2.f08: ditto
* gfortran.dg/submodule_6.f08: ditto
* gfortran.dg/submodule_7.f08: ditto
* gfortran.dg/submodule_8.f08: New test
* gfortran.dg/submodule_9.f08: New test

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225958 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-07-17 Paul Thomas <pault@gcc.gnu.org>
pault [Fri, 17 Jul 2015 17:27:42 +0000 (17:27 +0000)]
2015-07-17  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/52846
* decl.c (gfc_match_end): Pick out declared submodule name from
the composite identifier.
* gfortran.h : Add 'submodule_name' to gfc_use_list structure.
* module.c (gfc_match_submodule): Define submodule_name and add
static 'submodule_name'.
(gfc_match_submodule): Build up submodule filenames, using '@'
as a delimiter. Store the output filename in 'submodule_name'.
Similarly, the submodule identifier is built using '.' as an
identifier.
(gfc_dump_module): If current state is COMP_SUBMODULE, write
to file 'submodule_name', using SUBMODULE_EXTENSION.
(gfc_use_module): Similarly, use the 'submodule_name' field in
the gfc_use_list structure and SUBMODULE_EXTENSION to read the
implicitly used submodule files.

2015-07-17  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/52846
* lib/fortran-modules.exp (proc cleanup-submodules): New
procedure.
* gfortran.dg/submodule_1.f08: Change extension and clean up
the submodule files.
* gfortran.dg/submodule_2.f08: ditto
* gfortran.dg/submodule_6.f08: ditto
* gfortran.dg/submodule_7.f08: ditto
* gfortran.dg/submodule_8.f08: New test
* gfortran.dg/submodule_9.f08: New test

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225957 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-07-17 Paul Thomas <pault@gcc.gnu.org>
pault [Fri, 17 Jul 2015 17:26:42 +0000 (17:26 +0000)]
2015-07-17  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/52846
* decl.c (gfc_match_end): Pick out declared submodule name from
the composite identifier.
* gfortran.h : Add 'submodule_name' to gfc_use_list structure.
* module.c (gfc_match_submodule): Define submodule_name and add
static 'submodule_name'.
(gfc_match_submodule): Build up submodule filenames, using '@'
as a delimiter. Store the output filename in 'submodule_name'.
Similarly, the submodule identifier is built using '.' as an
identifier.
(gfc_dump_module): If current state is COMP_SUBMODULE, write
to file 'submodule_name', using SUBMODULE_EXTENSION.
(gfc_use_module): Similarly, use the 'submodule_name' field in
the gfc_use_list structure and SUBMODULE_EXTENSION to read the
implicitly used submodule files.

2015-07-17  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/52846
* lib/fortran-modules.exp (proc cleanup-submodules): New
procedure.
* gfortran.dg/submodule_1.f08: Change extension and clean up
the submodule files.
* gfortran.dg/submodule_2.f08: ditto
* gfortran.dg/submodule_6.f08: ditto
* gfortran.dg/submodule_7.f08: ditto
* gfortran.dg/submodule_8.f08: New test
* gfortran.dg/submodule_9.f08: New test

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225956 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-07-17 Paul Thomas <pault@gcc.gnu.org>
pault [Fri, 17 Jul 2015 17:26:12 +0000 (17:26 +0000)]
2015-07-17  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/52846
* decl.c (gfc_match_end): Pick out declared submodule name from
the composite identifier.
* gfortran.h : Add 'submodule_name' to gfc_use_list structure.
* module.c (gfc_match_submodule): Define submodule_name and add
static 'submodule_name'.
(gfc_match_submodule): Build up submodule filenames, using '@'
as a delimiter. Store the output filename in 'submodule_name'.
Similarly, the submodule identifier is built using '.' as an
identifier.
(gfc_dump_module): If current state is COMP_SUBMODULE, write
to file 'submodule_name', using SUBMODULE_EXTENSION.
(gfc_use_module): Similarly, use the 'submodule_name' field in
the gfc_use_list structure and SUBMODULE_EXTENSION to read the
implicitly used submodule files.

2015-07-17  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/52846
* lib/fortran-modules.exp (proc cleanup-submodules): New
procedure.
* gfortran.dg/submodule_1.f08: Change extension and clean up
the submodule files.
* gfortran.dg/submodule_2.f08: ditto
* gfortran.dg/submodule_6.f08: ditto
* gfortran.dg/submodule_7.f08: ditto
* gfortran.dg/submodule_8.f08: New test
* gfortran.dg/submodule_9.f08: New test

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225955 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-07-17 Paul Thomas <pault@gcc.gnu.org>
pault [Fri, 17 Jul 2015 17:25:55 +0000 (17:25 +0000)]
2015-07-17  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/52846
* decl.c (gfc_match_end): Pick out declared submodule name from
the composite identifier.
* gfortran.h : Add 'submodule_name' to gfc_use_list structure.
* module.c (gfc_match_submodule): Define submodule_name and add
static 'submodule_name'.
(gfc_match_submodule): Build up submodule filenames, using '@'
as a delimiter. Store the output filename in 'submodule_name'.
Similarly, the submodule identifier is built using '.' as an
identifier.
(gfc_dump_module): If current state is COMP_SUBMODULE, write
to file 'submodule_name', using SUBMODULE_EXTENSION.
(gfc_use_module): Similarly, use the 'submodule_name' field in
the gfc_use_list structure and SUBMODULE_EXTENSION to read the
implicitly used submodule files.

2015-07-17  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/52846
* lib/fortran-modules.exp (proc cleanup-submodules): New
procedure.
* gfortran.dg/submodule_1.f08: Change extension and clean up
the submodule files.
* gfortran.dg/submodule_2.f08: ditto
* gfortran.dg/submodule_6.f08: ditto
* gfortran.dg/submodule_7.f08: ditto
* gfortran.dg/submodule_8.f08: New test
* gfortran.dg/submodule_9.f08: New test

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225953 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-07-17 Paul Thomas <pault@gcc.gnu.org>
pault [Fri, 17 Jul 2015 17:25:04 +0000 (17:25 +0000)]
2015-07-17  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/52846
* decl.c (gfc_match_end): Pick out declared submodule name from
the composite identifier.
* gfortran.h : Add 'submodule_name' to gfc_use_list structure.
* module.c (gfc_match_submodule): Define submodule_name and add
static 'submodule_name'.
(gfc_match_submodule): Build up submodule filenames, using '@'
as a delimiter. Store the output filename in 'submodule_name'.
Similarly, the submodule identifier is built using '.' as an
identifier.
(gfc_dump_module): If current state is COMP_SUBMODULE, write
to file 'submodule_name', using SUBMODULE_EXTENSION.
(gfc_use_module): Similarly, use the 'submodule_name' field in
the gfc_use_list structure and SUBMODULE_EXTENSION to read the
implicitly used submodule files.

2015-07-17  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/52846
* lib/fortran-modules.exp (proc cleanup-submodules): New
procedure.
* gfortran.dg/submodule_1.f08: Change extension and clean up
the submodule files.
* gfortran.dg/submodule_2.f08: ditto
* gfortran.dg/submodule_6.f08: ditto
* gfortran.dg/submodule_7.f08: ditto
* gfortran.dg/submodule_8.f08: New test
* gfortran.dg/submodule_9.f08: New test

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225948 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-07-17 Paul Thomas <pault@gcc.gnu.org>
pault [Fri, 17 Jul 2015 17:24:49 +0000 (17:24 +0000)]
2015-07-17  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/52846
* decl.c (gfc_match_end): Pick out declared submodule name from
the composite identifier.
* gfortran.h : Add 'submodule_name' to gfc_use_list structure.
* module.c (gfc_match_submodule): Define submodule_name and add
static 'submodule_name'.
(gfc_match_submodule): Build up submodule filenames, using '@'
as a delimiter. Store the output filename in 'submodule_name'.
Similarly, the submodule identifier is built using '.' as an
identifier.
(gfc_dump_module): If current state is COMP_SUBMODULE, write
to file 'submodule_name', using SUBMODULE_EXTENSION.
(gfc_use_module): Similarly, use the 'submodule_name' field in
the gfc_use_list structure and SUBMODULE_EXTENSION to read the
implicitly used submodule files.

2015-07-17  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/52846
* lib/fortran-modules.exp (proc cleanup-submodules): New
procedure.
* gfortran.dg/submodule_1.f08: Change extension and clean up
the submodule files.
* gfortran.dg/submodule_2.f08: ditto
* gfortran.dg/submodule_6.f08: ditto
* gfortran.dg/submodule_7.f08: ditto
* gfortran.dg/submodule_8.f08: New test
* gfortran.dg/submodule_9.f08: New test

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225947 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-07-17 Paul Thomas <pault@gcc.gnu.org>
pault [Fri, 17 Jul 2015 17:24:32 +0000 (17:24 +0000)]
2015-07-17  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/52846
* decl.c (gfc_match_end): Pick out declared submodule name from
the composite identifier.
* gfortran.h : Add 'submodule_name' to gfc_use_list structure.
* module.c (gfc_match_submodule): Define submodule_name and add
static 'submodule_name'.
(gfc_match_submodule): Build up submodule filenames, using '@'
as a delimiter. Store the output filename in 'submodule_name'.
Similarly, the submodule identifier is built using '.' as an
identifier.
(gfc_dump_module): If current state is COMP_SUBMODULE, write
to file 'submodule_name', using SUBMODULE_EXTENSION.
(gfc_use_module): Similarly, use the 'submodule_name' field in
the gfc_use_list structure and SUBMODULE_EXTENSION to read the
implicitly used submodule files.

2015-07-17  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/52846
* lib/fortran-modules.exp (proc cleanup-submodules): New
procedure.
* gfortran.dg/submodule_1.f08: Change extension and clean up
the submodule files.
* gfortran.dg/submodule_2.f08: ditto
* gfortran.dg/submodule_6.f08: ditto
* gfortran.dg/submodule_7.f08: ditto
* gfortran.dg/submodule_8.f08: New test
* gfortran.dg/submodule_9.f08: New test

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225946 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-07-17 Paul Thomas <pault@gcc.gnu.org>
pault [Fri, 17 Jul 2015 17:23:45 +0000 (17:23 +0000)]
2015-07-17  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/52846
* decl.c (gfc_match_end): Pick out declared submodule name from
the composite identifier.
* gfortran.h : Add 'submodule_name' to gfc_use_list structure.
* module.c (gfc_match_submodule): Define submodule_name and add
static 'submodule_name'.
(gfc_match_submodule): Build up submodule filenames, using '@'
as a delimiter. Store the output filename in 'submodule_name'.
Similarly, the submodule identifier is built using '.' as an
identifier.
(gfc_dump_module): If current state is COMP_SUBMODULE, write
to file 'submodule_name', using SUBMODULE_EXTENSION.
(gfc_use_module): Similarly, use the 'submodule_name' field in
the gfc_use_list structure and SUBMODULE_EXTENSION to read the
implicitly used submodule files.

2015-07-17  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/52846
* lib/fortran-modules.exp (proc cleanup-submodules): New
procedure.
* gfortran.dg/submodule_1.f08: Change extension and clean up
the submodule files.
* gfortran.dg/submodule_2.f08: ditto
* gfortran.dg/submodule_6.f08: ditto
* gfortran.dg/submodule_7.f08: ditto
* gfortran.dg/submodule_8.f08: New test
* gfortran.dg/submodule_9.f08: New test

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225945 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * target.c (GOMP_offload_register): Use int for device type arg.
nathan [Fri, 17 Jul 2015 17:17:26 +0000 (17:17 +0000)]
* target.c (GOMP_offload_register): Use int for device type arg.
(GOMP_offload_unregister): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225944 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago gcc/
nathan [Fri, 17 Jul 2015 17:12:01 +0000 (17:12 +0000)]
gcc/
* config/nvptx/mkoffload.c (process): Constify host data.
* config/i386/intelmic-mkoffload.c (generate_target_descr_file):
Constify host data.
(generate_host_descr_file): Likewise.

libgomp/
* target.c (struct_offload_image_descr): Constify host_table.
(gomp_offload_image_to_device): Likewise.
(GOMP_offload_register, GOMP_offload_unregister): Likewise.

libgcc/
* offloadstuff.c: Constify host data.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225943 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[graphite] fix pr61929
spop [Fri, 17 Jul 2015 16:34:21 +0000 (16:34 +0000)]
[graphite] fix pr61929

This fixes bootstrap of GCC with BOOT_CFLAGS="-g -O2 -fgraphite-identity
-floop-nest-optimize -floop-block -floop-interchange -floop-strip-mine".  It
passes regstrap on amd64-linux.  A previous change
(https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=213816), replaced
isl_int with isl_val because isl_int would be deprecated. Since isl_val has
stricter checks, it exposed the bug.  In the test case (isl_set_max_val) would
return infinity which would remain unchecked.  We now check if the value
returned is an integer or not, and bail out if it isn't.  The other problem was
that we were allowing all kinds of data-refs in a scop.  Now we discard a scop
if it has any date-ref other than (ARRAY_REF, MEM_REF, COMPONENT_REF).

PR middle-end/61929
* graphite-dependences.c (add_pdr_constraints): Renamed
pdr->extent to pdr->subscript_sizes.
* graphite-interchange.c (build_linearized_memory_access): Add
back all gcc_assert's that the "isl_int to isl_val conversion"
patch has removed.  Refactored.
(pdr_stride_in_loop): Renamed pdr->extent to pdr->subscript_sizes.
* graphite-poly.c (new_poly_dr): Same.
(free_poly_dr): Same.
* graphite-poly.h (struct poly_dr): Same.
* graphite-scop-detection.c (stmt_has_simple_data_refs_p): Ignore
all data references other than ARRAY_REF, MEM_REF, and COMPONENT_REF.
* graphite-scop-detection.h: Fix space.
* graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Add
back all gcc_assert's removed by a previous patch.
(wrap): Remove the_isl_ctx global variable that the same patch has
added.
(build_loop_iteration_domains): Same.
(add_param_constraints): Same.
(pdr_add_data_dimensions): Same.  Refactored.
(build_poly_dr): Renamed extent to subscript_sizes.

testsuite/
PR middle-end/61929
* gcc.dg/graphite/pr61929.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225942 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * doc/xml/manual/status_cxx2011.xml: Add caveats for native_handle.
redi [Fri, 17 Jul 2015 16:08:14 +0000 (16:08 +0000)]
* doc/xml/manual/status_cxx2011.xml: Add caveats for native_handle.
* doc/html/manual/status.html: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225939 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * fold-const.c (fold_binary_loc): Move A - (A & B) into ~B & A ...
mpolacek [Fri, 17 Jul 2015 16:03:27 +0000 (16:03 +0000)]
* fold-const.c (fold_binary_loc): Move A - (A & B) into ~B & A ...
* match.pd: ... here.

* gcc.dg/fold-minus-7.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225938 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago gcc/
nathan [Fri, 17 Jul 2015 14:07:53 +0000 (14:07 +0000)]
gcc/
* config/nvptx/mkoffload.c (process): Constify target data.
* config/i386/intelmic-mkoffload.c (generate_target_descr_file):
Constify target data.
(generate_target_offloadend_file): Likewise.

libgomp/
* libgomp.h (gomp_device_descr): Constify target data arguments.
* target.c (struct offload_image_descr): Constify target_data.
(gomp_offload_image_to_device): Likewise.
(GOMP_offload_register): Likewise.
(GOMP_offload_unrefister): Likewise.
* plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
GOMP_OFFLOAD_unload_image): Constify target data.
* plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
(GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.

liboffloadmic/
* plugin/libgomp-plugin-intelmic.cpp (ImgDevAddrMap): Constify.
(offload_image, GOMP_OFFLOAD_load_image,
OMP_OFFLOAD_unload_image): Constify target data.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225936 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoFix fortran double address operator with co_reduce
mikael [Fri, 17 Jul 2015 12:18:44 +0000 (12:18 +0000)]
Fix fortran double address operator with co_reduce

gcc/fortran/
2015-07-17  Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>

* trans-intrinsic.c (conv_co_collective): Remove redundant address
operator in the generated code.

gcc/testsuite/
2015-07-17  Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>

* gfortran.dg/co_reduce_1.f90: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225930 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoAdd a testcase for PR target/66824
hjl [Fri, 17 Jul 2015 11:52:09 +0000 (11:52 +0000)]
Add a testcase for PR target/66824

PR target/66824
* gcc.target/i386/pr66824.c:

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225929 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/fortran/ChangeLog:
vehre [Fri, 17 Jul 2015 10:16:21 +0000 (10:16 +0000)]
gcc/fortran/ChangeLog:

2015-07-17  Andre Vehreschild  <vehre@gcc.gnu.org>

PR fortran/66035
* trans-expr.c (alloc_scalar_allocatable_for_subcomponent_assignment):
Compute the size to allocate for class and derived type objects
correclty.
(gfc_trans_subcomponent_assign): Only allocate memory for a
component when the object to assign is not an allocatable class
object (the memory is already present for allocatable class objects).
Furthermore use copy_class_to_class for assigning the rhs to the
component (may happen for dummy class objects on the rhs).

gcc/testsuite/ChangeLog:

2015-07-17  Andre Vehreschild  <vehre@gcc.gnu.org>

PR fortran/66035
* gfortran.dg/structure_constructor_13.f03: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225928 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoFix PR61831: Side-effect variable component deallocation
mikael [Fri, 17 Jul 2015 09:40:29 +0000 (09:40 +0000)]
Fix PR61831: Side-effect variable component deallocation

gcc/fortran/
2015-07-17  Mikael Morin  <mikael@gcc.gnu.org>
    Dominique d'Humieres  <dominiq@lps.ens.fr>

PR fortran/61831
* trans-array.c (gfc_conv_array_parameter): Guard allocatable
component deallocation code generation with descriptorless
calling convention flag.
* trans-expr.c (gfc_conv_expr_reference): Remove allocatable
component deallocation code generation from revision 212329.
(expr_may_alias_variables): New function.
(gfc_conv_procedure_call): New boolean elemental_proc to factor
check for procedure elemental-ness.  Rename boolean f to nodesc_arg
and declare it in the outer scope.  Use expr_may_alias_variables,
elemental_proc and nodesc_arg to decide whether generate allocatable
component deallocation code.
(gfc_trans_subarray_assign): Set deep copy flag.

gcc/testsuite/
2015-07-17  Mikael Morin  <mikael@gcc.gnu.org>

PR fortran/61831
* gfortran.dg/alloc_comp_auto_array_3.f90: Count the number
of generated while loops in the tree dump.
* gfortran.dg/derived_constructor_components_6.f90: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225926 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/
ienkovich [Fri, 17 Jul 2015 09:08:31 +0000 (09:08 +0000)]
gcc/

* tree-vect-loop-manip.c (rename_variables_in_bb): Add argument
to allow renaming of PHI arguments on edges incoming from outer
loop header, add corresponding check before start PHI iterator.
(slpeel_tree_duplicate_loop_to_edge_cfg): Introduce new bool
variable DUPLICATE_OUTER_LOOP and set it to true for outer loops
with true force_vectorize.  Set-up dominator for outer loop too.
Pass DUPLICATE_OUTER_LOOP as argument to rename_variables_in_bb.
(slpeel_can_duplicate_loop_p): Allow duplicate of outer loop if it
was marked with force_vectorize and has restricted cfg.
(slpeel_tree_peel_loop_to_edge): Do not rename exit PHI uses in
inner loop.
* tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Do not
do peeling for outer loops.

gcc/testsuite/

* gcc.dg/vect/vect-outer-simd-2.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225923 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-07-17 Yvan Roux <yvan.roux@linaro.org>
yroux [Fri, 17 Jul 2015 08:17:11 +0000 (08:17 +0000)]
2015-07-17  Yvan Roux  <yvan.roux@linaro.org>
    Matthias Klose  <doko@ubuntu.com>

* configure.ac: Move AC_ARG_WITH checks for native-system-header-dir,
build-sysroot, sysroot from the `Miscenalleous configure options' to
the `Directories' section and strip trailing `/' from with_sysroot.
(gcc_gxx_include_dir): Don't strip a `/' sysroot value.
* configure: Regenerated.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225921 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agolibgcc: fix build with older make
jbeulich [Fri, 17 Jul 2015 07:14:25 +0000 (07:14 +0000)]
libgcc: fix build with older make

Make up to 3.80 (documented as minimal permitted version) doesn't
support "else if...".

2015-07-17  Jan Beulich  <jbeulich@suse.com>

* config/t-softfp: Split up "else ifneq".

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225920 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR target/66824
uros [Fri, 17 Jul 2015 07:02:29 +0000 (07:02 +0000)]
PR target/66824
* config/i386/i386.h (TARGET_HARD_SF_REGS): New define.
(TARGET_HARD_DF_REGS): Ditto.
(TARGET_HARD_XF_REGS): Ditto.
* config/i386/i386.md (*movxf_internal): Add alternatives 9 and 10.
Enable alternatives 9 and 10 only for !TARGET_HARD_XF_REG target.
(*movdf_internal): Add alternatives 22, 23, 24 and 25. Enable
alternatives 22, 23, 24 and 25 only for !TARGET_HARD_DF_REG target.
(*movsf_internal): Add alternatives 16 and 17. Enable
alternatives 16 and 17 only for !TARGET_HARD_SF_REG target.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225919 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR rtl-optimization/66891
uros [Fri, 17 Jul 2015 06:32:58 +0000 (06:32 +0000)]
PR rtl-optimization/66891
* calls.c (expand_call): Wrap precompute_register_parameters with
NO_DEFER_POP/OK_DEFER_POP to prevent deferred pops.

testsuite/ChangeLog:

PR target/66891
* gcc.target/i386/pr66891.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225918 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Fri, 17 Jul 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225916 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-07-16 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Fri, 17 Jul 2015 00:05:02 +0000 (00:05 +0000)]
2015-07-16  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/66724
PR fortran/66724
* io.c (is_char_type): Call gfc_resolve_expr ().
(match_open_element, match_dt_element, match_inquire_element): Fix
ASYNCHRONOUS case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225913 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agojit: Add guide for submitting patches to jit docs
dmalcolm [Thu, 16 Jul 2015 19:35:10 +0000 (19:35 +0000)]
jit: Add guide for submitting patches to jit docs

gcc/jit/ChangeLog:
* docs/internals/index.rst (Overview of code structure): Add note
that the implementation is in C++, despite the .c extension.
(Submitting patches): New subsection.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225905 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-07-16 François Dumont <fdumont@gcc.gnu.org>
fdumont [Thu, 16 Jul 2015 19:17:26 +0000 (19:17 +0000)]
2015-07-16  François Dumont  <fdumont@gcc.gnu.org>

* include/bits/stl_algobase.h (__miter_base): Move...
* include/bits/cpp_type_traits.h: ...here.
* include/debug/functions.h (__foreign_iterator_aux): Use latter.
* testsuite/23_containers/vector/debug/insert7_neg.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225902 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago libgomp/
nathan [Thu, 16 Jul 2015 17:17:31 +0000 (17:17 +0000)]
libgomp/
* plugin/plugin-nvptx.c (link_ptx): Constify string argument.
Workaround driver library const error.
(struct nvptx_tdata, nvptx_tdata_t): New.
(GOMP_OFFLOAD_load_image): Use struct for target_data's real
type.

gcc/
* config/nvptx/mkoffload.c (process): Constify mapping variables.
Define target data struct and initialize it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225897 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[ARM][testsuite] Do not override -mcpu in no-volatile-in-it.c
ktkachov [Thu, 16 Jul 2015 15:30:45 +0000 (15:30 +0000)]
[ARM][testsuite] Do not override -mcpu in no-volatile-in-it.c

    * gcc.target/arm/no-volatile-in-it.c: Skip if -mcpu is overriden.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225892 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-07-16 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Thu, 16 Jul 2015 15:26:35 +0000 (15:26 +0000)]
2015-07-16  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/66626
* ira.h (emit-rtl.h): Include.
(non_spilled_static_chain_regno_p): New.
* ira-color.c (setup_profitable_hard_regs): Clear profitable regs
unless it is non spilled static chain pseudo.
(assign_hard_rego): Spill memory profitable allocno unless it is
non spilled static chain pseudo.
(allocno_spill_priority_compare): Put non spilled static chain
pseudo at the end of sorted array.
(improve_allocation): Do nothing if we have static chain and
non-local goto.
(allocno__priority_compare_func): Put non spilled static chain
pseudo at the beginning of sorted array.
(move_spill_restore): Ignore non spilled static chain pseudo.
* ira-costs.c (find_costs_and_classes): Don't assign class NO_REGS
to non spilled static chain pseudo.
* lra-assigns.c (pseudo_compare_func): Put non spilled static chain
pseudo at the beginning of sorted array.
(spill_for): Spill non spilled static chain pseudo last.
* lra-constraints.c (lra_constraints): Remove static chain pseudo
check for equivalence.

2015-07-16  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/66626
* gcc.target/i386/pr66626-2.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225891 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoFix PR ipa/66896.
marxin [Thu, 16 Jul 2015 14:48:18 +0000 (14:48 +0000)]
Fix PR ipa/66896.

* g++.dg/ipa/pr66896.c: New test.
PR ipa/66896.
* ipa-prop.c (update_jump_functions_after_inlining): Create properly
dst_ctx if it does not exist.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225887 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agohash_set: add iterator and remove method.
marxin [Thu, 16 Jul 2015 14:11:52 +0000 (14:11 +0000)]
hash_set: add iterator and remove method.

* hash-set.h (remove): New function.
(iterator): New iteration class for hash_set.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225885 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/
rsandifo [Thu, 16 Jul 2015 13:55:50 +0000 (13:55 +0000)]
gcc/
* genattrtab.c (make_canonical): Add a file_location parameter.
Use fatal_at rather than fatal.
(get_attr_value): Likewise.  Update call to make_canonical.
(fill_attr, make_length_attrs, optimize_attrs, gen_attr)
(make_internal_attr): Update calls accordingly.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225884 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/
rsandifo [Thu, 16 Jul 2015 13:52:22 +0000 (13:52 +0000)]
gcc/
* read-md.h (message_with_line, error_with_line): Delete.
* read-md.c (message_with_line, error_with_line): Delete.
* gensupport.h: Include read-md.h.
(md_rtx_info): New structure.
(read_md_rtx): Use it.  Return a bool success value.
* gensupport.c (read_md_rtx): Likewise.
* genattr-common.c (gen_attr): Take an md_rtx_info rather than an rtx.
(main): Update after interface changes.
* genattr.c (gen_attr): Take an md_rtx_info rather than an rtx.
(main): Update after interface changes.
* genattrtab.c (insn_code_number): Delete.
(optimize_attrs): Add a max_insn_code parameter and use it instead
of insn_code_number.
(gen_attr): Take an md_rtx_info rather than an rtx and lineno.
Use *_at rather than *_with_line functions.
(gen_insn): Likewise.
(gen_delay): Likewise.
(gen_insn_reserv): Likewise.
(gen_bypass): Take an md_rtx_info rather than an rtx.
(main): Update after interface changes.  Use a local max_insn_code
variable instead of insn_code_number.
* genautomata.c (gen_cpu_unit): Take an md_rtx_info rather than
an rtx.  Use fatal_at rather than fatal.
(gen_query_cpu_unit, gen_bypass, gen_excl_set)
(gen_presence_absence_set, gen_presence_set, gen_final_presence_set)
(gen_absence_set, gen_final_absence_set, gen_automaton)
(gen_automata_option, gen_reserv, gen_insn_reserv): Likewise.
(main): Update after interface changes.
* gencodes.c (gen_insn): Take an md_rtx_info rather than an rtx
and code number.
(main): Update after interface changes.
* genconditions.c (main): Use new read_md_rtx interface.
* genconfig.c (gen_insn): Take an md_rtx_info rather than an rtx.
(gen_expand, gen_split, gen_peephole, gen_peephole2): Likewise.
(main): Update after interface changes.
* genemit.c (insn_code_number, insn_index_number): Delete.
(gen_insn): Take an md_rtx_info rather than an rtx and lineno.
Use fatal_at rather than fatal.
(gen_expand): Take an md_rtx_info rather than an rtx.  Use fatal_at
rather than fatal.
(gen_split): Likewise.
(main): Update after interface changes.
* genextract.c (line_no): Delete.
(gen_insn): Take an md_rtx_info rather than an rtx and lineno.
Update call to walk_rtx.
(VEC_safe_set_locstr): Add an md_rtx_info argument.  Use message_at
rather than message_with_line.
(walk_rtx): Add an md_rtx_info argument.  Update call to
VEC_safe_set_locstr.
(main): Update after interface changes.
* genflags.c (gen_insn): Take an md_rtx_info rather than an rtx
and lineno.  Use error_at rather than separate message_with_line
calls and have_error assignments.
(main): Update after interface changes.
* genmddump.c (main): Use new read_md_rtx interface.
* genopinit.c (insn): Take an md_rtx_info rather than an rtx.
(main): Update after interface changes.
* genoutput.c (next_code_number): Delete.
(gen_insn): Take an md_rtx_info rather than an rtx and lineno.
(gen_peephole, gen_expand, gen_split): Likewise.
(note_constraint): Likewise.  Use *_at rather than *_with_line
functions.
(main): Update after interface changes.
* genpeep.c (gen_peephole): Take an md_rtx_info rather than an
rtx and lineno.
(main): Update after interface changes.
* genpreds.c (process_define_predicate): Take an md_rtx_info rather
than an rtx and lineno.
(process_define_constraint): Likewise.
(process_define_register_constraint): Likewise.
(main): Update after interface changes.
* genrecog.c (next_insn_code, pattern_lineno): Delete.
(validate_pattern): Replace top-level rtx with an md_rtx_info.
Use *_at rather than *_with_line functions.
(match_pattern_2): Likewise.
(match_pattern_1, match_pattern): Add an md_rtx_info parameter.
(get_peephole2_pattern): Take an md_rtx_info rather than an rtvec.
Use *_at rather than *_with_line functions.
* gentarget-def.c (add_insn): New function.
(main): Use it.  Use new read_md_rtx interface.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225883 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/
rsandifo [Thu, 16 Jul 2015 13:50:08 +0000 (13:50 +0000)]
gcc/
* gensupport.h (compute_test_codes): Take a file_location rather
than a line number.
* gensupport.c (compute_test_codes): Likewise.  Use *_at functions
rather than *_with_line functions.
(process_define_predicate): Update call to compute_test_codes.
* genpreds.c (validate_exp): Take a file_location rather than a
line number.  Use *_at functions rather than *_with_line functions.
(process_define_predicate): Update call to validate_exp.
(constraint_data): Replace lineno field with a file_location.
(add_constraint): Take a file_location rather than a line number.
Use *_at functions rather than *_with_line functions.  Fix error
message for address constraints.  Update after changes to
validate_exp, constraint_data and compute_test_codes.
(process_define_constraint): Update accordingly.
(process_define_register_constraint): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225882 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/
rsandifo [Thu, 16 Jul 2015 13:47:48 +0000 (13:47 +0000)]
gcc/
* genoutput.c (data): Use a file_location to record the source
position.
(nothing): Delete.
(idata, idata_end): Remove initialization.
(constraint_data): Replace lineno with a file_location.
(output_insn_data): Update after changes to data.
(gen_insn, gen_peephole, gen_expand, gen_split): Likewise.
(scan_operands): Likewise, using *_at rather than *_with_line
functions.
(process_template): Likewise.
(validate_insn_alternatives): Likewise.
(validate_insn_operands): Likewise.
(validate_optab_operands): Likewise.
(init_insn_for_nothing): Initialize idata and idata_end.
(note_constraint): Update after changes to constraint_data,
using at rather than with_line functions.
(mdep_constraint_len): Take a file_location rather than a
line number.  Use at rather than with_line functions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225881 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/
rsandifo [Thu, 16 Jul 2015 13:45:20 +0000 (13:45 +0000)]
gcc/
* read-md.h (fatal_at): Declare.
* read-md.c (fatal_at): New function.
* genattrtab.c (insn_def, attr_desc, delay_desc): Use a file_location
to record the source position.
(check_attr_test): Take a file_location instead of a line number.
Use fatal_at instead of fatal.
(check_attr_value): Update after above changes, using "at"
rather than "with_line" reporting functions.
(convert_set_attr_alternative): Likewise.
(gen_attr): Likewise.
(check_defs): Likewise.  Don't assign to read_md_filename.
(gen_insn): Update initialization after above changes.
(gen_delay): Likewise.
(write_insn_cases): Print the filename for a define_peephole.
(gen_insn_reserv): Take a line number as argument and update
the call to check_attr_test.
(main): Pass a line number to gen_insn_reserv.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225880 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/
rsandifo [Thu, 16 Jul 2015 13:41:41 +0000 (13:41 +0000)]
gcc/
* read-md.h (file_location): New structure.
(directive_handler_t): Take a file_location rather than a line number.
(message_at, error_at): Declare.
(read_skip_construct): Delete.
* read-md.c (message_with_line_1): Replace with...
(message_at_1): ...this new function.
(message_at, error_at): New functions.
(message_with_line, error_with_line): Update to use message_at_1.
(handle_enum): Take a file_location rather than a line number
and use error_at for error reporting.
(handle_include): Likewise.
(read_skip_construct): Likewise.  Make static.
(handle_file): Update after above changes.  Pass a file_location
rather than a line number to handle_directive.
* gensupport.c (queue_elem): Replace separate filename and lineno
with a file_location.
(queue_pattern): Replace filename and lineno arguments with a
file_location.  Update after change to queue_elem.
(process_define_predicate): Replace lineno argument with a
file_location and use error_at for error reporting.  Update
after above changes.
(process_rtx): Likewise.
(subst_pattern_match): Likewise.
(get_alternatives_number): Likewise.
(alter_predicate_for_insn): Likewise.
(rtx_handle_directive): Likewise.
(is_predicable): Update after above changes, using error_at rather
than error_with_line.
(has_subst_attribute): Likewise.
(identify_predicable_attribute): Likewise.
(alter_attrs_for_subst_insn): Likewise.
(process_one_cond_exec): Likewise.
(process_substs_on_one_elem): Likewise.
(process_define_subst): Likewise.
(check_define_attr_duplicates): Likewise.
(read_md_rtx): Update after change to queue_elem.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225879 138bc75d-0d04-0410-961f-82ee72b054a4