Chung-Ju Wu [Wed, 3 Sep 2014 09:04:46 +0000 (09:04 +0000)]
[NDS32] We need to make sure it is NOT a variadic function so that some v3push/v3pop preparation can be applied.
-- The rationale of such avoidance is that the 'pop25' instruction also
contains return behavior and we have no chance to further adjust stack
pointer before returning to caller, which is very important to
variadic function.
-- So we do not setup v3push/v3pop (push25/pop25) information for a
variadic function. It will use normal stack push/pop instead.
* config/nds32/nds32.c (nds32_compute_stack_frame): Do not use
v3push/v3pop for variadic function.
* config/nds32/nds32.md (prologue, epilogue): Likewise.
From-SVN: r214857
Chung-Ju Wu [Wed, 3 Sep 2014 08:57:02 +0000 (08:57 +0000)]
[NDS32] Consider varargs situation when creating stack operation assembly code.
-- In fact, we only need to take care of 'push.s' situation,
because we have to push all the nameless arguments into stack.
-- We do not have to use 'pop.s' to restore them back to registers,
because we can just adjust stack pointer to set frame location.
This operation should be done in epilogue expanding.
-- Because 'pop25' instruction also performs return operation, we will
not use v3push/v3pop on isr and vararg functions.
Therefore, their instruction length should be 4 bytes.
* config/nds32/nds32-md-auxiliary.c (nds32_output_stack_push):
Check rtx for varargs implementation.
(nds32_output_stack_pop): Likewise.
* config/nds32/nds32-protos.h: Have a rtx argument for
nds32_output_stack_push and nds32_output_stack_pop.
* config/nds32/nds32.md: Likewise.
From-SVN: r214856
Chung-Ju Wu [Wed, 3 Sep 2014 08:50:14 +0000 (08:50 +0000)]
[NDS32] Add a function to indentify if FUNC is an interrupt service routine.
* config/nds32/nds32-isr.c (nds32_isr_function_p): Define new function
to check if FUNC is an interrupt service routine.
* config/nds32/nds32-protos.h (nds32_isr_function_p): Declaration.
From-SVN: r214855
Chung-Ju Wu [Wed, 3 Sep 2014 08:40:40 +0000 (08:40 +0000)]
[NDS32] Preparation in nds32.h of using registers to save varargs.
-- The varargs area may also need padding bytes so that we can ensure
that argument pointer is 8-byte alignment.
* config/nds32/nds32.h (machine_function): Add some fields for variadic
arguments implementation.
From-SVN: r214854
Chung-Ju Wu [Wed, 3 Sep 2014 08:28:02 +0000 (08:28 +0000)]
[NDS32] In nds32_valid_stack_push_pop_p(), we look into OP rtx to see if we indeed save $fp/$gp/$lp registers.
* config/nds32/nds32-predicates.c
(nds32_valid_stack_push_pop): Rename to ...
(nds32_valid_stack_push_pop_p): ... this.
* config/nds32/nds32-protos.h: Likewise.
* config/nds32/predicates.md: Likewise.
From-SVN: r214853
Chung-Ju Wu [Wed, 3 Sep 2014 08:20:49 +0000 (08:20 +0000)]
[NDS32] Refine the implementation and consider CFA restore information for stack v3push/v3pop.
* config/nds32/nds32.c (nds32_gen_stack_v3push): Rename to ...
(nds32_emit_stack_v3push): ... this.
(nds32_gen_stack_v3pop): Rename to ...
(nds32_emit_stack_v3pop): ... this and consider CFA restore
information.
From-SVN: r214852
Chung-Ju Wu [Wed, 3 Sep 2014 08:17:00 +0000 (08:17 +0000)]
[NDS32] Refine the implementation and consider CFA restore information for stack push/pop multiple.
* config/nds32/nds32.c (nds32_gen_stack_push_multiple): Rename to ...
(nds32_emit_stack_push_multiple): ... this.
(nds32_gen_stack_pop_multiple): Rename to ...
(nds32_emit_stack_pop_multiple): ... this and consider CFA restore
information.
From-SVN: r214851
Andreas Krebbel [Wed, 3 Sep 2014 08:06:09 +0000 (08:06 +0000)]
re PR bootstrap/61078 (ESA mode bootstrap failure since r209897)
2014-09-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
PR target/61078
* config/s390/s390.md ("*negdi2_31"): Add s390_split_ok_p check
and add a second splitter to handle the remaining cases.
2014-09-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
PR target/61078
* gcc.target/s390/pr61078.c: New testcase.
From-SVN: r214850
Chung-Ju Wu [Wed, 3 Sep 2014 08:02:37 +0000 (08:02 +0000)]
[NDS32] Define PIC_OFFSET_TABLE_REGNUM to $gp register.
* config/nds32/nds32.h (PIC_OFFSET_TABLE_REGNUM): Define.
From-SVN: r214849
Uros Bizjak [Wed, 3 Sep 2014 07:58:17 +0000 (09:58 +0200)]
20111227-2.c: Compile only for x86 targets.
* gcc.dg/
20111227-2.c: Compile only for x86 targets.
* gcc.dg/
20111227-3.c: Ditto.
From-SVN: r214848
Max Ostapenko [Wed, 3 Sep 2014 07:16:30 +0000 (10:16 +0300)]
gcc-dg.exp (set-target-env-var): Change env to ::env.
gcc/testsuite/ChangeLog:
2014-09-03 Max Ostapenko <m.ostapenko@partner.samsung.com>
* lib/gcc-dg.exp (set-target-env-var): Change env to ::env.
From-SVN: r214846
Tobias Burnus [Wed, 3 Sep 2014 06:41:37 +0000 (08:41 +0200)]
Missed that file in r213079 of 2014-07-26
2014-09-03 Tobias Burnus <burnus@net-b.de>
PR fortran/61881
PR fortran/61888
PR fortran/57305
* gfortran.dg/sizeof_4.f90: New.
From-SVN: r214843
Trevor Saunders [Wed, 3 Sep 2014 00:53:29 +0000 (00:53 +0000)]
use rtx_code_label in lab_rtx_for_bb hash map
gcc/ChangeLog:
* cfgexpand.c (label_rtx_for_bb): Change type to
hash_map<basic_block, rtx_code_label *> *.
(expand_gimple_basic_block): Adjust.
(pass_expand::execute): Likewise.
From-SVN: r214842
Trevor Saunders [Wed, 3 Sep 2014 00:52:11 +0000 (00:52 +0000)]
use rtx_code_label more
gcc/
* asan.c, cfgexpand.c, config/alpha/alpha.md, config/arm/arm.c,
config/epiphany/epiphany.md, config/h8300/h8300.c, config/i386/i386.md,
config/m32r/m32r.c, config/mcore/mcore.md, config/mips/mips.c,
config/mips/mips.md, config/nios2/nios2.c, config/pa/pa.c,
config/s390/s390.c, config/s390/s390.md, config/sh/sh-mem.cc,
config/sh/sh.c, config/sparc/sparc.c, dojump.c, function.c, optabs.c,
stmt.c: Assign the result of gen_label_rtx to rtx_code_label * instead
of rtx.
From-SVN: r214841
Nathan Sidwell [Wed, 3 Sep 2014 00:43:00 +0000 (00:43 +0000)]
libgcov-interface.c (STRONG_ALIAS): New.
* libgcov-interface.c (STRONG_ALIAS): New.
(__gcov_flush): Call __gcov_reset_int.
(__gcov_reset): Strong alias for ...
(__gcov_reset_ing): ... this renamed hidden version.
* libgcov.h (__gcov_reset_int): New declaration.
From-SVN: r214840
GCC Administrator [Wed, 3 Sep 2014 00:16:57 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r214839
Trevor Saunders [Tue, 2 Sep 2014 22:46:00 +0000 (22:46 +0000)]
support ggc hash_map and hash_set
gcc/ChangeLog:
* alloc-pool.c: Include coretypes.h.
* cgraph.h, dbxout.c, dwarf2out.c, except.c, except.h, function.c,
function.h, symtab.c, tree-cfg.c, tree-eh.c: Use hash_map and
hash_set instead of htab.
* ggc-page.c (in_gc): New variable.
(ggc_free): Do nothing if a collection is taking place.
(ggc_collect): Set in_gc appropriately.
* ggc.h (gt_ggc_mx(const char *)): New function.
(gt_pch_nx(const char *)): Likewise.
(gt_ggc_mx(int)): Likewise.
(gt_pch_nx(int)): Likewise.
* hash-map.h (hash_map::hash_entry::ggc_mx): Likewise.
(hash_map::hash_entry::pch_nx): Likewise.
(hash_map::hash_entry::pch_nx_helper): Likewise.
(hash_map::hash_map): Adjust.
(hash_map::create_ggc): New function.
(gt_ggc_mx): Likewise.
(gt_pch_nx): Likewise.
* hash-set.h (default_hashset_traits::ggc_mx): Likewise.
(default_hashset_traits::pch_nx): Likewise.
(hash_set::hash_entry::ggc_mx): Likewise.
(hash_set::hash_entry::pch_nx): Likewise.
(hash_set::hash_entry::pch_nx_helper): Likewise.
(hash_set::hash_set): Adjust.
(hash_set::create_ggc): New function.
(hash_set::elements): Likewise.
(gt_ggc_mx): Likewise.
(gt_pch_nx): Likewise.
* hash-table.h (hash_table::hash_table): Adjust.
(hash_table::m_ggc): New member.
(hash_table::~hash_table): Adjust.
(hash_table::expand): Likewise.
(hash_table::empty): Likewise.
(gt_ggc_mx): New function.
(hashtab_entry_note_pointers): Likewise.
(gt_pch_nx): Likewise.
From-SVN: r214834
Bill Schmidt [Tue, 2 Sep 2014 19:31:47 +0000 (19:31 +0000)]
rs6000-builtin.def (XVCVSXDDP_SCALE): New built-in definition.
[gcc]
2014-09-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/rs6000-builtin.def (XVCVSXDDP_SCALE): New
built-in definition.
(XVCVUXDDP_SCALE): Likewise.
(XVCVDPSXDS_SCALE): Likewise.
(XVCVDPUXDS_SCALE): Likewise.
* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
entries for VSX_BUILTIN_XVCVSXDDP_SCALE,
VSX_BUILTIN_XVCVUXDDP_SCALE, VSX_BUILTIN_XVCVDPSXDS_SCALE, and
VSX_BUILTIN_XVCVDPUXDS_SCALE.
* config/rs6000/rs6000-protos.h (rs6000_scale_v2df): New
prototype.
* config/rs6000/rs6000.c (real.h): New include.
(rs6000_scale_v2df): New function.
* config/rs6000/vsx.md (UNSPEC_VSX_XVCVSXDDP): New unspec.
(UNSPEC_VSX_XVCVUXDDP): Likewise.
(UNSPEC_VSX_XVCVDPSXDS): Likewise.
(UNSPEC_VSX_XVCVDPUXDS): Likewise.
(vsx_xvcvsxddp_scale): New define_expand.
(vsx_xvcvsxddp): New define_insn.
(vsx_xvcvuxddp_scale): New define_expand.
(vsx_xvcvuxddp): New define_insn.
(vsx_xvcvdpsxds_scale): New define_expand.
(vsx_xvcvdpsxds): New define_insn.
(vsx_xvcvdpuxds_scale): New define_expand.
(vsx_xvcvdpuxds): New define_insn.
* doc/extend.texi (vec_ctf): Add new prototypes.
(vec_cts): Likewise.
(vec_ctu): Likewise.
(vec_splat): Likewise.
(vec_div): Likewise.
(vec_mul): Likewise.
[gcc/testsuite]
2014-09-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.target/powerpc/builtins-1.c: Add tests for vec_ctf,
vec_cts, and vec_ctu.
* gcc.target/powerpc/builtins-2.c: Likewise.
From-SVN: r214831
Hans-Peter Nilsson [Tue, 2 Sep 2014 17:00:28 +0000 (17:00 +0000)]
badalloc1.C (arena_size): Scale according to target pointer size.
* g++.old-deja/g++.eh/badalloc1.C [!STACK_SIZE && !__FreeBSD__]
[!__sun__ && !__hpux__] (arena_size): Scale according to
target pointer size.
From-SVN: r214828
Marek Polacek [Tue, 2 Sep 2014 16:08:05 +0000 (16:08 +0000)]
re PR fortran/62270 (-Wlogical-not-parentheses warnings)
PR fortran/62270
* interface.c (compare_parameter): Fix condition.
* trans-expr.c (gfc_conv_procedure_call): Likewise.
* gfortran.dg/pointer_intent_7.f90: Adjust dg-error.
From-SVN: r214827
Kyrylo Tkachov [Tue, 2 Sep 2014 16:00:01 +0000 (16:00 +0000)]
[2/2] Vectorise lroundf, lfloorf, lceilf using the new ARMv8-A vcvt* instructions.
PR target/62275
* config/arm/neon.md
(neon_vcvt<NEON_VCVT:nvrint_variant><su_optab><VCVTF:mode>
<v_cmp_result>): New pattern.
* config/arm/iterators.md (NEON_VCVT): New int iterator.
* config/arm/arm_neon_builtins.def (vcvtav2sf, vcvtav4sf, vcvtauv2sf,
vcvtauv4sf, vcvtpv2sf, vcvtpv4sf, vcvtpuv2sf, vcvtpuv4sf, vcvtmv2sf,
vcvtmv4sf, vcvtmuv2sf, vcvtmuv4sf): New builtin definitions.
* config/arm/arm.c (arm_builtin_vectorized_function): Handle
BUILT_IN_LROUNDF, BUILT_IN_LFLOORF, BUILT_IN_LCEILF.
PR target/62275
* gcc.target/arm/vect-lceilf_1.c: New test.
* gcc.target/arm/vect-lfloorf_1.c: Likewise.
* gcc.target/arm/vect-lroundf_1.c: Likewise.
From-SVN: r214826
Kyrylo Tkachov [Tue, 2 Sep 2014 15:57:56 +0000 (15:57 +0000)]
[ARM][1/2] Implement lceil, lfloor, lround optabs with new ARMv8-A instructions.
PR target/62275
* config/arm/iterators.md (FIXUORS): New code iterator.
(VCVT): New int iterator.
(su_optab): New code attribute.
(su): Likewise.
* config/arm/vfp.md (l<vrint_pattern><su_optab><mode>si2): New pattern.
PR target/62275
* gcc.target/arm/lceil-vcvt_1.c: New test.
* gcc.target/arm/lfloor-vcvt_1.c: Likewise.
* gcc.target/arm/lround-vcvt_1.c: Likewise.
From-SVN: r214825
Kyrylo Tkachov [Tue, 2 Sep 2014 15:53:08 +0000 (15:53 +0000)]
[AArch64] Use CC_Z and CC_NZ with csinc and similar instructions.
* config/aarch64/predicates.md (aarch64_comparison_operation):
New special predicate.
* config/aarch64/aarch64.md (*csinc2<mode>_insn): Use
aarch64_comparison_operation instead of matching an operator.
Update operand numbers.
(csinc3<mode>_insn): Likewise.
(*csinv3<mode>_insn): Likewise.
(*csneg3<mode>_insn): Likewise.
(ffs<mode>2): Update gen_csinc3<mode>_insn callsite.
* config/aarch64/aarch64.c (aarch64_get_condition_code):
Return -1 instead of aborting on invalid condition codes.
(aarch64_print_operand): Update aarch64_get_condition_code callsites
to assert that the returned condition code is valid.
* config/aarch64/aarch64-protos.h (aarch64_get_condition_code): Export.
From-SVN: r214824
Paolo Carlini [Tue, 2 Sep 2014 15:38:38 +0000 (15:38 +0000)]
DR 1453
/cp
2014-09-02 Paolo Carlini <paolo.carlini@oracle.com>
DR 1453
* class.c (check_field_decls): A class of literal type cannot have
volatile non-static data members and base classes.
(explain_non_literal_class): Update.
/testsuite
2014-09-02 Paolo Carlini <paolo.carlini@oracle.com>
DR 1453
* g++.dg/cpp0x/constexpr-volatile.C: New.
* g++.dg/ext/is_literal_type2.C: Likewise.
From-SVN: r214823
Aldy Hernandez [Tue, 2 Sep 2014 15:09:54 +0000 (15:09 +0000)]
Makefile.in (TAGS): Handle constructs in common.opt, rtl.def, tree.def, and gimple.def
* Makefile.in (TAGS): Handle constructs in common.opt, rtl.def,
tree.def, and gimple.def
From-SVN: r214822
Jakub Jelinek [Tue, 2 Sep 2014 12:52:29 +0000 (14:52 +0200)]
cilk-builtins.def (__cilkrts_cilk_for_32): New.
gcc/
* cilk-builtins.def (__cilkrts_cilk_for_32): New.
(__cilkrts_cilk_for_64): Likewise.
* cilk-common.c (declare_cilk_for_builtin): New function.
(cilk_init_builtins): Declare __cilkrts_cilk_for_32 and
__cilkrts_cilk_for_64 bultins.
* cilk.h (enum cilk_tree_index): Added CILK_TI_F_LOOP_32 and
CILK_TI_F_LOOP_64.
(cilk_for_32_fndecl): New define.
(cilk_for_64_fndecl): Likewise.
* gimple-pretty-print.c (dump_gimple_omp_for): Correct hadling of
GF_OMP_FOR_KIND_CILKFOR cases; Added NE_EXPR case.
* gimple.h (enum gf_mask): Added GF_OMP_FOR_KIND_CILKFOR; adjusted
GF_OMP_FOR_KIND_MASK, GF_OMP_FOR_SIMD, GF_OMP_FOR_COMBINED,
GF_OMP_FOR_COMBINED_INTO.
* gimplify.c (gimplify_scan_omp_clauses): Added
OMP_CLAUSE__CILK_FOR_COUNT_ case.
(gimplify_adjust_omp_clauses): Ditto.
(gimplify_omp_for): Added CILK_FOR case.
(gimplify_expr): Ditto.
* omp-low.c: Include cilk.h.
(extract_omp_for_data): Set appropriate kind for
GF_OMP_FOR_KIND_CILKFOR; added check for GF_OMP_FOR_KIND_CILKFOR.
(scan_sharing_clauses): Added OMP_CLAUSE__CILK_FOR_COUNT_ cases.
(create_omp_child_function_name): Added second argument to handle
cilk_for case.
(cilk_for_check_loop_diff_type): New function.
(expand_cilk_for_call): Likewise.
(expand_cilk_for): Likewise.
(create_omp_child_function): Set cilk_for_count; handle the cases when
it is true; call create_omp_child_function_name with second argument.
(expand_omp_taskreg): Set is_cilk_for and handle cases when it's true.
(expand_omp_for): Handle case of GF_OMP_FOR_KIND_CILKFOR.
* tree-core.h (omp_clause_code): Added OMP_CLAUSE__CILK_FOR_COUNT_.
* tree-nested.c (convert_nonlocal_omp_clauses): Added
OMP_CLAUSE__CILK_FOR_COUNT_ case.
(convert_local_omp_clauses): Ditto.
* tree-pretty-print.c (dump_omp_clause): Added
OMP_CLAUSE__CILK_FOR_COUNT_ and OMP_CLAUSE_SCHEDULE_CILKFOR cases.
(dump_generic_node): Added CILK_FOR case.
* tree.c (omp_clause_num_ops): New element
OMP_CLAUSE__CILK_FOR_COUNT_ (1).
(omp_clause_code_name): New element _Cilk_for_count_.
(walk_tree_1): Added OMP_CLAUSE__CILK_FOR_COUNT_ case.
* tree.def: Add tree code for CILK_FOR.
gcc/c/
* c-parser.c (c_parser_cilk_for): New function.
(c_parser_cilk_grainsize): Likewise.
(c_get_temp_regvar): Likewise.
(c_parser_statement_after_labels): Added RID_CILK_FOR case.
(c_parser_pragma): Added PRAGMA_CILK_GRAINSIZE case.
(c_parser_omp_for_loop): Added CILK_FOR and CILK_SIMD checks.
* c-typeck.c (c_finish_omp_clauses): Added OMP_CLAUSE__CILK_FOR_COUNT_
case.
gcc/cp/
* cp-cilkplus.c (cpp_validate_cilk_plus_loop_aux): Loc definition
simplified.
* parser.c (cp_parser_cilk_for): New function.
(cp_parser_cilk_grainsize): Likewise.
(cp_parser_statement): Added RID_CILK_FOR case.
(cp_parser_omp_for_cond): Added CILK_FOR check.
(cp_parser_omp_for_loop_init): Change function argument to accept
tree_code instead just a bool flag; change the check to use that
tree_code; check for initialization declaration in case of Cilk_for.
(cp_parser_omp_for_loop): Added checks for CILK_FOR and RID_CILK_FOR;
changed call to cp_parser_omp_for_loop_init according new arguments'
list.
(cp_parser_pragma): Added PRAGMA_CILK_GRAINSIZE case.
* pt.c (tsubst_expr): Added CILK_FOR case.
* semantics.c: Include convert.h.
(finish_omp_clauses): Properly handle OMP_CLAUSE_SCHEDULE_CILKFOR
case; added OMP_CLAUSE__CILK_FOR_COUNT_.
(handle_omp_for_class_iterator): New argument lastp and its usage;
added NE_EXPR case.
(finish_omp_for): Changed call to handle_omp_for_class_iterator
according new arguments' list; in case of Cilk_for save very first
decl and create empty stmt_list block; use block to build correct
statement tree.
gcc/c-family/
* c-cilkplus.c (cilk_for_number_of_iterations): New function.
* c-common.c (c_common_reswords): Added _Cilk_for.
* c-common.h (enum rid): Added RID_CILK_FOR.
(cilk_for_number_of_iterations): Add declaration.
* c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
CILK_FOR.
* c-pragma.c (init_pragma): Register "grainsize" pragma.
* c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
gcc/testsuite/
* c-c++-common/cilk-plus/CK/cilk-fors.c: New test.
* c-c++-common/cilk-plus/CK/cilk-for-2.c: New test.
* c-c++-common/cilk-plus/CK/cilk-for-3.c: New test.
* c-c++-common/cilk-plus/CK/cilk_for_errors.c: New test.
* c-c++-common/cilk-plus/CK/cilk_for_grain.c: New test.
* c-c++-common/cilk-plus/CK/cilk_for_grain_errors.c: New test.
* c-c++-common/cilk-plus/CK/cilk_for_ptr_iter.c: New test.
* c-c++-common/cilk-plus/CK/nested_cilk_for.c: New test.
* g++.dg/cilk-plus/CK/cf3.cc: New test.
* g++.dg/cilk-plus/CK/cilk-for-tplt.cc: New test.
* g++.dg/cilk-plus/CK/for1.cc: New test.
* g++.dg/cilk-plus/CK/stl_iter.cc: New test.
* g++.dg/cilk-plus/CK/stl_rev_iter.cc: New test.
* g++.dg/cilk-plus/CK/stl_test.cc: New test.
Co-Authored-By: Balaji V. Iyer <balaji.v.iyer@intel.com>
Co-Authored-By: Igor Zamyatin <igor.zamyatin@intel.com>
From-SVN: r214818
Segher Boessenkool [Tue, 2 Sep 2014 11:26:20 +0000 (13:26 +0200)]
40x.md (ppc403-integer): Move "exts" to "no dot".
2014-09-02 Segher Boessenkool <segher@kernel.crashing.org>
* config/rs6000/40x.md (ppc403-integer): Move "exts" to "no dot".
(ppc403-compare): Add "exts with dot" case.
* config/rs6000/440.md (ppc440-integer, ppc440-compare): As above.
* config/rs6000/476.md (ppc476-simple-integer, ppc476-compare): Ditto.
* config/rs6000/601.md (ppc601-integer, ppc601-compare): Ditto.
* config/rs6000/603.md (ppc603-integer, ppc603-compare): Ditto.
* config/rs6000/6xx.md (ppc604-integer, ppc604-compare): Ditto.
* config/rs6000/7450.md (ppc7450-integer, ppc7450-compare): Ditto.
* config/rs6000/7xx.md (ppc750-integer, ppc750-compare): Ditto.
* config/rs6000/cell.md (cell-integer, cell-fast-cmp,
cell-cmp-microcoded): Similarly.
* config/rs6000/
e300c2c3.md (ppce300c3_iu, ppce300c3_cmp): As before.
* config/rs6000/e500mc64.md (e500mc64_su, e500mc64_su2): Ditto.
* config/rs6000/e5500.md (e5500_sfx, e5500_sfx2): Ditto.
* config/rs6000/e6500.md (e6500_sfx, e6500_sfx2): Ditto.
* config/rs6000/mpc.md (mpccore-integer, mpccore-compare): Ditto.
* config/rs6000/power4.md (power4-integer, power4-compare): Ditto.
* config/rs6000/power5.md (power5-integer, power5-compare): Ditto.
* config/rs6000/power6.md (power6-exts): Add "no dot" condition.
(power6-compare): Add "exts with dot" case.
* config/rs6000/power7.md (power7-integer, power7-compare): As before.
* config/rs6000/power8.md (power8-1cyc, power8-compare): Ditto.
* config/rs6000/rs64.md (rs64a-integer, rs64a-compare): Ditto.
* config/rs6000/predicates.md (lwa_operand): Don't allow memory
if avoiding Cell microcode.
* config/rs6000/rs6000.c (rs6000_adjust_cost): Handle exts+dot case.
(is_cracked_insn): Ditto.
(insn_must_be_first_in_group): Ditto.
* config/rs6000/rs6000.md (dot): Adjust comment.
(cell_micro): Handle exts+dot.
(extendqidi2, extendhidi2, extendsidi2, *extendsidi2_lfiwax,
*extendsidi2_nocell, *extendsidi2_nocell, extendqisi2, extendqihi2,
extendhisi2, 16 anonymous instructions, and 12 splitters): Delete.
(extendqi<mode>2, *extendqi<mode>2_dot, *extendqi<mode>2_dot2,
extendhi<mode>2, *extendhi<mode>2, *extendhi<mode>2_noload,
*extendhi<mode>2_dot, *extendhi<mode>2_dot2, extendsi<mode>2,
*extendsi<mode>2_dot, *extendsi<mode>2_dot2): New.
From-SVN: r214816
Segher Boessenkool [Tue, 2 Sep 2014 11:23:20 +0000 (13:23 +0200)]
rs6000.md (QHSI): Delete.
2014-09-02 Segher Boessenkool <segher@kernel.crashing.org>
* config/rs6000/rs6000.md (QHSI): Delete.
(EXTQI, EXTHI, EXTSI): New mode iterators.
(zero_extend<mode>di2, *zero_extend<mode>di2_internal1,
*zero_extend<mode>di2_internal2, *zero_extend<mode>di2_internal3,
*zero_extendsidi2_lfiwzx, zero_extendqisi2, zero_extendhisi2,
9 anonymous instructions, and 8 splitters): Delete.
(zero_extendqi<mode>2, *zero_extendqi<mode>2_dot,
*zero_extendqi<mode>2_dot2, zero_extendhi<mode>2,
*zero_extendhi<mode>2_dot, *zero_extendhi<mode>2_dot2,
zero_extendsi<mode>2, *zero_extendsi<mode>2_dot,
*zero_extendsi<mode>2_dot2): New.
From-SVN: r214815
Segher Boessenkool [Tue, 2 Sep 2014 11:21:09 +0000 (13:21 +0200)]
rs6000.md (any_extend): New code iterator.
2014-09-02 Segher Boessenkool <segher@kernel.crashing.org>
* config/rs6000/rs6000.md (any_extend): New code iterator.
(u, su): New code attributes.
(dmode, DMODE): New mode attributes.
(<su>mul<mode>3_highpart): New.
(*<su>mul<mode>3_highpart): New.
(<su>mulsi3_highpart_le): New.
(<su>muldi3_highpart_le): New.
(<su>mulsi3_highpart_64): New.
(<u>mul<mode><dmode>3): New.
(mulsidi3, umulsidi3, smulsi3_highpart, umulsi3_highpart, and two
splitters): Delete.
(mulditi3, umulditi3, smuldi3_highpart, umuldi3_highpart, and two
splitters): Delete.
From-SVN: r214814
Segher Boessenkool [Tue, 2 Sep 2014 11:19:44 +0000 (13:19 +0200)]
2014-09-02 Segher Boessenkool <segher@kernel.crashing.org>
* config/rs6000/rs6000.md (mulsi3, *mulsi3_internal1,
*mulsi3_internal2, and two splitters): Delete.
(muldi3, *muldi3_internal1, *muldi3_internal2, and two splitters):
Delete.
(mul<mode>3, mul<mode>3_dot, mul<mode>3_dot2): New.
From-SVN: r214813
Richard Biener [Tue, 2 Sep 2014 08:22:33 +0000 (08:22 +0000)]
re PR middle-end/62695 (internal compiler error: in get_constraint_for_component_ref, at tree-ssa-structalias.c:3189)
2014-09-02 Richard Biener <rguenther@suse.de>
PR tree-optimization/62695
* tree-ssa-structalias.c (find_func_clobbers): Add missing
vector truncate.
* gfortran.dg/pr62695.f90: New testcase.
From-SVN: r214810
GCC Administrator [Tue, 2 Sep 2014 00:17:06 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r214808
Oleg Endo [Mon, 1 Sep 2014 22:25:09 +0000 (22:25 +0000)]
re PR target/62312 ([SH] Invalid operands for opcode div0s)
gcc/
PR target/62312
* config/sh/sh.md (*cmp_div0s_0): Add missing constraints.
gcc/testsuite/
PR target/62312
* gcc.c-torture/compile/pr62312.c: New.
From-SVN: r214804
Andi Kleen [Mon, 1 Sep 2014 16:41:28 +0000 (16:41 +0000)]
Support slim LTO bootstrap
Change the bootstrap-lto config file to use slim (non fat) LTO..
Speeds up the LTO bootstrap by ~18% on a 4 core system.
This requires using gcc-ar/ranlib in post stage 1 builds, so these
are passed to all sub builds.
config/:
2014-09-01 Andi Kleen <ak@linux.intel.com>
* bootstrap-lto.mk: Implement slim bootstrap.
/:
2014-09-01 Andi Kleen <ak@linux.intel.com>
* Makefile.tpl (POSTSTAGE1_HOST_EXPORTS): Add LTO_EXPORTS.
POSTSTAGE1_FLAGS_TO_PASS): Add LTO_FLAGS_TO_PASS.
* Makefile.in: Regenerate.
From-SVN: r214801
Andi Kleen [Mon, 1 Sep 2014 16:41:17 +0000 (16:41 +0000)]
Add -B support to gcc-ar/ranlib/nm
To use gcc-{ar,ranlib} for boot strap we need to add a -B option
to the tool. Since ar has weird and unusual argument conventions
implement the code by hand instead of using any libraries.
gcc/:
2014-09-01 Andi Kleen <ak@linux.intel.com>
* file-find.c (add_prefix_begin): Add.
(do_add_prefix): Rename from add_prefix with first argument.
(add_prefix): Add new wrapper.
* file-find.h (add_prefix_begin): Add.
* gcc-ar.c (main): Support -B option.
From-SVN: r214800
Maciej W. Rozycki [Mon, 1 Sep 2014 14:54:13 +0000 (14:54 +0000)]
* gcc.dg/tree-ssa/loop-19.c: Exclude classic FPU Power targets.
From-SVN: r214798
Maciej W. Rozycki [Mon, 1 Sep 2014 14:43:13 +0000 (14:43 +0000)]
target-supports.exp (check_effective_target_arm_cortex_m): Return right away if !arm*-*-*.
* lib/target-supports.exp (check_effective_target_arm_cortex_m):
Return right away if !arm*-*-*.
From-SVN: r214797
Segher Boessenkool [Mon, 1 Sep 2014 14:30:00 +0000 (16:30 +0200)]
genemit.c: Include dumpfile.h.
2014-09-01 Segher Boessenkool <segher@kernel.crashing.org>
* genemit.c: Include dumpfile.h.
(gen_split): Print name of splitter function to dump file.
From-SVN: r214796
Richard Biener [Mon, 1 Sep 2014 13:38:31 +0000 (13:38 +0000)]
tree-ssa-struct-aliases.c (find_func_aliases_for_builtin_call): Use stack auto_vecs for constraint expressions.
2014-09-01 Richard Biener <rguenther@suse.de>
* tree-ssa-struct-aliases.c (find_func_aliases_for_builtin_call):
Use stack auto_vecs for constraint expressions.
(find_func_aliases_for_call): Likewise.
(find_func_aliases): Likewise.
(find_func_clobbers): Likewise.
From-SVN: r214795
Richard Biener [Mon, 1 Sep 2014 13:37:53 +0000 (13:37 +0000)]
tree-ssa-pre.c (phi_translate_1): Avoid re-allocating the operands vector in most cases.
2014-09-01 Richard Biener <rguenther@suse.de>
* tree-ssa-pre.c (phi_translate_1): Avoid re-allocating the
operands vector in most cases. Remove redundant code.
From-SVN: r214794
Bernd Schmidt [Mon, 1 Sep 2014 13:30:41 +0000 (13:30 +0000)]
Move almost all unsorted c-torture tests to compile.
* gcc.c-torture/unsorted/386.c: Move to ...
* gcc.c-torture/compile/386.c: ... here.
* gcc.c-torture/unsorted/86.c: Move to ...
* gcc.c-torture/compile/86.c: ... here.
* gcc.c-torture/unsorted/a1.c: Move to ...
* gcc.c-torture/compile/a1.c: ... here.
* gcc.c-torture/unsorted/a3.c: Move to ...
* gcc.c-torture/compile/a3.c: ... here.
* gcc.c-torture/unsorted/aaa.c: Move to ...
* gcc.c-torture/compile/aaa.c: ... here.
* gcc.c-torture/unsorted/aa.c: Move to ...
* gcc.c-torture/compile/aa.c: ... here.
* gcc.c-torture/unsorted/abs.c: Move to ...
* gcc.c-torture/compile/abs.c: ... here.
* gcc.c-torture/unsorted/a.c: Move to ...
* gcc.c-torture/compile/a.c: ... here.
* gcc.c-torture/unsorted/ac.c: Move to ...
* gcc.c-torture/compile/ac.c: ... here.
* gcc.c-torture/unsorted/acc.c: Move to ...
* gcc.c-torture/compile/acc.c: ... here.
* gcc.c-torture/unsorted/add386.c: Move to ...
* gcc.c-torture/compile/add386.c: ... here.
* gcc.c-torture/unsorted/add.c: Move to ...
* gcc.c-torture/compile/add.c: ... here.
* gcc.c-torture/unsorted/addcc.c: Move to ...
* gcc.c-torture/compile/addcc.c: ... here.
* gcc.c-torture/unsorted/andm.c: Move to ...
* gcc.c-torture/compile/andm.c: ... here.
* gcc.c-torture/unsorted/andmem.c: Move to ...
* gcc.c-torture/compile/andmem.c: ... here.
* gcc.c-torture/unsorted/andn.c: Move to ...
* gcc.c-torture/compile/andn.c: ... here.
* gcc.c-torture/unsorted/andok.c: Move to ...
* gcc.c-torture/compile/andok.c: ... here.
* gcc.c-torture/unsorted/andsi.c: Move to ...
* gcc.c-torture/compile/andsi.c: ... here.
* gcc.c-torture/unsorted/andsparc.c: Move to ...
* gcc.c-torture/compile/andsparc.c: ... here.
* gcc.c-torture/unsorted/aos.c: Move to ...
* gcc.c-torture/compile/aos.c: ... here.
* gcc.c-torture/unsorted/arr.c: Move to ...
* gcc.c-torture/compile/arr.c: ... here.
* gcc.c-torture/unsorted/as.c: Move to ...
* gcc.c-torture/compile/as.c: ... here.
* gcc.c-torture/unsorted/ase.c: Move to ...
* gcc.c-torture/compile/ase.c: ... here.
* gcc.c-torture/unsorted/b1.c: Move to ...
* gcc.c-torture/compile/b1.c: ... here.
* gcc.c-torture/unsorted/b2.c: Move to ...
* gcc.c-torture/compile/b2.c: ... here.
* gcc.c-torture/unsorted/b3.c: Move to ...
* gcc.c-torture/compile/b3.c: ... here.
* gcc.c-torture/unsorted/b88.c: Move to ...
* gcc.c-torture/compile/b88.c: ... here.
* gcc.c-torture/unsorted/bad.c: Move to ...
* gcc.c-torture/compile/bad.c: ... here.
* gcc.c-torture/unsorted/band.c: Move to ...
* gcc.c-torture/compile/band.c: ... here.
* gcc.c-torture/unsorted/bb0.c: Move to ...
* gcc.c-torture/compile/bb0.c: ... here.
* gcc.c-torture/unsorted/bb1.c: Move to ...
* gcc.c-torture/compile/bb1.c: ... here.
* gcc.c-torture/unsorted/bbb.c: Move to ...
* gcc.c-torture/compile/bbb.c: ... here.
* gcc.c-torture/unsorted/b.c: Move to ...
* gcc.c-torture/compile/b.c: ... here.
* gcc.c-torture/unsorted/bc.c: Move to ...
* gcc.c-torture/compile/bc.c: ... here.
* gcc.c-torture/unsorted/bcopy.c: Move to ...
* gcc.c-torture/compile/bcopy.c: ... here.
* gcc.c-torture/unsorted/bf.c: Move to ...
* gcc.c-torture/compile/bf.c: ... here.
* gcc.c-torture/unsorted/bfins.c: Move to ...
* gcc.c-torture/compile/bfins.c: ... here.
* gcc.c-torture/unsorted/bfx.c: Move to ...
* gcc.c-torture/compile/bfx.c: ... here.
* gcc.c-torture/unsorted/bge.c: Move to ...
* gcc.c-torture/compile/bge.c: ... here.
* gcc.c-torture/unsorted/bit.c: Move to ...
* gcc.c-torture/compile/bit.c: ... here.
* gcc.c-torture/unsorted/bitf.c: Move to ...
* gcc.c-torture/compile/bitf.c: ... here.
* gcc.c-torture/unsorted/bitw.c: Move to ...
* gcc.c-torture/compile/bitw.c: ... here.
* gcc.c-torture/unsorted/blk.c: Move to ...
* gcc.c-torture/compile/blk.c: ... here.
* gcc.c-torture/unsorted/bt386.c: Move to ...
* gcc.c-torture/compile/bt386.c: ... here.
* gcc.c-torture/unsorted/bt.c: Move to ...
* gcc.c-torture/compile/bt.c: ... here.
* gcc.c-torture/unsorted/BUG11.c: Move to ...
* gcc.c-torture/compile/BUG11.c: ... here.
* gcc.c-torture/unsorted/BUG12.c: Move to ...
* gcc.c-torture/compile/BUG12.c: ... here.
* gcc.c-torture/unsorted/BUG13.c: Move to ...
* gcc.c-torture/compile/BUG13.c: ... here.
* gcc.c-torture/unsorted/BUG16.c: Move to ...
* gcc.c-torture/compile/BUG16.c: ... here.
* gcc.c-torture/unsorted/BUG17.c: Move to ...
* gcc.c-torture/compile/BUG17.c: ... here.
* gcc.c-torture/unsorted/BUG18.c: Move to ...
* gcc.c-torture/compile/BUG18.c: ... here.
* gcc.c-torture/unsorted/BUG1.c: Move to ...
* gcc.c-torture/compile/BUG1.c: ... here.
* gcc.c-torture/unsorted/BUG21.c: Move to ...
* gcc.c-torture/compile/BUG21.c: ... here.
* gcc.c-torture/unsorted/BUG22.c: Move to ...
* gcc.c-torture/compile/BUG22.c: ... here.
* gcc.c-torture/unsorted/BUG23.c: Move to ...
* gcc.c-torture/compile/BUG23.c: ... here.
* gcc.c-torture/unsorted/BUG24.c: Move to ...
* gcc.c-torture/compile/BUG24.c: ... here.
* gcc.c-torture/unsorted/BUG25.c: Move to ...
* gcc.c-torture/compile/BUG25.c: ... here.
* gcc.c-torture/unsorted/BUG2.c: Move to ...
* gcc.c-torture/compile/BUG2.c: ... here.
* gcc.c-torture/unsorted/BUG3.c: Move to ...
* gcc.c-torture/compile/BUG3.c: ... here.
* gcc.c-torture/unsorted/BUG4.c: Move to ...
* gcc.c-torture/compile/BUG4.c: ... here.
* gcc.c-torture/unsorted/BUG5.c: Move to ...
* gcc.c-torture/compile/BUG5.c: ... here.
* gcc.c-torture/unsorted/BUG6.c: Move to ...
* gcc.c-torture/compile/BUG6.c: ... here.
* gcc.c-torture/unsorted/bug.c: Move to ...
* gcc.c-torture/compile/bug.c: ... here.
* gcc.c-torture/unsorted/bugc.c: Move to ...
* gcc.c-torture/compile/bugc.c: ... here.
* gcc.c-torture/unsorted/buns.c: Move to ...
* gcc.c-torture/compile/buns.c: ... here.
* gcc.c-torture/unsorted/bx.c: Move to ...
* gcc.c-torture/compile/bx.c: ... here.
* gcc.c-torture/unsorted/c1.c: Move to ...
* gcc.c-torture/compile/c1.c: ... here.
* gcc.c-torture/unsorted/c2.c: Move to ...
* gcc.c-torture/compile/c2.c: ... here.
* gcc.c-torture/unsorted/call386.c: Move to ...
* gcc.c-torture/compile/call386.c: ... here.
* gcc.c-torture/unsorted/call.c: Move to ...
* gcc.c-torture/compile/call.c: ... here.
* gcc.c-torture/unsorted/callind.c: Move to ...
* gcc.c-torture/compile/callind.c: ... here.
* gcc.c-torture/unsorted/c.c: Move to ...
* gcc.c-torture/compile/c.c: ... here.
* gcc.c-torture/unsorted/cc.c: Move to ...
* gcc.c-torture/compile/cc.c: ... here.
* gcc.c-torture/unsorted/charmtst.c: Move to ...
* gcc.c-torture/compile/charmtst.c: ... here.
* gcc.c-torture/unsorted/cmb.c: Move to ...
* gcc.c-torture/compile/cmb.c: ... here.
* gcc.c-torture/unsorted/cmp.c: Move to ...
* gcc.c-torture/compile/cmp.c: ... here.
* gcc.c-torture/unsorted/cmphi.c: Move to ...
* gcc.c-torture/compile/cmphi.c: ... here.
* gcc.c-torture/unsorted/cmpsi386.c: Move to ...
* gcc.c-torture/compile/cmpsi386.c: ... here.
* gcc.c-torture/unsorted/cmul.c: Move to ...
* gcc.c-torture/compile/cmul.c: ... here.
* gcc.c-torture/unsorted/cn1.c: Move to ...
* gcc.c-torture/compile/cn1.c: ... here.
* gcc.c-torture/unsorted/comb.c: Move to ...
* gcc.c-torture/compile/comb.c: ... here.
* gcc.c-torture/unsorted/consec.c: Move to ...
* gcc.c-torture/compile/consec.c: ... here.
* gcc.c-torture/unsorted/const.c: Move to ...
* gcc.c-torture/compile/const.c: ... here.
* gcc.c-torture/unsorted/conv.c: Move to ...
* gcc.c-torture/compile/conv.c: ... here.
* gcc.c-torture/unsorted/conv_tst.c: Move to ...
* gcc.c-torture/compile/conv_tst.c: ... here.
* gcc.c-torture/unsorted/cp.c: Move to ...
* gcc.c-torture/compile/cp.c: ... here.
* gcc.c-torture/unsorted/csebug.c: Move to ...
* gcc.c-torture/compile/csebug.c: ... here.
* gcc.c-torture/unsorted/cvt.c: Move to ...
* gcc.c-torture/compile/cvt.c: ... here.
* gcc.c-torture/unsorted/dblbug.c: Move to ...
* gcc.c-torture/compile/dblbug.c: ... here.
* gcc.c-torture/unsorted/dbl_parm.c: Move to ...
* gcc.c-torture/compile/dbl_parm.c: ... here.
* gcc.c-torture/unsorted/d.c: Move to ...
* gcc.c-torture/compile/d.c: ... here.
* gcc.c-torture/unsorted/ddd.c: Move to ...
* gcc.c-torture/compile/ddd.c: ... here.
* gcc.c-torture/unsorted/dead.c: Move to ...
* gcc.c-torture/compile/dead.c: ... here.
* gcc.c-torture/unsorted/delay.c: Move to ...
* gcc.c-torture/compile/delay.c: ... here.
* gcc.c-torture/unsorted/DFcmp.c: Move to ...
* gcc.c-torture/compile/DFcmp.c: ... here. Require int32plus.
* gcc.c-torture/unsorted/di.c: Move to ...
* gcc.c-torture/compile/di.c: ... here.
* gcc.c-torture/unsorted/dic.c: Move to ...
* gcc.c-torture/compile/dic.c: ... here.
* gcc.c-torture/unsorted/dilayout.c: Move to ...
* gcc.c-torture/compile/dilayout.c: ... here.
* gcc.c-torture/unsorted/dimove.c: Move to ...
* gcc.c-torture/compile/dimove.c: ... here.
* gcc.c-torture/unsorted/dimul.c: Move to ...
* gcc.c-torture/compile/dimul.c: ... here.
* gcc.c-torture/unsorted/div.c: Move to ...
* gcc.c-torture/compile/div.c: ... here.
* gcc.c-torture/unsorted/divdf.c: Move to ...
* gcc.c-torture/compile/divdf.c: ... here.
* gcc.c-torture/unsorted/dm.c: Move to ...
* gcc.c-torture/compile/dm.c: ... here.
* gcc.c-torture/unsorted/dshift.c: Move to ...
* gcc.c-torture/compile/dshift.c: ... here.
* gcc.c-torture/unsorted/e.c: Move to ...
* gcc.c-torture/compile/e.c: ... here.
* gcc.c-torture/unsorted/ex.c: Move to ...
* gcc.c-torture/compile/ex.c: ... here.
* gcc.c-torture/unsorted/ext.c: Move to ...
* gcc.c-torture/compile/ext.c: ... here.
* gcc.c-torture/unsorted/f1.c: Move to ...
* gcc.c-torture/compile/f1.c: ... here.
* gcc.c-torture/unsorted/f2.c: Move to ...
* gcc.c-torture/compile/f2.c: ... here.
* gcc.c-torture/unsorted/fdmul.c: Move to ...
* gcc.c-torture/compile/fdmul.c: ... here.
* gcc.c-torture/unsorted/float.c: Move to ...
* gcc.c-torture/compile/float.c: ... here.
* gcc.c-torture/unsorted/flo.c: Move to ...
* gcc.c-torture/compile/flo.c: ... here.
* gcc.c-torture/unsorted/flt_const.c: Move to ...
* gcc.c-torture/compile/flt_const.c: ... here.
* gcc.c-torture/unsorted/fnul.c: Move to ...
* gcc.c-torture/compile/fnul.c: ... here.
* gcc.c-torture/unsorted/foo.c: Move to ...
* gcc.c-torture/compile/foo.c: ... here.
* gcc.c-torture/unsorted/forgetcc.c: Move to ...
* gcc.c-torture/compile/forgetcc.c: ... here.
* gcc.c-torture/unsorted/fq.c: Move to ...
* gcc.c-torture/compile/fq.c: ... here.
* gcc.c-torture/unsorted/g.c: Move to ...
* gcc.c-torture/compile/g.c: ... here.
* gcc.c-torture/unsorted/gen_tst.c: Move to ...
* gcc.c-torture/compile/gen_tst.c: ... here.
* gcc.c-torture/unsorted/glob.c: Move to ...
* gcc.c-torture/compile/glob.c: ... here.
* gcc.c-torture/unsorted/gronk.c: Move to ...
* gcc.c-torture/compile/gronk.c: ... here.
* gcc.c-torture/unsorted/hibug.c: Move to ...
* gcc.c-torture/compile/hibug.c: ... here.
* gcc.c-torture/unsorted/hi.c: Move to ...
* gcc.c-torture/compile/hi.c: ... here.
* gcc.c-torture/unsorted/HIcmp.c: Move to ...
* gcc.c-torture/compile/HIcmp.c: ... here.
* gcc.c-torture/unsorted/HIset.c: Move to ...
* gcc.c-torture/compile/HIset.c: ... here.
* gcc.c-torture/unsorted/i.c: Move to ...
* gcc.c-torture/compile/i.c: ... here.
* gcc.c-torture/unsorted/i++.c: Move to ...
* gcc.c-torture/compile/i++.c: ... here.
* gcc.c-torture/unsorted/ic.c: Move to ...
* gcc.c-torture/compile/ic.c: ... here.
* gcc.c-torture/unsorted/icmp.c: Move to ...
* gcc.c-torture/compile/icmp.c: ... here.
* gcc.c-torture/unsorted/ifreg.c: Move to ...
* gcc.c-torture/compile/ifreg.c: ... here.
* gcc.c-torture/unsorted/imm.c: Move to ...
* gcc.c-torture/compile/imm.c: ... here.
* gcc.c-torture/unsorted/isinf.c: Move to ...
* gcc.c-torture/compile/isinf.c: ... here.
* gcc.c-torture/unsorted/jmp.c: Move to ...
* gcc.c-torture/compile/jmp.c: ... here.
* gcc.c-torture/unsorted/jumptab.c: Move to ...
* gcc.c-torture/compile/jumptab.c: ... here.
* gcc.c-torture/unsorted/layout.c: Move to ...
* gcc.c-torture/compile/layout.c: ... here.
* gcc.c-torture/unsorted/lbug.c: Move to ...
* gcc.c-torture/compile/lbug.c: ... here.
* gcc.c-torture/unsorted/l.c: Move to ...
* gcc.c-torture/compile/l.c: ... here.
* gcc.c-torture/unsorted/ll1.c: Move to ...
* gcc.c-torture/compile/ll1.c: ... here.
* gcc.c-torture/unsorted/llbug.c: Move to ...
* gcc.c-torture/compile/llbug.c: ... here.
* gcc.c-torture/unsorted/lll.c: Move to ...
* gcc.c-torture/compile/lll.c: ... here.
* gcc.c-torture/unsorted/load8.c: Move to ...
* gcc.c-torture/compile/load8.c: ... here.
* gcc.c-torture/unsorted/loadhicc.c: Move to ...
* gcc.c-torture/compile/loadhicc.c: ... here.
* gcc.c-torture/unsorted/log2.c: Move to ...
* gcc.c-torture/compile/log2.c: ... here.
* gcc.c-torture/unsorted/logic.c: Move to ...
* gcc.c-torture/compile/logic.c: ... here.
* gcc.c-torture/unsorted/loop-1.c: Move to ...
* gcc.c-torture/compile/loop-1.c: ... here.
* gcc.c-torture/unsorted/loop386.c: Move to ...
* gcc.c-torture/compile/loop386.c: ... here.
* gcc.c-torture/unsorted/lop.c: Move to ...
* gcc.c-torture/compile/lop.c: ... here.
* gcc.c-torture/unsorted/m1.c: Move to ...
* gcc.c-torture/compile/m1.c: ... here.
* gcc.c-torture/unsorted/m2.c: Move to ...
* gcc.c-torture/compile/m2.c: ... here.
* gcc.c-torture/unsorted/m5.c: Move to ...
* gcc.c-torture/compile/m5.c: ... here.
* gcc.c-torture/unsorted/m68.c: Move to ...
* gcc.c-torture/compile/m68.c: ... here.
* gcc.c-torture/unsorted/mbyte.c: Move to ...
* gcc.c-torture/compile/mbyte.c: ... here.
* gcc.c-torture/unsorted/mchar.c: Move to ...
* gcc.c-torture/compile/mchar.c: ... here.
* gcc.c-torture/unsorted/mcmp.c: Move to ...
* gcc.c-torture/compile/mcmp.c: ... here.
* gcc.c-torture/unsorted/mdouble.c: Move to ...
* gcc.c-torture/compile/mdouble.c: ... here.
* gcc.c-torture/unsorted/memtst.c: Move to ...
* gcc.c-torture/compile/memtst.c: ... here.
* gcc.c-torture/unsorted/miscomp.c: Move to ...
* gcc.c-torture/compile/miscomp.c: ... here.
* gcc.c-torture/unsorted/mm.c: Move to ...
* gcc.c-torture/compile/mm.c: ... here.
* gcc.c-torture/unsorted/mod.c: Move to ...
* gcc.c-torture/compile/mod.c: ... here.
* gcc.c-torture/unsorted/modcc.c: Move to ...
* gcc.c-torture/compile/modcc.c: ... here.
* gcc.c-torture/unsorted/move.c: Move to ...
* gcc.c-torture/compile/move.c: ... here.
* gcc.c-torture/unsorted/move_qhi.c: Move to ...
* gcc.c-torture/compile/move_qhi.c: ... here.
* gcc.c-torture/unsorted/mregtst.c: Move to ...
* gcc.c-torture/compile/mregtst.c: ... here.
* gcc.c-torture/unsorted/msp.c: Move to ...
* gcc.c-torture/compile/msp.c: ... here.
* gcc.c-torture/unsorted/mtst.c: Move to ...
* gcc.c-torture/compile/mtst.c: ... here.
* gcc.c-torture/unsorted/mu.c: Move to ...
* gcc.c-torture/compile/mu.c: ... here.
* gcc.c-torture/unsorted/mul.c: Move to ...
* gcc.c-torture/compile/mul.c: ... here.
* gcc.c-torture/unsorted/mword1.c: Move to ...
* gcc.c-torture/compile/mword1.c: ... here.
* gcc.c-torture/unsorted/mword.c: Move to ...
* gcc.c-torture/compile/mword.c: ... here.
* gcc.c-torture/unsorted/n1.c: Move to ...
* gcc.c-torture/compile/n1.c: ... here.
* gcc.c-torture/unsorted/nand.c: Move to ...
* gcc.c-torture/compile/nand.c: ... here.
* gcc.c-torture/unsorted/n.c: Move to ...
* gcc.c-torture/compile/n.c: ... here.
* gcc.c-torture/unsorted/neg.c: Move to ...
* gcc.c-torture/compile/neg.c: ... here.
* gcc.c-torture/unsorted/o.c: Move to ...
* gcc.c-torture/compile/o.c: ... here.
* gcc.c-torture/unsorted/omit.c: Move to ...
* gcc.c-torture/compile/omit.c: ... here.
* gcc.c-torture/unsorted/opout.c: Move to ...
* gcc.c-torture/compile/opout.c: ... here.
* gcc.c-torture/unsorted/opt.c: Move to ...
* gcc.c-torture/compile/opt.c: ... here.
* gcc.c-torture/unsorted/or386.c: Move to ...
* gcc.c-torture/compile/or386.c: ... here.
* gcc.c-torture/unsorted/or.c: Move to ...
* gcc.c-torture/compile/or.c: ... here.
* gcc.c-torture/unsorted/parms.c: Move to ...
* gcc.c-torture/compile/parms.c: ... here.
* gcc.c-torture/unsorted/pass.c: Move to ...
* gcc.c-torture/compile/pass.c: ... here.
* gcc.c-torture/unsorted/p.c: Move to ...
* gcc.c-torture/compile/p.c: ... here.
* gcc.c-torture/unsorted/pmt.c: Move to ...
* gcc.c-torture/compile/pmt.c: ... here.
* gcc.c-torture/unsorted/poor.c: Move to ...
* gcc.c-torture/compile/poor.c: ... here.
* gcc.c-torture/unsorted/pp.c: Move to ...
* gcc.c-torture/compile/pp.c: ... here.
* gcc.c-torture/unsorted/pret-arg.c: Move to ...
* gcc.c-torture/compile/pret-arg.c: ... here.
* gcc.c-torture/unsorted/pyr2.c: Move to ...
* gcc.c-torture/compile/pyr2.c: ... here.
* gcc.c-torture/unsorted/PYRBUG.c: Move to ...
* gcc.c-torture/compile/PYRBUG.c: ... here.
* gcc.c-torture/unsorted/pyr.c: Move to ...
* gcc.c-torture/compile/pyr.c: ... here.
* gcc.c-torture/unsorted/q.c: Move to ...
* gcc.c-torture/compile/q.c: ... here.
* gcc.c-torture/unsorted/QIcmp.c: Move to ...
* gcc.c-torture/compile/QIcmp.c: ... here.
* gcc.c-torture/unsorted/QIset.c: Move to ...
* gcc.c-torture/compile/QIset.c: ... here.
* gcc.c-torture/unsorted/r1.c: Move to ...
* gcc.c-torture/compile/r1.c: ... here.
* gcc.c-torture/unsorted/r.c: Move to ...
* gcc.c-torture/compile/r.c: ... here.
* gcc.c-torture/unsorted/rel.c: Move to ...
* gcc.c-torture/compile/rel.c: ... here.
* gcc.c-torture/unsorted/rmsc.c: Move to ...
* gcc.c-torture/compile/rmsc.c: ... here.
* gcc.c-torture/unsorted/round.c: Move to ...
* gcc.c-torture/compile/round.c: ... here.
* gcc.c-torture/unsorted/run.c: Move to ...
* gcc.c-torture/compile/run.c: ... here.
* gcc.c-torture/unsorted/sar.c: Move to ...
* gcc.c-torture/compile/sar.c: ... here.
* gcc.c-torture/unsorted/s.c: Move to ...
* gcc.c-torture/compile/s.c: ... here.
* gcc.c-torture/unsorted/scal.c: Move to ...
* gcc.c-torture/compile/scal.c: ... here.
* gcc.c-torture/unsorted/sc.c: Move to ...
* gcc.c-torture/compile/sc.c: ... here.
* gcc.c-torture/unsorted/scc.c: Move to ...
* gcc.c-torture/compile/scc.c: ... here.
* gcc.c-torture/unsorted/scond.c: Move to ...
* gcc.c-torture/compile/scond.c: ... here.
* gcc.c-torture/unsorted/selfrec.c: Move to ...
* gcc.c-torture/compile/selfrec.c: ... here.
* gcc.c-torture/unsorted/seq.c: Move to ...
* gcc.c-torture/compile/seq.c: ... here.
* gcc.c-torture/unsorted/set386.c: Move to ...
* gcc.c-torture/compile/set386.c: ... here.
* gcc.c-torture/unsorted/set88.c: Move to ...
* gcc.c-torture/compile/set88.c: ... here.
* gcc.c-torture/unsorted/SFset.c: Move to ...
* gcc.c-torture/compile/SFset.c: ... here. Require int32plus.
* gcc.c-torture/unsorted/shand.c: Move to ...
* gcc.c-torture/compile/shand.c: ... here.
* gcc.c-torture/unsorted/sh.c: Move to ...
* gcc.c-torture/compile/sh.c: ... here.
* gcc.c-torture/unsorted/shft.c: Move to ...
* gcc.c-torture/compile/shft.c: ... here.
* gcc.c-torture/unsorted/shift.c: Move to ...
* gcc.c-torture/compile/shift.c: ... here.
* gcc.c-torture/unsorted/shloop.c: Move to ...
* gcc.c-torture/compile/shloop.c: ... here.
* gcc.c-torture/unsorted/shm.c: Move to ...
* gcc.c-torture/compile/shm.c: ... here.
* gcc.c-torture/unsorted/SIcmp.c: Move to ...
* gcc.c-torture/compile/SIcmp.c: ... here.
* gcc.c-torture/unsorted/signext2.c: Move to ...
* gcc.c-torture/compile/signext2.c: ... here.
* gcc.c-torture/unsorted/signext.c: Move to ...
* gcc.c-torture/compile/signext.c: ... here.
* gcc.c-torture/unsorted/sim.c: Move to ...
* gcc.c-torture/compile/sim.c: ... here.
* gcc.c-torture/unsorted/simple.c: Move to ...
* gcc.c-torture/compile/simple.c: ... here.
* gcc.c-torture/unsorted/SIset.c: Move to ...
* gcc.c-torture/compile/SIset.c: ... here.
* gcc.c-torture/unsorted/sne.c: Move to ...
* gcc.c-torture/compile/sne.c: ... here.
* gcc.c-torture/unsorted/sound.c: Move to ...
* gcc.c-torture/compile/sound.c: ... here.
* gcc.c-torture/unsorted/sparcbug.c: Move to ...
* gcc.c-torture/compile/sparcbug.c: ... here.
* gcc.c-torture/unsorted/speed.c: Move to ...
* gcc.c-torture/compile/speed.c: ... here.
* gcc.c-torture/unsorted/stor.c: Move to ...
* gcc.c-torture/compile/stor.c: ... here.
* gcc.c-torture/unsorted/store0.c: Move to ...
* gcc.c-torture/compile/store0.c: ... here.
* gcc.c-torture/unsorted/storecc.c: Move to ...
* gcc.c-torture/compile/storecc.c: ... here.
* gcc.c-torture/unsorted/str.c: Move to ...
* gcc.c-torture/compile/str.c: ... here.
* gcc.c-torture/unsorted/stru.c: Move to ...
* gcc.c-torture/compile/stru.c: ... here.
* gcc.c-torture/unsorted/structret.c: Move to ...
* gcc.c-torture/compile/structret.c: ... here.
* gcc.c-torture/unsorted/stuct.c: Move to ...
* gcc.c-torture/compile/stuct.c: ... here.
* gcc.c-torture/unsorted/sub32.c: Move to ...
* gcc.c-torture/compile/sub32.c: ... here.
* gcc.c-torture/unsorted/subcc.c: Move to ...
* gcc.c-torture/compile/subcc.c: ... here.
* gcc.c-torture/unsorted/subcse.c: Move to ...
* gcc.c-torture/compile/subcse.c: ... here.
* gcc.c-torture/unsorted/sym.c: Move to ...
* gcc.c-torture/compile/sym.c: ... here.
* gcc.c-torture/unsorted/symconst.c: Move to ...
* gcc.c-torture/compile/symconst.c: ... here.
* gcc.c-torture/unsorted/t.c: Move to ...
* gcc.c-torture/compile/t.c: ... here.
* gcc.c-torture/unsorted/test.c: Move to ...
* gcc.c-torture/compile/test.c: ... here.
* gcc.c-torture/unsorted/test-flow.c: Move to ...
* gcc.c-torture/compile/test-flow.c: ... here.
* gcc.c-torture/unsorted/test-loop.c: Move to ...
* gcc.c-torture/compile/test-loop.c: ... here.
* gcc.c-torture/unsorted/time.c: Move to ...
* gcc.c-torture/compile/time.c: ... here.
* gcc.c-torture/unsorted/tmp.c: Move to ...
* gcc.c-torture/compile/tmp.c: ... here.
* gcc.c-torture/unsorted/trivial.c: Move to ...
* gcc.c-torture/compile/trivial.c: ... here.
* gcc.c-torture/unsorted/trunc.c: Move to ...
* gcc.c-torture/compile/trunc.c: ... here.
* gcc.c-torture/unsorted/u.c: Move to ...
* gcc.c-torture/compile/u.c: ... here.
* gcc.c-torture/unsorted/udconvert.c: Move to ...
* gcc.c-torture/compile/udconvert.c: ... here.
* gcc.c-torture/unsorted/udivmod4.c: Move to ...
* gcc.c-torture/compile/udivmod4.c: ... here.
* gcc.c-torture/unsorted/UHIcmp.c: Move to ...
* gcc.c-torture/compile/UHIcmp.c: ... here.
* gcc.c-torture/unsorted/uns.c: Move to ...
* gcc.c-torture/compile/uns.c: ... here.
* gcc.c-torture/unsorted/uns_tst.c: Move to ...
* gcc.c-torture/compile/uns_tst.c: ... here.
* gcc.c-torture/unsorted/UQIcmp.c: Move to ...
* gcc.c-torture/compile/UQIcmp.c: ... here.
* gcc.c-torture/unsorted/USIcmp.c: Move to ...
* gcc.c-torture/compile/USIcmp.c: ... here.
* gcc.c-torture/unsorted/uuarg.c: Move to ...
* gcc.c-torture/compile/uuarg.c: ... here.
* gcc.c-torture/unsorted/v.c: Move to ...
* gcc.c-torture/compile/v.c: ... here.
* gcc.c-torture/unsorted/w.c: Move to ...
* gcc.c-torture/compile/w.c: ... here.
* gcc.c-torture/unsorted/ww.c: Move to ...
* gcc.c-torture/compile/ww.c: ... here.
* gcc.c-torture/unsorted/xb.c: Move to ...
* gcc.c-torture/compile/xb.c: ... here.
* gcc.c-torture/unsorted/xbg.c: Move to ...
* gcc.c-torture/compile/xbg.c: ... here.
* gcc.c-torture/unsorted/x.c: Move to ...
* gcc.c-torture/compile/x.c: ... here.
* gcc.c-torture/unsorted/xc.c: Move to ...
* gcc.c-torture/compile/xc.c: ... here.
* gcc.c-torture/unsorted/xcsebug.c: Move to ...
* gcc.c-torture/compile/xcsebug.c: ... here.
* gcc.c-torture/unsorted/xdi.c: Move to ...
* gcc.c-torture/compile/xdi.c: ... here.
* gcc.c-torture/unsorted/xfoo.c: Move to ...
* gcc.c-torture/compile/xfoo.c: ... here.
* gcc.c-torture/unsorted/xi.c: Move to ...
* gcc.c-torture/compile/xi.c: ... here.
* gcc.c-torture/unsorted/xlop.c: Move to ...
* gcc.c-torture/compile/xlop.c: ... here.
* gcc.c-torture/unsorted/xmtst.c: Move to ...
* gcc.c-torture/compile/xmtst.c: ... here.
* gcc.c-torture/unsorted/xneg.c: Move to ...
* gcc.c-torture/compile/xneg.c: ... here.
* gcc.c-torture/unsorted/xopt.c: Move to ...
* gcc.c-torture/compile/xopt.c: ... here.
* gcc.c-torture/unsorted/xor.c: Move to ...
* gcc.c-torture/compile/xor.c: ... here.
* gcc.c-torture/unsorted/xorn.c: Move to ...
* gcc.c-torture/compile/xorn.c: ... here.
* gcc.c-torture/unsorted/xp.c: Move to ...
* gcc.c-torture/compile/xp.c: ... here.
* gcc.c-torture/unsorted/xpp.c: Move to ...
* gcc.c-torture/compile/xpp.c: ... here.
* gcc.c-torture/unsorted/xs.c: Move to ...
* gcc.c-torture/compile/xs.c: ... here.
* gcc.c-torture/unsorted/xsh.c: Move to ...
* gcc.c-torture/compile/xsh.c: ... here.
* gcc.c-torture/unsorted/xz.c: Move to ...
* gcc.c-torture/compile/xz.c: ... here.
* gcc.c-torture/unsorted/xzz.c: Move to ...
* gcc.c-torture/compile/xzz.c: ... here.
From-SVN: r214793
Olivier Hainque [Mon, 1 Sep 2014 13:00:56 +0000 (13:00 +0000)]
vxworksae.h (VXWORKSAE_TARGET_DIR): Rely on $WIND_BASE instead of designating a harcoded arbitrary home dir.
* config/vxworksae.h (VXWORKSAE_TARGET_DIR): Rely on
$WIND_BASE instead of designating a harcoded arbitrary home dir.
(VXWORKS_ADDITIONAL_CPP_SPEC): Adjust callers.
From-SVN: r214792
Rainer Orth [Mon, 1 Sep 2014 12:55:30 +0000 (12:55 +0000)]
Fix typo in gcc.c-torture/execute/
20010129-1.c
* gcc.c-torture/execute/
20010129-1.c: Fix typo in -mtune.
(abort, exit): Declare.
From-SVN: r214791
Richard Biener [Mon, 1 Sep 2014 11:35:10 +0000 (11:35 +0000)]
tree-ssa-sccvn.h (copy_reference_ops_from_ref, [...]): Remove.
2014-09-01 Richard Biener <rguenther@suse.de>
* tree-ssa-sccvn.h (copy_reference_ops_from_ref,
copy_reference_ops_from_call, vn_nary_op_compute_hash,
vn_reference_compute_hash, vn_reference_insert): Remove.
(vn_reference_lookup_call): New function.
* tree-ssa-sccvn.c (vn_reference_compute_hash,
copy_reference_ops_from_ref, copy_reference_ops_from_call,
vn_reference_insert, vn_nary_op_compute_hash): Make static.
(create_reference_ops_from_call): Remove.
(vn_reference_lookup_3): Properly update shared_lookup_references.
(vn_reference_lookup_pieces): Assert that we updated
shared_lookup_references properly.
(vn_reference_lookup): Likewise.
(vn_reference_lookup_call): New function.
(visit_reference_op_call): Use it. Avoid re-building the
reference ops.
(visit_reference_op_load): Remove redundant lookup.
(visit_reference_op_store): Perform special tail-merging work
only when possibly doing tail-merging.
(visit_use): Likewise.
* tree-ssa-pre.c (compute_avail): Use vn_reference_lookup_call.
From-SVN: r214787
Jakub Jelinek [Mon, 1 Sep 2014 11:15:41 +0000 (13:15 +0200)]
re PR target/62025 (Miscompilation of openssl sha512.c)
PR target/62025
* sched-deps.c (add_or_update_dep_1): If ask_dependency_caches
returned DEP_PRESENT, make sure to set DEP_MULTIPLE on present_dep.
(find_inc): Revert 2014-08-13 change.
From-SVN: r214786
Marek Polacek [Mon, 1 Sep 2014 09:18:43 +0000 (09:18 +0000)]
re PR middle-end/61903 (signed integer overflow in expmed.c store_fixed_bit_filed_1)
PR middle-end/61903
* expmed.c (store_fixed_bit_field_1): Shift UHWI 1 instead of HWI 1.
Change the type of V to unsigned HOST_WIDE_INT.
From-SVN: r214781
Thomas Preud'homme [Mon, 1 Sep 2014 09:07:00 +0000 (09:07 +0000)]
tree-ssa-math-opts.c (struct symbolic_number): Clarify comment about the size of byte markers.
2014-09-01 Thomas Preud'homme <thomas.preudhomme@arm.com>
* tree-ssa-math-opts.c (struct symbolic_number): Clarify comment about
the size of byte markers.
(do_shift_rotate): Fix confusion between host, target and marker byte
size.
(verify_symbolic_number_p): Likewise.
(find_bswap_or_nop_1): Likewise.
(find_bswap_or_nop): Likewise.
From-SVN: r214780
Olivier Hainque [Mon, 1 Sep 2014 08:43:47 +0000 (08:43 +0000)]
Makefile.in (FLAGS_TO_PASS): Propagate INSTALL, INSTALL_DATA, INSTALL_SCRIPT and INSTALL_PROGRAM as well.
gcc/
* Makefile.in (FLAGS_TO_PASS): Propagate INSTALL, INSTALL_DATA,
INSTALL_SCRIPT and INSTALL_PROGRAM as well.
From-SVN: r214779
Jakub Jelinek [Mon, 1 Sep 2014 08:26:51 +0000 (10:26 +0200)]
gnu-user.h (LIBLSAN_EARLY_SPEC): Define.
* config/gnu-user.h (LIBLSAN_EARLY_SPEC): Define.
* gcc.c (LIBLSAN_SPEC, LIBLSAN_EARLY_SPEC): Follow LIBTSAN*_SPEC.
(SANITIZER_EARLY_SPEC): Include LIBLSAN_EARLY_SPEC for -fsanitize=leak.
From-SVN: r214778
Yury Gribov [Mon, 1 Sep 2014 07:47:37 +0000 (07:47 +0000)]
re PR sanitizer/61897 (sanitizer internal compiler error: in build2_stat, at tree.c:4160)
2014-09-01 Yury Gribov <y.gribov@samsung.com>
PR sanitizer/61897
PR sanitizer/62140
gcc/
* asan.c (asan_mem_ref_get_end): Handle non-ptroff_t lengths.
(build_check_stmt): Likewise.
(instrument_strlen_call): Likewise.
(asan_expand_check_ifn): Likewise and fix types.
(maybe_cast_to_ptrmode): New function.
gcc/testsuite/
* c-c++-common/asan/pr62140-1.c: New test.
* c-c++-common/asan/pr62140-2.c: New test.
From-SVN: r214777
GCC Administrator [Mon, 1 Sep 2014 00:16:50 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r214776
Jan-Benedict Glaw [Sun, 31 Aug 2014 22:48:22 +0000 (22:48 +0000)]
Commit missing patch part
From-SVN: r214773
Jan-Benedict Glaw [Sun, 31 Aug 2014 22:42:47 +0000 (22:42 +0000)]
Fix build error with Debian's 4.8.1-2 due to wrong declaration
This patch fixes a non-matching declaration, which lets G++ 4.8.1 (as of
Debian's g++ package) barf:
g++ -c -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -fno-common -DHAVE_CONFIG_H -I. -I. -I/home/vaxbuild/repos/gcc/gcc -I/home/vaxbuild/repos/gcc/gcc/. -I/home/vaxbuild/repos/gcc/gcc/../include -I/home/vaxbuild/repos/gcc/gcc/../libcpp/include -I/home/vaxbuild/repos/gcc/gcc/../libdecnumber -I/home/vaxbuild/repos/gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I/home/vaxbuild/repos/gcc/gcc/../libbacktrace -o mcore.o -MT mcore.o -MMD -MP -MF ./.deps/mcore.TPo /home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c: In function ‘const char* output_inline_const(machine_mode, rtx_def**)’:
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c:1216:82: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 5 has type ‘long long int’ [-Wformat=]
sprintf (buf, "%s\n\tnot\t%s\t// %ld 0x%lx", load_op, dst_fmt, value, value);
^
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c:1216:82: warning: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 6 has type ‘long long int’ [-Wformat=]
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c:1219:87: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 5 has type ‘long long int’ [-Wformat=]
sprintf (buf, "%s\n\taddi\t%s,%%2\t// %ld 0x%lx", load_op, dst_fmt, value, value);
^
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c:1219:87: warning: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 6 has type ‘long long int’ [-Wformat=]
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c:1222:87: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 5 has type ‘long long int’ [-Wformat=]
sprintf (buf, "%s\n\tsubi\t%s,%%2\t// %ld 0x%lx", load_op, dst_fmt, value, value);
^
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c:1222:87: warning: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 6 has type ‘long long int’ [-Wformat=]
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c:1226:88: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 5 has type ‘long long int’ [-Wformat=]
sprintf (buf, "%s\n\trsubi\t%s,%%2\t// %ld 0x%lx", load_op, dst_fmt, value, value);
^
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c:1226:88: warning: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 6 has type ‘long long int’ [-Wformat=]
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c:1229:89: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 5 has type ‘long long int’ [-Wformat=]
sprintf (buf, "%s\n\tbseti\t%s,%%P2\t// %ld 0x%lx", load_op, dst_fmt, value, value);
^
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c:1229:89: warning: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 6 has type ‘long long int’ [-Wformat=]
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c:1232:89: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 5 has type ‘long long int’ [-Wformat=]
sprintf (buf, "%s\n\tbclri\t%s,%%Q2\t// %ld 0x%lx", load_op, dst_fmt, value, value);
^
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c:1232:89: warning: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 6 has type ‘long long int’ [-Wformat=]
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c:1235:88: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 5 has type ‘long long int’ [-Wformat=]
sprintf (buf, "%s\n\trotli\t%s,%%2\t// %ld 0x%lx", load_op, dst_fmt, value, value);
^
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c:1235:88: warning: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 6 has type ‘long long int’ [-Wformat=]
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c:1238:87: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 5 has type ‘long long int’ [-Wformat=]
sprintf (buf, "%s\n\tlsli\t%s,%%2\t// %ld 0x%lx", load_op, dst_fmt, value, value);
^
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c:1238:87: warning: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 6 has type ‘long long int’ [-Wformat=]
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c:1241:94: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 6 has type ‘long long int’ [-Wformat=]
sprintf (buf, "%s\n\tixh\t%s,%s\t// %ld 0x%lx", load_op, dst_fmt, dst_fmt, value, value);
^
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c:1241:94: warning: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 7 has type ‘long long int’ [-Wformat=]
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c:1244:94: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 6 has type ‘long long int’ [-Wformat=]
sprintf (buf, "%s\n\tixw\t%s,%s\t// %ld 0x%lx", load_op, dst_fmt, dst_fmt, value, value);
^
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c:1244:94: warning: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 7 has type ‘long long int’ [-Wformat=]
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c: At global scope:
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c:100:19: warning: ‘int try_constant_tricks(long int, long long int*, long long int*)’ used but never defined [enabled by default]
static int try_constant_tricks (long, HOST_WIDE_INT *, HOST_WIDE_INT *);
^
[...]
g++ -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -fno-common -DHAVE_CONFIG_H -static-libstdc++ -static-libgcc -o cc1 c/c-lang.o c-family/stub-objc.o attribs.o c/c-errors.o c/c-decl.o c/c-typeck.o c/c-convert.o c/c-aux-info.o c/c-objc-common.o c/c-parser.o c/c-array-notation.o c-family/c-common.o c-family/c-cppbuiltin.o c-family/c-dump.o c-family/c-format.o c-family/c-gimplify.o c-family/c-lex.o c-family/c-omp.o c-family/c-opts.o c-family/c-pch.o c-family/c-ppoutput.o c-family/c-pragma.o c-family/c-pretty-print.o c-family/c-semantics.o c-family/c-ada-spec.o c-family/c-cilkplus.o c-family/array-notation-common.o c-family/cilk.o c-family/c-ubsan.o default-c.o \
cc1-checksum.o libbackend.a main.o tree-browser.o libcommon-target.a libcommon.a ../libcpp/libcpp.a ../libdecnumber/libdecnumber.a libcommon.a ../libcpp/libcpp.a ../libbacktrace/.libs/libbacktrace.a ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a -lmpc -lmpfr -lgmp -rdynamic -ldl -L../zlib -lz
libbackend.a(mcore.o): In function `mcore_const_ok_for_inline':
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c:751: undefined reference to `try_constant_tricks(long, long long*, long long*)'
libbackend.a(mcore.o): In function `mcore_const_ok_for_inline(long long)':
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c:751: undefined reference to `try_constant_tricks(long, long long*, long long*)'
libbackend.a(mcore.o): In function `mcore_const_trick_uses_not(long long)':
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c:761: undefined reference to `try_constant_tricks(long, long long*, long long*)'
libbackend.a(mcore.o): In function `mcore_const_ok_for_inline':
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c:751: undefined reference to `try_constant_tricks(long, long long*, long long*)'
collect2: error: ld returned 1 exit status
make[1]: *** [cc1] Error 1
make[1]: Leaving directory `/home/vaxbuild/build/mcore-elf/build-gcc/gcc'
make: *** [all-gcc] Error 2
This patch fixes only the wrong declaration of try_constant_tricks().
2014-09-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
* config/mcore/mcore.c (try_constant_tricks): Fix declaration.
From-SVN: r214772
Fritz Reese [Sun, 31 Aug 2014 22:28:30 +0000 (22:28 +0000)]
re PR fortran/62309 (-fno-automatic with -finit-local prevents initialization of automatics in recursive functions)
2014-08-31 Fritz Reese <Reese-Fritz@zai.com>
PR fortran/62309
* resolve.c (apply_default_init_local): Don't treat variables
in RECURSIVE procedures as saved.
2014-08-31 Fritz Reese <Reese-Fritz@zai.com>
Tobias Burnus <burnus@net-b.de>
PR fortran/62309
* gcc/testsuite/gfortran.dg/auto_save_2.f90: New.
Co-Authored-By: Tobias Burnus <burnus@net-b.de>
From-SVN: r214771
Jason Merrill [Sun, 31 Aug 2014 21:06:08 +0000 (17:06 -0400)]
re PR c++/62302 (Change in the comdat used for constructors)
PR c++/62302
* optimize.c (cdtor_comdat_group): Just look at the
DECL_ASSEMBLER_NAME of the 'tors.
From-SVN: r214770
Gerald Pfeifer [Sun, 31 Aug 2014 19:29:13 +0000 (19:29 +0000)]
Fix typo.
From-SVN: r214769
Gerald Pfeifer [Sun, 31 Aug 2014 19:28:04 +0000 (19:28 +0000)]
* doc/generic.texi (Deficiencies): Add note on exemplary mistakes.
From-SVN: r214768
Tobias Burnus [Sun, 31 Aug 2014 06:32:06 +0000 (08:32 +0200)]
trans-decl.c (gfc_build_builtin_function_decls): Add may_require_tmp dummy argument.
2014-08-31 Tobias Burnus <burnus@net-b.de>
gcc/fortran/
* trans-decl.c (gfc_build_builtin_function_decls): Add
may_require_tmp dummy argument.
* trans-intrinsic.c (gfc_conv_intrinsic_caf_get,
conv_caf_send): Handle may_require_tmp argument.
(gfc_conv_intrinsic_function): Update call.
* gfortran.texi (_gfortran_caf_send, _gfortran_caf_get,
_gfortran_caf_sendget): Update interface description.
gcc/testsuite/
* gfortran.dg/coarray_lib_comm_1.f90: New.
libgfortran/
* caf/libcaf.h (_gfortran_caf_send, _gfortran_caf_get,
_gfortran_caf_sendget): Update prototype.
* caf/single.c (_gfortran_caf_send, _gfortran_caf_get,
_gfortran_caf_sendget): Handle may_require_tmp.
From-SVN: r214764
GCC Administrator [Sun, 31 Aug 2014 00:17:14 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r214763
Andrew Pinski [Sat, 30 Aug 2014 22:35:43 +0000 (22:35 +0000)]
20140828-1.c: New testcase.
2014-08-30 Andrew Pinski <apinski@cavium.com>
* gcc.c-torture/execute/
20140828-1.c: New testcase.
From-SVN: r214760
Tobias Burnus [Sat, 30 Aug 2014 18:48:42 +0000 (20:48 +0200)]
Add missing ChangeLog items for Rev. 214758.
From-SVN: r214759
Tobias Burnus [Sat, 30 Aug 2014 18:47:40 +0000 (20:47 +0200)]
trans.h (gfc_caf_get_image_index, [...]): New prototypes.
2014-08-30 Tobias Burnus <burnus@net-b.de>
* trans.h (gfc_caf_get_image_index,
gfc_get_caf_token_offset): New prototypes.
* trans-expr.c (gfc_caf_get_image_index): Moved from
trans-intrinsic.c and renamed.
(gfc_get_caf_token_offset) Ditto; support offset = NULL
with early return.
* trans-intrinsic.c (get_caf_token_offset, caf_get_image_index):
Moved to trans-expr.
(gfc_conv_intrinsic_caf_get, conv_caf_send,
conv_intrinsic_atomic_op, conv_intrinsic_atomic_ref,
conv_intrinsic_atomic_cas): Update callers.
From-SVN: r214758
Tobias Burnus [Sat, 30 Aug 2014 18:47:04 +0000 (20:47 +0200)]
re PR fortran/62278 (gfc_check_dependency should also check for TARGET attribute)
2014-08-30 Tobias Burnus <burnus@net-b.de>
PR fortran/62278
PR fortran/44735
PR fortran/60593
* dependency.c (gfc_check_dependency): Allow for optimizations
in the pointer-alias check.
From-SVN: r214757
John David Anglin [Sat, 30 Aug 2014 15:24:59 +0000 (15:24 +0000)]
pa.c (pa_assemble_integer): Don't add PLABEL relocation prefix to function labels when...
* config/pa/pa.c (pa_assemble_integer): Don't add PLABEL relocation
prefix to function labels when generating fast indirect calls.
From-SVN: r214754
John David Anglin [Sat, 30 Aug 2014 15:10:20 +0000 (15:10 +0000)]
baseline_symbols.txt: Update.
* config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
From-SVN: r214753
David Malcolm [Sat, 30 Aug 2014 14:34:02 +0000 (14:34 +0000)]
re PR bootstrap/62304 (ICE in follow_jumps, find_dead_or_set_registers)
PR bootstrap/62304
* gcc/reorg.c (skip_consecutive_labels): Convert return type and
param back from rtx_insn * to rtx. Rename param from "label" to
"label_or_return", reintroducing "label" as an rtx_insn * after
we've ensured it's not a RETURN.
(first_active_target_insn): Likewise for return type and param;
add a checked cast to rtx_insn * once we've ensured "insn" is not
a RETURN.
(steal_delay_list_from_target): Convert param "pnew_thread" back
from rtx_insn ** to rtx *. Replace use of JUMP_LABEL_AS_INSN
with JUMP_LABEL.
(own_thread_p): Convert param "thread" back from an rtx_insn * to
an rtx. Introduce local rtx_insn * "thread_insn" with a checked
cast once we've established we're not dealing with a RETURN,
renaming subsequent uses of "thread" to "thread_insn".
(fill_simple_delay_slots): Convert uses of JUMP_LABEL_AS_INSN back
to JUMP_LABEL.
(follow_jumps): Convert return type and param "label" from
rtx_insn * back to rtx. Move initialization of "value" to after
the handling for ANY_RETURN_P, adding a checked cast there to
rtx_insn *. Convert local rtx_insn * "this_label" to an rtx and
rename to "this_label_or_return", reintroducing "this_label" as
an rtx_insn * once we've handled the case where it could be an
ANY_RETURN_P.
(fill_slots_from_thread): Rename param "thread" to
"thread_or_return", converting from an rtx_insn * back to an rtx.
Reintroduce name "thread" as an rtx_insn * local with a checked
cast once we've handled the case of it being an ANY_RETURN_P.
Convert local "new_thread" from an rtx_insn * back to an rtx.
Add a checked cast when assigning to "trial" from "new_thread".
Convert use of JUMP_LABEL_AS_INSN back to JUMP_LABEL. Add a
checked cast to rtx_insn * from "new_thread" when invoking
get_label_before.
(fill_eager_delay_slots): Convert locals "target_label",
"insn_at_target" from rtx_insn * back to rtx.
Convert uses of JUMP_LABEL_AS_INSN back to JUMP_LABEL.
(relax_delay_slots): Convert locals "trial", "target_label" from
rtx_insn * back to rtx. Convert uses of JUMP_LABEL_AS_INSN back
to JUMP_LABEL. Add a checked cast to rtx_insn * on "trial" when
invoking update_block.
(dbr_schedule): Convert use of JUMP_LABEL_AS_INSN back to
JUMP_LABEL; this removes all JUMP_LABEL_AS_INSN from reorg.c.
* resource.h (mark_target_live_regs): Undo erroneous conversion
of second param of r214693, converting it back from rtx_insn * to
rtx, since it could be a RETURN.
* resource.c (find_dead_or_set_registers): Similarly, convert
param "jump_target" back from an rtx_insn ** to an rtx *, as we
could be writing back a RETURN. Rename local rtx_insn * "next" to
"next_insn", and introduce "lab_or_return" as a local rtx,
handling the case where JUMP_LABEL (this_jump_insn) is a RETURN.
(mark_target_live_regs): Undo erroneous conversion
of second param of r214693, converting it back from rtx_insn * to
rtx, since it could be a RETURN. Rename it from "target" to
"target_maybe_return", reintroducing the name "target" as a local
rtx_insn * with a checked cast, after we've handled the case of
ANY_RETURN_P.
From-SVN: r214752
GCC Administrator [Sat, 30 Aug 2014 00:16:50 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r214751
DJ Delorie [Fri, 29 Aug 2014 23:35:12 +0000 (19:35 -0400)]
cppbuiltin.c (define_builtin_macros_for_type_sizes): Round pointer size up to a power of two.
* cppbuiltin.c (define_builtin_macros_for_type_sizes): Round
pointer size up to a power of two.
* defaults.h (DWARF2_ADDR_SIZE): Round up.
(POINTER_SIZE_UNITS): New, rounded up value.
* dwarf2asm.c (size_of_encoded_value): Use it.
(dw2_output_indirect_constant_1): Likewise.
* expmed.c (init_expmed_one_conv): We now know the sizes of
partial int modes.
* loop-iv.c (iv_number_of_iterations): Use precision, not size.
* optabs.c (expand_float): Use precision, not size.
(expand_fix): Likewise.
* simplify-rtx (simplify_unary_operation_1): Likewise.
* tree-dfa.c (get_ref_base_and_extent): Likewise.
* varasm.c (assemble_addr_to_section): Round up pointer sizes.
(default_assemble_integer) Likewise.
(dump_tm_clone_pairs): Likewise.
* dwarf2out.c (mem_loc_descriptor): Allow partial-int modes also.
* var-tracking.c (adjust_mems): Allow partial-int modes also.
(prepare_call_arguments): Likewise.
* stor-layout.c (finalize_type_size): Preserve precision.
(layout_type): Use precision, not size.
From-SVN: r214748
DJ Delorie [Fri, 29 Aug 2014 23:19:42 +0000 (19:19 -0400)]
expr.c (convert_move): If the target has an explicit converter, use it.
* expr.c (convert_move): If the target has an explicit converter,
use it.
From-SVN: r214747
DJ Delorie [Fri, 29 Aug 2014 23:16:29 +0000 (19:16 -0400)]
target-supports.exp (check_effective_target_size32plus): Increase size to avoid false positives on 24-bit address spaces.
* lib/target-supports.exp (check_effective_target_size32plus):
Increase size to avoid false positives on 24-bit address spaces.
* gcc.c-torture/compile/limits-stringlit.c: Skip if msp430.
* gcc.dg/lto/pr54709_1.c: Fix memcpy prototype.
* gcc.dg/torture/pta-ptrarith-3.c: Use __SIZE_TYPE__ instead of "int".
* gcc.dg/torture/pr36373-10.c: Use __SIZE_TYPE__ if present.
* gcc.dg/torture/pr57864.c: Use __SIZE_TYPE__.
* gcc.dg/torture/pr26763-2.c: Use __SIZE_TYPE__ instead of "int".
* gcc.dg/tree-ssa/isolate-3.c: Use __SIZE_TYPE__ instead of "long unsigned int".
* gcc.dg/pr52549.c: Use __SIZE_TYPE__ if present.
From-SVN: r214746
Janne Blomqvist [Fri, 29 Aug 2014 21:17:34 +0000 (00:17 +0300)]
Use ISO C remove() instead of POSIX unlink()
2014-08-30 Janne Blomqvist <jb@gcc.gnu.org>
* module.c (gfc_dump_module): Use ISO C remove() instead of POSIX
unlink().
From-SVN: r214744
Jeffrey Armstrong [Fri, 29 Aug 2014 20:46:15 +0000 (20:46 +0000)]
PR 62215 Reinstate unlinking old module file before renaming.
2014-08-29 Jeffrey Armstrong <jeffrey.armstrong@approximatrix.com>
PR fortran/62215
* module.c (gfc_dump_module): Unlink old module file before
renaming new one.
From-SVN: r214742
David Malcolm [Fri, 29 Aug 2014 20:20:17 +0000 (20:20 +0000)]
gdbinit.in: Skip various inline functions in rtl.h when stepping
gcc/
2014-08-29 David Malcolm <dmalcolm@redhat.com>
* gdbinit.in: Skip various inline functions in rtl.h when
stepping.
From-SVN: r214741
Andrew Burgess [Fri, 29 Aug 2014 19:30:10 +0000 (19:30 +0000)]
cp-demangle.c (d_dump): Only access field from s_fixed part of the union for DEMANGLE_COMPONENT_FIXED_TYPE.
* cp-demangle.c (d_dump): Only access field from s_fixed part of
the union for DEMANGLE_COMPONENT_FIXED_TYPE.
(d_count_templates_scopes): Likewise.
From-SVN: r214740
Jonathan Wakely [Fri, 29 Aug 2014 16:28:19 +0000 (17:28 +0100)]
complex (complex): Define copy constructor and assignment operator as defaulted.
* include/std/complex (complex): Define copy constructor and
assignment operator as defaulted. Improve Doxygen comments.
From-SVN: r214736
Manuel López-Ibáñez [Fri, 29 Aug 2014 16:06:19 +0000 (16:06 +0000)]
directives.c (check_eol_1): New.
libcpp/ChangeLog:
2014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
* directives.c (check_eol_1): New.
(check_eol_endif_labels): New.
(check_eol): Call check_eol_1.
(do_else,do_endif): Call check_eol_endif_labels.
gcc/c-family/ChangeLog:
2014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
* c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
Wundef): Use CPP, Var and Init.
* c-opts.c (c_common_handle_option): Do not handle the above flags here.
From-SVN: r214735
Paolo Carlini [Fri, 29 Aug 2014 15:58:26 +0000 (15:58 +0000)]
re PR c++/54002 ([C++0x] Initializing constexpr static member using constexpr static method fails)
2014-08-29 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/54002
* g++.dg/cpp0x/constexpr-54002.C: New.
From-SVN: r214734
Richard Sandiford [Fri, 29 Aug 2014 15:51:13 +0000 (15:51 +0000)]
re PR bootstrap/62301 (PowerPC bootstrap broken since r214654)
gcc/
PR bootstrap/62301
* rtlanal.c (rtx_referenced_p): Fix typo in LABEL_P call.
From-SVN: r214733
Manuel López-Ibáñez [Fri, 29 Aug 2014 15:28:45 +0000 (15:28 +0000)]
macro.c (warn_of_redefinition): Suppress warnings for builtins that lack the NODE_WARN flag...
libcpp/ChangeLog:
2014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
* macro.c (warn_of_redefinition): Suppress warnings for builtins
that lack the NODE_WARN flag, unless Wbuiltin-macro-redefined.
(_cpp_create_definition): Use Wbuiltin-macro-redefined for
builtins that lack the NODE_WARN flag.
* directives.c (do_undef): Likewise.
* init.c (cpp_init_special_builtins): Do not change flags
depending on Wbuiltin-macro-redefined.
gcc/c-family/ChangeLog:
2014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
* c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
* c-opts.c (c_common_handle_option): Do not handle here.
From-SVN: r214730
Paolo Carlini [Fri, 29 Aug 2014 13:12:02 +0000 (13:12 +0000)]
re PR c++/56991 (constexpr std::initializer_list rejects too complex initialization)
2014-08-29 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/56991
* g++.dg/cpp0x/constexpr-56991.C: New.
From-SVN: r214729
Paolo Carlini [Fri, 29 Aug 2014 12:47:19 +0000 (12:47 +0000)]
re PR c++/57764 (class static constexpr variables cannot be references)
2014-08-29 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57764
* g++.dg/cpp0x/constexpr-57764.C: New.
From-SVN: r214728
Richard Biener [Fri, 29 Aug 2014 12:39:50 +0000 (12:39 +0000)]
re PR tree-optimization/62291 (PRE uses too much memory and compile-time)
2014-08-29 Richard Biener <rguenther@suse.de>
PR tree-optimization/62291
* tree-ssa-pre.c (sorted_array_from_bitmap_set): Reserve
exactly the vector size needed and use quick_push.
(phi_translate_1): Adjust comment.
(valid_in_sets): Remove block argument and remove pointless
checking of NAMEs.
(dependent_clean): Adjust for removal of block argument.
(clean): Likewise.
(compute_antic_aux): Likewise.
(compute_partial_antic_aux): Likewise.
From-SVN: r214727
Alexander Ivchenko [Fri, 29 Aug 2014 12:32:39 +0000 (12:32 +0000)]
AVX-512. Add SI/DI masked interleave.
gcc/
* config/i386/sse.md
(define_insn "avx2_interleave_highv4di<mask_name>"): Add masking.
(define_insn "vec_interleave_highv2di<mask_name>"): Ditto.
(define_insn "avx2_interleave_lowv4di<mask_name>"): Ditto.
(define_insn "vec_interleave_lowv2di<mask_name>"): Ditto.
Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r214726
Alexander Ivchenko [Fri, 29 Aug 2014 12:31:18 +0000 (12:31 +0000)]
AVX-512. Add narrowing vpmov.
gcc/
* config/i386/i386-modes.def: Add V12QI, V14QI, V6HI modes.
* config/i386/sse.md
(define_mode_iterator VI4_128_8_256): New.
(define_mode_iterator VI2_128_4_256): Ditto.
(define_mode_iterator PMOV_DST_MODE): Rename into
(define_mode_iterator PMOV_DST_MODE_1): this.
(define_insn "*avx512f_<code><pmov_src_lower><mode>2"):
Use PMOV_DST_MODE_1 mode iterator.
(define_insn "avx512f_<code><pmov_src_lower><mode>2_mask"):
Ditto.
(define_insn "avx512f_<code><pmov_src_lower><mode>2_mask"):
Ditto.
(define_insn "*avx512bw_<code>v32hiv32qi2"): New.
(define_insn "avx512bw_<code>v32hiv32qi2_mask"): Ditto.
(define_expand "avx512bw_<code>v32hiv32qi2_store_mask"): Ditto.
(define_mode_iterator PMOV_DST_MODE_2): New.
(define_insn "*avx512vl_<code><ssedoublemodelower><mode>2"): Ditto.
(define_insn "<avx512>_<code><ssedoublemodelower><mode>2_mask"): Ditto.
(define_expand "<avx512>_<code><ssedoublemodelower><mode>2_store_mask"):
Ditto.
(define_mode_iterator PMOV_SRC_MODE_3): Ditto.
(define_mode_attr pmov_dst_3): Ditto.
(define_mode_attr pmov_dst_zeroed_3): Ditto.
(define_mode_attr pmov_suff_3): Ditto.
(define_insn "*avx512vl_<code><mode>v<ssescalarnum>qi2"): Ditto.
(define_insn "*avx512vl_<code>v2div2qi2_store"): Ditto.
(define_insn "avx512vl_<code>v2div2qi2_mask"): Ditto.
(define_insn "avx512vl_<code>v2div2qi2_store_mask"): Ditto.
(define_insn "*avx512vl_<code><mode>v4qi2_store"): Ditto.
(define_insn "avx512vl_<code><mode>v4qi2_mask"): Ditto.
(define_insn "avx512vl_<code><mode>v4qi2_store_mask"): Ditto.
(define_insn "*avx512vl_<code><mode>v8qi2_store"): Ditto.
(define_insn "avx512vl_<code><mode>v8qi2_mask"): Ditto.
(define_insn "avx512vl_<code><mode>v8qi2_store_mask"): Ditto.
(define_mode_iterator PMOV_SRC_MODE_4): Ditto.
(define_mode_attr pmov_dst_4): Ditto.
(define_mode_attr pmov_dst_zeroed_4): Ditto.
(define_mode_attr pmov_suff_4): Ditto.
(define_insn "*avx512vl_<code><mode>v<ssescalarnum>hi2"): Ditto.
(define_insn "*avx512vl_<code><mode>v4hi2_store"): Ditto.
(define_insn "avx512vl_<code><mode>v4hi2_mask"): Ditto.
(define_insn "avx512vl_<code><mode>v4hi2_store_mask"): Ditto.
(define_insn "*avx512vl_<code>v2div2hi2_store"): Ditto.
(define_insn "avx512vl_<code>v2div2hi2_mask"): Ditto.
(define_insn "avx512vl_<code>v2div2hi2_store_mask"): Ditto.
(define_insn "*avx512vl_<code>v2div2si2"): Ditto.
(define_insn "*avx512vl_<code>v2div2si2_store"): Ditto.
(define_insn "avx512vl_<code>v2div2si2_mask"): Ditto.
(define_insn "avx512vl_<code>v2div2si2_store_mask"): Ditto.
Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r214725
Paolo Carlini [Fri, 29 Aug 2014 12:24:17 +0000 (12:24 +0000)]
re PR c++/59938 ([C++11] Bogus "... is not a constant expression")
2014-08-29 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/59938
* g++.dg/cpp0x/constexpr-59938.C: New.
From-SVN: r214724
Paolo Carlini [Fri, 29 Aug 2014 08:41:16 +0000 (08:41 +0000)]
re PR c++/61484 ([C++11] can't initialize constexpr multi-dimentional array of a literal type)
2014-08-29 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/61484
* g++.dg/cpp0x/constexpr-61484.C: New.
From-SVN: r214718
Richard Biener [Fri, 29 Aug 2014 08:13:21 +0000 (08:13 +0000)]
tree-cfg.c (verify_gimple_assign_unary): Do not allow NON_LVALUE_EXPR in gimple.
2014-08-29 Richard Biener <rguenther@suse.de>
* tree-cfg.c (verify_gimple_assign_unary): Do not allow
NON_LVALUE_EXPR in gimple.
From-SVN: r214717
Richard Biener [Fri, 29 Aug 2014 08:11:57 +0000 (08:11 +0000)]
re PR middle-end/62292 (FAIL: (geterrorname|getmethodname) run)
2014-08-29 Richard Biener <rguenther@suse.de>
PR middle-end/62292
* gimple-fold.c (gimple_fold_builtin_strcpy): Fix error
from previous refactoring.
(gimple_fold_builtin_strncpy): Likewise.
From-SVN: r214716
David Malcolm [Fri, 29 Aug 2014 03:12:01 +0000 (03:12 +0000)]
re PR bootstrap/62300 (internal compiler error: in as_a, at is-a.h:192)
PR bootstrap/62300
* function.c (assign_parm_setup_reg): Remove erroneous checked
cast to rtx_insn * on result of gen_extend_insn in favor of
introducing a new local rtx "pat".
From-SVN: r214714
Ian Lance Taylor [Fri, 29 Aug 2014 03:06:15 +0000 (03:06 +0000)]
compiler: Fix comparison of struct/array with interface.
The compiler used to crash when the struct/array was not
addressable.
The test case is https://codereview.appspot.com/
135170043 .
This fixes http://golang.org/issue/8612 .
From-SVN: r214713
Jan-Benedict Glaw [Fri, 29 Aug 2014 01:44:42 +0000 (01:44 +0000)]
This patch silences two warnings in the mep-elf target, fixing the config-list.mk build
First one:
~~~~~~~~~~
g++ -c -DIN_GCC_FRONTEND -DIN_GCC_FRONTEND -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -fno-common -DHAVE_CONFIG_H -I. -I. -I../../../gcc/gcc -I../../../gcc/gcc/. -I../../../gcc/gcc/../include -I../../../gcc/gcc/../libcpp/include -I/opt/cfarm/mpc/include -I../../../gcc/gcc/../libdecnumber -I../../../gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I../../../gcc/gcc/../libbacktrace -DCLOOG_INT_GMP -DCLOOG_INT_GMP -I. -I. -I../../../gcc/gcc -I../../../gcc/gcc/. -I../../../gcc/gcc/../include -I../../../gcc/gcc/../libcpp/include -I/opt/cfarm/mpc/include -I../../../gcc/gcc/../libdecnumber -I../../../gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I../../../gcc/gcc/../libbacktrace -DCLOOG_INT_GMP -DCLOOG_INT_GMP ../../../gcc/gcc/config/mep/mep-pragma.c
../../../gcc/gcc/config/mep/mep-pragma.c: In function ‘void mep_pragma_coprocessor(cpp_reader*)’:
../../../gcc/gcc/config/mep/mep-pragma.c:271:18: error: ‘rclass’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
enum reg_class rclass;
^
cc1plus: all warnings being treated as errors
make[2]: *** [mep-pragma.o] Error 1
This is actually a misbehavior of current GCC, the code itself looks 100% okay
to me. Shall I report that as a bug, too?
Second one:
~~~~~~~~~~~
g++ -c -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -fno-common -DHAVE_CONFIG_H -I. -I. -I../../../gcc/gcc -I../../../gcc/gcc/. -I../../../gcc/gcc/../include -I../../../gcc/gcc/../libcpp/include -I/opt/cfarm/mpc/include -I../../../gcc/gcc/../libdecnumber -I../../../gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I../../../gcc/gcc/../libbacktrace -o mep.o -MT mep.o -MMD -MP -MF ./.deps/mep.TPo ../../../gcc/gcc/config/mep/mep.c
../../../gcc/gcc/config/mep/mep.c:3448:0: error: "VECTOR_TYPE_P" redefined [-Werror]
#define VECTOR_TYPE_P(t) (TREE_CODE(t) == VECTOR_TYPE)
^
In file included from ../../../gcc/gcc/config/mep/mep.c:26:0:
../../../gcc/gcc/tree.h:474:0: note: this is the location of the previous definition
#define VECTOR_TYPE_P(TYPE) (TREE_CODE (TYPE) == VECTOR_TYPE)
^
cc1plus: all warnings being treated as errors
make[2]: *** [mep.o] Error 1
2014-08-28 Jan-Benedict Glaw <jbglaw@lug-owl.de>
* config/mep/mep-pragma.c (mep_pragma_coprocessor_subclass): Rework
to silence warning.
* config/mep/mep.c (VECTOR_TYPE_P): Remove duplicate definition.
From-SVN: r214710
David Malcolm [Fri, 29 Aug 2014 00:20:28 +0000 (00:20 +0000)]
END OF PATCHES: Delete rtx-classes-status.txt
/
2014-08-28 David Malcolm <dmalcolm@redhat.com>
* rtx-classes-status.txt: Delete.
From-SVN: r214709
David Malcolm [Fri, 29 Aug 2014 00:17:58 +0000 (00:17 +0000)]
Make next_insn and previous_insn require an rtx_insn *
gcc/
2014-08-28 David Malcolm <dmalcolm@redhat.com>
* rtl.h (previous_insn): Strengthen param from rtx to rtx_insn *.
(next_insn): Likewise.
* emit-rtl.c (next_insn): Likewise.
(previous_insn): Likewise.
* config/pa/pa.c (remove_useless_addtr_insns): Strenghten locals
"insn" and "next" from rtx to rtx_insn *.
* config/picochip/picochip.c (picochip_reorg): Likewise for locals
"insn", "insn1", "vliw_start", "prologue_end_note",
"last_insn_in_packet".
From-SVN: r214708
GCC Administrator [Fri, 29 Aug 2014 00:16:27 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r214707
David Malcolm [Fri, 29 Aug 2014 00:14:43 +0000 (00:14 +0000)]
Strengthen params to active_insn_between
gcc/
2014-08-28 David Malcolm <dmalcolm@redhat.com>
* shrink-wrap.h (active_insn_between): Strengthen both params from
rtx to rtx_insn *.
* function.c (active_insn_between): Likewise.
From-SVN: r214704
David Malcolm [Fri, 29 Aug 2014 00:12:44 +0000 (00:12 +0000)]
dfa_clear_single_insn_cache takes an rtx_insn
gcc/
2014-08-28 David Malcolm <dmalcolm@redhat.com>
* genattr.c (main): When writing out insn-attr.h, strengthen param
of dfa_clear_single_insn_cache from rtx to rtx_insn *.
* genautomata.c (output_dfa_clean_insn_cache_func): Likewise when
writing out the definition of dfa_clear_single_insn_cache to the
generated insn-automata.c
From-SVN: r214703
David Malcolm [Fri, 29 Aug 2014 00:09:39 +0000 (00:09 +0000)]
Use rtx_insn in various places in resource.[ch]
gcc/
2014-08-28 David Malcolm <dmalcolm@redhat.com>
* resource.h (clear_hashed_info_for_insn): Strengthen param from
rtx to rtx_insn *.
(incr_ticks_for_insn): Likewise.
(init_resource_info): Likewise.
* resource.c (init_resource_info): Likewise.
(clear_hashed_info_for_insn): Likewise.
(incr_ticks_for_insn): Likewise.
* reorg.c (delete_scheduled_jump): Strengthen param "insn" from
rtx to rtx_insn *.
(steal_delay_list_from_target): Use methods of "seq".
(try_merge_delay_insns): Use methods of "merged_insns".
(update_block): Strengthen param "insn" from rtx to rtx_insn *.
(reorg_redirect_jump): Likewise for param "jump".
From-SVN: r214702
David Malcolm [Fri, 29 Aug 2014 00:07:51 +0000 (00:07 +0000)]
Make insn_addresses_new require an rtx_insn
gcc/
2014-08-28 David Malcolm <dmalcolm@redhat.com>
* insn-addr.h (insn_addresses_new): Strengthen param "insn" from
rtx to rtx_insn *.
* config/s390/s390.c (s390_split_branches): Eliminate top-level
local rtx "tmp", in favor of new local rtx "mem" and rtx_insn *
"set_insn".
(s390_mainpool_finish): In three places, split out a local rtx
"insn" into a local rtx - "set" or "pat" - and a rtx_insn *
"insn". Strengthen local "pool_end" from rtx to rtx_code_label *
and split another local rtx "insn" out into rtx "pat" and
rtx_insn * "insn".
* config/sh/sh.c (output_branchy_insn): Rather than working
directly on operands[9], introduce local rtx_code_label *
variables named "lab" in two places, working on them, and then
assigning them to operands[9], so that the intervening operations
are known by the type system to be on insns.
From-SVN: r214701
David Malcolm [Fri, 29 Aug 2014 00:02:25 +0000 (00:02 +0000)]
Make INSN_HAS_LOCATION require an rtx_insn
gcc/
2014-08-28 David Malcolm <dmalcolm@redhat.com>
* rtl.h (INSN_HAS_LOCATION): Strengthen param from const_rtx to
const rtx_insn *.
* print-rtl.c (print_rtx): Add checked cast to const rtx_insn *
in invocation of INSN_HAS_LOCATION.
From-SVN: r214700
Bill Schmidt [Thu, 28 Aug 2014 21:50:51 +0000 (21:50 +0000)]
altivec.h (vec_xl): New #define.
[gcc]
2014-08-28 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/altivec.h (vec_xl): New #define.
(vec_xst): Likewise.
* config/rs6000/rs6000-builtin.def (XXSPLTD_V2DF): New built-in.
(XXSPLTD_V2DI): Likewise.
(DIV_V2DI): Likewise.
(UDIV_V2DI): Likewise.
(MUL_V2DI): Likewise.
* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
entries for VSX_BUILTIN_XVRDPI, VSX_BUILTIN_DIV_V2DI,
VSX_BUILTIN_UDIV_V2DI, VSX_BUILTIN_MUL_V2DI,
VSX_BUILTIN_XXSPLTD_V2DF, and VSX_BUILTIN_XXSPLTD_V2DI).
* config/rs6000/vsx.md (UNSPEC_VSX_XXSPLTD): New unspec.
(UNSPEC_VSX_DIVSD): Likewise.
(UNSPEC_VSX_DIVUD): Likewise.
(UNSPEC_VSX_MULSD): Likewise.
(vsx_mul_v2di): New insn-and-split.
(vsx_div_v2di): Likewise.
(vsx_udiv_v2di): Likewise.
(vsx_xxspltd_<mode>): New insn.
[gcc/testsuite]
2014-08-28 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.target/powerpc/builtins-1.c: Add tests for vec_xl, vec_xst,
vec_round, vec_splat, vec_div, and vec_mul.
* gcc.target/powerpc/builtins-2.c: New test.
From-SVN: r214699