]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
9 years ago2016-07-19 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Tue, 19 Jul 2016 21:25:33 +0000 (21:25 +0000)] 
2016-07-19  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/71902
* dependency.c (gfc_check_dependency): Use dep_ref.  Handle case
if identical is true and two array element references differ.
(gfc_dep_resovler):  Move most of the code to dep_ref.
(dep_ref):  New function.
* frontend-passes.c (realloc_string_callback):  Name temporary
variable "realloc_string".

2016-07-19  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/71902
* gfortran.dg/dependency_47.f90:  New test.

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

9 years ago PR rtl-optimization/71916
jakub [Tue, 19 Jul 2016 19:54:49 +0000 (19:54 +0000)] 
PR rtl-optimization/71916
* cfgrtl.c (contains_no_active_insn_p): Return false also for
bb which have a single succ fake edge.

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

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

9 years ago PR debug/71855
aldyh [Tue, 19 Jul 2016 19:29:42 +0000 (19:29 +0000)] 
PR debug/71855
* dwarf2out.c (gen_subprogram_die): Only call
gen_unspecified_parameters_die while dumping early dwarf.

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

9 years ago PR middle-end/71874
jakub [Tue, 19 Jul 2016 17:30:05 +0000 (17:30 +0000)] 
PR middle-end/71874
* gimple-fold.c (fold_builtin_memory_op): Use
get_addr_base_and_unit_offset instead of get_ref_base_and_extent.

* g++.dg/torture/pr71874.C: New test.

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

9 years ago PR middle-end/71734
jakub [Tue, 19 Jul 2016 16:47:30 +0000 (16:47 +0000)] 
PR middle-end/71734
* g++.dg/vect/pr70729.cc: Don't include string.h or xmmintrin.h.
(my_alloc): Rewritten to use __builtin_posix_memalign and
__SIZE_TYPE__.
(my_free): Use __builtin_free instead of _mm_free.
(Vec::operator=): Use __builtin_memcpy.

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

9 years ago * builtins.c: Use HOST_WIDE_INT_1 instead of (HOST_WIDE_INT) 1,
uros [Tue, 19 Jul 2016 16:40:55 +0000 (16:40 +0000)] 
* builtins.c: Use HOST_WIDE_INT_1 instead of (HOST_WIDE_INT) 1,
HOST_WIDE_INT_1U instead of (unsigned HOST_WIDE_INT) 1,
HOST_WIDE_INT_M1 instead of (HOST_WIDE_INT) -1 and
HOST_WIDE_INT_M1U instead of (unsigned HOST_WIDE_INT) -1.
* combine.c: Ditto.
* cse.c: Ditto.
* dojump.c: Ditto.
* double-int.c: Ditto.
* dse.c: Ditto.
* dwarf2out.c: Ditto.
* expmed.c: Ditto.
* expr.c: Ditto.
* fold-const.c: Ditto.
* function.c: Ditto.
* fwprop.c: Ditto.
* genmodes.c: Ditto.
* hwint.c: Ditto.
* hwint.h: Ditto.
* ifcvt.c: Ditto.
* loop-doloop.c: Ditto.
* loop-invariant.c: Ditto.
* loop-iv.c: Ditto.
* match.pd: Ditto.
* optabs.c: Ditto.
* real.c: Ditto.
* reload.c: Ditto.
* rtlanal.c: Ditto.
* simplify-rtx.c: Ditto.
* stor-layout.c: Ditto.
* toplev.c: Ditto.
* tree-ssa-loop-ivopts.c: Ditto.
* tree-vect-generic.c: Ditto.
* tree-vect-patterns.c: Ditto.
* tree.c: Ditto.
* tree.h: Ditto.
* ubsan.c: Ditto.
* varasm.c: Ditto.
* wide-int-print.cc: Ditto.
* wide-int.cc: Ditto.
* wide-int.h: Ditto.

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

9 years agoselftest.c: gracefully handle NULL in assert_streq
dmalcolm [Tue, 19 Jul 2016 16:16:18 +0000 (16:16 +0000)] 
selftest.c: gracefully handle NULL in assert_streq

gcc/ChangeLog:
* selftest.c (selftest::assert_streq): Handle NULL values of
val_actual and val_expected.

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

