]>
git.ipfire.org Git - thirdparty/gcc.git/log
gccadmin [Sun, 17 Jul 2016 00:16:19 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238419
138bc75d -0d04-0410-961f-
82ee72b054a4
danglin [Sat, 16 Jul 2016 15:59:33 +0000 (15:59 +0000)]
* config/pa/pa.c (hppa_profile_hook): Allocate stack space for
register parameters. Remove code to initialize argument pointer
on TARGET_64BIT. Optimize call to _mcount when it can be reached
using a pc-relative branch. Cleanup conditional code.
* config/pa/pa.md (call_mcount): New expander.
(call_mcount_nonpic): New insn.
(call_mcount_pic): New insn and split.
(call_mcount_pic_post_reload): New insn.
(call_mcount_64bit): New insn and split.
(call_mcount_64bit_post_reload): New insn.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238414
138bc75d -0d04-0410-961f-
82ee72b054a4
schwab [Sat, 16 Jul 2016 09:53:23 +0000 (09:53 +0000)]
* g++.dg/cpp0x/nullptr35.C (caught): Fix typo.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238413
138bc75d -0d04-0410-961f-
82ee72b054a4
gccadmin [Sat, 16 Jul 2016 00:16:22 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238409
138bc75d -0d04-0410-961f-
82ee72b054a4
redi [Fri, 15 Jul 2016 20:23:08 +0000 (20:23 +0000)]
Replace references to C++0x with C++11 in comments
* include/bits/algorithmfwd.h: Change C++0x to C++11 in comments.
* include/bits/move.h: Likewise.
* include/bits/postypes.h: Likewise.
* include/debug/bitset: Likewise.
* include/ext/pb_ds/detail/type_utils.hpp: Likewise.
* include/ext/string_conversions.h: Change C++0x to __cxx11 in
comment.
* testsuite/27_io/fpos/14320-1.cc: Change C++0x to C++11 in comment.
* testsuite/util/thread/all.h: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238402
138bc75d -0d04-0410-961f-
82ee72b054a4
jvdelisle [Fri, 15 Jul 2016 19:58:55 +0000 (19:58 +0000)]
2016-07-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
Marco Restelli <mrestelli@gmail.com>
PR fortran/62125
* symbol.c (select_type_insert_tmp): Recursively call self to take care
of nested select type.
* gfortran.dg/pr62125.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238400
138bc75d -0d04-0410-961f-
82ee72b054a4
redi [Fri, 15 Jul 2016 19:51:33 +0000 (19:51 +0000)]
Remove redundant std::move in std::for_each
* include/bits/stl_algo.h (for_each): Remove redundant _GLIBCXX_MOVE
and adjust comment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238399
138bc75d -0d04-0410-961f-
82ee72b054a4
wschmidt [Fri, 15 Jul 2016 18:57:06 +0000 (18:57 +0000)]
2016-07-15 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.target/powerpc/divkc3-1.c: Require p8vector support.
* gcc.target/powerpc/mulkc3-1.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238398
138bc75d -0d04-0410-961f-
82ee72b054a4
jason [Fri, 15 Jul 2016 18:56:29 +0000 (18:56 +0000)]
PR c++/71495 - spurious note during SFINAE.
* call.c (convert_like_real): Mask complain.
* semantics.c (perform_koenig_lookup): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238397
138bc75d -0d04-0410-961f-
82ee72b054a4
redi [Fri, 15 Jul 2016 18:51:51 +0000 (18:51 +0000)]
c++/58796 Make nullptr match exception handlers of pointer type
libstdc++-v3:
PR c++/58796
* libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Make
nullptr match handlers of pointer type.
gcc/testsuite:
PR c++/58796
* g++.dg/cpp0x/nullptr21.C: Remove void* handlers.
* g++.dg/cpp0x/nullptr35.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238396
138bc75d -0d04-0410-961f-
82ee72b054a4
jason [Fri, 15 Jul 2016 18:49:38 +0000 (18:49 +0000)]
PR c++/71092 - ICE with array and constexpr.
* constexpr.c (cxx_eval_call_expression): Fail quietly when cgraph
threw away DECL_SAVED_TREE.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238395
138bc75d -0d04-0410-961f-
82ee72b054a4
jason [Fri, 15 Jul 2016 18:49:25 +0000 (18:49 +0000)]
PR c++/71117 - core 2189 and generic lambda
* call.c (add_template_conv_candidate): Disable if there are
viable candidates.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238394
138bc75d -0d04-0410-961f-
82ee72b054a4
jason [Fri, 15 Jul 2016 18:38:48 +0000 (18:38 +0000)]
PR c++/71511 - ICE on decltype scope in declaration.
* typeck2.c (cxx_incomplete_type_diagnostic): Handle DECLTYPE_TYPE.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238393
138bc75d -0d04-0410-961f-
82ee72b054a4
jason [Fri, 15 Jul 2016 18:38:40 +0000 (18:38 +0000)]
PR c++/71513 - alignas on member enum in template
* pt.c (tsubst_attributes): Fix loop logic.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238392
138bc75d -0d04-0410-961f-
82ee72b054a4
jason [Fri, 15 Jul 2016 18:38:31 +0000 (18:38 +0000)]
PR c++/71604 - type definition in range-based for
PR c++/54430
* parser.c (cp_parser_range_for): Modify IDENTIFIER_BINDING directly.
(cp_parser_simple_declaration): Diagnose type definition in
for-range-declaration.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238391
138bc75d -0d04-0410-961f-
82ee72b054a4
jason [Fri, 15 Jul 2016 18:38:23 +0000 (18:38 +0000)]
PR c++/71711 - mangle C++1z fold-expressions.
* operators.def: Add *_FOLD_EXPR.
* cp-tree.h (FOLD_EXPR_P): Parenthesize.
* mangle.c (write_expression): Handle fold-expressions.
* pt.c (tsubst_unary_left_fold, tsubst_binary_left_fold)
(tsubst_unary_right_fold, tsubst_binary_right_fold): Handle
partial instantiation.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238390
138bc75d -0d04-0410-961f-
82ee72b054a4
jason [Fri, 15 Jul 2016 18:38:15 +0000 (18:38 +0000)]
PR c++/71814 - mangling sizeof... (sP and sZ)
gcc/cp/
* mangle.c (write_expression): Handle sizeof... an argument pack.
libiberty/
* cp-demangle.c (cplus_demangle_operators): Add sP and sZ.
(d_print_comp_inner): Handle them.
(d_template_args_1): Split out from d_template_args.
(d_args_length): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238389
138bc75d -0d04-0410-961f-
82ee72b054a4
jason [Fri, 15 Jul 2016 18:38:05 +0000 (18:38 +0000)]
Update -fabi-version default to 11.
* c-opts.c (c_common_post_options): Update -fabi-version default to 11.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238388
138bc75d -0d04-0410-961f-
82ee72b054a4
jason [Fri, 15 Jul 2016 18:37:56 +0000 (18:37 +0000)]
PR c++/71718 - infinite recursion and alias template
* pt.c (push_tinst_level_loc): Set at_eof before fatal_error.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238387
138bc75d -0d04-0410-961f-
82ee72b054a4
jason [Fri, 15 Jul 2016 18:37:48 +0000 (18:37 +0000)]
PR c++/70824 - initializer_list in template
* init.c (constant_value_1): Don't instantiated DECL_INITIAL of
artificial variables.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238386
138bc75d -0d04-0410-961f-
82ee72b054a4
emsr [Fri, 15 Jul 2016 17:16:32 +0000 (17:16 +0000)]
2016-07-15 Edward Smith-Rowland <3dw4rd@verizon.net>
Implement C++17 P0025 clamp.
* include/bits/algorithmfwd.h: Declare clamp overloads.
* include/bits/stl_algo.h: Implement clamp. Feature __cpp_lib_clamp.
* testsuite/25_algorithms/clamp/1.cc: New test.
* testsuite/25_algorithms/clamp/2.cc: New test.
* testsuite/25_algorithms/clamp/constexpr.cc: New test.
* testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
1.cc: New test.
* testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
pod.cc: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238383
138bc75d -0d04-0410-961f-
82ee72b054a4
gjl [Fri, 15 Jul 2016 16:28:17 +0000 (16:28 +0000)]
Typo.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238382
138bc75d -0d04-0410-961f-
82ee72b054a4
gjl [Fri, 15 Jul 2016 16:25:38 +0000 (16:25 +0000)]
* config/avr/predicates.md (const_m255_to_m1_operand): New.
* config/avr/constraints.md (Cn8, Ca1, Co1, Yx2): New constraints.
* config/avr/avr.md (add<mode>3) <ALL1>: Make "r,0,r" more
expensive.
(*cmphi.zero-extend.0, *cmphi.zero-extend.1)
(*usum_widenqihi3, *udiff_widenqihi3)
(*addhi3_zero_extend.const): New combiner insns.
(andqi3, iorqi3): Provide "l" (NO_LD_REGS) alternative if
just 1 bit is affected.
* config/avr/avr.c (avr_out_bitop) <QImode>: Don't access xop[3].
(avr_out_compare) [EQ,NE]: Tweak comparing d-regs against -1.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238381
138bc75d -0d04-0410-961f-
82ee72b054a4
jakub [Fri, 15 Jul 2016 15:28:26 +0000 (15:28 +0000)]
Fix up ChangeLog entry.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238378
138bc75d -0d04-0410-961f-
82ee72b054a4
amker [Fri, 15 Jul 2016 14:21:55 +0000 (14:21 +0000)]
gcc/testsuite
* gcc.dg/tree-ssa/scev-8.c: Update test string.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238377
138bc75d -0d04-0410-961f-
82ee72b054a4
cesar [Fri, 15 Jul 2016 14:13:48 +0000 (14:13 +0000)]
gcc/c/
* c-parser.c (c_parser_oacc_declare): Don't scan for
GOMP_MAP_POINTER.
* c-typeck.c (handle_omp_array_sections): Mark data clauses with
GOMP_MAP_FORCE_{PRESENT,TO,FROM,TOFROM} as potentially having
zero-length subarrays.
gcc/cp/
* parser.c (cp_parser_oacc_declare): Don't scan for
GOMP_MAP_POINTER.
* semantics.c (handle_omp_array_sections): Mark data clauses with
GOMP_MAP_FORCE_{PRESENT,TO,FROM,TOFROM} as potentially having
zero-length subarrays.
gcc/
* omp-low.c (lower_omp_target): Mark data clauses with
GOMP_MAP_FORCE_{PRESENT,TO,FROM,TOFROM} as potentially having
zero-length subarrays.
libgomp/
* testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238376
138bc75d -0d04-0410-961f-
82ee72b054a4
cesar [Fri, 15 Jul 2016 14:03:35 +0000 (14:03 +0000)]
gcc/fortran/
* openmp.c (gfc_match_omp_clauses): Scan for clause vector_length
before vector.
gcc/testsuite/
* gfortran.dg/goacc/vector_length.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238375
138bc75d -0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 15 Jul 2016 13:05:56 +0000 (13:05 +0000)]
2016-07-15 Richard Biener <rguenther@suse.de>
PR tree-optimization/71881
* tree-loop-distribution.c (destroy_loop): Remove blocks in
reverse DOM order to make debug temp generation happy.
* gcc.dg/torture/pr71881.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238374
138bc75d -0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 15 Jul 2016 12:56:17 +0000 (12:56 +0000)]
2016-07-15 Richard Biener <rguenther@suse.de>
PR tree-optimization/71887
* tree-ssa-phiopt.c (absorbing_element_p): Add rhs arg and
verify it is not zero for division / modulo handling.
(value_replacement): Adjust.
* gcc.dg/torture/pr71887.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238373
138bc75d -0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Fri, 15 Jul 2016 11:17:53 +0000 (11:17 +0000)]
[PATCH/AARCH64] Add rtx_costs routine for vulcan.
gcc/ChangeLog:
2016-07-15 Virendra Pathak <virendra.pathak@broadcom.com>
Julian Brown <julian@codesourcery.com>
* config/aarch64/aarch64-cores.def: Update vulcan COSTS.
* config/aarch64/aarch64-cost-tables.h
(vulcan_extra_costs): New variable.
* config/aarch64/aarch64.c
(vulcan_addrcost_table): Likewise.
(vulcan_regmove_cost): Likewise.
(vulcan_vector_cost): Likewise.
(vulcan_branch_cost): Likewise.
(vulcan_tunings): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238372
138bc75d -0d04-0410-961f-
82ee72b054a4
amonakov [Fri, 15 Jul 2016 11:01:23 +0000 (11:01 +0000)]
handle undefined extern vars in output_in_order
* cgraphunit.c (cgraph_order_sort_kind): New entry ORDER_VAR_UNDEF.
(output_in_order): Loop over undefined variables too. Output them
via assemble_undefined_decl. Skip variables that correspond to hard
registers or have value-exprs.
* varpool.c (symbol_table::output_variables): Handle undefined
variables together with defined ones.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238371
138bc75d -0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 15 Jul 2016 10:53:29 +0000 (10:53 +0000)]
2016-07-15 Richard Biener <rguenther@suse.de>
* tree-ssa-pre.c (get_representative_for): Make sure to return
the value number of SSA names.
(phi_translate_1): get_representative_for cannot return NULL.
(do_pre_regular_insertion): Remove redundant call to
fully_constant_expression.
(do_pre_partial_partial_insertion): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238370
138bc75d -0d04-0410-961f-
82ee72b054a4
jakub [Fri, 15 Jul 2016 10:40:39 +0000 (10:40 +0000)]
PR c/71858
* c-common.h (enum lookup_name_fuzzy_kind): Add
FUZZY_LOOKUP_FUNCTION_NAME.
* c-decl.c (implicit_decl_warning): Use FUZZY_LOOKUP_FUNCTION_NAME
instead of FUZZY_LOOKUP_NAME.
(lookup_name_fuzzy): For FUZZY_LOOKUP_FUNCTION_NAME consider
FUNCTION_DECLs, {VAR,PARM}_DECLs function pointers and macros.
* gcc.dg/spellcheck-identifiers-3.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238369
138bc75d -0d04-0410-961f-
82ee72b054a4
vehre [Fri, 15 Jul 2016 09:28:47 +0000 (09:28 +0000)]
gcc/fortran/ChangeLog:
2016-07-15 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/71807
* trans-expr.c (gfc_trans_subcomponent_assign): Special casing
when allocatable component is set to null() in initializer.
gcc/testsuite/ChangeLog:
2016-07-15 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/71807
* gfortran.dg/null_9.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238368
138bc75d -0d04-0410-961f-
82ee72b054a4
amker [Fri, 15 Jul 2016 09:04:57 +0000 (09:04 +0000)]
* tree-scalar-evolution.c (simple_iv_with_niters): New funcion.
(derive_simple_iv_with_niters): New function.
(simple_iv): Rewrite using simple_iv_with_niters.
* tree-scalar-evolution.h (simple_iv_with_niters): New decl.
* tree-ssa-loop-niter.c (number_of_iterations_exit_assumptions): New
function.
(number_of_iterations_exit): Rewrite using above function.
* tree-ssa-loop-niter.h (number_of_iterations_exit_assumptions): New
Decl.
gcc/testsuite
* gcc.dg/tree-ssa/loop-41.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238367
138bc75d -0d04-0410-961f-
82ee72b054a4
amker [Fri, 15 Jul 2016 08:53:48 +0000 (08:53 +0000)]
gcc/testsuite
PR tree-optimization/71347
* gcc.dg/tree-ssa/pr71347.c: XFAIL on ia64, arm, m68k and sparc.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238366
138bc75d -0d04-0410-961f-
82ee72b054a4
ville [Fri, 15 Jul 2016 07:44:22 +0000 (07:44 +0000)]
Fix the constraints for any's assignment operator template to properly
reject assignment from a non-copyable lvalue.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238365
138bc75d -0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 15 Jul 2016 07:38:01 +0000 (07:38 +0000)]
2016-07-15 Richard Biener <rguenther@suse.de>
* config/i386/i386.c (ix86_builtin_vectorization_cost): Adjust
vec_construct cost.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238364
138bc75d -0d04-0410-961f-
82ee72b054a4
gccadmin [Fri, 15 Jul 2016 00:16:19 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238362
138bc75d -0d04-0410-961f-
82ee72b054a4
kargl [Thu, 14 Jul 2016 20:54:40 +0000 (20:54 +0000)]
2016-07-14 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/29819
* parse.c (parse_contained): Use proper locus.
2016-07-14 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/29819
* gfortran.dg/bind_c_usage_9.f03: Move dg-error.
* gfortran.dg/contains.f90: Ditto.
* gfortran.dg/contains_empty_1.f03: Ditto.
* gfortran.dg/submodule_3.f08: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238354
138bc75d -0d04-0410-961f-
82ee72b054a4
jakub [Thu, 14 Jul 2016 18:42:53 +0000 (18:42 +0000)]
PR testsuite/71865
* gcc.dg/diagnostic-token-ranges.c: Add -std=c11 to dg-options.
(wide_string_literal_in_asm): Use __asm instead of asm, adjust
expected diagnostics.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238353
138bc75d -0d04-0410-961f-
82ee72b054a4
jakub [Thu, 14 Jul 2016 18:34:00 +0000 (18:34 +0000)]
PR c/71858
* c-decl.c (lookup_name_fuzzy): Ignore binding->invisible.
* gcc.dg/spellcheck-identifiers.c (snprintf): Declare.
* gcc.dg/spellcheck-identifiers-2.c: New test.
* gcc.dg/diagnostic-token-ranges.c (nanl): Declare.
* c-c++-common/attributes-1.c: Adjust dg-prune-output.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238352
138bc75d -0d04-0410-961f-
82ee72b054a4
jakub [Thu, 14 Jul 2016 18:30:38 +0000 (18:30 +0000)]
PR tree-optimization/71872
* tree-data-ref.c (get_references_in_stmt): Ignore references
with is_gimple_constant get_base_address.
* gcc.c-torture/compile/pr71872.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238351
138bc75d -0d04-0410-961f-
82ee72b054a4
thopre01 [Thu, 14 Jul 2016 17:21:21 +0000 (17:21 +0000)]
2016-07-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
gcc/
* config/arm/arm.h (TARGET_HAVE_LDACQ): Enable for ARMv8-M Mainline.
(TARGET_HAVE_LDACQD): New macro.
* config/arm/sync.md (atomic_loaddi): Use TARGET_HAVE_LDACQD rather
than TARGET_HAVE_LDACQ.
(arm_load_acquire_exclusivedi): Likewise.
(arm_store_release_exclusivedi): Likewise.
libgcc/
* gcc.target/arm/atomic-comp-swap-release-acquire.c: Rename into ...
* gcc.target/arm/atomic-comp-swap-release-acquire-1.c: This.
* gcc.target/arm/atomic-op-acq_rel.c: Rename into ...
* gcc.target/arm/atomic-op-acq_rel-1.c: This.
* gcc.target/arm/atomic-op-acquire.c: Rename into ...
* gcc.target/arm/atomic-op-acquire-1.c: This.
* gcc.target/arm/atomic-op-char.c: Rename into ...
* gcc.target/arm/atomic-op-char-1.c: This.
* gcc.target/arm/atomic-op-consume.c: Rename into ...
* gcc.target/arm/atomic-op-consume-1.c: This.
* gcc.target/arm/atomic-op-int.c: Rename into ...
* gcc.target/arm/atomic-op-int-1.c: This.
* gcc.target/arm/atomic-op-relaxed.c: Rename into ...
* gcc.target/arm/atomic-op-relaxed-1.c: This.
* gcc.target/arm/atomic-op-release.c: Rename into ...
* gcc.target/arm/atomic-op-release-1.c: This.
* gcc.target/arm/atomic-op-seq_cst.c: Rename into ...
* gcc.target/arm/atomic-op-seq_cst-1.c: This.
* gcc.target/arm/atomic-op-short.c: Rename into ...
* gcc.target/arm/atomic-op-short-1.c: This.
* gcc.target/arm/atomic-comp-swap-release-acquire-2.c: New test.
* gcc.target/arm/atomic-op-acq_rel-2.c: Likewise.
* gcc.target/arm/atomic-op-acquire-2.c: Likewise.
* gcc.target/arm/atomic-op-char-2.c: Likewise.
* gcc.target/arm/atomic-op-consume-2.c: Likewise.
* gcc.target/arm/atomic-op-int-2.c: Likewise.
* gcc.target/arm/atomic-op-relaxed-2.c: Likewise.
* gcc.target/arm/atomic-op-release-2.c: Likewise.
* gcc.target/arm/atomic-op-seq_cst-2.c: Likewise.
* gcc.target/arm/atomic-op-short-2.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238348
138bc75d -0d04-0410-961f-
82ee72b054a4
vehre [Thu, 14 Jul 2016 17:07:47 +0000 (17:07 +0000)]
gcc/testsuite/ChangeLog:
2016-07-14 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/70842
* gfortran.dg/select_type_35.f03: New test.
gcc/fortran/ChangeLog:
2016-07-14 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/70842
* simplify.c (gfc_simplify_len): Only for unlimited polymorphic
types replace the expression's _data ref with a _len ref.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238347
138bc75d -0d04-0410-961f-
82ee72b054a4
thopre01 [Thu, 14 Jul 2016 16:41:06 +0000 (16:41 +0000)]
2016-07-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
gcc/
PR rtl-optimization/71878
* lra-constraints.c (match_reload): Pass information about other
output operands. Create new unique register value if matching input
operand shares same register value as output operand being considered.
(curr_insn_transform): Record output operands already processed.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238346
138bc75d -0d04-0410-961f-
82ee72b054a4
redi [Thu, 14 Jul 2016 15:43:17 +0000 (15:43 +0000)]
Include header for std::__parallel::search
* include/experimental/functional: Include <parallel/algorithm> in
Parallel Mode.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238342
138bc75d -0d04-0410-961f-
82ee72b054a4
redi [Thu, 14 Jul 2016 15:27:09 +0000 (15:27 +0000)]
Add header for std::search to testcase
* testsuite/experimental/functional/searchers.cc: Include <algorithm>
for std::search.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238341
138bc75d -0d04-0410-961f-
82ee72b054a4
ktkachov [Thu, 14 Jul 2016 14:32:39 +0000 (14:32 +0000)]
[vectorizer][2/2] Hook up mult synthesis logic into vectorisation of mult-by-constant
PR target/65951
PR tree-optimization/70923
* tree-vect-patterns.c: Include mult-synthesis.h.
(target_supports_mult_synth_alg): New function.
(synth_lshift_by_additions): Likewise.
(apply_binop_and_append_stmt): Likewise.
(vect_synth_mult_by_constant): Likewise.
(target_has_vecop_for_code): Likewise.
(vect_recog_mult_pattern): Use above functions to synthesize vector
multiplication by integer constants.
* gcc.dg/vect/vect-mult-const-pattern-1.c: New test.
* gcc.dg/vect/vect-mult-const-pattern-2.c: Likewise.
* gcc.dg/vect/pr65951.c: Likewise.
* gcc.dg/vect/vect-iv-9.c: Remove ! vect_int_mult-specific scan.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238340
138bc75d -0d04-0410-961f-
82ee72b054a4
amodra [Thu, 14 Jul 2016 14:25:47 +0000 (14:25 +0000)]
[RS6000] Disparage altivec_mov gpr alternatives
and fix constraint '*' placement.
* gcc/config/rs6000/altivec.md (altivec_mov<mode>): Disparage
gpr alternatives. Correct '*' placement on Y,r alternative.
Add '*' on operand 1 of r,r alternative.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238339
138bc75d -0d04-0410-961f-
82ee72b054a4
ktkachov [Thu, 14 Jul 2016 13:57:05 +0000 (13:57 +0000)]
[1/2] Move choose_mult_variant declaration and dependent declarations to expmed.h
* expmed.c (mult_variant, choose_mult_variant): Move declaration to...
* expmed.h: ... Here.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238337
138bc75d -0d04-0410-961f-
82ee72b054a4
hubicka [Thu, 14 Jul 2016 13:52:21 +0000 (13:52 +0000)]
* gimple.h (stmt_can_terminate_bb_p): New function.
* tree-cfg.c (need_fake_edge_p): Rename to ...
(stmt_can_terminate_bb_p): ... this; return true if stmt can
throw external; handle const and pure calls.
* tree-ssa-loop-niter.c (loop_only_exit_p): Use it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238336
138bc75d -0d04-0410-961f-
82ee72b054a4
dje [Thu, 14 Jul 2016 13:07:23 +0000 (13:07 +0000)]
* c-c++-common/pr60226.c: Expect maximum object file alignment
error on AIX.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238335
138bc75d -0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 14 Jul 2016 12:15:38 +0000 (12:15 +0000)]
2016-07-14 Richard Biener <rguenther@suse.de>
PR tree-optimization/71866
* tree-ssa-pre.c (get_constant_for_value_id): Remove.
(do_hoist_insertion): Avoid endless recursion when we
didn't insert anything because we managed to simplify
things down to a constant or SSA name.
(fully_constant_expression): Re-write in terms of ...
* tree-ssa-sccvn.h (vn_nary_simplify): ... this. Declare.
* tree-ssa-sccvn.c (vn_nary_simplify): New wrapper around
vn_nary_build_or_lookup_1.
(vn_nary_build_or_lookup_1): Added flag and renamed from ...
(vn_nary_build_or_lookup): ... this which now wraps it.
* gcc.dg/torture/pr71866.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238334
138bc75d -0d04-0410-961f-
82ee72b054a4
ebotcazou [Thu, 14 Jul 2016 11:12:22 +0000 (11:12 +0000)]
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Also use
the void pointer type if the designated type is incomplete and has no
full view in LTO mode.
<E_Access_Protected_Subprogram_Type>: Adjust comment.
<E_Incomplete_Type>: Likewise.
* gcc-interface/trans.c (Call_to_gnu): Do not convert to the type of
the actual if it is a dummy type.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238333
138bc75d -0d04-0410-961f-
82ee72b054a4
redi [Thu, 14 Jul 2016 10:02:10 +0000 (10:02 +0000)]
Improve doxygen comments for allocators in containers
PR libstdc++/70716
* include/bits/forward_list.h (forward_list): Update doxygen comments
to reflect allocator propagation semantics. Remove ambiguous
statements about data being lost.
* include/bits/stl_deque.h (deque): Likewise.
* include/bits/stl_list.h (list): Likewise.
* include/bits/stl_map.h (map): Likewise.
* include/bits/stl_multimap.h (multimap): Likewise.
* include/bits/stl_multiset.h (multiset): Likewise.
* include/bits/stl_set.h (set): Likewise.
* include/bits/stl_vector.h (vector): Likewise.
* include/bits/unordered_map.h (unordered_map, unordered_multimap):
Likewise.
* include/bits/unordered_set.h (unordered_set, unordered_multiset):
Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238332
138bc75d -0d04-0410-961f-
82ee72b054a4
thopre01 [Thu, 14 Jul 2016 09:20:48 +0000 (09:20 +0000)]
2016-07-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
gcc/testsuite/
* gcc.target/arm/pr42574.c: Add missing target keyword for the dg-do
selector and enclose boolean expression in curly braces.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238331
138bc75d -0d04-0410-961f-
82ee72b054a4
ro [Thu, 14 Jul 2016 09:10:24 +0000 (09:10 +0000)]
Added forgotten PR testsuite/71489 reference.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238330
138bc75d -0d04-0410-961f-
82ee72b054a4
ville [Thu, 14 Jul 2016 09:10:05 +0000 (09:10 +0000)]
Implement P0032R3, Homogeneous interface for variant, any and optional,
for the parts concerning any and optional.
* include/std/any (_Storage()): Make constexpr and have it
initialize _M_ptr.
(any()): Make constexpr.
(any(const any&)): Adjust.
(any(any&&)): Likewise.
(__any_constructible_t): New.
(any(_ValueType&&)): Constrain.
(any(in_place_type_t<_Tp>, _Args&&...)): New.
(any(in_place_type_t<_Tp>, initializer_list<_Up>, _Args&&...)):
Likewise.
(~any()): Adjust.
(operator=(const any&)): Likewise.
(operator=(any&&)): Likewise.
(operator=(_ValueType&&)): Constrain.
(emplace(_Args&&...)): New.
(emplace(initializer_list<_Up>, _Args&&...)): Likewise.
(clear()): Remove.
(reset()): New.
(swap(any&)): Adjust.
(empty()): Remove.
(has_value()): New.
(type()): Adjust.
(_Manager_internal::_S_create(_Storage&, _Args&&...)): New.
(_Manager_external::_S_create(_Storage&, _Args&&...)): Likewise.
(make_any(_Args&&...)): Likewise.
(make_any(initializer_list<_Up>, _Args&&...)): Likewise.
* include/std/optional (in_place_t, in_place): Remove.
(bad_optional_access): Add a comment referring to LEWG 72.
(emplace(_Args&&...)): Constrain.
(has_value()): New.
(reset()): Likewise.
(make_optional(_Args&&...)): Likewise.
(make_optional(initializer_list<_Up>, _Args&&...)): Likewise.
* include/std/utility (in_place_tag): New.
(__in_place, __in_place_type, __in_place_index): Likewise.
(in_place_t, in_place_type_t, in_place_index_t): Likewise.
(in_place(__in_place*)): Likewise.
(in_place(__in_place_type<_Tp>*)): Likewise.
(in_place(__in_place_index<_Idx>*)): Likewise.
* testsuite/20_util/any/assign/1.cc: Adjust.
* testsuite/20_util/any/assign/emplace.cc: New.
* testsuite/20_util/any/assign/self.cc: Adjust.
* testsuite/20_util/any/cons/1.cc: Likewise.
* testsuite/20_util/any/cons/in_place.cc: New.
* testsuite/20_util/any/make_any.cc: Likewise.
* testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
* testsuite/20_util/any/misc/swap.cc: Likewise.
* testsuite/20_util/any/modifiers/1.cc: Likewise.
* testsuite/20_util/any/requirements.cc: New.
* testsuite/20_util/in_place/requirements.cc: Likewise.
* testsuite/20_util/optional/constexpr/in_place.cc: Adjust.
* testsuite/20_util/optional/in_place.cc: Likewise.
* testsuite/20_util/optional/make_optional.cc: Add tests for
the new overloads of make_optional.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238329
138bc75d -0d04-0410-961f-
82ee72b054a4
ville [Thu, 14 Jul 2016 09:09:50 +0000 (09:09 +0000)]
Fix ChangeLog.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238328
138bc75d -0d04-0410-961f-
82ee72b054a4
amodra [Thu, 14 Jul 2016 04:26:36 +0000 (04:26 +0000)]
[RS6000] -mno-vsx should force -mno-power9-dform
PR target/71733
gcc/
* config/rs6000/rs6000.c (rs6000_option_override_internal): Deal
with p9_vector override before power9-dform override.
gcc/testsuite/
* gcc.target/powerpc/p9-novsx.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238326
138bc75d -0d04-0410-961f-
82ee72b054a4
ak [Thu, 14 Jul 2016 02:14:56 +0000 (02:14 +0000)]
Some fixes for profile test cases for autofdo
This fixes some basic issues with the profile test cases with autofdo.
- Disable checking for value transformations that autofdo does not
support.
- Disable checking for fixed hit counts which autofdo does not support
- Enable dumping of afdo log file and check right log file.
- Increase run time of test cases to 1M iterations because autofdo needs
a few samples to make sense of a program. The test case don't run
noticeable slower with that.
There are still failures unfortunately, especially the indirect call
transformations do not trigger because autofdo thinks they are not hot.
This can be addressed later.
gcc/testsuite/:
2016-07-13 Andi Kleen <ak@linux.intel.com>
* g++.dg/tree-prof/indir-call-prof.C: Basic fixes for autofdo.
* g++.dg/tree-prof/morefunc.C: Dito.
* g++.dg/tree-prof/pr35545.C: Dito.
* g++.dg/tree-prof/reorder.C: Dito.
* gcc.dg/tree-prof/
20050826 -2.c: Dito.
* gcc.dg/tree-prof/cmpsf-1.c: Dito.
* gcc.dg/tree-prof/cold_partition_label.c: Dito.
* gcc.dg/tree-prof/ic-misattribution-1.c: Dito.
* gcc.dg/tree-prof/indir-call-prof.c: Dito.
* gcc.dg/tree-prof/inliner-1.c: Dito.
* gcc.dg/tree-prof/merge_block.c: Dito.
* gcc.dg/tree-prof/stringop-1.c: Dito.
* gcc.dg/tree-prof/stringop-2.c: Dito.
* gcc.dg/tree-prof/switch-case-1.c: Dito.
* gcc.dg/tree-prof/switch-case-2.c: Dito.
* gcc.dg/tree-prof/time-profiler-1.c: Dito.
* gcc.dg/tree-prof/time-profiler-2.c: Dito.
* gcc.dg/tree-prof/update-loopch.c: Dito.
* gcc.dg/tree-prof/val-prof-1.c: Dito.
* gcc.dg/tree-prof/val-prof-2.c: Dito.
* gcc.dg/tree-prof/val-prof-3.c: Dito.
* gcc.dg/tree-prof/val-prof-4.c: Dito.
* gcc.dg/tree-prof/val-prof-5.c: Dito.
* gcc.dg/tree-prof/val-prof-6.c: Dito.
* gcc.dg/tree-prof/val-prof-7.c: Dito.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238325
138bc75d -0d04-0410-961f-
82ee72b054a4
ak [Thu, 14 Jul 2016 02:14:43 +0000 (02:14 +0000)]
Clean up imports files in test suite
autofdo create_gcov creates an extra .imports file. Always remove that
too when running an autofdo test case.
gcc/testsuite/:
2016-07-13 Andi Kleen <ak@linux.intel.com>
* lib/profopt.exp (profopt-execute): Remove .imports files.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238324
138bc75d -0d04-0410-961f-
82ee72b054a4
ak [Thu, 14 Jul 2016 02:14:29 +0000 (02:14 +0000)]
Always print gcc-auto-profile line in dump file
not just when verbose. This ensures all command lines needed to
reproduce the test case are always logged
gcc/testsuite/:
2016-07-13 Andi Kleen <ak@linux.intel.com>
* lib/profopt.exp (profopt-execute): Always log profiler
command line.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238323
138bc75d -0d04-0410-961f-
82ee72b054a4
ak [Thu, 14 Jul 2016 02:14:13 +0000 (02:14 +0000)]
Add dg-final-scan-autofdo and dg-final-scan-not-autofdo
Autofdo outputs to different dump files and doesn't support some
transformation that normal profiling. Add dg-final-scan-autofdo
and dg-final-scan-not-autofdo statements to the test suite
so that the test cases can hande those cases separately.
gcc/testsuite/:
2016-07-13 Andi Kleen <ak@linux.intel.com>
* lib/profopt.exp (dg-final-scan-autofdo,
dg-final-scan-not-autofdo): New functions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238322
138bc75d -0d04-0410-961f-
82ee72b054a4
ak [Thu, 14 Jul 2016 02:14:02 +0000 (02:14 +0000)]
Don't run instrumented value profiler changes with afdo
The pass to transform gimple based on value profiling runs with autofdo
on, but currently every transformation fails. For indirect calls autofdo
does it on its own, and it doesn't suppport other value profiling. So don't
run this pass when autofdo is active. This also avoids bogus
dump file entries.
gcc/:
2016-07-13 Andi Kleen <ak@linux.intel.com>
* value-prof.c (gimple_value_profile_transformations): Don't run
when auto_profile is on.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238321
138bc75d -0d04-0410-961f-
82ee72b054a4
ak [Thu, 14 Jul 2016 02:13:48 +0000 (02:13 +0000)]
Print indirect call changes in afdo dump file
Print some information about indirect call promotions in the afdo dump
file. Do it in the same format as the instrumented profiler so that
the test suite can match on it.
gcc/:
2016-07-13 Andi Kleen <ak@linux.intel.com>
* auto-profile.c (update_inlined_ind_target,
afdo_indirect_call): Print information to dump file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238320
138bc75d -0d04-0410-961f-
82ee72b054a4
gccadmin [Thu, 14 Jul 2016 00:16:18 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238319
138bc75d -0d04-0410-961f-
82ee72b054a4
law [Wed, 13 Jul 2016 22:18:40 +0000 (22:18 +0000)]
* genrecog.c (special_predicate_operand_p): New function.
(predicate_name): Move function.
(validate_pattern): Don't warn about missing mode for all
define_special_predicate predicates.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238314
138bc75d -0d04-0410-961f-
82ee72b054a4
law [Wed, 13 Jul 2016 22:06:09 +0000 (22:06 +0000)]
PR c++/70926
* cplus-dem.c: Handle large values and overflow when demangling
length variables.
(demangle_template_value_parm): Read only until end of mangled string.
(do_hpacc_template_literal): Likewise.
(do_type): Handle overflow when demangling array indices.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238313
138bc75d -0d04-0410-961f-
82ee72b054a4
mpf [Wed, 13 Jul 2016 21:34:52 +0000 (21:34 +0000)]
Fix return type handling for Proxy classes
libjava/
* java/lang/reflect/natVMProxy.cc (unbox): Use ffi_arg for
integer return types smaller than a word.
* testsuite/libjava.jar/ReturnInvocationHandler.java: New file.
* testsuite/libjava.jar/ReturnProxyTest.jar: Likewise.
* testsuite/libjava.jar/ReturnProxyTest.java: Likewise.
* testsuite/libjava.jar/ReturnProxyTest.out: Likewise.
* testsuite/libjava.jar/ReturnProxyTest.xfail: Likewise.
* testsuite/libjava.jar/ReturnTypes.java: Likewise.
* testsuite/libjava.jar/ReturnTypesImpl.java: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238312
138bc75d -0d04-0410-961f-
82ee72b054a4
mpf [Wed, 13 Jul 2016 21:34:35 +0000 (21:34 +0000)]
Fix the use of FFI closures in the java interpreter for integer returns
libjava/
* interpret-run.cc: Use ffi_arg for FFI integer return types.
* testsuite/libjava.jar/arraysort.java: New file.
* testsuite/libjava.jar/arraysort.jar: New file.
* testsuite/libjava.jar/arraysort.out: New file.
* testsuite/libjava.jar/arraysort.xfail: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238311
138bc75d -0d04-0410-961f-
82ee72b054a4
redi [Wed, 13 Jul 2016 17:22:57 +0000 (17:22 +0000)]
libstdc++/71856 Define _GLIBCXX_PARALLEL_ASSERTIONS
PR libstdc++/71856
* include/bits/c++config (_GLIBCXX_ASSERTIONS): Define to 1 not empty.
* include/parallel/compiletime_settings.h (_GLIBCXX_ASSERTIONS):
Rename to _GLIBCXX_PARALLEL_ASSERTIONS and make default value depend
on _GLIBCXX_ASSERTIONS.
* include/parallel/balanced_quicksort.h: Rename _GLIBCXX_ASSERTIONS.
Include <unistd.h> for sleep.
* include/parallel/losertree.h: Rename _GLIBCXX_ASSERTIONS.
* include/parallel/merge.h: Likewise.
* include/parallel/multiway_merge.h: Likewise.
* include/parallel/partition.h: Likewise.
* include/parallel/queue.h: Likewise.
* include/parallel/sort.h: Likewise.
* testsuite/25_algorithms/headers/algorithm/
parallel_algorithm_assert.cc: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238307
138bc75d -0d04-0410-961f-
82ee72b054a4
redi [Wed, 13 Jul 2016 17:22:51 +0000 (17:22 +0000)]
Make basic_string::replace forward to different overload
* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
(replace(__const_iterator, __const_iterator, initializer_list<C>)):
Forward to different overload.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238306
138bc75d -0d04-0410-961f-
82ee72b054a4
redi [Wed, 13 Jul 2016 17:22:47 +0000 (17:22 +0000)]
Make __allocated_ptr::_S_raw_ptr static
* include/bits/allocated_ptr.h (__allocated_ptr::_S_raw_ptr): Make
static.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238305
138bc75d -0d04-0410-961f-
82ee72b054a4
redi [Wed, 13 Jul 2016 15:56:46 +0000 (15:56 +0000)]
Revert "Add non-const overload of std::string::data()"
This reverts r238291 aka
4300aa2087d90cd2d55852fa38f082a89bc7e72d .
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238303
138bc75d -0d04-0410-961f-
82ee72b054a4
amker [Wed, 13 Jul 2016 15:06:40 +0000 (15:06 +0000)]
* tree-vect-data-refs.c (vect_no_alias_p): New function.
(vect_prune_runtime_alias_test_list): Call vect_no_alias_p to
resolve alias checks which are known at compilation time.
Truncate vector LOOP_VINFO_MAY_ALIAS_DDRS(loop_vinfo) if all
alias checks are resolved. Move dump info for too many runtime
alias checks to here...
* tree-vect-loop.c (vect_analyze_loop_2): ...From here.
gcc/testsuite
* gcc.dg/vect/vect-35-big-array.c: Refine comment and test.
* gcc.dg/vect/vect-35.c: Ditto.
* gcc.dg/vect/vect-alias-check-2.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238301
138bc75d -0d04-0410-961f-
82ee72b054a4
marxin [Wed, 13 Jul 2016 14:03:29 +0000 (14:03 +0000)]
Fix Fortran DO loop fallback
* gfortran.dg/ldist-1.f90: Revert change introduces in r238114.
* gfortran.dg/vect/pr62283.f: Add -fno-ipa-icf to additional
options.
* gfortran.dg/pr42108.f90: Update expected dump scan.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238300
138bc75d -0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 13 Jul 2016 13:57:05 +0000 (13:57 +0000)]
2016-07-13 Richard Biener <rguenther@suse.de>
PR tree-optimization/24574
* tree-ssa-phiopt.c (absorbing_element_p): Pass in argument
position and add shift, rotate, divison and modulo support
for left zero.
(value_replacement): Pass in argument position to absorbing_element_p.
* gcc.dg/pr24574.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238299
138bc75d -0d04-0410-961f-
82ee72b054a4
saaadhu [Wed, 13 Jul 2016 12:12:10 +0000 (12:12 +0000)]
Fix some bogus testsuite failures for avr.
gcc/testsuite/
* c-c++-common/Wduplicated-cond-3.c (fn10): Use smaller
const literal.
* c-c++-common/builtin-arith-overflow-2.c: Skip for avr.
* c-c++-common/pr68833-1.c: Require int32plus.
* gcc.dg/ipa/pr63551.c: Likewise.
* gcc.dg/ipa/pr63595.c: Require ptr32plus.
* gcc.dg/ipa/pr64041.c: Require int32plus.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238294
138bc75d -0d04-0410-961f-
82ee72b054a4
ville [Wed, 13 Jul 2016 11:27:37 +0000 (11:27 +0000)]
Fix ChangeLog.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238293
138bc75d -0d04-0410-961f-
82ee72b054a4
ville [Wed, 13 Jul 2016 11:25:51 +0000 (11:25 +0000)]
Implement P0307R2, Making Optional Greater Equal Again.
* include/experimental/optional (_Has_addressof): Fix the comment.
* include/std/optional (_Has_addressof): Likewise.
(operator=(_Up&&)): Constrain.
(operator=(const optional<_Up>&)): Likewise.
(operator=(optional<_Up>&&)): Likewise.
(__optional_relop_t): New.
(operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
(operator!=(const optional<_Tp>&, const optional<_Tp>&)):
Constrain and make transparent.
(operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
(operator>(const optional<_Tp>&, const optional<_Tp>&)):
Constrain and make transparent.
(operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
(operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
(operator==(const optional<_Tp>&, const _Tp&): Constrain.
(operator==(const _Tp&, const optional<_Tp>&)): Likewise.
(operator!=(const optional<_Tp>&, _Tp const&)):
Constrain and make transparent.
(operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
(operator<(const optional<_Tp>&, const _Tp&)): Constrain.
(operator<(const _Tp&, const optional<_Tp>&)): Likewise.
(operator>(const optional<_Tp>&, const _Tp&)):
Constrain and make transparent.
(operator>(const _Tp&, const optional<_Tp>&)): Likewise.
(operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
(operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
(operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
(operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
* testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
* testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
* testsuite/20_util/optional/relops/1.cc: Likewise.
* testsuite/20_util/optional/relops/2.cc: Likewise.
* testsuite/20_util/optional/relops/3.cc: Likewise.
* testsuite/20_util/optional/relops/4.cc: Likewise.
* testsuite/20_util/optional/requirements.cc: Add tests to verify
that optional's relops are transparent and don't synthesize
operators. Also test that assignment sfinaes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238292
138bc75d -0d04-0410-961f-
82ee72b054a4
redi [Wed, 13 Jul 2016 11:08:37 +0000 (11:08 +0000)]
Add non-const overload of std::string::data()
Also fix confusion between pointer and _CharT*, so that allocators with
fancy pointers work correctly.
* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (_M_c_str):
New function.
(_M_disjunct, basic_string(const basic_string&, size_t)): Use data()
instead of _M_data().
(basic_string(const basic_string&, size_t, size_t, const _Alloc&)):
Likewise.
(append(const basic_string&)): Likewise.
(append(const basic_string&, size_type, size_type)): Likewise.
(assign(const basic_string&, size_type, size_type)): Likewise.
(insert(size_type, const basic_string&)): Likewise.
(insert(size_type, const basic_string&, size_type, size_type)):
Likewise.
(replace(size_type, size_type, const basic_string&, size_type,
size_type)): Likewise.
(replace(__const_iterator, __const_iterator, const basic_string&)):
Likewise.
(c_str(), data()): Use c_str() instead of _M_data().
(data()): Add non-const overload as per LWG 2391 and P0272R1.
(compare(const basic_string&)): Use data() instead of _M_data().
[!_GLIBCXX_USE_CXX11_ABI] (data()): Add non-const overload.
* include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] (_M_mutate):
Pass raw pointers to _S_copy.
(_M_erase, _M_replace_aux): Pass raw pointers to _S_move and
_S_assign.
(find(const _CharT*, size_type, size_type)): Use data instead of
_M_data().
* testsuite/21_strings/basic_string/allocator/char/ext_ptr.cc: New.
* testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
* testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238291
138bc75d -0d04-0410-961f-
82ee72b054a4
ienkovich [Wed, 13 Jul 2016 11:02:15 +0000 (11:02 +0000)]
gcc/
PR ipa/71633
* ipa-inline-transform.c (inline_call): Support
instrumented thunks.
gcc/testsuite/
PR ipa/71633
* g++.dg/pr71633.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238290
138bc75d -0d04-0410-961f-
82ee72b054a4
thopre01 [Wed, 13 Jul 2016 10:54:12 +0000 (10:54 +0000)]
2016-07-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
gcc/
* config/arm/arm.h (TARGET_HAVE_CBZ): Define.
(TARGET_IDIV): Set for all Thumb targets provided they have hardware
divide feature.
* config/arm/arm.md (divsi3): New unpredicable alternative for ARMv8-M
Baseline. Make initial alternative TARGET_32BIT only.
(udivsi3): Likewise.
* config/arm/thumb1.md (thumb1_cbz): New define_insn.
* doc/sourcebuild.texi (arm_thumb1_cbz_ok): Document new effective
target.
gcc/testsuite/
* lib/target-supports.exp (check_effective_target_arm_thumb1_cbz_ok):
Add new arm_thumb1_cbz_ok effective target.
* gcc.target/arm/cbz.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238289
138bc75d -0d04-0410-961f-
82ee72b054a4
thopre01 [Wed, 13 Jul 2016 10:54:01 +0000 (10:54 +0000)]
2016-07-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
gcc/
* config/arm/arm.h (TARGET_HAVE_MOVT): Include ARMv8-M as having MOVT.
* config/arm/arm.c (arm_arch_name): (const_ok_for_op): Check MOVT/MOVW
availability with TARGET_HAVE_MOVT.
(thumb_legitimate_constant_p): Strip the high part of a label_ref.
(thumb1_rtx_costs): Also return 0 if setting a half word constant and
MOVW is available and replace (unsigned HOST_WIDE_INT) INTVAL by
UINTVAL.
(thumb1_size_rtx_costs): Make set of half word constant also cost 1
extra instruction if MOVW is available. Use a cost variable
incremented by COSTS_N_INSNS (1) when the condition match rather than
returning an arithmetic expression based on COSTS_N_INSNS. Make
constant with bottom half word zero cost 2 instruction if MOVW is
available.
* config/arm/arm.md (define_attr "arch"): Add v8mb.
(define_attr "arch_enabled"): Set to yes if arch value is v8mb and
target is ARMv8-M Baseline.
(arm_movt): New unpredicable alternative for ARMv8-M Baseline.
(arm_movtas_ze): Likewise.
* config/arm/thumb1.md (thumb1_movdi_insn): Add ARMv8-M Baseline only
alternative for constants satisfying j constraint.
(thumb1_movsi_insn): Likewise.
(movsi splitter for K alternative): Tighten condition to not trigger
if movt is available and j constraint is satisfied.
(Pe immediate splitter): Likewise.
(thumb1_movhi_insn): Add ARMv8-M Baseline only alternative for
constant fitting in an halfword to use MOVW.
* doc/sourcebuild.texi (arm_thumb1_movt_ok): Document new ARM
effective target.
gcc/testsuite/
* lib/target-supports.exp (check_effective_target_arm_thumb1_movt_ok):
Define effective target.
* gcc.target/arm/pr42574.c: Require arm_thumb1_ok and
!arm_thumb1_movt_ok to exclude ARMv8-M Baseline.
* gcc.target/arm/movhi_movw.c: New test.
* gcc.target/arm/movsi_movw.c: Likewise.
* gcc.target/arm/movdi_movw.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238288
138bc75d -0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 13 Jul 2016 08:03:04 +0000 (08:03 +0000)]
2016-07-13 Richard Biener <rguenther@suse.de>
PR middle-end/71104
* gimplify.c (gimplify_modify_expr): Gimplify the RHS before
gimplifying the LHS. Make sure to gimplify a returning twice
call LHS without using SSA names.
* gcc.dg/pr71104-1.c: New testcase.
* gcc.dg/pr71104-2.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238287
138bc75d -0d04-0410-961f-
82ee72b054a4
tbsaunde [Wed, 13 Jul 2016 02:44:59 +0000 (02:44 +0000)]
remove unnecessary calls to vec::release
There's no point in calling release () on an auto_vec just before it goes
out of scope.
gcc/ChangeLog:
2016-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* tree-data-ref.c (find_data_references_in_stmt): Remove
unnecessary call to vec::release.
(graphite_find_data_references_in_stmt): Likewise.
* tree-ssa-alias.c (nonoverlapping_component_refs_of_decl_p): Likewise.
* tree-vect-stmts.c (vectorizable_condition): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238286
138bc75d -0d04-0410-961f-
82ee72b054a4
tbsaunde [Wed, 13 Jul 2016 02:44:52 +0000 (02:44 +0000)]
use auto_vec for more local variables
gcc/c/ChangeLog:
2016-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* c-parser.c (c_parser_generic_selection): Make type of variable
auto_vec.
(c_parser_omp_declare_simd): Likewise.
gcc/ChangeLog:
2016-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* cfgexpand.c (expand_used_vars): Make the type of a local variable auto_vec.
* genmatch.c (lower_for): Likewise.
* haifa-sched.c (haifa_sched_init): Likewise.
(add_to_speculative_block): Likewise.
(create_check_block_twin): Likewise.
* predict.c (handle_missing_profiles): Likewise.
* tree-data-ref.c (loop_nest_has_data_refs): Likewise.
* tree-diagnostic.c (maybe_unwind_expanded_macro_loc): Likewise.
* tree-ssa-loop-niter.c (discover_iteration_bound_by_body_walk): Likewise.
(maybe_lower_iteration_bound): Likewise.
* tree-ssa-sccvn.c (DFS): Likewise.
* tree-stdarg.c (reachable_at_most_once): Likewise.
* tree-vect-stmts.c (vectorizable_conversion): Likewise.
(vectorizable_store): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238285
138bc75d -0d04-0410-961f-
82ee72b054a4
tbsaunde [Wed, 13 Jul 2016 02:44:35 +0000 (02:44 +0000)]
tree-ssa-sccvn.c: use auto_vec for sccvn_dom_walker::cond_stack
gcc/ChangeLog:
2016-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* tree-ssa-sccvn.c (sccvn_dom_walker::~sccvn_dom_walker): remove.
(sccvn_dom_walker): make cond_stack an auto_vec.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238284
138bc75d -0d04-0410-961f-
82ee72b054a4
tbsaunde [Wed, 13 Jul 2016 02:44:28 +0000 (02:44 +0000)]
ree.c: use auto_vec in ext_state
gcc/ChangeLog:
2016-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* ree.c (struct ext_state): Make type of members auto_vec.
(find_and_remove_re): Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238283
138bc75d -0d04-0410-961f-
82ee72b054a4
tbsaunde [Wed, 13 Jul 2016 02:43:56 +0000 (02:43 +0000)]
cfgexpand.c: use auto_vec in stack_vars_data
gcc/ChangeLog:
2016-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* cfgexpand.c (struct stack_vars_data): Make type of fields
auto_vec.
(expand_used_vars): Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238282
138bc75d -0d04-0410-961f-
82ee72b054a4
tbsaunde [Wed, 13 Jul 2016 02:43:43 +0000 (02:43 +0000)]
ipa.c: remove static_{ctors,dtors} globals
gcc/ChangeLog:
2016-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* ipa.c (record_cdtor_fn): Adjust.
(build_cdtor_fns): Likewise.
(ipa_cdtor_merge): Make static_ctors and static_dtors local
variables.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238281
138bc75d -0d04-0410-961f-
82ee72b054a4
tbsaunde [Wed, 13 Jul 2016 02:43:23 +0000 (02:43 +0000)]
genextract.c: add [cd]tors to accum_extract
gcc/ChangeLog:
2016-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* genextract.c (struct accum_extract): Add constructor and make
members auto_vec.
(gen_insn): Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238280
138bc75d -0d04-0410-961f-
82ee72b054a4
tbsaunde [Wed, 13 Jul 2016 02:43:17 +0000 (02:43 +0000)]
c-decl.c: add [cd]tors to c_struct_parse_info
gcc/c/ChangeLog:
2016-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* c-decl.c (struct c_struct_parse_info): Change member types
from vec to auto_vec.
(start_struct): Adjust.
(finish_struct): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238279
138bc75d -0d04-0410-961f-
82ee72b054a4
tbsaunde [Wed, 13 Jul 2016 02:43:10 +0000 (02:43 +0000)]
tree.c: add [cd]tors to free_lang_data_d
gcc/ChangeLog:
2016-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* tree.c (struct free_lang_data_d): Add constructor and change
types of members to ones that automatically manage resources.
(fld_worklist_push): Adjust.
(find_decls_types): Likewise.
(find_decls_types_in_eh_region): Likewise.
(free_lang_data_in_cgraph): Stop manually creating and
destroying members of free_lang_data_d.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238278
138bc75d -0d04-0410-961f-
82ee72b054a4
gccadmin [Wed, 13 Jul 2016 00:16:21 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238277
138bc75d -0d04-0410-961f-
82ee72b054a4
uros [Tue, 12 Jul 2016 22:06:51 +0000 (22:06 +0000)]
PR rtl-optimization/68961
* config/i386/sse.md (movsd/movhpd to movupd peephole2s): Add new
peephole variant. Use sse_reg_operand predicates.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238268
138bc75d -0d04-0410-961f-
82ee72b054a4
ian [Tue, 12 Jul 2016 20:29:15 +0000 (20:29 +0000)]
escape: Add escape notes to export data.
Reviewed-on: https://go-review.googlesource.com/22375
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238266
138bc75d -0d04-0410-961f-
82ee72b054a4
uros [Tue, 12 Jul 2016 19:23:58 +0000 (19:23 +0000)]
* config/i386/predicates.md (x86_64_immediate_operand)
<case CONST_INT>: Remove unneeded truncation to DImode.
<case CONST>: Ditto.
(x86_64_zext_immediate_operand) <case CONST>: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238259
138bc75d -0d04-0410-961f-
82ee72b054a4