platform/upstream/linaro-gcc.git
10 years ago * symtab.c: Include calls.h
hubicka [Mon, 7 Jul 2014 19:53:36 +0000 (19:53 +0000)]
* symtab.c: Include calls.h
(symtab_nonoverwritable_alias_1): Check sanity of the local
alias.

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

10 years ago gcc/
macro [Mon, 7 Jul 2014 15:48:23 +0000 (15:48 +0000)]
gcc/
* config/rs6000/rs6000.c (output_vec_const_move): Handle
little-endian code generation.
* config/rs6000/spe.md (spe_evmergehi): Rename to...
(vec_perm00_v2si): ... this.  Handle little-endian code
generation.
(spe_evmergehilo): Rename to...
(vec_perm01_v2si): ... this.  Handle little-endian code
generation.
(spe_evmergelo): Rename to...
(vec_perm11_v2si): ... this.  Handle little-endian code
generation.
(spe_evmergelohi): Rename to...
(vec_perm10_v2si): ... this.  Handle little-endian code
generation.
(spe_evmergehi, spe_evmergehilo): New expanders.
(spe_evmergelo, spe_evmergelohi): Likewise.
(*frob_<SPE64:mode>_<DITI:mode>): Handle little-endian code
generation.
(*frob_tf_ti): Likewise.
(*frob_<mode>_di_2): Likewise.
(*frob_tf_di_8_2): Likewise.
(*frob_di_<mode>): Likewise.
(*frob_ti_tf): Likewise.
(*frob_<DITI:mode>_<SPE64:mode>_2): Likewise.
(*frob_ti_<mode>_8_2): Likewise.
(*frob_ti_tf_2): Likewise.
(mov_si<mode>_e500_subreg0): Rename to...
(mov_si<mode>_e500_subreg0_be): ... this.  Restrict to the big
endianness only.
(*mov_si<mode>_e500_subreg0_le): New instruction pattern.
(*mov_si<mode>_e500_subreg0_elf_low): Rename to...
(*mov_si<mode>_e500_subreg0_elf_low_be): ... this.  Restrict to
the big endianness only.
(*mov_si<mode>_e500_subreg0_elf_low_le): New instruction pattern.
(*mov_si<mode>_e500_subreg0_2): Rename to...
(*mov_si<mode>_e500_subreg0_2_be): ... this.  Restrict to the
big big endianness only.
(*mov_si<mode>_e500_subreg0_2_le): New instruction pattern.
(*mov_si<mode>_e500_subreg4): Rename to...
(*mov_si<mode>_e500_subreg4_be): ... this.  Restrict to the big
endianness only.
(mov_si<mode>_e500_subreg4_le): New instruction pattern.
(*mov_si<mode>_e500_subreg4_elf_low): Rename to...
(*mov_si<mode>_e500_subreg4_elf_low_be): ... this.  Restrict to
the big endianness only.
(*mov_si<mode>_e500_subreg4_elf_low_le): New instruction/splitter
pattern.
(*mov_si<mode>_e500_subreg4_2): Rename to...
(*mov_si<mode>_e500_subreg4_2_be): ... this.  Restrict to the big
endianness only.
(*mov_si<mode>_e500_subreg4_2_le): New instruction pattern.
(*mov_sitf_e500_subreg8): Rename to...
(*mov_sitf_e500_subreg8_be): ... this.  Restrict to the big
endianness only.
(*mov_sitf_e500_subreg8_le): New instruction pattern.
(*mov_sitf_e500_subreg8_2): Rename to...
(*mov_sitf_e500_subreg8_2_be): ... this.  Restrict to the big
endianness only.
(*mov_sitf_e500_subreg8_2_le): New instruction pattern.
(*mov_sitf_e500_subreg12): Rename to...
(*mov_sitf_e500_subreg12_be): ... this.  Restrict to the big
endianness only.
(*mov_sitf_e500_subreg12_le): New instruction pattern.
(*mov_sitf_e500_subreg12_2): Rename to...
(*mov_sitf_e500_subreg12_2_be): ... this.  Restrict to the big
endianness only.
(*mov_sitf_e500_subreg12_2_le): New instruction pattern.

gcc/testsuite/
* gcc.target/powerpc/spe-evmerge.c: New file.

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

10 years agoCorrect date in last ChangeLog entry.
macro [Mon, 7 Jul 2014 15:42:33 +0000 (15:42 +0000)]
Correct date in last ChangeLog entry.

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

10 years ago/cp
paolo [Mon, 7 Jul 2014 15:29:01 +0000 (15:29 +0000)]
/cp
2014-07-07  Paolo Carlini  <paolo.carlini@oracle.com>

* class.c (check_for_override): Wrap the 'final' and 'override'
keywords in %< and %>.

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

* g++.dg/cpp0x/override1.C: Tweak expected error messages.

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

10 years agoDo not instrument first byte in strlen if already instrumented.
chefmax [Mon, 7 Jul 2014 14:31:18 +0000 (14:31 +0000)]
Do not instrument first byte in strlen if already instrumented.

gcc/
* asan.c (instrument_strlen_call): Do not instrument first byte in strlen
if already instrumented.

gcc/testsuite/
* c-c++-common/asan/no-redundant-instrumentation-9.c: New test.

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

10 years ago2014-07-07 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Mon, 7 Jul 2014 14:17:17 +0000 (14:17 +0000)]
2014-07-07  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58898
* g++.dg/parse/pr58898.C: New.

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

10 years ago2014-07-07 Dominique d'Humieres <dominiq@lps.ens.fr>
dominiq [Mon, 7 Jul 2014 14:11:42 +0000 (14:11 +0000)]
2014-07-07  Dominique d'Humieres <dominiq@lps.ens.fr>

* gfortran.dg/list_read_12.f90: Delete the file.
* gfortran.dg/vect/vect.exp: Use gfortran-dg-runtest instead
of dg-runtest.

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

10 years ago * libgfortran.h: Assume __GNUC__.
fxcoudert [Mon, 7 Jul 2014 11:59:27 +0000 (11:59 +0000)]
* libgfortran.h: Assume __GNUC__.

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

10 years ago * runtime/stop.c: Use C11 _Noreturn.
fxcoudert [Mon, 7 Jul 2014 09:13:48 +0000 (09:13 +0000)]
* runtime/stop.c: Use C11 _Noreturn.
* libgfortran.h: Use C11 _Noreturn in prototypes.
Move REALPART, IMAGPART and COMPLEX_ASSIGN macros...
* intrinsics/c99_functions.c: ... here.

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

10 years ago[ARM] Remove deprecated mwords-little-endian.
ktkachov [Mon, 7 Jul 2014 09:13:32 +0000 (09:13 +0000)]
[ARM] Remove deprecated mwords-little-endian.