9 years ago * config.host (m32r): Add m32r/t-m32r to tmake_file.
nickc [Tue, 19 Jul 2016 16:07:40 +0000 (16:07 +0000)] 
* config.host (m32r): Add m32r/t-m32r to tmake_file.
Add crtinit.o and crtfini.o to extra_parts.

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

9 years agoFix PR fortran/71688
jamborm [Tue, 19 Jul 2016 15:40:43 +0000 (15:40 +0000)] 
Fix PR fortran/71688

2016-07-19  Martin Jambor  <mjambor@suse.cz>

        PR fortran/71688
        * trans-decl.c (gfc_generate_function_code): Use cgraph_get_create_node
        rather than cgraph_create_node to get a call graph node.

testsuite/
        gfortran.dg/pr71688.f90: New test.

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

9 years ago2016-07-19 Richard Biener <rguenther@suse.de>
rguenth [Tue, 19 Jul 2016 14:16:54 +0000 (14:16 +0000)] 
2016-07-19  Richard Biener  <rguenther@suse.de>

* gimple-fold.c (get_base_constructor): Add VIEW_CONVERT case,
handle all tcc_constant bases and valueize SSA names.
* tree-ssa-sccvn.c (fully_constant_vn_reference_p): Handle
tcc_constant bases.

* c-c++-common/vector-subscript-6.c: New testcase.
* c-c++-common/vector-subscript-7.c: Likewise.

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

9 years agoFix failing test for targets with sizeof(int) != 4.
saaadhu [Tue, 19 Jul 2016 13:16:32 +0000 (13:16 +0000)] 
Fix failing test for targets with sizeof(int) != 4.

gcc/testsuite/

2016-07-19  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>

* gcc.dg/params/blocksort-part.c: Conditionally define Int32
and UInt32 based on __SIZEOF_INT__.

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

9 years agoFix copy&paste bug in function-tests.c
dmalcolm [Tue, 19 Jul 2016 13:04:32 +0000 (13:04 +0000)] 
Fix copy&paste bug in function-tests.c

gcc/ChangeLog:
* function-tests.c (selftest::verify_three_block_rtl_cfg): Verify
the flags of the exit block and bb2, not just the entry block.

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

9 years ago2016-07-19 Fritz Reese <fritzoreese@gmail.com>
foreese [Tue, 19 Jul 2016 10:39:19 +0000 (10:39 +0000)] 
2016-07-19  Fritz Reese  <fritzoreese@gmail.com>

* MAINTAINERS (Write After Approval): Add myself.

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

9 years ago2016-07-19 Richard Biener <rguenther@suse.de>
rguenth [Tue, 19 Jul 2016 10:19:46 +0000 (10:19 +0000)] 
2016-07-19  Richard Biener  <rguenther@suse.de>

PR tree-optimization/71901
* tree-ssa-sccvn.h (struct vn_reference_op_struct): Add
align member, group stuff with the bitfield.
(vn_ref_op_align_unit): New inline.
* tree-ssa-sccvn.c (copy_reference_ops_from_ref): For ARRAY_REFs
record element alignment and operand 3 unchanged.
(ao_ref_init_from_vn_reference): Adjust.
(valueize_refs_1): Likewise.
* tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise.

* gcc.dg/torture/pr71901.c: New testcase.

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

9 years ago2016-07-18 Richard Biener <rguenther@suse.de>
rguenth [Tue, 19 Jul 2016 10:18:25 +0000 (10:18 +0000)] 
2016-07-18  Richard Biener  <rguenther@suse.de>

PR tree-optimization/71908
* tree-ssa-structalias.c (get_constraint_for_component_ref): Handle
symbolic constants in a more reliable way.

* gcc.dg/torture/pr71908.c: New testcase.

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

9 years agogcc/
ienkovich [Tue, 19 Jul 2016 10:04:02 +0000 (10:04 +0000)] 
gcc/

* tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer): Update
comment.
(vect_update_inits_of_drs): Likewise.
(vect_create_cond_for_alias_checks): Likewise.
* tree-vect-loop.c (vect_get_known_peeling_cost): Likewise.

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

9 years ago2016-07-19 Richard Biener <rguenther@suse.de>
rguenth [Tue, 19 Jul 2016 07:35:05 +0000 (07:35 +0000)] 
2016-07-19  Richard Biener  <rguenther@suse.de>

