gcc.git
9 years agore PR c++/50800 (Internal compiler error in finish_member_declarations, possibly...
Jason Merrill [Tue, 28 Apr 2015 14:43:54 +0000 (10:43 -0400)]
re PR c++/50800 (Internal compiler error in finish_member_declarations, possibly related to may_alias attribute)

PR c++/50800
* tree.c (strip_typedefs): Add remove_attributes parm.
(strip_typedefs_expr): Likewise.
(apply_identity_attributes): New subroutine of strip_typedefs.
* pt.c (canonicalize_type_argument): Let strip_typedefs handle attrs.
(convert_nontype_argument, unify): Likewise.
* cp-tree.h: Adjust.

From-SVN: r222530

9 years agore PR c++/65734 (Yet another case of lost alignment by stor_layout)
Jason Merrill [Tue, 28 Apr 2015 14:43:48 +0000 (10:43 -0400)]
re PR c++/65734 (Yet another case of lost alignment by stor_layout)

PR c++/65734
gcc/
* stor-layout.c (layout_type): Layout the TYPE_MAIN_VARIANT.
(finalize_type_size): Respect TYPE_USER_ALIGN.
(layout_type) [ARRAY_TYPE]: Likewise.
gcc/cp/
* class.c (fixup_attribute_variants): Respect TYPE_USER_ALIGN.

From-SVN: r222529

9 years agoarm.md (*arm_movt): Fix type attribute.
Yvan Roux [Tue, 28 Apr 2015 14:41:04 +0000 (14:41 +0000)]
arm.md (*arm_movt): Fix type attribute.

2015-04-28  Yvan Roux  <yvan.roux@linaro.org>

* config/arm/arm.md (*arm_movt): Fix type attribute.
(*cmpsi_shiftsi): Likewise.
(*cmpsi_shiftsi_swp): Likewise.
(*movsicc_insn): Likewise.
(*cond_move): Likewise.
(*if_plus_move): Likewise.
(*if_move_plus): Likewise.
(*if_arith_move): Likewise.
(*if_move_arith): Likewise.
(*if_shift_move): Likewise.
(*if_move_shift): Likewise.
(*arm_movtas_ze): Likewise.
* config/arm/thumb2.md (*thumb2_movsicc_insn): Fix alternative
redundancy and type attribute.
(*thumb2_movsi_insn): Fix type attribute.
(*thumb2_addsi_short): Likewise.
(thumb2_addsi3_compare0): Likewise.
(*thumb2_addsi3_compare0_scratch): Merge alternatives and fix
attributes accordingly.

From-SVN: r222528

9 years ago* g++.dg/tree-ssa/pr61034.C: Add temporary; fix template.
Jan Hubicka [Tue, 28 Apr 2015 14:13:59 +0000 (16:13 +0200)]
* g++.dg/tree-ssa/pr61034.C: Add temporary; fix template.

From-SVN: r222527

9 years agore PR libstdc++/60333 (type_traits make_signed, make_unsigned missing support for...
Jonathan Wakely [Tue, 28 Apr 2015 13:21:54 +0000 (14:21 +0100)]
re PR libstdc++/60333 (type_traits make_signed, make_unsigned missing support for long long enumerations)

PR libstdc++/60333
* include/std/type_traits (__make_unsigned_selector<_Tp, false, true>):
Handle enumeration types larger than sizeof(long).
(__make_signed_selector<_Tp, false, true>): Find unsigned type then
make it signed.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/make_signed/requirements/typedefs-3.cc: New.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust
dg-error.
* testsuite/20_util/make_unsigned/requirements/typedefs-3.cc: New.

From-SVN: r222526

9 years agore PR libstdc++/61645 (forward_list::splice_after shall not throw exceptions)
Jonathan Wakely [Tue, 28 Apr 2015 13:05:33 +0000 (14:05 +0100)]
re PR libstdc++/61645 (forward_list::splice_after shall not throw exceptions)

PR libstdc++/61645
* include/bits/forward_list.h (forward_list::splice_after): Add
noexcept.
* include/bits/forward_list.tcc (forward_list::splice_after):
Likewise.

From-SVN: r222525

9 years agore PR libstdc++/65631 (seed_seq should not be copyable)
Jonathan Wakely [Tue, 28 Apr 2015 12:35:30 +0000 (13:35 +0100)]
re PR libstdc++/65631 (seed_seq should not be copyable)

PR libstdc++/65631
* include/bits/random.h (seed_seq) Define copy constructor and copy
assignment as deleted.
* testsuite/26_numerics/random/seed_seq/cons/65631.cc: New.

From-SVN: r222524

9 years agoexception (uncaught_exceptions): Add comment.
Jonathan Wakely [Tue, 28 Apr 2015 12:07:40 +0000 (13:07 +0100)]
exception (uncaught_exceptions): Add comment.

* libsupc++/exception (uncaught_exceptions): Add comment. Reorder #if.
* testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc:
Use -std=gnu++1z. Check feature-test macro.

From-SVN: r222523

9 years agotype_traits (void_t): Add.
Jonathan Wakely [Tue, 28 Apr 2015 12:07:34 +0000 (13:07 +0100)]
type_traits (void_t): Add.

* include/std/type_traits (void_t): Add.
* testsuite/20_util/void_t/1.cc: New.

From-SVN: r222522

9 years agore PR middle-end/65911 (r222508 breaks clang-tblgen)
Markus Trippelsdorf [Tue, 28 Apr 2015 10:09:43 +0000 (10:09 +0000)]
re PR middle-end/65911 (r222508 breaks clang-tblgen)

Fix PR65911

2015-04-28  Markus Trippelsdorf  <markus@trippelsdorf.de>

PR other/65911
* function.c (pad_to_arg_alignment): Add parentheses.

From-SVN: r222521

9 years agoelf-lib.h: New file.
Uros Bizjak [Tue, 28 Apr 2015 09:23:40 +0000 (11:23 +0200)]
elf-lib.h: New file.

libgcc/ChangeLog:

* config/frv/elf-lib.h: New file.
(CRT_GET_RFIB_DATA): Move definition from gcc/config/frv/frv.h.
* libgcc/config.host (frv-*elf, frv-*-*linux*): Add frv/elf-lib.h
to tm_file.

* config/frv/frvbengin.c: Do not include defaults.h
* config/frv/frvend.c: Ditto.

gcc/ChangeLog:

* config/frv/frv.h (CRT_GET_RFIB_DATA): Move definition to
libgcc/config/frv/elf-lib.h.

From-SVN: r222519

9 years agoc-ada-spec.c (in_function): Delete.
Eric Botcazou [Tue, 28 Apr 2015 08:54:07 +0000 (08:54 +0000)]
c-ada-spec.c (in_function): Delete.

* c-ada-spec.c (in_function): Delete.
(dump_generic_ada_node): Do not change in_function and remove the
redundant code dealing with it.
(print_ada_declaration): Do not change in_function.  Use INDENT_INCR.
(print_ada_methods): Output the static member functions in a nested
package after the regular methods as well as associated renamings.

Co-Authored-By: Pierre-Marie de Rodat <derodat@adacore.com>
From-SVN: r222517

9 years agoFix example in header comment in tree-call-cdce.c
Tom de Vries [Tue, 28 Apr 2015 08:46:37 +0000 (08:46 +0000)]
Fix example in header comment in tree-call-cdce.c

2015-04-28  Tom de Vries  <tom@codesourcery.com>

* tree-call-cdce.c: Fix example in header comment.

From-SVN: r222516

9 years agore PR c/65901 (no warning or error for va_arg (ap, void))
Marek Polacek [Tue, 28 Apr 2015 08:36:50 +0000 (08:36 +0000)]
re PR c/65901 (no warning or error for va_arg (ap, void))

PR c/65901
* c-typeck.c (c_build_va_arg): Require TYPE be a complete type.

* gcc.c-torture/compile/pr48767.c (foo): Add dg-error.
* gcc.dg/pr65901.c: New test.

From-SVN: r222515

9 years agore PR fortran/62283 (basic-block vectorization fails)
Richard Biener [Tue, 28 Apr 2015 08:30:44 +0000 (08:30 +0000)]
re PR fortran/62283 (basic-block vectorization fails)

2015-04-28  Richard Biener  <rguenther@suse.de>

PR tree-optimization/62283
* tree-vect-slp.c (vect_build_slp_tree): When the SLP build
fails fatally and we are vectorizing a basic-block simply
cause the child to be constructed piecewise.
(vect_analyze_slp_cost_1): Adjust.
(vect_detect_hybrid_slp_stmts): Likewise.
(vect_bb_slp_scalar_cost): Likewise.
(vect_get_constant_vectors): For piecewise constructed
constants place them after the last def.
(vect_get_slp_defs): Adjust.
* tree-vect-stmts.c (vect_is_simple_use): Detect in-BB
externals for basic-block vectorization.

* gfortran.dg/vect/pr62283-2.f: New testcase.
* gcc.dg/vect/bb-slp-14.c: Adjust.

From-SVN: r222514

9 years agore PR target/63503 ([AArch64] A57 executes fused multiply-add poorly in some situations)
Thomas Preud'homme [Tue, 28 Apr 2015 08:10:44 +0000 (08:10 +0000)]
re PR target/63503 ([AArch64] A57 executes fused multiply-add poorly in some situations)

2015-04-28  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    PR target/63503
    * config.gcc: Add cortex-a57-fma-steering.o to extra_objs for
    aarch64-*-*.
    * config/aarch64/t-aarch64: Add a rule for cortex-a57-fma-steering.o.
    * config/aarch64/aarch64.h (AARCH64_FL_USE_FMA_STEERING_PASS): Define.
    (AARCH64_TUNE_FMA_STEERING): Likewise.
    * config/aarch64/aarch64-cores.def: Set
    AARCH64_FL_USE_FMA_STEERING_PASS for cores with dynamic steering of
    FMUL/FMADD instructions.
    * config/aarch64/aarch64.c (aarch64_register_fma_steering): Declare.
    (aarch64_override_options): Include cortex-a57-fma-steering.h. Call
    aarch64_register_fma_steering () if AARCH64_TUNE_FMA_STEERING is true.
    * config/aarch64/cortex-a57-fma-steering.h: New file.
    * config/aarch64/cortex-a57-fma-steering.c: Likewise.

From-SVN: r222512

9 years agogensupport.c (std_preds): Add missing codes to address_operand entry.
Richard Sandiford [Tue, 28 Apr 2015 07:46:40 +0000 (07:46 +0000)]
gensupport.c (std_preds): Add missing codes to address_operand entry.

gcc/
* gensupport.c (std_preds): Add missing codes to address_operand entry.

From-SVN: r222511

9 years agore PR c++/65851 (ice in set_lattice_value at tree-ssa-cc p.c:535)
Richard Biener [Tue, 28 Apr 2015 07:26:41 +0000 (07:26 +0000)]
re PR c++/65851 (ice in set_lattice_value at tree-ssa-cc p.c:535)

2015-04-28  Richard Biener  <rguenther@suse.de>

PR tree-optimization/65851
* tree-ssa-ccp.c (set_lattice_value): Perform a meet when
changing CONSTANT to CONSTANT non-copy.  Get new_val by reference.
(ccp_lattice_meet): Remove stray argument.  Use operand_equal_p
rather than simple_cst_equal as the latter doesn't handle COMPLEX_CST.
(ccp_visit_phi_node): Adjust.
(evaluate_stmt): For simplifications to SSA names return its
lattice value if that isn't VARYING.  Return immediately when
simplified to a constant.
(visit_assignment): Adjust.
(ccp_visit_stmt): Likewise.

* g++.dg/torture/pr65851.C: New testcase.

From-SVN: r222510

9 years agoEvaluate side-effects in expand_ifn_va_arg_1
Tom de Vries [Tue, 28 Apr 2015 06:05:14 +0000 (06:05 +0000)]
Evaluate side-effects in expand_ifn_va_arg_1

2015-04-28  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/65818
* tree-stdarg.c (expand_ifn_va_arg_1): Ensure that side-effects are
evaluated.

From-SVN: r222509

9 years agoremove #if ARGS_GROW_DOWNWARD
Trevor Saunders [Tue, 28 Apr 2015 04:47:09 +0000 (04:47 +0000)]
remove #if ARGS_GROW_DOWNWARD

gcc/ChangeLog:

2015-04-27  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* calls.c (save_fixed_argument_area): Don't check
ARGS_GROW_DOWNWARD with the preprocessor.
(restore_fixed_argument_area): Likewise.
(mem_overlaps_already_clobbered_arg_p): Likewise.
(check_sibcall_argument_overlap): Likewise.
(expand_call): Likewise.
(emit_library_call_value_1): Likewise.
(store_one_arg): Likewise.
* function.c (assign_parms): Likewise.
(locate_and_pad_parm): Likewise.
(pad_to_arg_alignment): Likewise.
* targhooks.c (std_gimplify_va_arg_expr): Likewise.

From-SVN: r222508

9 years agoalways define ARGS_GROW_DOWNWARD
Trevor Saunders [Tue, 28 Apr 2015 04:46:20 +0000 (04:46 +0000)]
always define ARGS_GROW_DOWNWARD

gcc/ChangeLog:

2015-04-27  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* config/pa/pa.h (ARGS_GROW_DOWNWARD): Define to 1.
* defaults.h (ARGS_GROW_DOWNWARD): Define it to 0 by default.
* calls.c (save_fixed_argument_area): Don't chekc if
ARGS_GROW_DOWNWARD is defined.
(restore_fixed_argument_area): Likewise.
(mem_overlaps_already_clobbered_arg_p): Likewise.
(check_sibcall_argument_overlap): Likewise.
(expand_call): Likewise.
(emit_library_call_value_1): Likewise.
(store_one_arg): Likewise.
* function.c (assign_parms): Likewise.
(locate_and_pad_parm): Likewise.
(pad_to_arg_alignment): Likewise.
* targhooks.c (std_gimplify_va_arg_expr): Likewise.

From-SVN: r222507

9 years agoalways define HAVE_epilogue
Trevor Saunders [Tue, 28 Apr 2015 04:45:12 +0000 (04:45 +0000)]
always define HAVE_epilogue

gcc/ChangeLog:

2015-04-27  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* defaults.h (gen_epilogue): New function.
(HAVE_epilogue): Add default definition to false.
* alias.c (init_alias_analysis): don't check if HAVE_epilogue is
defined.
* cfgrtl.c (cfg_layout_finalize): Likewise.
* df-scan.c: Likewise.
* function.c (thread_prologue_and_epilogue_insns): Likewise.
(reposition_prologue_and_epilogue_notes): Likewise.
* reorg.c (find_end_label): Likewise.
* toplev.c: Likewise.

From-SVN: r222506

9 years agoalways define HAVE_simple_return and HAVE_return
Trevor Saunders [Tue, 28 Apr 2015 04:44:09 +0000 (04:44 +0000)]
always define HAVE_simple_return and HAVE_return

gcc/ChangeLog:

2015-04-27  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* bb-reorder.c (HAVE_return): Don't check if its undefined.
* defaults.h (gen_simple_return): New function.
(gen_simple_return): Likewise.
(HAVE_return): Add default definition to false.
(HAVE_simple_return): Likewise.
* cfgrtl.c (force_nonfallthru_and_redirect): Remove checks if
HAVE_return and HAVE_simple_return are defined.
* function.c (gen_return_pattern): Likewise.
(convert_jumps_to_returns): Likewise.
(thread_prologue_and_epilogue_insns): Likewise.
* reorg.c (find_end_label): Likewise.
(dbr_schedule): Likewise.
* shrink-wrap.c: Likewise.
* shrink-wrap.h: Likewise.

From-SVN: r222505

9 years agoadd default for EPILOGUE_USES
Trevor Saunders [Tue, 28 Apr 2015 04:43:12 +0000 (04:43 +0000)]
add default for EPILOGUE_USES

gcc/ChangeLog:

2015-04-27  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* defaults.h (EPILOGUE_USES): Add default definition of false.
* df-scan.c (EPILOGUE_USES): Remove check if its undefined.
* resource.c (init_resource_info): Likewise.

From-SVN: r222504

9 years agoadd default for PCC_BITFIELD_TYPE_MATTERS
Trevor Saunders [Tue, 28 Apr 2015 04:42:04 +0000 (04:42 +0000)]
add default for PCC_BITFIELD_TYPE_MATTERS

gcc/ChangeLog:

2015-04-27  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* defaults.h (PCC_BITFIELD_TYPE_MATTERS): Add default definition
to false.
* dwarf2out.c (field_byte_offset): REmove check if
PCC_BITFIELD_TYPE_MATTERS is defined.
* stor-layout.c (layout_decl): Likewise.
(update_alignment_for_field): Likewise.
(place_field): Likewise.

gcc/cp/ChangeLog:

2015-04-27  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* class.c (layout_class_type): Remove check if
PCC_BITFIELD_TYPE_MATTERS is defined.

From-SVN: r222503

9 years agoadd default for HARD_REGNO_RENAME_OK
Trevor Saunders [Tue, 28 Apr 2015 04:40:43 +0000 (04:40 +0000)]
add default for HARD_REGNO_RENAME_OK

gcc/ChangeLog:

2015-04-27  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* defaults.h (HARD_REGNO_RENAME_OK): Add default definition to
true.
* regrename.c (check_new_reg_p): Remove check if
HARD_REGNO_RENAME_OK is defined.
* sel-sched.c (sel_hard_regno_rename_ok): Likewise.

From-SVN: r222502

9 years agoadd default for NO_FUNCTION_CSE
Trevor Saunders [Tue, 28 Apr 2015 04:40:00 +0000 (04:40 +0000)]
add default for NO_FUNCTION_CSE

gcc/ChangeLog:

2015-04-27  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* calls.c (prepare_call_address): Remove ifdef NO_FUNCTION_CSE.
* cse.c (fold_rtx): Likewise.
* config/alpha/alpha.h (NO_FUNCTION_CSE): Define to 1.
* config/arc/arc.h (NO_FUNCTION_CSE): Likewise.
* config/avr/avr.h (NO_FUNCTION_CSE): Likewise.
* config/cr16/cr16.h (NO_FUNCTION_CSE): Likewise.
* config/epiphany/epiphany.h (NO_FUNCTION_CSE): Likewise.
* config/frv/frv.h (NO_FUNCTION_CSE): Likewise.
* config/h8300/h8300.h (NO_FUNCTION_CSE): Likewise.
* config/i386/i386.h (NO_FUNCTION_CSE): Likewise.
* config/ia64/ia64.h (NO_FUNCTION_CSE): Likewise.
* config/lm32/lm32.h (enum reg_class) (NO_FUNCTION_CSE):
* Likewise.
* config/m32r/m32r.h (NO_FUNCTION_CSE): Likewise.
* config/mep/mep.h (NO_FUNCTION_CSE): Likewise.
* config/mn10300/mn10300.h (NO_FUNCTION_CSE): Likewise.
* config/nds32/nds32.h (NO_FUNCTION_CSE): Likewise.
* config/nios2/nios2.h (NO_FUNCTION_CSE): Likewise.
* config/pa/pa.h (NO_FUNCTION_CSE): Likewise.
* config/rs6000/rs6000.h (NO_FUNCTION_CSE): Likewise.
* config/s390/s390.h (NO_FUNCTION_CSE): Likewise.
* config/sparc/sparc.h (NO_FUNCTION_CSE): Likewise.
* config/spu/spu.h (NO_FUNCTION_CSE): Likewise.
* config/stormy16/stormy16.h (NO_FUNCTION_CSE): Likewise.
* config/v850/v850.h (NO_FUNCTION_CSE): Likewise.
* defaults.h (NO_FUNCTION_CSE): Provide default definition to 0.
* doc/tm.texi: Regenerate.
* doc/tm.texi.in: Document NO_FUNCTION_CSE is always defined to
either true or false.

From-SVN: r222501

9 years agoregex.tcc: Handle regex_constants::__polynomial.
Tim Shen [Tue, 28 Apr 2015 04:16:48 +0000 (04:16 +0000)]
regex.tcc: Handle regex_constants::__polynomial.

* include/bits/regex.tcc: Handle regex_constants::__polynomial.
* include/bits/regex_automaton.tcc: Throw exception when parsing
back-reference with flag __polynomial.
* include/bits/regex_constants.h: Add extension flag
syntax_option_type __polynomial.
* bits/regex_executor.tcc: Still let BFS process ECMAScript.
Alternative operation will be fixed in the coming refactoring.
* testsuite/28_regex/algorithms/regex_search/61424.cc: Turn
loose match_search_debug to use DFS only.

From-SVN: r222500

9 years agore PR tree-optimization/65217 (__builtin_unreachable in if statement causes bad assem...
Jeff Law [Tue, 28 Apr 2015 04:01:28 +0000 (22:01 -0600)]
re PR tree-optimization/65217 (__builtin_unreachable in if statement causes bad assembly generation)

PR tree-optimization/65217
* tree-ssa-dom.c (record_equality): Given two SSA_NAMEs, if just one
of them has a single use, make sure it is the LHS of the implied
copy.

        PR tree-optimization/65217
* gcc.target/i386/pr65217.c: Remove XFAIL.

From-SVN: r222499

9 years agore PR target/65810 (powerpc64 alignment of r2 insufficient for loading long-double...
Alan Modra [Tue, 28 Apr 2015 03:47:19 +0000 (13:17 +0930)]
re PR target/65810 (powerpc64 alignment of r2 insufficient for loading long-double constants)

PR target/65810
* config/rs6000/rs6000.c (POWERPC64_TOC_POINTER_ALIGNMENT): Define.
(offsettable_ok_by_alignment): Use minimum of decl and toc
pointer alignment.  Replace dead code with assertion.
(use_toc_relative_ref): Add mode arg.  Return false in -mcmodel=medium
case if size exceeds toc pointer alignment.
(rs6000_legitimize_reload_address): Update use_toc_relative_ref call.
(rs6000_emit_move): Likewise.
* configure.ac: Add linker toc pointer alignment check.
* configure: Regenerate.
* config.in: Regenerate.

From-SVN: r222498

9 years agore PR libstdc++/65909 (check_v3_target_namedlocale blows up on targets that don't...
Sandra Loosemore [Tue, 28 Apr 2015 02:40:56 +0000 (22:40 -0400)]
re PR libstdc++/65909 (check_v3_target_namedlocale blows up on targets that don't support command-line arguments)

2015-04-27  Sandra Loosemore  <sandra@codesourcery.com>

PR libstdc++/65909

libstdc++-v3/
* testsuite/lib/libstdc++.exp (check_v3_target_namedlocale):
Make the generated test program fail gracefully if the target
doesn't support passing command-line arguments.

From-SVN: r222497

9 years agoDaily bump.
GCC Administrator [Tue, 28 Apr 2015 00:16:22 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r222496

9 years agoMakefile-lan.in (ada.mostlyclean): Remove gnatbind and gnat1.
Jim Wilson [Mon, 27 Apr 2015 22:59:06 +0000 (22:59 +0000)]
Makefile-lan.in (ada.mostlyclean): Remove gnatbind and gnat1.

ada/
* gcc-interface/Makefile-lan.in (ada.mostlyclean): Remove gnatbind
and gnat1.
cp/
* Make-lang.in (c++.mostlyclean): Remove xg++, g++-cross, and cc1plus.
fortran/
* Make-lang.in (fortran.mostlyclean): Remove gfortran and
gfortran-cross.
go/
* Make-lang.in (go.mostlyclean): Remove gccgo, gccgo-cross, and go1.
jit/
* Make-lang.in (jit.mostlyclean): Remove shared libraries and object
files.
objc/
* Make-lang.in (objc.mostlyclean): Remove cc1obj.
objcp/
* Make-lang.in (obj-c++.mostlyclean): Remove cc1objplus.

From-SVN: r222492

9 years agoeh_catch.cc (uncaught_exception, [...]): Return false or zero if the library is built...
Federico Lenarduzzi [Mon, 27 Apr 2015 21:06:17 +0000 (21:06 +0000)]
eh_catch.cc (uncaught_exception, [...]): Return false or zero if the library is built without exceptions.

2015-04-27  Federico Lenarduzzi  <federico.lenarduzzi@tallertechnologies.com>
    Jonathan Wakely  <jwakely@redhat.com>

* libsupc++/eh_catch.cc (uncaught_exception, uncaught_exceptions):
Return false or zero if the library is built without exceptions.
* libsupc++/eh_term_handler.cc: Disable verbose terminate handler if
the library is built without exceptions.

Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>
From-SVN: r222484

9 years agognu.ver: Fix comment.
Ville Voutilainen [Mon, 27 Apr 2015 20:52:14 +0000 (23:52 +0300)]
gnu.ver: Fix comment.

2015-04-27  Ville Voutilainen  <ville.voutilainen@gmail.com>

* config/abi/pre/gnu.ver: Fix comment.

From-SVN: r222483

9 years agoAdd support for std::uncaught_exceptions.
Ville Voutilainen [Mon, 27 Apr 2015 20:40:29 +0000 (23:40 +0300)]
Add support for std::uncaught_exceptions.

2015-04-27  Ville Voutilainen  <ville.voutilainen@gmail.com>

Add support for std::uncaught_exceptions.
* acinclude.m4: Bump libtool_VERSION.
* config/abi/pre/gnu.ver: Export the new symbol.
* configure: Regenerate.
* libsupc++/eh_catch.cc (uncaught_exceptions): New.
* libsupc++/exception (uncaught_exceptions): New.
* testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc: New.
* testsuite/util/testsuite_abi.cc: Add 3.4.22 as the latest version.

From-SVN: r222482

9 years agore PR libstdc++/62258 (uncaught_exception() equals to `true' after rethrow_exception())
Dmitry Prokoptsev [Mon, 27 Apr 2015 19:44:30 +0000 (19:44 +0000)]
re PR libstdc++/62258 (uncaught_exception() equals to `true' after rethrow_exception())

2015-04-27  Dmitry Prokoptsev  <dprokoptsev@gmail.com>
    Michael Hanselmann  <public@hansmi.ch>

PR libstdc++/62258
* libsupc++/eh_ptr.cc (rethrow_exception): Increment count of
uncaught exceptions.
* testsuite/18_support/exception_ptr/62258.cc: New.

Co-Authored-By: Michael Hanselmann <public@hansmi.ch>
From-SVN: r222480

9 years agoconfig.gcc: Add h8300-*-linux.
Yoshinori Sato [Mon, 27 Apr 2015 19:16:27 +0000 (04:16 +0900)]
config.gcc: Add h8300-*-linux.

gcc/
* config.gcc: Add h8300-*-linux.
* config/h8300/linux.h: New.
* config/h8300/t-linux: New.
* config/h8300/h8300.c (h8300_option_override): Normal mode
is not supported for h8300-*-linux.
(h8300_file_start): Target priority change.
(get_shift_alg): Likewise.
(h8300_shift_need_scratch_p): Likewise.
* config/h8300/h8300.h (TARGET_CPU_CPP_BUILTINS): Likewise.
* config/h8300/h8300.md (define_peephole2): Remove duplicate condition.

libgcc/

* config.host: Add h8300-*-linux
* config/h8300/t-linux: New file.
* config/h8300/lib1funs.s: Change symbol prefix.
* config/h8300/sfp-machine.h: 64bit double support.

From-SVN: r222479

9 years agore PR fortran/60322 ([OOP] Incorrect bounds on polymorphic dummy array)
Andre Vehreschild [Mon, 27 Apr 2015 17:41:01 +0000 (19:41 +0200)]
re PR fortran/60322 ([OOP] Incorrect bounds on polymorphic dummy array)

2015-04-27  Andre Vehreschild  <vehre@gmx.de>

        PR fortran/60322
        Add tests forgotten to svn-add.
        * gfortran.dg/class_allocate_19.f03: New test.
        * gfortran.dg/class_array_20.f03: New test.
        * gfortran.dg/class_array_21.f03: New test.
        * gfortran.dg/finalize_29.f08: New test.

From-SVN: r222478

9 years agore PR fortran/59678 ([F03] Segfault on equalizing variables of a complex derived...
Andre Vehreschild [Mon, 27 Apr 2015 17:34:11 +0000 (19:34 +0200)]
re PR fortran/59678 ([F03] Segfault on equalizing variables of a complex derived type)

gcc/fortran
2015-04-27  Andre Vehreschild  <vehre@gmx.de>

        PR fortran/59678
        PR fortran/65841
        * trans-array.c (duplicate_allocatable): Fixed deep copy of
        allocatable components, which are liable for copy only, when
        they are allocated.
        (gfc_duplicate_allocatable): Add deep-copy code into if
        component allocated block. Needed interface change for that.
        (gfc_copy_allocatable_data): Supplying NULL_TREE for code to
        add into if-block for checking whether a component was
        allocated.
        (gfc_duplicate_allocatable_nocopy): Likewise.
        (structure_alloc_comps): Likewise.
        * trans-array.h: Likewise.
        * trans-expr.c (gfc_trans_alloc_subarray_assign): Likewise.
        * trans-openmp.c (gfc_walk_alloc_comps): Likewise.

gcc/testsuite
2015-04-27  Andre Vehreschild  <vehre@gmx.de>

        PR fortran/59678
        PR fortran/65841
        * gfortran.dg/alloc_comp_deep_copy_1.f03: New test.
        * gfortran.dg/alloc_comp_deep_copy_2.f03: New test.

From-SVN: r222477

9 years agoGive proper type and size to named cold partitions.
Caroline Tice [Mon, 27 Apr 2015 16:44:35 +0000 (09:44 -0700)]
Give proper type and size to named cold partitions.

2015-04-27  Caroline Tice  <cmtice@google.com>

* final.c (final_scan_insn):  Output cold_function_nmae as function
type.
* varasm.c (cold_function_name):  Make gloval.
(assemble_start_function):  Re-set cold_function_name.
(assemble_end_function): Output cold partition size.
* varasm.h (cold_fun ction_name):  Declare global.

2015-04-27  Caroline Tice  <cmtice@google.com>

* gcc.dg/tree-prof/cold_partition_label.c (main): Check for cold
partition size.

From-SVN: r222473

9 years agoi386.h (EXT_REX_SSE_REG_P): New.
Ilya Tocar [Mon, 27 Apr 2015 15:24:48 +0000 (15:24 +0000)]
i386.h (EXT_REX_SSE_REG_P): New.

2015-04-27  Ilya Tocar  <ilya.tocar@intel.com>

* config/i386/i386.h (EXT_REX_SSE_REG_P): New.
* config/i386/i386.md (*cmpi<FPCMP:unord><MODEF:mode>_mixed): Use "v"
constraint.
(*movxi_internal_avx512f): Ditto.
(define_split): Check for xmm16+, when splitting scalar float_extend.
(*extendsfdf2_mixed): Use "v" constraint.
(define_split): Check for xmm16+, when splitting scalar float_truncate.
(*truncdfsf_fast_sse): Use "v" constraint.
(fix_trunc<MODEF:mode><SWI48:mode>_sse): Ditto.
(*float<SWI48:mode><MODEF:mode>2_sse): Ditto.
(define_peephole2): Check for xmm16+, when converting scalar
float_truncate.
(define_peephole2): Check for xmm16+, when converting scalar
float_extend.
(*fop_<mode>_comm_mixed): Use "v" constraint.
(*fop_<mode>_comm_sse): Ditto.
(*fop_<mode>_1_mixed): Ditto.
(*sqrt<mode>2_sse): Ditto.
(*ieee_s<ieee_maxmin><mode>3): Ditto.

From-SVN: r222470

9 years agoconfigure.ac: Drop AC_PROG_CXX and friends, since libmpx has no C++ sources.
Steven Noonan [Mon, 27 Apr 2015 15:02:46 +0000 (15:02 +0000)]
configure.ac: Drop AC_PROG_CXX and friends, since libmpx has no C++ sources.

libmpx/

* configure.ac: Drop AC_PROG_CXX and friends, since libmpx has no C++
sources.
* configure: Regenerate.

From-SVN: r222469

9 years ago[combine][obvious] Use std::swap instead of manually swapping
Kyrylo Tkachov [Mon, 27 Apr 2015 14:56:10 +0000 (14:56 +0000)]
[combine][obvious] Use std::swap instead of manually swapping

* combine.c (simplify_if_then_else): Use std::swap instead
of manually swapping.
(known_cond): Likewise.
(simplify_comparison): Likewise.

From-SVN: r222468

9 years agore PR target/64579 (__TM_end __builtin_tend failed to return transactional state)
Peter Bergner [Mon, 27 Apr 2015 14:52:50 +0000 (09:52 -0500)]
re PR target/64579 (__TM_end __builtin_tend failed to return transactional state)

gcc/
PR target/64579
* config/rs6000/htm.md: Remove all define_expands.
(UNSPECV_HTM_TABORTDC, UNSPECV_HTM_TABORTDCI, UNSPECV_HTM_TABORTWC,
UNSPECV_HTM_TABORTWCI): Remove.
(UNSPECV_HTM_TABORTXC, UNSPECV_HTM_TABORTXCI, UNSPECV_HTM_TTEST): New.
(tabort_internal, tbegin_internal, tcheck_internal, tend_internal,
trechkpt_internal, treclaim_internal, tsr_internal): Rename from this...
(tabort, tbegin, tcheck, tend, trechkpt, treclaim, tsr): ...to this.
(tabortdc_internal, tabortdci_internal, tabortwc_internal,
tabortwci_internal): Remove define_insns.
(tabort<wd>c, tabort<wd>ci): New define_insns.
(tabort): Use gpc_reg_operand.
(tcheck): Remove operand.
(htm_mfspr_<mode>, htm_mtspr_<mode>): Use GPR mode macro.
* config/rs6000/htmxlintrin.h (__TM_end): Use _HTM_TRANSACTIONAL as
expected value.
* config/rs6000/rs6000-builtin.def (BU_HTM_SPR0): Remove.
(BU_HTM_SPR1): Rename to BU_HTM_V1.  Remove use of RS6000_BTC_SPR.
(tabort, tabortdc, tabortdci, tabortwc, tabortwci, tbegin,
tcheck, tend, tendall, trechkpt, treclaim, tresume, tsuspend,
tsr, ttest): Pass in the RS6000_BTC_CR attribute.
(get_tfhar, set_tfhar, get_tfiar, set_tfiar, get_texasr, set_texasr,
get_texasru, set_texasru): Pass in the RS6000_BTC_SPR attribute.
(tcheck): Remove builtin argument.
* config/rs6000/rs6000.c (rs6000_htm_spr_icode): Use TARGET_POWERPC64
not TARGET_64BIT.
(htm_expand_builtin): Fix usage of expandedp.  Disallow usage of the
tabortdc and tabortdci builtins when not in 64-bit mode.
Modify code to handle the loss of the HTM define_expands.
Emit code to copy the CR register to TARGET.
(htm_init_builtins): Modify code to handle the loss of the HTM
define_expands.
* config/rs6000/rs6000.h (RS6000_BTC_32BIT): Delete.
(RS6000_BTC_64BIT): Likewise.
(RS6000_BTC_CR): New macro.
* doc/extend.texi: Update documentation for htm builtins.

gcc/testsuite/

PR target/64579
* gcc.target/powerpc/htm-1.c: New test.
* gcc.target/powerpc/htm-builtin-1.c (__builtin_tabortdc): Only test
on 64-bit compiles.
(__builtin_tabortdci): Likewise.
(__builtin_tcheck): Remove operand.
* lib/target-supports.exp (check_htm_hw_available): New function.

From-SVN: r222467

9 years ago[simplify-rtx][trivial] Use std::swap instead of manually swapping
Kyrylo Tkachov [Mon, 27 Apr 2015 13:45:26 +0000 (13:45 +0000)]
[simplify-rtx][trivial] Use std::swap instead of manually swapping

* simplify-rtx.c (simplify_gen_binary): Use std::swap instead
of manually swapping.
(simplify_associative_operation): Likewise.
(simplify_binary_operation): Likewise.
(simplify_plus_minus): Likewise.
(simplify_relational_operation): Likewise.
(simplify_ternary_operation): Likewise.

From-SVN: r222465

9 years agopredicates.md (xs_hi_general_operand): Delete.
Richard Sandiford [Mon, 27 Apr 2015 13:25:56 +0000 (13:25 +0000)]
predicates.md (xs_hi_general_operand): Delete.

gcc/
* config/stormy16/predicates.md (xs_hi_general_operand): Delete.
(xs_hi_nonmemory_operand): Remove error.
* config/stormy16/stormy16.md (movhi, movhi_internal): Use
general_operand rather than xs_hi_general_operand.

From-SVN: r222464

9 years agotree-ssa-dom.c (record_equivalences_from_phis): Valueize PHI arg.
Richard Biener [Mon, 27 Apr 2015 12:46:58 +0000 (12:46 +0000)]
tree-ssa-dom.c (record_equivalences_from_phis): Valueize PHI arg.

2015-04-27  Richard Biener  <rguenther@suse.de>

* tree-ssa-dom.c (record_equivalences_from_phis): Valueize PHI arg.
(record_equivalences_from_stmt): Valueize rhs.
(record_equality): Canonicalize x and y order via
tree_swap_operands_p.  Do not swap operands for same loop depth.

* gcc.target/i386/pr65217.c: XFAIL.

From-SVN: r222463

9 years agoextensions.xml: Add cross-reference.
Jonathan Wakely [Mon, 27 Apr 2015 12:30:26 +0000 (13:30 +0100)]
extensions.xml: Add cross-reference.

* doc/xml/manual/extensions.xml: Add cross-reference.
* doc/html/manual/ext_compile_checks.html: Regenerate.

From-SVN: r222462

9 years agore PR target/65296 ([avr] fix various issues with specs file generation)
Georg-Johann Lay [Mon, 27 Apr 2015 11:43:20 +0000 (11:43 +0000)]
re PR target/65296 ([avr] fix various issues with specs file generation)

PR target/65296
PR target/65895
* config/avr/gen-avr-mmcu-specs.c (print_mcu): Close file.
Add hint how to use own spec file.

From-SVN: r222459

9 years agore PR tree-optimization/65875 (ICE: Segmentation fault)
Jakub Jelinek [Mon, 27 Apr 2015 11:26:12 +0000 (13:26 +0200)]
re PR tree-optimization/65875 (ICE: Segmentation fault)

PR tree-optimization/65875
* tree-vrp.c (update_value_range): If in is_new case setting
old_vr to VR_VARYING, also set new_vr to it.  Remove
old_vr->type == VR_VARYING test.
(vrp_visit_phi_node): Return SSA_PROP_VARYING instead of
SSA_PROP_INTERESTING if update_value_range returned true,
but new range is VR_VARYING.

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

From-SVN: r222458

9 years agocombine.c (sign_extend_short_imm): New.
Thomas Preud'homme [Mon, 27 Apr 2015 11:02:34 +0000 (11:02 +0000)]
combine.c (sign_extend_short_imm): New.

2015-04-27  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    * combine.c (sign_extend_short_imm): New.
    (set_nonzero_bits_and_sign_copies): Use above new function for sign
    extension of src short immediate.
    (reg_nonzero_bits_for_combine): Likewise for tem.

From-SVN: r222457

9 years agostor-layout.c (self_referential_component_ref_p): New predicate.
Eric Botcazou [Mon, 27 Apr 2015 10:29:07 +0000 (10:29 +0000)]
stor-layout.c (self_referential_component_ref_p): New predicate.

* stor-layout.c (self_referential_component_ref_p): New predicate.
(copy_self_referential_tree_r): Use it.
(self_referential_size): Punt for simple operations directly involving
self-referential component references.
* tree-cfg.c (dump_function_to_file): Add missing final curly bracket.

From-SVN: r222456

9 years ago* ipa-icf.c (icf_handled_component_p): Remove redundant tests.
Eric Botcazou [Mon, 27 Apr 2015 10:10:47 +0000 (10:10 +0000)]
* ipa-icf.c (icf_handled_component_p): Remove redundant tests.

From-SVN: r222455

9 years agovec.h (vec): Make splice arguments const.
Richard Sandiford [Mon, 27 Apr 2015 09:55:21 +0000 (09:55 +0000)]
vec.h (vec): Make splice arguments const.

gcc/
* vec.h (vec): Make splice arguments const.  Update definitions
accordingly.

From-SVN: r222454

9 years agoarm.md (*arm_subsi3_insn): Fixed redundant alternatives.
Yvan Roux [Mon, 27 Apr 2015 09:08:11 +0000 (09:08 +0000)]
arm.md (*arm_subsi3_insn): Fixed redundant alternatives.

2015-04-27  Yvan Roux  <yvan.roux@linaro.org>

* config/arm/arm.md (*arm_subsi3_insn): Fixed redundant
alternatives.

From-SVN: r222453

9 years agoDaily bump.
GCC Administrator [Mon, 27 Apr 2015 00:16:19 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r222452

9 years agoMark ifn_va_arg as ECF_LEAF
Tom de Vries [Sun, 26 Apr 2015 07:13:13 +0000 (07:13 +0000)]
Mark ifn_va_arg as ECF_LEAF

2015-04-26  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/65826
* internal-fn.def: Mark VA_ARG with ECF_LEAF.

From-SVN: r222446

9 years agoDaily bump.
GCC Administrator [Sun, 26 Apr 2015 00:16:22 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r222444

9 years agore PR c/52085 (incomplete enum not completed correctly if packed was used)
Marek Polacek [Sat, 25 Apr 2015 10:12:01 +0000 (10:12 +0000)]
re PR c/52085 (incomplete enum not completed correctly if packed was used)

PR c/52085
* c-decl.c (finish_enum): Copy over TYPE_ALIGN.  Also check for "mode"
attribute.

* gcc.dg/enum-incomplete-2.c: New test.
* gcc.dg/enum-mode-1.c: New test.

From-SVN: r222440

9 years agoDaily bump.
GCC Administrator [Sat, 25 Apr 2015 00:16:18 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r222438

9 years agomips.md: (*madd4<mode>) Remove accum_in attribute.
Steve Ellcey [Fri, 24 Apr 2015 23:07:53 +0000 (23:07 +0000)]
mips.md: (*madd4<mode>) Remove accum_in attribute.

2015-04-24  Steve Ellcey  <sellcey@imgtec.com>

* config/mips/mips.md: (*madd4<mode>) Remove accum_in attribute.
(*madd3<mode>): Ditto.
(*msub4<mode>): Ditto.
(*msub3<mode>): Ditto.
(*nmadd4<mode>): Ditto.
(*nmadd3<mode>): Ditto.
(*nmadd4<mode>_fastmath): Ditto.
(*nmadd3<mode>_fastmath): Ditto.
(*nmsub4<mode>): Ditto.
(*nmsub3<mode>): Ditto.
(*nmsub4<mode>_fastmath): Ditto.
(*nmsub3<mode>_fastmath): Ditto.

From-SVN: r222432

9 years agore PR go/65616 (libgobegin.a not compiled with -fPIC)
Ian Lance Taylor [Fri, 24 Apr 2015 22:08:32 +0000 (22:08 +0000)]
re PR go/65616 (libgobegin.a not compiled with -fPIC)

PR go/65616
libgo: Compile go-main, in libgobegin, with -fPIC.

From-SVN: r222431

9 years agore PR c++/50800 (Internal compiler error in finish_member_declarations, possibly...
Jason Merrill [Fri, 24 Apr 2015 20:53:28 +0000 (16:53 -0400)]
re PR c++/50800 (Internal compiler error in finish_member_declarations, possibly related to may_alias attribute)

PR c++/50800
* g++.dg/ext/alias-canon2.C: Remove clashing fn definitions.

From-SVN: r222426

9 years agore PR c++/50800 (Internal compiler error in finish_member_declarations, possibly...
Jason Merrill [Fri, 24 Apr 2015 19:11:45 +0000 (15:11 -0400)]
re PR c++/50800 (Internal compiler error in finish_member_declarations, possibly related to may_alias attribute)

PR c++/50800
gcc/
* tree.c (build_reference_type_for_mode): Don't pass can_alias_all
down when building TYPE_CANONICAL.
(build_pointer_type_for_mode): Likewise.
gcc/cp/
* typeck.c (structural_comptypes): Don't check TYPE_REF_CAN_ALIAS_ALL.

From-SVN: r222419

9 years agogenrecog.c (validate_pattern): Check matching constraint refers to a lower numbered...
Chen Gang [Fri, 24 Apr 2015 18:40:43 +0000 (18:40 +0000)]
genrecog.c (validate_pattern): Check matching constraint refers to a lower numbered operand.

        * genrecog.c (validate_pattern): Check matching constraint refers
        to a lower numbered operand.

From-SVN: r222418

9 years agore PR target/65849 (Add missing tuning knobs to #pragma target/attribute target support)
Michael Meissner [Fri, 24 Apr 2015 17:24:05 +0000 (17:24 +0000)]
re PR target/65849 (Add missing tuning knobs to #pragma target/attribute target support)

[gcc]
2015-04-24  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/65849
* config/rs6000/rs6000.opt (-mvsx-align-128): Make options that
save to independent variables use the Save attribute.  This will
allow these options to be modified with the #pragma/attribute
target support.
(-mallow-movmisalign): Likewise.
(-mallow-df-permute): Likewise.
(-msched-groups): Likewise.
(-malways-hint): Likewise.
(-malign-branch-targets): Likewise.
(-mvectorize-builtins): Likewise.
(-msave-toc-indirect): Likewise.

* config/rs6000/rs6000.c (rs6000_opt_masks): Add more options that
can be set via the #pragma/attribute target support.
(rs6000_opt_vars): Likewise.
(rs6000_inner_target_options): If VSX was set, also set
-mno-avoid-indexed-addresses.

[gcc/testsuite]
2015-04-24  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/65849
* gcc.target/powerpc/pr65849-1.c: New test to verify being able to
set new options.
* gcc.target/powerpc/pr65849-2.c: Likewise.

From-SVN: r222417

9 years ago[ARM][trivial] Use uppercase for code iterator names
Kyrylo Tkachov [Fri, 24 Apr 2015 15:01:32 +0000 (15:01 +0000)]
[ARM][trivial] Use uppercase for code iterator names

* config/arm/iterators.md (shiftable_ops): Rename to...
(SHIFTABLE_OPS): ... This.  Update use in comments.
(ior_xor): Rename to...
(IOR_XOR): ... This.
(vqh_ops): Rename to...
(VQH_OPS): ... This.
(vqhs_ops): Rename to...
(VQHS_OPS): ... This.
(rshifts): Rename to...
(RSHIFTS): ... This.
(returns): Rename to...
(RETURNS): ... This.
* config/arm/arm.md: Update uses of the above.
* config/arm/neon.md: Likewise.

From-SVN: r222416

9 years ago[AArch64] Implement -m{cpu,tune,arch}=native using only /proc/cpuinfo
Kyrylo Tkachov [Fri, 24 Apr 2015 14:52:47 +0000 (14:52 +0000)]
[AArch64] Implement -m{cpu,tune,arch}=native using only /proc/cpuinfo

* config.host (case ${host}): Add aarch64*-*-linux case.
* config/aarch64/aarch64-cores.def: Add IMPLEMENTER_ID and PART_NUMBER
fields to all the cores.
* config/aarch64/aarch64-elf.h (DRIVER_SELF_SPECS):
Add MCPU_MTUNE_NATIVE_SPECS.
* config/aarch64/aarch64-option-extensions.def: Add FEATURE_STRING
field to all extensions.
* config/aarch64/aarch64-opts.h: Adjust definition of AARCH64_CORE.
* config/aarch64/aarch64.c: Adjust definition of AARCH64_CORE.
Adjust definition of AARCH64_OPT_EXTENSION.
* config/aarch64/aarch64.h: Adjust definition of AARCH64_CORE.
(MCPU_MTUNE_NATIVE_SPECS): Define.
* config/aarch64/driver-aarch64.c: New file.
* config/aarch64/x-arch64: New file.
* doc/invoke.texi (AArch64 Options): Document native value for -mcpu,
-mtune and -march.

From-SVN: r222415

9 years agoconstexpr.c (potential_constant_expression_1): Remove obsolete code.
Jason Merrill [Fri, 24 Apr 2015 14:50:51 +0000 (10:50 -0400)]
constexpr.c (potential_constant_expression_1): Remove obsolete code.

* constexpr.c (potential_constant_expression_1) [MINUS_EXPR]:
Remove obsolete code.
[NE_EXPR]: Likewise.

From-SVN: r222414

9 years agoReplace g++.dg/pr65802.C with gcc.dg/pr65802.c
Tom de Vries [Fri, 24 Apr 2015 14:18:57 +0000 (14:18 +0000)]
Replace g++.dg/pr65802.C with gcc.dg/pr65802.c

2015-04-24  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/65802
* g++.dg/pr65802.C: Move to ...
* gcc.dg/pr65802.c: ... here.  Add -fexceptions to dg-options. Include
stdarg.h.  Rewrite for C.
(fn1): Use va_list and va_arg.  Make variable args function.  Add use of
va_start and va_end.  Remove unnecessary inline asm.

From-SVN: r222413

9 years agoi386-protos.h (ix86_operands_ok_for_move_multiple): New.
Uros Bizjak [Fri, 24 Apr 2015 13:05:50 +0000 (15:05 +0200)]
i386-protos.h (ix86_operands_ok_for_move_multiple): New.

* config/i386/i386-protos.h (ix86_operands_ok_for_move_multiple): New.
* config/i386/i386.c (extract_base_offset_in_addr): New function.
(ix86_operands_ok_for_move_multiple): Ditto.
* config/i386/sse.md (movsd/movhpd to movupd peephole2): New pattern.
(movlpd/movhpd to movupd peephole2): Ditto.

testsuite/ChangeLog:

* gcc.target/i386/sse2-load-multi.c: New test.
* gcc.target/i386/sse2-store-multi.c: Ditto.

Co-Authored-By: Wei Mi <wmi@google.com>
From-SVN: r222410

9 years agore PR c/63357 (Warn for P && P and P || P (same expression used multiple times in...
Marek Polacek [Fri, 24 Apr 2015 12:10:52 +0000 (12:10 +0000)]
re PR c/63357 (Warn for P && P and P || P  (same expression used multiple times in a condition))

PR c/63357
* c-common.c (warn_logical_operator): Warn if the operands have the
same expressions.

* doc/invoke.texi: Update description of -Wlogical-op.

* c-c++-common/Wlogical-op-1.c: New test.

From-SVN: r222408

9 years agore PR c/65830 (-Wno-shift-count-negative -Wno-shift-count-overflow don't work with...
Marek Polacek [Fri, 24 Apr 2015 11:53:27 +0000 (11:53 +0000)]
re PR c/65830 (-Wno-shift-count-negative -Wno-shift-count-overflow don't work with const ints)

PR c/65830
* c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
and OPT_Wshift_count_overflow.

* c-c++-common/pr65830.c: New test.

From-SVN: r222407

9 years agore PR c/61534 (Wlogical-op should not warn when either operand comes from macro expan...
Marek Polacek [Fri, 24 Apr 2015 11:49:52 +0000 (11:49 +0000)]
re PR c/61534 (Wlogical-op should not warn when either operand comes from macro expansion)

PR c/61534
* input.h (from_macro_expansion_at): Define.

* c-common.c (warn_logical_operator): Bail if either operand comes
from a macro expansion.

* c-c++-common/pr61534-1.c: New test.

From-SVN: r222406

9 years agosse.md (*vec_widen_smult_even_v8si<mask_name>): Mark operand1 commutative.
Uros Bizjak [Fri, 24 Apr 2015 07:43:42 +0000 (09:43 +0200)]
sse.md (*vec_widen_smult_even_v8si<mask_name>): Mark operand1 commutative.

* config/i386/sse.md (*vec_widen_smult_even_v8si<mask_name>):
Mark operand1 commutative.

From-SVN: r222403

9 years agounknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): fix ternary operator in fprintf and...
Thomas Preud'homme [Fri, 24 Apr 2015 06:02:10 +0000 (06:02 +0000)]
unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): fix ternary operator in fprintf and harmonize spacing.

2015-04-24  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): fix
    ternary operator in fprintf and harmonize spacing.

From-SVN: r222401

9 years agosse.md (*vec_concatv2sf_sse4_1): Do not allow both input operands in memory.
Uros Bizjak [Fri, 24 Apr 2015 06:01:34 +0000 (08:01 +0200)]
sse.md (*vec_concatv2sf_sse4_1): Do not allow both input operands in memory.

* config/i386/sse.md (*vec_concatv2sf_sse4_1): Do not allow both
input operands in memory.
(*vec_concatv2si_sse4_1): Ditto.
(*vec_concatv2df): Ditto, except for SSE3 and equal input operands.
(vec_extract_lo_<mode><mask_name>): Change operand 1 predicate to
register_operand.
(vec_extract_hi_v32hi): Ditto.
(vec_extract_hi_v64hi): Ditto.
(<mask_codefor>avx512f_unpckhpd512<mask_name>): Ditto.

From-SVN: r222400

9 years agore PR rtl-optimization/34503 (Issues with constant/copy propagation implementation...
Thomas Preud'homme [Fri, 24 Apr 2015 04:49:34 +0000 (04:49 +0000)]
re PR rtl-optimization/34503 (Issues with constant/copy propagation implementation in gcse.c)

2015-04-24  Thomas Preud'homme  <thomas.preudhomme@arm.com>
            Steven Bosscher <steven@gcc.gnu.org>

    gcc/
    PR rtl-optimization/34503
    * cprop.c (cprop_reg_p): New.
    (hash_scan_set): Use above function to check if register can be
    propagated.
    (find_avail_set): Return up to two sets, one whose source is a
    register and one whose source is a constant.  Sets are returned in an
    array passed as parameter rather than as a return value.
    (cprop_insn): Use a do while loop rather than a goto.  Try each of the
    sets returned by find_avail_set, starting with the one whose source is
    a constant. Use cprop_reg_p to check if register can be propagated.
    (do_local_cprop): Use cprop_reg_p to check if register can be
    propagated.
    (implicit_set_cond_p): Likewise.

    gcc/testsuite/
    PR rtl-optimization/34503
    * gcc.target/arm/pr64616.c: New file.

Co-Authored-By: Steven Bosscher <steven@gcc.gnu.org>
From-SVN: r222398

9 years agopr42172-1.c: Check str instead of ldr.
Bin Cheng [Fri, 24 Apr 2015 03:44:53 +0000 (03:44 +0000)]
pr42172-1.c: Check str instead of ldr.

gcc/testsuite/ChangeLog
* gcc.target/arm/pr42172-1.c: Check str instead of ldr.

From-SVN: r222396

9 years agopr65710.c: Update the options.
Terry Guo [Fri, 24 Apr 2015 02:07:30 +0000 (02:07 +0000)]
pr65710.c: Update the options.

2015-04-24  Terry Guo  <terry.guo@arm.com>

* gcc.target/arm/pr65710.c: Update the options.

From-SVN: r222393

9 years agoipa-icf.c (sem_function::equals_wpa): Compare thunk info.
Jan Hubicka [Fri, 24 Apr 2015 00:58:25 +0000 (02:58 +0200)]
ipa-icf.c (sem_function::equals_wpa): Compare thunk info.

* ipa-icf.c (sem_function::equals_wpa): Compare thunk info.
(sem_function::equals): IGNORED_NODES parameter is now unused;
update call of equals_private.
(sem_function::equals_private): Do not call equals_wpa; skip
gimple body matching if there is no body.
(sem_function::init): Add logic to hash tthunk info.
(sem_function::parse): Also parse thunks.
* ipa-icf.h (equals_private): Update declaration.

From-SVN: r222392

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

From-SVN: r222391

9 years agoaltivec.md (*altivec_lvx_<mode>_internal): Remove asterisk from name so this can...
Bill Schmidt [Thu, 23 Apr 2015 20:18:10 +0000 (20:18 +0000)]
altivec.md (*altivec_lvx_<mode>_internal): Remove asterisk from name so this can be generated directly.

2015-04-23  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/altivec.md (*altivec_lvx_<mode>_internal): Remove
asterisk from name so this can be generated directly.
(*altivec_stvx_<mode>_internal): Likewise.
* config/rs6000/rs6000.c (rs6000_emit_le_vsx_store): Add assert
that this is never called during or after reload/lra.
(rs6000_frame_related): Remove split_reg
argument and logic that references it.
(emit_frame_save): Remove last parameter from call to
rs6000_frame_related.
(rs6000_emit_prologue): Remove last parameter from eight calls to
rs6000_frame_related.  Force generation of stvx instruction for
Altivec register saves.  Remove split_reg handling, which is no
longer needed.
(rs6000_emit_epilogue):  Force generation of lvx instruction for
Altivec register restores.

From-SVN: r222385

9 years agoRevert:PR c++/50800
Jason Merrill [Thu, 23 Apr 2015 19:40:16 +0000 (15:40 -0400)]
Revert:PR c++/50800

Revert:PR c++/50800
       * tree.c (strip_typedefs): Add remove_attributes parm.
       (strip_typedefs_expr): Likewise.
       (apply_identity_attributes): New subroutine of strip_typedefs.
       * pt.c (canonicalize_type_argument): Let strip_typedefs handle attrs.
       (convert_nontype_argument, unify): Likewise.
       * cp-tree.h: Adjust.

From-SVN: r222384

9 years agoSkip gcc.target/i386/pr65523.c for x32
H.J. Lu [Thu, 23 Apr 2015 18:11:57 +0000 (18:11 +0000)]
Skip gcc.target/i386/pr65523.c for x32

* gcc.target/i386/pr65523.c: Skip x32.

From-SVN: r222382

9 years agors6000.opt (mcrypto): Change option description to match category changes in ISA...
Bill Schmidt [Thu, 23 Apr 2015 18:07:02 +0000 (18:07 +0000)]
rs6000.opt (mcrypto): Change option description to match category changes in ISA 2.07B.

2015-04-23  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/rs6000.opt (mcrypto): Change option description to
match category changes in ISA 2.07B.

From-SVN: r222381

9 years agotree.h (attribute_value_equal): Declare.
Jan Hubicka [Thu, 23 Apr 2015 16:23:26 +0000 (18:23 +0200)]
tree.h (attribute_value_equal): Declare.

* tree.h (attribute_value_equal): Declare.
* tree.c (attribute_value_equal): Export.

From-SVN: r222380

9 years ago[ARM] Rewrite vc<cond> NEON patterns to use RTL operations rather than UNSPECs
Kyrylo Tkachov [Thu, 23 Apr 2015 16:19:26 +0000 (16:19 +0000)]
[ARM] Rewrite vc<cond> NEON patterns to use RTL operations rather than UNSPECs

* config/arm/iterators.md (GTGE, GTUGEU, COMPARISONS): New code
iterators.
(cmp_op, cmp_type): New code attributes.
(NEON_VCMP, NEON_VACMP): New int iterators.
(cmp_op_unsp): New int attribute.
* config/arm/neon.md (neon_vc<cmp_op><mode>): New define_expand.
(neon_vceq<mode>): Delete.
(neon_vc<cmp_op><mode>_insn): New pattern.
(neon_vc<cmp_op_unsp><mode>_insn_unspec): Likewise.
(neon_vcgeu<mode>): Delete.
(neon_vcle<mode>): Likewise.
(neon_vclt<mode>: Likewise.
(neon_vcage<mode>): Likewise.
(neon_vcagt<mode>): Likewise.
(neon_vca<cmp_op><mode>): New define_expand.
(neon_vca<cmp_op><mode>_insn): New pattern.
(neon_vca<cmp_op_unsp><mode>_insn_unspec): Likewise.

* gcc.target/arm/neon/pr51534.c: Update vcg* scan-assembly patterns
to look for vcl* where appropriate.

From-SVN: r222379

9 years agoFix testuite for updated ICF dumps.
Jan Hubicka [Thu, 23 Apr 2015 16:07:43 +0000 (16:07 +0000)]
Fix testuite for updated ICF dumps.

From-SVN: r222378

9 years agore PR c++/50800 (Internal compiler error in finish_member_declarations, possibly...
Jason Merrill [Thu, 23 Apr 2015 15:55:21 +0000 (11:55 -0400)]
re PR c++/50800 (Internal compiler error in finish_member_declarations, possibly related to may_alias attribute)

PR c++/50800
* tree.c (strip_typedefs): Add remove_attributes parm.
(strip_typedefs_expr): Likewise.
(apply_identity_attributes): New subroutine of strip_typedefs.
* pt.c (canonicalize_type_argument): Let strip_typedefs handle attrs.
(convert_nontype_argument, unify): Likewise.
* cp-tree.h: Adjust.

From-SVN: r222377

9 years agore PR c++/65646 (ICE in invalid syntax)
Jason Merrill [Thu, 23 Apr 2015 15:55:11 +0000 (11:55 -0400)]
re PR c++/65646 (ICE in invalid syntax)

PR c++/65646
* pt.c (check_explicit_specialization): Don't
SET_DECL_TEMPLATE_SPECIALIZATION for a variable with no template
headers.
* decl.c (grokvardecl): Revert earlier fix.

From-SVN: r222376

9 years agoCorrect name and email address in the Changelog commit.
Ramana Radhakrishnan [Thu, 23 Apr 2015 15:30:50 +0000 (15:30 +0000)]
Correct name and email address in the Changelog commit.

From-SVN: r222375

9 years agoipa-icf.c (sem_item::compare_attributes): New function.
Jan Hubicka [Thu, 23 Apr 2015 15:25:26 +0000 (17:25 +0200)]
ipa-icf.c (sem_item::compare_attributes): New function.

* ipa-icf.c (sem_item::compare_attributes): New function.
(sem_item::compare_referenced_symbol_properties): Compare variable
attributes.
(sem_item::hash_referenced_symbol_properties): Record DECL_ALIGN.
(sem_function::param_used_p): New function.
(sem_function::equals_wpa): Fix attribute comparsion; match
parameter type codes; do not compare paremter flags when
they are not used; compare edge flags; compare indirect calls.
(sem_item::update_hash_by_addr_refs): Hash reference type.
(sem_function::equals_private): Do not match DECL_ATTRIBUTES.
(sem_variable::equals_wpa): Do not match DECL_ALIGN; match
reference use type.
(sem_item_optimizer::update_hash_by_addr_refs): Use param_used_p.
* ipa-icf.h (compare_attributes, param_used_p): Declare.

From-SVN: r222374

9 years agocostmodel-bb-slp-9a.c: Replace vect_no_align with vect_no_align && { ! vect_hw_misali...
Bill Schmidt [Thu, 23 Apr 2015 15:09:19 +0000 (15:09 +0000)]
costmodel-bb-slp-9a.c: Replace vect_no_align with vect_no_align && { ! vect_hw_misalign }.

2015-04-23  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a.c: Replace
vect_no_align with vect_no_align && { ! vect_hw_misalign }.

From-SVN: r222373

9 years agoipa-icf.c (symbol_compare_collection::symbol_compare_collection): cleanup.
Jan Hubicka [Thu, 23 Apr 2015 14:55:07 +0000 (16:55 +0200)]
ipa-icf.c (symbol_compare_collection::symbol_compare_collection): cleanup.

* ipa-icf.c (symbol_compare_collection::symbol_compare_collection):
cleanup.
(sem_function::get_hash): Do not hash DECL_DISREGARD_INLINE_LIMITS,
DECL_DECLARED_INLINE_P and DECL_IS_OPERATOR_NEW.
(sem_item::compare_referenced_symbol_properties): New.
(sem_item::hash_referenced_symbol_properties): New.
(sem_item::compare_cgraph_references): Rename to ...
(sem_item::compare_symbol_references): ... this one; use
compare_referenced_symbol_properties.
(sem_function::equals_wpa): Do not compare
DECL_DISREGARD_INLINE_LIMITS, DECL_DECLARED_INLINE_P,
DECL_IS_OPERATOR_NEW; compare pointer sizes.
(sem_item::update_hash_by_addr_refs): Call
hash_referenced_symbol_properties.
(sem_item::update_hash_by_local_refs): Cleanup.
(sem_function::merge): Do not mix up symbol properties.
(sem_variable::equals_wpa): Use compare_symbol_references.
* ipa-icf.h (sem_item::compare_referenced_symbol_properties): New.
(sem_item::hash_referenced_symbol_properties): New.
(sem_item::compare_symbol_references): New.
(sem_item::compare_cgraph_references): Remove.

From-SVN: r222372

9 years agore PR target/26702 (.size is not emitted for BSS variables)
Ramana Radhakrishnan [Thu, 23 Apr 2015 14:49:45 +0000 (14:49 +0000)]
re PR target/26702 (.size is not emitted for BSS variables)

Fix PR target/26702

For Kwok Cheung Yeung.

From-SVN: r222371

9 years agore PR c/65345 (ICE with _Generic selection on _Atomic int)
Marek Polacek [Thu, 23 Apr 2015 14:35:12 +0000 (14:35 +0000)]
re PR c/65345 (ICE with _Generic selection on _Atomic int)

PR c/65345
* c-decl.c (set_labels_context_r): New function.
(store_parm_decls): Call it via walk_tree_without_duplicates.
* c-typeck.c (convert_lvalue_to_rvalue): Use create_tmp_var_raw
instead of create_tmp_var.  Build TARGET_EXPR instead of
COMPOUND_EXPR.
(build_atomic_assign): Use create_tmp_var_raw instead of
create_tmp_var.  Build TARGET_EXPRs instead of MODIFY_EXPR.

* gcc.dg/pr65345-1.c: New test.
* gcc.dg/pr65345-2.c: New test.

From-SVN: r222370

9 years agorl78.c (rl78_preferred_reload_class): Add ATTRIBUTE_UNUSED to x parameter.
Nick Clifton [Thu, 23 Apr 2015 13:41:48 +0000 (13:41 +0000)]
rl78.c (rl78_preferred_reload_class): Add ATTRIBUTE_UNUSED to x parameter.

* config/rl78/rl78.c (rl78_preferred_reload_class): Add
ATTRIBUTE_UNUSED to x parameter.
* config/rl78/rl78-opts.h (enum rl78_mul_types): Remove unused MUL_RL78.

From-SVN: r222369

9 years agocrypto.md (crypto_vpmsum<CR_char>): Change TARGET_CRYPTO to TARGET_P8_VECTOR>
Bill Schmidt [Thu, 23 Apr 2015 12:36:43 +0000 (12:36 +0000)]
crypto.md (crypto_vpmsum<CR_char>): Change TARGET_CRYPTO to TARGET_P8_VECTOR>

[gcc]

2015-04-23  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/crypto.md (crypto_vpmsum<CR_char>): Change
TARGET_CRYPTO to TARGET_P8_VECTOR>
(crypto_vpermxor_<mode>): Likewise.
* config/rs6000/rs6000-builtin.def (BU_CRYPTO_2A): New #define.
(BU_CRYPTO_3A): Likewise.
(BU_CRYPTO_OVERLOAD_2A): Rename from BU_CRYPTO_OVERLOAD_2.
(BU_CRYPTO_OVERLOAD_3A): New #define.
(VPMSUMB): Change from BU_CRYPTO_2 to BU_CRYPTO_2A.
(VPMSUMH): Likewise.
(VPMSUMW): Likewise.
(VPMSUMD): Likewise.
(VPERMXOR_V2DI): Change from BU_CRYPTO_3 to BU_CRYPTO_3A.
(VPERMXOR_V4SI): Likewise.
(VPERMXOR_V8HI): Likewise.
(VPERMXOR_V16QI): Likewise.
(VPMSUM): Change from BU_CRYPTO_OVERLOAD_2 to
BU_CRYPTO_OVERLOAD_2A.
(VPERMXOR): Change from BU_CRYPTO_OVERLOAD3 to
BU_CRYPTO_OVERLOAD_3A.
* config/rs6000/rs6000.opt (mcrypto): Change description of
option.

[gcc/testsuite]

2015-04-23  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.target/powerpc/crypto-builtin-2.c: New.

From-SVN: r222362