* config/arm/arm.opt (mwords-little-endian): Delete.
* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Remove handling
of TARGET_LITTLE_WORDS.
(WORDS_BIG_ENDIAN): Define to BYTES_BIG_ENDIAN.
* config/arm/arm.c (arm_option_override): Remove TARGET_LITTLE_WORDS
warning.
* doc/invoke.texi: Remove references to -mwords-little-endian.

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

10 years ago * expmed.c (struct init_expmed_rtl): Change all fields but
jakub [Mon, 7 Jul 2014 08:42:49 +0000 (08:42 +0000)]
* expmed.c (struct init_expmed_rtl): Change all fields but
pow2 and cint from struct rtx_def to rtx.
(init_expmed_one_conv, init_expmed_one_mode): Adjust for that change.
(init_expmed): Likewise.  Allocate all the 18 rtxes and ggc_free them
at the end again.

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

10 years ago * config/fpu-387.h, config/fpu-aix.h, config/fpu-sysv.h,
fxcoudert [Mon, 7 Jul 2014 07:47:41 +0000 (07:47 +0000)]
* config/fpu-387.h, config/fpu-aix.h, config/fpu-sysv.h,
config/fpu-glibc.h: Use static assertions.

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

10 years ago2014-07-06 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Mon, 7 Jul 2014 04:22:29 +0000 (04:22 +0000)]
2014-07-06  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/61640
* gfortran.dg/arrayio_16.f90: New test.

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

10 years agoDaily bump.
gccadmin [Mon, 7 Jul 2014 00:17:40 +0000 (00:17 +0000)]
Daily bump.

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

10 years ago * gfortran.texi (Fortran 2003 status): Fix grammar.
gerald [Sun, 6 Jul 2014 22:17:21 +0000 (22:17 +0000)]
* gfortran.texi (Fortran 2003 status): Fix grammar.

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

10 years ago * ChangeLog: Fix whitespace.
uros [Sun, 6 Jul 2014 20:32:26 +0000 (20:32 +0000)]
* ChangeLog: Fix whitespace.

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

10 years ago * g++.dg/ipa/imm-devirt-1.C: Fix regexp in dg-final.
mpolacek [Sun, 6 Jul 2014 19:26:06 +0000 (19:26 +0000)]
* g++.dg/ipa/imm-devirt-1.C: Fix regexp in dg-final.
* g++.dg/ipa/imm-devirt-2.C: Likewise.

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

10 years ago PR c/6940
mpolacek [Sun, 6 Jul 2014 19:00:10 +0000 (19:00 +0000)]
PR c/6940
* doc/invoke.texi: Document -Wsizeof-array-argument.
c-family/
* c.opt (Wsizeof-array-argument): New option.
c/
* c-decl.c (grokdeclarator): Set C_ARRAY_PARAMETER.
* c-tree.h (C_ARRAY_PARAMETER): Define.
* c-typeck.c (c_expr_sizeof_expr): Warn when using sizeof on an array
function parameter.
cp/
* cp-tree.h (DECL_ARRAY_PARAMETER_P): Define.
* decl.c (grokdeclarator): Set DECL_ARRAY_PARAMETER_P.
* typeck.c (cxx_sizeof_expr): Warn when using sizeof on an array
function parameter.
testsuite/
* c-c++-common/Wsizeof-pointer-memaccess1.c: Use
-Wno-sizeof-array-argument.
* c-c++-common/Wsizeof-pointer-memaccess2.c: Likewise.
* g++.dg/warn/Wsizeof-pointer-memaccess-1.C: Likewise.
* gcc.dg/Wsizeof-pointer-memaccess1.c: Likewise.
* g++.dg/torture/Wsizeof-pointer-memaccess1.C: Likewise.
* g++.dg/torture/Wsizeof-pointer-memaccess2.C: Likewise.
* gcc.dg/torture/Wsizeof-pointer-memaccess1.c: Likewise.
* c-c++-common/sizeof-array-argument.c: New test.
* gcc.dg/vla-5.c: Add dg-warnings.
../libgomp/
* testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.

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

10 years agoDaily bump.
gccadmin [Sun, 6 Jul 2014 00:16:57 +0000 (00:16 +0000)]
Daily bump.

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

10 years agoRestore Solaris/SPARC bootstrap
ro [Sat, 5 Jul 2014 20:43:07 +0000 (20:43 +0000)]
Restore Solaris/SPARC bootstrap

* configure, config.h.in: Regenerate.
* config/fpu-sysv.h: Include <assert.h>.

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

10 years agoDon't accept isl 0.10.
ro [Sat, 5 Jul 2014 20:18:14 +0000 (20:18 +0000)]
Don't accept isl 0.10.

* configure.ac: Don't accept isl 0.10.
* configure: Regenerate.

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

10 years ago * wide-int.h (wide_int_storage): Change declaration from struct
gerald [Sat, 5 Jul 2014 18:41:08 +0000 (18:41 +0000)]
* wide-int.h (wide_int_storage): Change declaration from struct
to class.

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

10 years ago * cgraph.c (cgraph_create_indirect_edge): Update call of
hubicka [Sat, 5 Jul 2014 17:22:44 +0000 (17:22 +0000)]
* cgraph.c (cgraph_create_indirect_edge): Update call of
get_polymorphic_call_info.
* ipa-utils.h (get_polymorphic_call_info): Add parameter CALL.
(possible_polymorphic_call_targets): Add parameter call.
(decl_maybe_in_construction_p): New predicate.
(get_polymorphic_call_info): Add parameter call;
use decl_maybe_in_construction_p.
* gimple-fold.c (fold_gimple_assign): Update use of
possible_polymorphic_call_targets.
(gimple_fold_call): Likewise.
* ipa-prop.c: Inlcude calls.h
(ipa_binfo_from_known_type_jfunc): Check that known type is record.
(param_type_may_change_p): New predicate.
(detect_type_change_from_memory_writes): Break out from ...
(detect_type_change): ... this one; use
param_type_may_change_p.
(detect_type_change_ssa): Use param_type_may_change_p.
(compute_known_type_jump_func): Use decl_maybe_in_construction_p.

* g++.dg/ipa/devirt-26.C: Update testcase.
* g++.dg/ipa/imm-devirt-1.C: Update testcase.
* g++.dg/ipa/imm-devirt-2.C: Update testcase.

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

10 years ago[ARM] PR target/49423
cbaylis [Sat, 5 Jul 2014 11:58:06 +0000 (11:58 +0000)]
[ARM] PR target/49423

2014-07-05  Charles Baylis  <charles.baylis@linaro.org>

PR target/49423
* config/arm/arm-protos.h (arm_legitimate_address_p,
arm_is_constant_pool_ref): Add prototypes.
* config/arm/arm.c (arm_legitimate_address_p): Remove static.
(arm_is_constant_pool_ref) New function.
* config/arm/arm.md (unaligned_loadhis, arm_zero_extendhisi2_v6,
arm_zero_extendqisi2_v6): Use Uh constraint for memory operand.
(arm_extendhisi2, arm_extendhisi2_v6): Use Uh constraint for memory
operand. Remove pool_range and neg_pool_range attributes.
(arm_extendqihi_insn, arm_extendqisi, arm_extendqisi_v6): Remove
pool_range and neg_pool_range attributes.
* config/arm/constraints.md (Uh): New constraint.
(Uq): Don't allow constant pool references.

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

