]>
git.ipfire.org Git - thirdparty/gcc.git/log
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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