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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Tue, 28 Apr 2015 00:16:22 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r222496
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Mon, 27 Apr 2015 00:16:19 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r222452
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
GCC Administrator [Sun, 26 Apr 2015 00:16:22 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r222444
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
GCC Administrator [Sat, 25 Apr 2015 00:16:18 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r222438
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Fri, 24 Apr 2015 00:16:16 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r222391
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
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
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
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
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
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
Jan Hubicka [Thu, 23 Apr 2015 16:07:43 +0000 (16:07 +0000)]
Fix testuite for updated ICF dumps.
From-SVN: r222378
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
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
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
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
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
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
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
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
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
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
Andre Vehreschild [Thu, 23 Apr 2015 11:32:00 +0000 (13:32 +0200)]
PF fortran/60322
gcc/testsuite/ChangeLog:
2015-04-23 Andre Vehreschild <vehre@gmx.de>
PF fortran/60322
* 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_10.f90: Corrected scan-trees.
* gfortran.dg/finalize_15.f90: Fixing comparision to model
initialization correctly.
* gfortran.dg/finalize_29.f08: New test.
gcc/fortran/ChangeLog:
2015-04-23 Andre Vehreschild <vehre@gmx.de>
PR fortran/60322
* expr.c (gfc_lval_expr_from_sym): Code to select the regular
or class array added.
* gfortran.h: Add IS_CLASS_ARRAY macro.
* trans-array.c (gfc_add_loop_ss_code): Treat class objects
to be referenced always.
(build_class_array_ref): Adapt retrieval of array descriptor.
(build_array_ref): Likewise.
(gfc_conv_array_ref): Hand the vptr or the descriptor to
build_array_ref depending whether the sym is class or not.
(gfc_trans_array_cobounds): Select correct gfc_array_spec for
regular and class arrays.
(gfc_trans_array_bounds): Likewise.
(gfc_trans_dummy_array_bias): Likewise.
(gfc_get_dataptr_offset): Correcting call of build_array_ref.
(gfc_conv_expr_descriptor): Set the array's offset to -1 when
lbound in inner most dim is 1 and symbol non-pointer/assoc.
* trans-decl.c (gfc_build_qualified_array): Select correct
gfc_array_spec for regular and class arrays.
(gfc_build_dummy_array_decl): Likewise.
(gfc_get_symbol_decl): Get a dummy array for class arrays.
(gfc_trans_deferred_vars): Tell conv_expr that the descriptor
is desired.
* trans-expr.c (gfc_class_vptr_get): Get the class descriptor
from the correct location for class arrays.
(gfc_class_len_get): Likewise.
(gfc_conv_intrinsic_to_class): Add handling of _len component.
(gfc_conv_class_to_class): Prevent access to unset array data
when the array is an optional argument. Add handling of _len
component.
(gfc_copy_class_to_class): Check that _def_init is non-NULL
when used in _vptr->copy()
(gfc_trans_class_init_assign): Ensure that the rank of
_def_init is zero.
(gfc_conv_component_ref): Get the _vptr along with _data refs.
(gfc_conv_variable): Make sure the temp array descriptor is
returned for class arrays, too, and that class arrays are
dereferenced correctly.
(gfc_conv_procedure_call): For polymorphic type initialization
the initializer has to be a pointer to _def_init stored in a
dummy variable, which then needs to be used by value.
* trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Use the
temporary array descriptor for class arrays, too.
(gfc_conv_intrinsic_storage_size): Likewise.
(gfc_conv_intrinsic_loc): Add ref to _data for BT_CLASS
expressions.
* trans-stmt.c (trans_associate_var): Use a temporary array for
the associate variable of class arrays, too, making the array
one-based (lbound == 1).
* trans-types.c (gfc_is_nodesc_array): Use the correct
array data.
* trans.c (gfc_build_array_ref): Use the dummy array descriptor
when present.
* trans.h: Add class_vptr to gfc_se for storing a class ref's
vptr.
From-SVN: r222361