10 years agoDaily bump.
gccadmin [Sat, 5 Jul 2014 00:16:41 +0000 (00:16 +0000)]
Daily bump.

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

10 years ago2014-07-04 Tobias Burnus <burnus@net-b.de>
burnus [Fri, 4 Jul 2014 20:25:28 +0000 (20:25 +0000)]
2014-07-04  Tobias Burnus  <burnus@net-b.de>

        * resolve.c (resolve_assoc_var): Fix corank setting.
        * trans-array.c (gfc_conv_descriptor_token): Change assert.
        for select-type temporaries.
        * trans-decl.c (generate_coarray_sym_init): Skip for
        attr.select_type_temporary.
        * trans-expr.c (gfc_conv_procedure_call): Fix for
        select-type temporaries.
        * trans-intrinsic.c (get_caf_token_offset): Ditto.
        (gfc_conv_intrinsic_caf_get, gfc_conv_intrinsic_caf_send): Set
        the correct dtype.
        * trans-types.h (gfc_get_dtype_rank_type): New.
        * trans-types.c (gfc_get_dtype_rank_type): Ditto.

2014-07-04  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/coarray/coindexed_3.f90: New.

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

10 years ago[Patch AArch64_be] Fix some vec_concat big-endian confusions
jgreenhalgh [Fri, 4 Jul 2014 15:56:27 +0000 (15:56 +0000)]
[Patch AArch64_be] Fix some vec_concat big-endian confusions

* config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>): New.
(move_lo_quad_internal_be_<mode>): Likewise.
(move_lo_quad_<mode>): Convert to define_expand.
(aarch64_simd_move_hi_quad_<mode>): Gate on BYTES_BIG_ENDIAN.
(aarch64_simd_move_hi_quad_be_<mode>): New.
(move_hi_quad_<mode>): Use appropriate insn for BYTES_BIG_ENDIAN.
(aarch64_combinez<mode>): Gate on BYTES_BIG_ENDIAN.
(aarch64_combinez_be<mode>): New.
(aarch64_combine<mode>): Convert to define_expand.
(aarch64_combine_internal<mode>): New.
  (aarch64_simd_combine<mode>): Remove bogus RTL description.

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

10 years agoImprove documentation of earlyclobber
vries [Fri, 4 Jul 2014 13:36:25 +0000 (13:36 +0000)]
Improve documentation of earlyclobber

2014-07-04  Tom de Vries  <tom@codesourcery.com>

* doc/md.texi (@subsection Constraint Modifier Characters): Clarify
combination of earlyclobber and read/write modifiers.

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

10 years agoFix constraint in vec_unpack_trunc_<mode>
vries [Fri, 4 Jul 2014 13:36:12 +0000 (13:36 +0000)]
Fix constraint in vec_unpack_trunc_<mode>

2014-07-04  Tom de Vries  <tom@codesourcery.com>

* config/aarch64/aarch64-simd.md
(define_insn "vec_unpack_trunc_<mode>"): Fix constraint.

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

10 years ago PR target/61714
rearnsha [Fri, 4 Jul 2014 10:51:56 +0000 (10:51 +0000)]
PR target/61714
* aarch64.h (OPTION_DEFAULT_SPECS): Define.

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

10 years ago PR middle-end/61654
jakub [Fri, 4 Jul 2014 08:38:45 +0000 (08:38 +0000)]
PR middle-end/61654
* cgraphunit.c (expand_thunk): Call free_dominance_info.

* g++.dg/opt/pr61654.C: New test.

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

10 years ago PR tree-optimization/61684
jakub [Fri, 4 Jul 2014 08:32:56 +0000 (08:32 +0000)]
PR tree-optimization/61684
* tree-ssa-ifcombine.c (recognize_single_bit_test): Make sure
rhs1 of conversion is a SSA_NAME before using SSA_NAME_DEF_STMT on it.

* gcc.c-torture/compile/pr61684.c: New test.

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

10 years agoMove fp-as-gp optimization to nds32-fp-as-gp.c module.
jasonwucj [Fri, 4 Jul 2014 07:39:23 +0000 (07:39 +0000)]
Move fp-as-gp optimization to nds32-fp-as-gp.c module.

gcc/
* config/nds32/nds32.c (nds32_have_prologue_p): Move to ...
(nds32_symbol_load_store_p): Move to ...
(nds32_fp_as_gp_check_available): Move to ...
* config/nds32/nds32-fp-as-gp.c: ... here.
* config/nds32/nds32-protos.h (nds32_symbol_load_store_p): Remove
extern declaration.

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

10 years agoMove memory related implementation to nds32-memory-manipulation.c module.
jasonwucj [Fri, 4 Jul 2014 07:38:06 +0000 (07:38 +0000)]
Move memory related implementation to nds32-memory-manipulation.c module.

gcc/
* config/nds32/nds32.c (nds32_expand_load_multiple): Move to ...
(nds32_expand_store_multiple): Move to ...
(nds32_expand_movmemqi): Move to ...
* config/nds32/nds32-memory-manipulation.c: ... here.

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

10 years agoMove some external functions used by machine description patterns to nds32-md-auxilia...
jasonwucj [Fri, 4 Jul 2014 07:35:43 +0000 (07:35 +0000)]
Move some external functions used by machine description patterns to nds32-md-auxiliary.c module.

gcc/
* config/nds32/nds32.c (nds32_byte_to_size): Move to ...
(nds32_output_casesi_pc_relative): Move to ...
(nds32_output_casesi): Move to ...
(nds32_mem_format): Move to ...
(nds32_output_16bit_store): Move to ...
(nds32_output_16bit_load): Move to ...
(nds32_output_32bit_store): Move to ...
(nds32_output_32bit_load): Move to ...
(nds32_output_32bit_load_s): Move to ...
(nds32_output_stack_push): Move to ...
(nds32_output_stack_pop): Move to ...
* config/nds32/nds32-md-auxiliary.c: ... here.

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

10 years agoPreparation of nds32-pipelines-auxiliary.c module for future implementation.
jasonwucj [Fri, 4 Jul 2014 07:32:28 +0000 (07:32 +0000)]
Preparation of nds32-pipelines-auxiliary.c module for future implementation.

gcc/
* config/nds32/nds32-pipelines-auxiliary.c: Add comment to describe
the purpose of this file.

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

10 years agoMove cost calculation to nds32-cost.c module.
jasonwucj [Fri, 4 Jul 2014 07:31:24 +0000 (07:31 +0000)]
Move cost calculation to nds32-cost.c module.