PR lto/71907
* lto-streamer-out.c (DFS::DFS_write_tree_body): For blocks
with an abstract origin that is not an inlined function outer
scope add a self-reference as abstract origin.
* tree-streamer-out.c (write_ts_block_tree_pointers): Likewise.

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

9 years ago[gcc]
meissner [Tue, 19 Jul 2016 03:31:48 +0000 (03:31 +0000)] 
[gcc]
2016-07-18  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/71493
* config/rs6000/rs6000.c (rs6000_function_value): Fix
unintentional System V.4 structure return breakage for structures
with a single floating point element.

[gcc/testsuite]
2016-07-18  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/71493
* gcc.target/powerpc/pr71493-1.c: New test.
* gcc.target/powerpc/pr71493-2.c: Likewise.

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

9 years agoDaily bump.
gccadmin [Tue, 19 Jul 2016 00:16:18 +0000 (00:16 +0000)] 
Daily bump.

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

9 years ago PR c++/70869
jakub [Mon, 18 Jul 2016 18:45:18 +0000 (18:45 +0000)] 
PR c++/70869
PR c++/71054
* cp-gimplify.c (cp_genericize_r): Revert the 2016-07-07 change.
* tree.c (cp_walk_subtrees): For DECL_EXPR on DECL_ARTIFICIAL
non-static VAR_DECL, walk the decl's DECL_INITIAL, DECL_SIZE and
DECL_SIZE_UNIT.

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

9 years ago PR c++/71835
jakub [Mon, 18 Jul 2016 18:44:51 +0000 (18:44 +0000)] 
PR c++/71835
* call.c (build_op_call_1): Use convert_like_with_context only
if cand->fn is a decl.

* g++.dg/conversion/ambig3.C: New test.

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

9 years ago PR c++/71828
jakub [Mon, 18 Jul 2016 18:43:19 +0000 (18:43 +0000)] 
PR c++/71828
* constexpr.c (cxx_eval_constant_expression) <case REALPART_EXPR>:
For lval don't use cxx_eval_unary_expression and instead recurse
and if needed rebuild the reference.

* g++.dg/cpp0x/constexpr-71828.C: New test.

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

9 years ago PR c++/71826
jakub [Mon, 18 Jul 2016 18:42:24 +0000 (18:42 +0000)] 
PR c++/71826
* pt.c (tsubst_baselink): Only set BASELINK_OPTYPE for BASELINK_P.

* g++.dg/template/pr71826.C: New test.

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

9 years ago PR c++/71822
jakub [Mon, 18 Jul 2016 18:40:12 +0000 (18:40 +0000)] 
PR c++/71822
* cp-gimplify.c (cp_gimplify_expr) <case VEC_INIT_EXPR>: Recursively
fold *expr_p before genericizing it.

* g++.dg/template/defarg21.C: New test.

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

9 years ago PR c++/71871
jakub [Mon, 18 Jul 2016 17:44:48 +0000 (17:44 +0000)] 
PR c++/71871
* typeck.c (build_x_conditional_expr): Revert the 2012-10-25 change.

* g++.dg/ext/vector31.C: New test.

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

9 years ago * gcc.dg/pr70017.c: Do not check for warning on alpha*-*-*.
uros [Mon, 18 Jul 2016 15:55:36 +0000 (15:55 +0000)] 
* gcc.dg/pr70017.c: Do not check for warning on alpha*-*-*.

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

9 years ago Demangle C++17 fold-expressions.
jason [Mon, 18 Jul 2016 15:28:51 +0000 (15:28 +0000)] 
Demangle C++17 fold-expressions.

* cp-demangle.c (cplus_demangle_operators): Add f[lrLR].
(d_expression_1): Handle them.
(d_maybe_print_fold_expression): New.
(d_print_comp_inner): Use it.
(d_index_template_argument): Handle negative index.

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

9 years agoClean up optional's comments.
ville [Mon, 18 Jul 2016 14:45:56 +0000 (14:45 +0000)] 
Clean up optional's comments.

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

9 years agogcc/
ienkovich [Mon, 18 Jul 2016 14:30:20 +0000 (14:30 +0000)] 
gcc/

2016-07-18  Yuri Rumyantsev  <ysrumyan@gmail.com>