gcc/
* config/nds32/nds32.c (nds32_rtx_costs): Move implementation to ...
(nds32_address_cost): Move implementation to ...
* config/nds32/nds32-cost.c: ... here.
* config/nds32/nds32-protos.h (nds32_rtx_costs_impl): Declare.
(nds32_address_cost_impl): Declare.

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

10 years agoMove some helper functions of predicates and constraints to nds32-predicates.c module.
jasonwucj [Fri, 4 Jul 2014 07:30:04 +0000 (07:30 +0000)]
Move some helper functions of predicates and constraints to nds32-predicates.c module.

gcc/
* config/nds32/nds32.c
(nds32_consecutive_registers_load_store_p): Move to ...
(nds32_valid_multiple_load_store): Move to ...
(nds32_valid_stack_push_pop): Move to ...
(nds32_can_use_bclr_p): Move to ...
(nds32_can_use_bset_p): Move to ...
(nds32_can_use_btgl_p): Move to ...
(nds32_can_use_bitci_p): Move to ...
* config/nds32/nds32-predicates.c: ... here.

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

10 years agoMove builtin functions implementation to nds32-intrinsic.c module.
jasonwucj [Fri, 4 Jul 2014 07:26:10 +0000 (07:26 +0000)]
Move builtin functions implementation to nds32-intrinsic.c module.

gcc/
* config/nds32/nds32.c
(nds32_expand_builtin_null_ftype_reg): Move to ...
(nds32_expand_builtin_reg_ftype_imm): Move to ...
(nds32_expand_builtin_null_ftype_reg_imm): Move to ...
(nds32_init_builtins): Move implementation to ...
(nds32_expand_builtin): Move implementation to ...
* config/nds32/nds32-intrinsic.c: ... here.
* config/nds32/nds32-protos.h (nds32_init_builtins_impl): Declare.
(nds32_expand_builtin_impl): Declare.

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

10 years agoMove ISR impelentation to nds32-isr.c module.
jasonwucj [Fri, 4 Jul 2014 07:23:32 +0000 (07:23 +0000)]
Move ISR impelentation to nds32-isr.c module.

gcc/
* config/nds32/nds32.c (nds32_emit_section_head_template): Move to ...
(nds32_emit_section_tail_template): Move to ...
(nds32_emit_isr_jmptbl_section): Move to ...
(nds32_emit_isr_vector_section): Move to ...
(nds32_emit_isr_reset_conten): Move to ...
(nds32_check_isr_attrs_conflict): Move to ...
(nds32_construct_isr_vectors_information): Move to ...
(nds32_asm_file_start): Move implementation to ...
(nds32_asm_file_end): Move implementation to ...
* config/nds32/nds32-isr.c: ... here.
* config/nds32/nds32-protos.h
(nds32_check_isr_attrs_conflict): Declare.
(nds32_construct_isr_vectors_information): Declare.
(nds32_asm_file_start_for_isr): Declare.
(nds32_asm_file_end_for_isr): Declare.

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

10 years agoAdd several new files for preparation of providing modules
jasonwucj [Fri, 4 Jul 2014 07:18:19 +0000 (07:18 +0000)]
Add several new files for preparation of providing modules
that are going to be separated from nds32.c source.

gcc/
* config.gcc (nds32*): Add new modules to extra_objs.
(nds32le-*-*): Use t-nds32 makefile fragment for new modules.
(nds32be-*-*): Likewise.
* config/nds32/nds32-cost.c: New file.
* config/nds32/nds32-fp-as-gp.c: New file.
* config/nds32/nds32-intrinsic.c: New file.
* config/nds32/nds32-isr.c: New file.
* config/nds32/nds32-md-auxiliary.c: New file.
* config/nds32/nds32-memory-manipulation.c: New file.
* config/nds32/nds32-pipelines-auxiliary.c: New file.
* config/nds32/nds32-predicates.c: New file.
* config/nds32/t-nds32: New file.

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

10 years agoNormalize interface for all *-dg-runtest.
tschwinge [Fri, 4 Jul 2014 05:28:17 +0000 (05:28 +0000)]
Normalize interface for all *-dg-runtest.

gcc/testsuite/
* lib/g++-dg.exp (g++-dg-runtest): Change interface to match
dg-runtest's.  Adapt all callers.
* lib/gcc-dg.exp (gcc-dg-runtest): Likewise.
* lib/gfortran-dg.exp (gfortran-dg-runtest): Likewise.
* lib/go-dg.exp (go-dg-runtest): Likewise.
* lib/obj-c++-dg.exp (obj-c++-dg-runtest): Likewise.
* lib/objc-dg.exp (objc-dg-runtest): Likewise.
libffi/
* testsuite/lib/libffi.exp (libffi-dg-runtest): Change interface
match to dg-runtest's.

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

10 years agoDaily bump.
gccadmin [Fri, 4 Jul 2014 00:16:52 +0000 (00:16 +0000)]
Daily bump.

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

10 years ago PR tree-optimization/61682
jakub [Thu, 3 Jul 2014 22:11:21 +0000 (22:11 +0000)]
PR tree-optimization/61682
* wide-int.cc (wi::mul_internal): Handle high correctly
for umul_ppmm using cases and when one of the operands is
equal to 1.

* gcc.c-torture/execute/pr61682.c: New test.

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

10 years ago * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
jakub [Thu, 3 Jul 2014 18:45:35 +0000 (18:45 +0000)]
* testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
matches regex $lang_source_re, add $lang_include_flags to options.
* testsuite/libgomp.c/c.exp: Unset lang_include_flags.
* testsuite/libgomp.c++/c++.exp: Likewise.
* testsuite/libgomp.fortran/fortran.exp: Likewise.  Set lang_source_re
and lang_include_flags instead of adding -fintrinsic-modules-path= to
ALWAYS_CFLAGS.
* testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.

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

10 years agoFix the shift patterns, and add test
segher [Thu, 3 Jul 2014 16:39:58 +0000 (16:39 +0000)]
Fix the shift patterns, and add test

Firstly, it adds back the split conditions that I accidentally removed.
Without it the dot insns are never generated, or rather, always split
back to a separate compare instruction.

Secondly, the shift amount should be SI always, not GPR, or GCC will
insert a zero-extend at expand time that it cannot get rid of later.

The test tests whether dot-form instructions are generated for both
"dot" and "dot2" cases, that is, with just a CC output or also a GPR
output; for all four basic shifts, with a register amount or an
immediate amount.  It also tests for superfluous zero-extends.  This
also tests if combine "simplifies" the rotates to right-rotates, which
it shouldn't do anymore.

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

10 years agoExplain gfortran-dg-runtest usage in libgomp Fortran testing.
tschwinge [Thu, 3 Jul 2014 15:23:43 +0000 (15:23 +0000)]
Explain gfortran-dg-runtest usage in libgomp Fortran testing.

libgomp/
* testsuite/libgomp.fortran/fortran.exp: Explain
gfortran-dg-runtest usage.

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

10 years ago * arm.md (arch): Add armv6_or_vfpv3.
rearnsha [Thu, 3 Jul 2014 15:12:23 +0000 (15:12 +0000)]
* arm.md (arch): Add armv6_or_vfpv3.
(arch_enabled): Add test for the above.
* vfp.md (divsf_vfp, divdf_vfp): Add earlyclobber when code can run
on VFP9.
(sqrtsf_vfp, sqrtdf_vfp): Likewise.

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

10 years ago * gcov-io.c (gcov_read_words): Don't call memmove if excess is 0.
jakub [Thu, 3 Jul 2014 14:39:05 +0000 (14:39 +0000)]
* gcov-io.c (gcov_read_words): Don't call memmove if excess is 0.
* data-streamer-in.c (streamer_read_hwi): Shift UHWI 1 instead of
HWI 1 and negate the unsigned value.
* expmed.c (expand_sdiv_pow2): For modes wider than word always
use AND instead of shift.
* wide-int-print.cc (print_decs): Negate UHWI instead of HWI.
c-family/
* c-ada-spec.c (dump_ada_nodes): Don't call qsort if
comments->count <= 1, as comments->entries might be NULL.

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

10 years ago * gfortran.dg/ieee/ieee_1.F90: Mark variables as volatile to
fxcoudert [Thu, 3 Jul 2014 11:47:46 +0000 (11:47 +0000)]
* gfortran.dg/ieee/ieee_1.F90: Mark variables as volatile to
avoid optimization.

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

10 years ago * doc/invoke.texi (-fsanitize=bounds): Tweak wording.
mpolacek [Thu, 3 Jul 2014 10:44:20 +0000 (10:44 +0000)]
* doc/invoke.texi (-fsanitize=bounds): Tweak wording.
(-fsanitize=float-divide-by-zero): Move to the table with
-fsanitize=undefined suboptions.
(-fsanitize=float-cast-overflow): Likewise.

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

10 years ago * config/rs6000/rs6000.c (rs6000_adjust_atomic_subword): Use
macro [Thu, 3 Jul 2014 06:13:48 +0000 (06:13 +0000)]
* config/rs6000/rs6000.c (rs6000_adjust_atomic_subword): Use
BYTES_BIG_ENDIAN rather than WORDS_BIG_ENDIAN to check for byte
endianness.

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

10 years ago2014-07-03 Tobias Burnus <burnus@net-b.de>
burnus [Thu, 3 Jul 2014 05:29:47 +0000 (05:29 +0000)]
2014-07-03  Tobias Burnus  <burnus@net-b.de>

        * scanner.c (skip_free_comments): Fix indentation.

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

10 years agoChangeLog:
zqchen [Thu, 3 Jul 2014 05:24:12 +0000 (05:24 +0000)]
ChangeLog:
2014-07-03  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

* loop-invariant.c (struct invariant): Add a new member: eqno;
(find_identical_invariants): Update eqno;
(create_new_invariant): Init eqno;
(get_inv_cost): Compute comp_cost with eqno;

testsuite/ChangeLog:
2014-07-03  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

* gcc.target/arm/identical-invariants.c: New test.

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

10 years agoDaily bump.
gccadmin [Thu, 3 Jul 2014 00:17:48 +0000 (00:17 +0000)]
Daily bump.

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

10 years agoOnly transform rotate to rotatert and v.v. if target has both
segher [Wed, 2 Jul 2014 20:19:19 +0000 (20:19 +0000)]
Only transform rotate to rotatert and v.v. if target has both

Many targets do not have both rotate and rotatert.  Of the 47 targets
in the tree, 17 have both, 9 have only rotate, 2 have only rotatert, and
19 have neither (this is based on "grep -wil" so it can be slightly off).

rs6000 has only rotate, and mips has only rotatert.  For such targets
simplifying rotate to rotatert and vice versa is not simplifying things
at all.  rs6000 has already way too many rotate patterns (some days it
seems like two thousand, but it is somewhat less in reality still); I
would prefer not to double that again.

So, this patch makes genrecog define HAVE_rotate and HAVE_rotatert if
those RTL codes are mentioned anywhere in the machine description, and
then does the transformation in simplify-rtx.c only if both these flags
are set.

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

10 years ago * config/fpu-sysv.h (void set_fpu): Remove stalled comment.
uros [Wed, 2 Jul 2014 16:11:46 +0000 (16:11 +0000)]
* config/fpu-sysv.h (void set_fpu): Remove stalled comment.

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

10 years ago * c-decl.c (duplicate_decls): CLear DECL_STRUCT_FUNCTION before
hubicka [Wed, 2 Jul 2014 15:23:56 +0000 (15:23 +0000)]
* c-decl.c (duplicate_decls): CLear DECL_STRUCT_FUNCTION before
releasing symbol.

* gcc.c-torture/compile/section.c: New testcase.

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

10 years ago PR go/61620
ian [Wed, 2 Jul 2014 14:23:45 +0000 (14:23 +0000)]
PR go/61620

runtime: Don't free tiny blocks in map deletion.

The memory allocator now has a special case for tiny blocks
(smaller than 16 bytes) and they can not be explicitly freed.

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

10 years agoadd bugzilla links
chrbr [Wed, 2 Jul 2014 13:20:01 +0000 (13:20 +0000)]
add bugzilla links

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

10 years agoadd test
chrbr [Wed, 2 Jul 2014 13:15:08 +0000 (13:15 +0000)]
add test

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

10 years agoSupport mode toggle.
chrbr [Wed, 2 Jul 2014 13:03:14 +0000 (13:03 +0000)]
Support mode toggle.

* mode-switching.c (struct bb_info): Add mode_out, mode_in caches.
(make_preds_opaque): Delete.
(clear_mode_bit, mode_bit_p, set_mode_bit): New macros.
(commit_mode_sets): New function.
(optimize_mode_switching): Handle current_mode to mode_switching_emit.
Process all modes at once.
* basic-block.h (pre_edge_lcm_avs): Declare.
* lcm.c (pre_edge_lcm_avs): Renamed from pre_edge_lcm.
Call clear_aux_for_edges. Fix comments.
(pre_edge_lcm): New wrapper function to call pre_edge_lcm_avs.
(pre_edge_rev_lcm): Idem.
* config/epiphany/epiphany.c (emit_set_fp_mode): Add prev_mode parameter.
* config/epiphany/epiphany-protos.h (emit_set_fp_mode): Idem.
* config/epiphany/resolve-sw-modes.c (pass_resolve_sw_modes::execute): Idem.
* config/i386/i386.c (x96_emit_mode_set): Idem.
* config/sh/sh.c (sh_emit_mode_set): Likewise. Handle PR toggle.
* config/sh/sh.md (toggle_pr):  Defined if TARGET_FPU_SINGLE.
(fpscr_toggle) Disallow from delay slot.
* target.def (emit_mode_set): Add prev_mode parameter.
* doc/tm.texi: Regenerate.

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