PR tree-optimization/71734
* tree-ssa-loop-im.c (ref_indep_loop_p_1): Add REF_LOOP argument which
contains REF, use it to check safelen, assume that safelen value
must be greater 1, fix style.
(ref_indep_loop_p_2): Add REF_LOOP argument.
(ref_indep_loop_p): Pass LOOP as additional argument to
ref_indep_loop_p_2.

gcc/testsuite/

2016-07-18  Yuri Rumyantsev  <ysrumyan@gmail.com>

PR tree-optimization/71734
* g++.dg/vect/pr70729.cc: Delete redundant dg options, fix style.

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

9 years agoAllocate constant size dynamic stack space in the prologue
krebbel [Mon, 18 Jul 2016 13:10:27 +0000 (13:10 +0000)] 
Allocate constant size dynamic stack space in the prologue

The attached patch fixes a warning during Linux kernel compilation
on S/390 due to -mwarn-dynamicstack and runtime alignment of stack
variables with constant size causing cfun->calls_alloca to be set
(even if alloca is not used at all).  The patched code places
constant size runtime aligned variables in the "virtual stack
vars" area instead of creating a "virtual stack dynamic" area.

This behaviour is activated by defining

  #define ALLOCATE_DYNAMIC_STACK_SPACE_IN_PROLOGUE 1

in the backend; otherwise the old logic is used.

The kernel uses runtime alignment for the page structure (aligned
to 16 bytes), and apart from triggereing the alloca warning
(-mwarn-dynamicstack), the current Gcc also generates inefficient
code like

  aghi %r15,-160  # prologue: create stack frame
    lgr %r11,%r15   # prologue: generate frame pointer
      aghi %r15,-32   # space for dynamic stack

which could be simplified to

  aghi %r15,-192

(if later optimization passes are able to get rid of the frame
pointer).  Is there a specific reason why the patched behaviour
shouldn't be used for all platforms?

--

As the placement of runtime aligned stack variables with constant
size is done completely in the middleend, I don't see a way to fix
this in the backend.

gcc/ChangeLog:

2016-07-18  Dominik Vogt  <vogt@linux.vnet.ibm.com>

* cfgexpand.c (expand_stack_vars): Implement synamic stack space
allocation in the prologue.
* explow.c (get_dynamic_stack_base): New function to return an address
expression for the dynamic stack base.
(get_dynamic_stack_size): New function to do the required dynamic stack
space size calculations.
(allocate_dynamic_stack_space): Use new functions.
(align_dynamic_address): Move some code from
allocate_dynamic_stack_space to new function.
* explow.h (get_dynamic_stack_base, get_dynamic_stack_size): Export.

gcc/testsuite/ChangeLog:

2016-07-18  Dominik Vogt  <vogt@linux.vnet.ibm.com>

* gcc.target/s390/warn-dynamicstack-1.c: New test.
* gcc.dg/stack-usage-2.c (foo3): Adapt expected warning.
stack-layout-dynamic-1.c: New test.

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

9 years agoS/390: Fix alignment check for literal pool references.
krebbel [Mon, 18 Jul 2016 10:47:09 +0000 (10:47 +0000)] 
S/390: Fix alignment check for literal pool references.

gcc/ChangeLog:

2016-07-18  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* config/s390/s390.c (s390_encode_section_info): Always set
notaligned marker if mode size is 0 or no MEM_ALIGN info could be
found.

gcc/testsuite/ChangeLog:

2016-07-18  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* gcc.target/s390/nolrl-1.c: New test.

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

9 years ago2016-07-18 Richard Biener <rguenther@suse.de>
rguenth [Mon, 18 Jul 2016 08:46:42 +0000 (08:46 +0000)] 
2016-07-18  Richard Biener  <rguenther@suse.de>

PR tree-optimization/71893
* tree-ssa-pre.c (create_component_ref_by_pieces_1): Compensate
for sizetype cast added by array_ref_element_size.
* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise.

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

9 years agoDaily bump.
gccadmin [Mon, 18 Jul 2016 00:16:21 +0000 (00:16 +0000)] 
Daily bump.

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

9 years ago2016-07-17 Fritz Reese <fritzoreese@gmail.com>
jvdelisle [Sun, 17 Jul 2016 20:13:41 +0000 (20:13 +0000)] 
2016-07-17  Fritz Reese  <fritzoreese@gmail.com>

PR fortran/71523
* trans-decl.c (gfc_finish_var_decl): Replace automatic initializer with
a static one.