10 years ago * decl.c (variable_decl): Reject old style initialization
jakub [Wed, 2 Jul 2014 09:43:08 +0000 (09:43 +0000)]
* decl.c (variable_decl): Reject old style initialization
for derived type components.

* gfortran.dg/oldstyle_5.f: New test.

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

10 years ago * config/fpu-glibc.h: Fix comment about FE_DENORMAL.
fxcoudert [Wed, 2 Jul 2014 09:17:04 +0000 (09:17 +0000)]
* config/fpu-glibc.h: Fix comment about FE_DENORMAL.

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

10 years ago[AArch64] Removed unused variable i in aarch64_expand_vec_perm
ktkachov [Wed, 2 Jul 2014 09:07:10 +0000 (09:07 +0000)]
[AArch64] Removed unused variable i in aarch64_expand_vec_perm

* config/aarch64/aarch64.c (aarch64_expand_vec_perm): Delete unused
variable i.

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

10 years agolibgfortran/ChangeLog:
uros [Wed, 2 Jul 2014 08:45:08 +0000 (08:45 +0000)]
libgfortran/ChangeLog:

* configure.host (ieee_flags): Add -mieee for alpha*.

* config/fpu-glibc.h (support_fpu_rounding_mode): Correctly handle
GFC_FPE_UPWARD, GFC_FPE_DOWNWARD and GFC_FPE_TOWARDZERO.
* config/fpu-aix.h (support_fpu_rounding_mode): Ditto.

testsuite/ChangeLog:

* gfortran.dg/ieee/ieee_1.F90 (dg-additional-options): Remove -O0.
* gfortran.dg/ieee/ieee_rounding_1.f90 (dg-additional-options): Add.

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

10 years ago/cp
paolo [Wed, 2 Jul 2014 07:51:40 +0000 (07:51 +0000)]
/cp
2014-07-02  Paolo Carlini  <paolo.carlini@oracle.com>

* pt.c (convert_template_argument): Use inform instead of error in
three places.

/testsuite
2014-07-02  Paolo Carlini  <paolo.carlini@oracle.com>

* g++.dg/cpp0x/variadic-ex10.C: Adjust for inform instead of error.
* g++.dg/cpp0x/variadic-ex14.C: Likewise.
* g++.dg/parse/error11.C: Likewise.
* g++.old-deja/g++.brendan/template17.C: Likewise.

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

10 years ago * ipa-utils.h (method_class_type, vtable_pointer_value_to_binfo,
hubicka [Wed, 2 Jul 2014 07:48:00 +0000 (07:48 +0000)]
* ipa-utils.h (method_class_type, vtable_pointer_value_to_binfo,
vtable_pointer_value_to_vtable): Constify.
(contains_polymorphic_type_p): Declare.
* ipa-devirt.c (method_class_type, vtable_pointer_value_to_binfo,
vtable_pointer_value_to_vtable): Constify.
(contains_polymorphic_type_p): New predicate.
* ipa-prop.c (ipa_set_jf_known_type): Allow types containing
polymorphic types.
(ipa_set_ancestor_jf): Likewise.
(detect_type_change): Return false in easy cases.
(compute_complex_assign_jump_func): Require type to contain
polymorphic type.
(compute_known_type_jump_func): Likewise.

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

10 years ago2014-07-02 Tobias Burnus <burnus@net-b.de>
burnus [Wed, 2 Jul 2014 06:18:35 +0000 (06:18 +0000)]
2014-07-02  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/coarray/get_array.f90: Add missing SYNC ALL.
        * gfortran.dg/coarray/send_array.f90: Ditto.
        * gfortran.dg/coarray/sendget_array.f90: Ditto.

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

10 years ago * tree.c (decls_same_for_odr, decls_same_for_odr,
hubicka [Wed, 2 Jul 2014 03:19:45 +0000 (03:19 +0000)]
* tree.c (decls_same_for_odr, decls_same_for_odr,
types_same_for_odr): Remove.
(type_in_anonymous_namespace_p): Constify argument.
* tree.h (types_same_for_odr, type_in_anonymous_namespace_p):
Constify.
* ipa-devirt.c (odr_type_d): Add ODR_VIOLATED field.
(main_odr_variant): New function.
(hash_type_name): Make static; update assert; do not ICE on
non-records.
(types_same_for_odr): Bring here from tree.c; simplify
and remove old structural comparing code that doesn't work
for templates.
(odr_hasher::equal): Update assert.
(add_type_duplicate): Return true when bases should be computed;
replace incomplete loader by complete; do not output duplicated
warnings; do not ICE on non-records; set odr_violated flag.
(get_odr_type): Be ready to replace incomplete type by complete
one; work on ODR variants instead of main variants; reorder item
in array so bases have still smaller indexes.
(dump_type_inheritance_graph): Be ready for holdes in odr_types
array.
(possible_polymorphic_call_targets): Do not ICE when BINFO is NULL.

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

10 years agoDaily bump.
gccadmin [Wed, 2 Jul 2014 00:17:07 +0000 (00:17 +0000)]
Daily bump.

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

10 years agoruntime: introduce build targets for running benchmarks
ian [Tue, 1 Jul 2014 23:19:24 +0000 (23:19 +0000)]
runtime: introduce build targets for running benchmarks

This introduces the "bench" build target, which can be used to run
all benchmarks.

It is also possible to run subsets of benchmarks with the
"package/check" build targets by setting GOBENCH to a matching regex.

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

10 years agoThis patch fixes a couple of ICEs when using -gsplit-dwarf.
ccoutant [Tue, 1 Jul 2014 21:35:41 +0000 (21:35 +0000)]
This patch fixes a couple of ICEs when using -gsplit-dwarf.

When compiling a small-enough compilation unit that has no address table
entries, but complex enough that -freorder-blocks-and-partition produces
location lists, dwarf2out_finish does not call index_location_lists, but
optimize_location_lists will later assume that the addr_index_table has
been indexed.
Google ref: b/15417905

When resolve_addr_in_expr replaces a CONST_STRING rtx, it directly
updates the pointer to the old expression with the new one. In the
case of a DW_OP_GNU_addr_index or DW_OP_GNU_const_index, that pointer
may be in an address table entry, which is keyed by the rtx. Instead
of directly replacing the pointer, we need to remove the old address
table entry (i.e., decrement its reference count), and add a new one.
Google ref: b/15957101

gcc/
* dwarf2out.c (remove_addr_table_entry): Remove unnecessary hash table
        lookup.
(resolve_addr_in_expr): When replacing the rtx in a location list
        entry, get a new address table entry.
(dwarf2out_finish): Call index_location_lists even if there are no
        addr_index_table entries yet.

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

10 years agogcc/testsuite/
yufeng [Tue, 1 Jul 2014 17:58:11 +0000 (17:58 +0000)]
gcc/testsuite/

* gcc.target/aarch64/aapcs64/aapcs64.exp:
(additional_flags_for_func_ret): New variable based on $additional_flags
with -fno-use-caller-save.
(func-ret-*.c): Use the new variable.

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

10 years ago2014-07-01 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Tue, 1 Jul 2014 17:25:07 +0000 (17:25 +0000)]
2014-07-01  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/59637
* g++.dg/cpp0x/decltype60.C: New.

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

10 years agorevert r212197 for apparently not actually being obvious
tbsaunde [Tue, 1 Jul 2014 15:56:32 +0000 (15:56 +0000)]
revert r212197 for apparently not actually being obvious

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

10 years agoRevert "PR preprocessor/60723 - missing system-ness marks for macro tokens"
dodji [Tue, 1 Jul 2014 14:04:37 +0000 (14:04 +0000)]
Revert "PR preprocessor/60723 - missing system-ness marks for macro tokens"

This reverts commit 747e04f26ac3fb775bfc9af61e9170b9461b6cfc.

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

10 years agoCorrect ChangeLog entries from r212041.
tejohnson [Tue, 1 Jul 2014 13:37:44 +0000 (13:37 +0000)]
Correct ChangeLog entries from r212041.

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

10 years agofix -Wunused-parameter warning in winnt.c
tbsaunde [Tue, 1 Jul 2014 13:28:03 +0000 (13:28 +0000)]
fix -Wunused-parameter warning in winnt.c

gcc/
* config/i386/winnt.c (i386_pe_section_type_flags): Removed name
of unused argument.

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

10 years ago[AArch64] Implement some vca*_f[32,64] intrinsics.
ktkachov [Tue, 1 Jul 2014 12:32:35 +0000 (12:32 +0000)]
[AArch64] Implement some vca*_f[32,64] intrinsics.

* config/aarch64/arm_neon.h (vcage_f64): New intrinsic.
(vcagt_f64): Likewise.
(vcale_f64): Likewise.
(vcaled_f64): Likewise.
(vcales_f32): Likewise.
(vcalt_f64): Likewise.
(vcaltd_f64): Likewise.
(vcalts_f32): Likewise.

* gcc.target/aarch64/simd/vcage_f64.c: New test.
* gcc.target/aarch64/simd/vcagt_f64.c: Likewise.
* gcc.target/aarch64/simd/vcale_f64.c: Likewise.
* gcc.target/aarch64/simd/vcaled_f64.c: Likewise.
* gcc.target/aarch64/simd/vcales_f32.c: Likewise.
* gcc.target/aarch64/simd/vcalt_f64.c: Likewise.
* gcc.target/aarch64/simd/vcaltd_f64.c: Likewise.
* gcc.target/aarch64/simd/vcalts_f32.c: Likewise.

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

10 years ago2014-07-01 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Tue, 1 Jul 2014 10:58:11 +0000 (10:58 +0000)]
2014-07-01  Paolo Carlini  <paolo.carlini@oracle.com>

* g++.dg/cpp1y/pr59867.C: Fix target selector.

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

10 years agoPR preprocessor/60723 - missing system-ness marks for macro tokens
dodji [Tue, 1 Jul 2014 09:17:14 +0000 (09:17 +0000)]
PR preprocessor/60723 - missing system-ness marks for macro tokens

When a system macro is expanded in a non-system file during
out-of-line preprocessing, it can happen that the preprocessor forgets
to emit line markers to express the system-ness status of tokens that
come after the expansion of the macro.

That can lead to situations where the entire non-system file can be
considered as being a system file and thus have its warnings be
discarded during the compilation of the resulting preprocessed file.

My understanding is that this is due to the preprocessor not
systematically detecting (and reporting) the change in system-ness of
tokens.

And this is what this patch does.  Each time the system-ness of a
given token is different from the previous token that was emitted by
the preprocessor, it emits a line marker for the sole purpose of
marking the new system-ness of the subsequent tokens to come.

Bootstrapped and tested on x86_64-unknown-linux-gnu against trunk.

gcc/c-family/ChangeLog:
* c-ppoutput.c (struct print::prev_was_system_token): New data
member.
(init_pp_output): Initialize it.
(maybe_print_line_1, maybe_print_line, print_line_1, print_line)
(do_line_change): Return a flag saying if a line marker was
emitted or not.
(scan_translation_unit): Detect if the system-ness of the token we
are about to emit is different from the one of the previously
emitted token.  If so, emit a line marker.  Avoid emitting
useless adjacent line markers.
(scan_translation_unit_directives_only): Adjust.

gcc/testsuite/ChangeLog:
* gcc.dg/cpp/syshdr{4,5}.{c,h}: New test files.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212194 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * doc/invoke.texi: Document -Wint-conversion.
mpolacek [Tue, 1 Jul 2014 08:53:12 +0000 (08:53 +0000)]
* doc/invoke.texi: Document -Wint-conversion.
c-family/
* c.opt (Wint-conversion): New option.
c/
* c-typeck.c (convert_for_assignment): Pass OPT_Wint_conversion
instead of 0 to WARN_FOR_ASSIGNMENT.
testsuite/
* gcc.dg/Wint-conversion.c: New test.

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

10 years ago PR c/58286
mpolacek [Tue, 1 Jul 2014 08:31:58 +0000 (08:31 +0000)]
PR c/58286
* doc/invoke.texi: Document -Wincompatible-pointer-types.
c-family/
* c.opt (Wincompatible-pointer-types): New option.
c/
* c-typeck.c (convert_for_assignment): Pass
OPT_Wincompatible_pointer_types instead of 0 to WARN_FOR_ASSIGNMENT.
testsuite/
* gcc.dg/Wincompatible-pointer-types.c: New test.

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

10 years agoIPA REF alias refactoring
marxin [Tue, 1 Jul 2014 06:45:26 +0000 (06:45 +0000)]
IPA REF alias refactoring

* cgraph.h (iterate_direct_aliases): New function.
(FOR_EACH_ALIAS): New macro iterates all direct aliases for a node.
* cgraph.c (cgraph_for_node_thunks_and_aliases): Usage of
FOR_EACH_ALIAS added.
(cgraph_for_node_and_aliases): Likewise.
* cgraphunit.c (assemble_thunks_and_aliases): Likewise.
* ipa-inline.c (reset_edge_caches): Likewise.
(update_caller_keys): Likewise.
* trans-mem.c (ipa_tm_execute): Likewise.
*varpool.c (varpool_analyze_node): Likewise.
(varpool_for_node_and_aliases): Likewise.
* ipa-ref.h (first_alias): New function.
(last_alias): Likewise.
(has_aliases_p): Likewise.
* ipa-ref.c (ipa_ref::remove_reference): Removal function
is sensitive to IPA_REF_ALIASes.
* symtab.c (symtab_node::add_reference): Node of IPA_REF_ALIAS type
are put at the beginning of the list.
(symtab_node::iterate_direct_aliases): New function.