* gfortran.dg/pr71523_1.f90: New test.
* gfortran.dg/pr71523_2.f90: New test.

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

9 years agoDaily bump.
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

9 years ago * config/pa/pa.c (hppa_profile_hook): Allocate stack space for
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

9 years ago* g++.dg/cpp0x/nullptr35.C (caught): Fix typo.
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

9 years agoDaily bump.
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

9 years agoReplace references to C++0x with C++11 in comments
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

9 years ago2016-07-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
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

9 years agoRemove redundant std::move in std::for_each
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

9 years ago2016-07-15 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
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

9 years ago PR c++/71495 - spurious note during SFINAE.
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

9 years agoc++/58796 Make nullptr match exception handlers of pointer type
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

9 years ago PR c++/71092 - ICE with array and constexpr.
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

9 years ago PR c++/71117 - core 2189 and generic lambda
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

9 years ago PR c++/71511 - ICE on decltype scope in declaration.
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

9 years ago PR c++/71513 - alignas on member enum in template
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

9 years ago PR c++/71604 - type definition in range-based for
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

9 years ago PR c++/71711 - mangle C++1z fold-expressions.
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

9 years ago PR c++/71814 - mangling sizeof... (sP and sZ)
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

9 years ago Update -fabi-version default to 11.
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

9 years ago PR c++/71718 - infinite recursion and alias template
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

9 years ago PR c++/70824 - initializer_list in template
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

9 years ago2016-07-15 Edward Smith-Rowland <3dw4rd@verizon.net>
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

9 years agoTypo.
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

9 years ago * config/avr/predicates.md (const_m255_to_m1_operand): New.
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

9 years agoFix up ChangeLog entry.
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

9 years ago gcc/testsuite
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

9 years ago gcc/c/
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

9 years ago gcc/fortran/
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

9 years ago2016-07-15 Richard Biener <rguenther@suse.de>
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

9 years ago2016-07-15 Richard Biener <rguenther@suse.de>
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

9 years ago[PATCH/AARCH64] Add rtx_costs routine for vulcan.
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

9 years agohandle undefined extern vars in output_in_order
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

9 years ago2016-07-15 Richard Biener <rguenther@suse.de>
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

9 years ago PR c/71858
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

9 years agogcc/fortran/ChangeLog:
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

9 years ago * tree-scalar-evolution.c (simple_iv_with_niters): New funcion.
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

9 years ago gcc/testsuite
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

9 years agoFix the constraints for any's assignment operator template to properly
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

9 years ago2016-07-15 Richard Biener <rguenther@suse.de>
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

9 years agoDaily bump.
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

9 years ago2016-07-14 Steven G. Kargl <kargl@gcc.gnu.org>
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

9 years ago PR testsuite/71865
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

9 years ago PR c/71858
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

9 years ago PR tree-optimization/71872
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

9 years ago2016-07-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
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

9 years agogcc/testsuite/ChangeLog:
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

9 years ago2016-07-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
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

9 years agoInclude header for std::__parallel::search
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

9 years agoAdd header for std::search to testcase
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

9 years ago[vectorizer][2/2] Hook up mult synthesis logic into vectorisation of mult-by-constant
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

9 years ago[RS6000] Disparage altivec_mov gpr alternatives
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

9 years ago[1/2] Move choose_mult_variant declaration and dependent declarations to expmed.h
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

9 years ago * gimple.h (stmt_can_terminate_bb_p): New function.
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

9 years ago * c-c++-common/pr60226.c: Expect maximum object file alignment
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

9 years ago2016-07-14 Richard Biener <rguenther@suse.de>
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

9 years ago * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Also use
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

9 years agoImprove doxygen comments for allocators in containers
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

9 years ago2016-07-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
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

9 years agoAdded forgotten PR testsuite/71489 reference.
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

9 years ago Implement P0032R3, Homogeneous interface for variant, any and optional,
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

9 years agoFix ChangeLog.
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

9 years ago[RS6000] -mno-vsx should force -mno-power9-dform
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

9 years agoSome fixes for profile test cases for autofdo
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

9 years agoClean up imports files in test suite
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

9 years agoAlways print gcc-auto-profile line in dump file
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

9 years agoAdd dg-final-scan-autofdo and dg-final-scan-not-autofdo
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

9 years agoDon't run instrumented value profiler changes with afdo
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