* lto-partition.c (add_symbol_to_partition_1): Usage of
FOR_EACH_ALIAS added.

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

10 years ago2014-06-30 David Holsgrove <david.holsgrove@xilinx.com>
eager [Tue, 1 Jul 2014 05:45:13 +0000 (05:45 +0000)]
2014-06-30  David Holsgrove <david.holsgrove@xilinx.com>

* gcc/testsuite/lib/scanasm.exp (dg-function-on-line): Add
MicroBlaze specific pattern.

--This line, and those below,

M    ChangeLog
M    lib/scanasm.exp

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

10 years ago * ChangeLog: Correct the PR id from 61061 to 61601.
timshen [Tue, 1 Jul 2014 03:18:17 +0000 (03:18 +0000)]
* ChangeLog: Correct the PR id from 61061 to 61601.

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

10 years agocp/
emsr [Tue, 1 Jul 2014 03:13:17 +0000 (03:13 +0000)]
cp/

2014-06-28  Edward Smith-Rowland  <3dw4rd@verizon.net>

PR c++/58781
PR c++/60249
PR c++/59867
* parser.c (cp_parser_userdef_string_literal()): Take a tree
not a cp_token*. (cp_parser_string_literal(): Don't hack
the token stream!

testsuite/

2014-06-28  Edward Smith-Rowland  <3dw4rd@verizon.net>

PR c++/58781
PR c++/60249
PR c++/59867
* testsuite/g++.dg/cpp0x/pr58781.C: New.
* testsuite/g++.dg/cpp0x/pr60249.C: New.
* testsuite/g++.dg/cpp1y/pr59867.C: New.

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

10 years ago PR libstdc++/61061
timshen [Tue, 1 Jul 2014 03:05:45 +0000 (03:05 +0000)]
PR libstdc++/61061
PR libstdc++/61582
* include/bits/regex_automaton.h (_NFA<>::_M_insert_state): Add
a NFA state limit. If it's exceeded, regex_constants::error_space
will be throwed.
* include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone): Use
map (which is sparse) instead of vector. This reduce n times clones'
cost from O(n^2) to O(n).
* include/std/regex: Add map dependency.
* testsuite/28_regex/algorithms/regex_match/ecma/char/61601.cc: New
testcase.

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

10 years ago PR libstdc++/61424
timshen [Tue, 1 Jul 2014 02:10:31 +0000 (02:10 +0000)]
PR libstdc++/61424
* include/bits/regex.tcc (__regex_algo_impl<>): Use DFS for ECMAScript,
not just regex containing back-references.
* include/bits/regex_compiler.tcc (_Compiler<>::_M_disjunction):
exchange _M_next and _M_alt for alternative operator,
making matching from left to right.
* include/bits/regex_executor.h (_State_info<>::_M_get_sol_pos):
Add position tracking fom DFS.
* include/bits/regex_executor.tcc (_Executor<>::_M_main_dispatch,
_Executor<>::_M_dfs): Likewise.
* include/bits/regex_scanner.h: Remove unused enum entry.
* testsuite/28_regex/algorithms/regex_search/61424.cc: New
testcase from PR.

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

10 years ago * MAINTAINERS: Update my email address.
timshen [Tue, 1 Jul 2014 01:46:57 +0000 (01:46 +0000)]
* MAINTAINERS: Update my email address.

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

10 years agoDaily bump.
gccadmin [Tue, 1 Jul 2014 00:16:57 +0000 (00:16 +0000)]
Daily bump.

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

10 years ago Revert:
hubicka [Mon, 30 Jun 2014 22:18:25 +0000 (22:18 +0000)]
Revert:
* tree-streamer-out.c (pack_ts_type_common_value_fields): Stream if type
is complete.
(write_ts_type_common_tree_pointers): Do not stream fields not set for incomplete
types; do not stream duplicated fields for variants; sanity check that variant
and type match.
(write_ts_type_non_common_tree_pointers): Likewise.
* tree-streamer-in.c (unpack_ts_type_common_value_fields): Mark in TYPE_SIZE whether
type is complete.
(lto_input_ts_type_common_tree_pointers): Do same changes as in
write_ts_type_common_tree_pointers
(lto_input_ts_type_non_common_tree_pointers): Likewise.

* lto.c (lto_copy_fields_not_streamed): New function.
(compare_tree_sccs_1): Do not compare fields shared in between type
and variant.
(lto_read_decls): Fixup types first before inserting into hash.

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

10 years ago * var-tracking.c (add_stores): Return instead of asserting if old
jsm28 [Mon, 30 Jun 2014 20:53:33 +0000 (20:53 +0000)]
* var-tracking.c (add_stores): Return instead of asserting if old
and new values for conditional store are the same.

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

10 years ago PR c++/61659
jason [Mon, 30 Jun 2014 20:20:55 +0000 (20:20 +0000)]
PR c++/61659
PR lto/53808
gcc/cp
* decl2.c (maybe_emit_vtables): Mark all vtable entries if
devirtualizing.
* init.c (build_vtbl_address): Don't mark destructor.
* class.c (finish_struct_1): Add all classes to keyed_classes
if devirtualizing.
libstdc++-v3/
* libsupc++/cxxabi.h (class __pbase_type_info): __pointer_catch
is pure, not inline.

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

10 years agoPR rtl-opt/61608
rth [Mon, 30 Jun 2014 20:14:42 +0000 (20:14 +0000)]
PR rtl-opt/61608

        PR target/39284
        * bb-reorder.c (pass_duplicate_computed_gotos::execute): Cleanup
        the cfg if there were any changes.
        * passes.def: Revert move of peephole2 after reorder_blocks;
        move duplicate_computed_gotos before peephole2.

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

10 years ago * except.c (emit_note_eh_region_end): New helper function.
uros [Mon, 30 Jun 2014 19:30:52 +0000 (19:30 +0000)]
* except.c (emit_note_eh_region_end): New helper function.
(convert_to_eh_region_ranges): Use emit_note_eh_region_end to
emit EH_REGION_END note.
* jump.c (cleanup_barriers): Do not split a call and its
corresponding CALL_ARG_LOCATION note.

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

10 years ago * ChangeLog: Fix whitespace.
uros [Mon, 30 Jun 2014 19:29:02 +0000 (19:29 +0000)]
* ChangeLog: Fix whitespace.
* testsuite/ChangeLog: Ditto.

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

10 years ago2014-06-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
wschmidt [Mon, 30 Jun 2014 19:21:12 +0000 (19:21 +0000)]
2014-06-30  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gfortran.dg/round_4.f90: Skip for powerpc*-*-linux* since the
test requires greater precision than the current PowerPC long
double implementation supports.

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

10 years ago PR c++/61647
jason [Mon, 30 Jun 2014 19:09:57 +0000 (19:09 +0000)]
PR c++/61647
* pt.c (type_dependent_expression_p): Check BASELINK_OPTYPE.

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