Martin Liska [Wed, 20 Jul 2016 07:01:48 +0000 (09:01 +0200)]
Add selftests for fibonacci_heap
* Makefile.in: Include fibonacci_heap.c
* fibonacci_heap.c: New file.
* fibonacci_heap.h (fibonacci_heap::insert): Use insert_node.
(fibonacci_heap::union_with): Fix deletion of the second heap.
* selftest-run-tests.c (selftest::run_tests): Incorporate
fibonacci heap tests.
* selftest.h: Declare fibonacci_heap_c_tests.
From-SVN: r238509
Martin Liska [Wed, 20 Jul 2016 07:00:50 +0000 (09:00 +0200)]
Add sreal to selftests
* selftest-run-tests.c (selftest::run_tests): New function.
* selftest.h (sreal_c_tests): Declare.
* sreal.c (sreal_verify_basics): New function.
(verify_aritmetics): Likewise.
(sreal_verify_arithmetics): Likewise.
(verify_shifting): Likewise.
(sreal_verify_shifting): Likewise.
(void sreal_c_tests): Likewise.
* gcc.dg/plugin/plugin.exp: Remove sreal test.
* gcc.dg/plugin/sreal-test-1.c: Remove.
* gcc.dg/plugin/sreal_plugin.c: Remove.
From-SVN: r238508
Jason Merrill [Wed, 20 Jul 2016 05:06:52 +0000 (01:06 -0400)]
PR c++/67164 - clean up dead code
* pt.c (iterative_hash_template_arg, template_args_equal): Don't
handle ARGUMENT_PACK_SELECT.
From-SVN: r238507
GCC Administrator [Wed, 20 Jul 2016 00:16:18 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r238506
Thomas Koenig [Tue, 19 Jul 2016 21:25:33 +0000 (21:25 +0000)]
re PR fortran/71902 (Unneeded temporary on reallocatable character assignment)
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.
From-SVN: r238497
Jakub Jelinek [Tue, 19 Jul 2016 19:54:49 +0000 (21:54 +0200)]
re PR rtl-optimization/71916 (ICE at -O3 on valid code on x86_64-linux-gnu in "maybe_record_trace_start")
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.
From-SVN: r238490
Aldy Hernandez [Tue, 19 Jul 2016 19:29:42 +0000 (19:29 +0000)]
re PR debug/71855 (duplicate unspecified_parameters DIE in DWARF for functions with variable arguments)
PR debug/71855
* dwarf2out.c (gen_subprogram_die): Only call
gen_unspecified_parameters_die while dumping early dwarf.
From-SVN: r238488
Jakub Jelinek [Tue, 19 Jul 2016 17:30:05 +0000 (19:30 +0200)]
re PR middle-end/71874 (memmove works wrong)
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.
From-SVN: r238484
Jakub Jelinek [Tue, 19 Jul 2016 16:47:30 +0000 (18:47 +0200)]
re PR middle-end/71734 (FAIL: libgomp.fortran/simd4.f90 -O3 -g execution test)
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.
From-SVN: r238482
Uros Bizjak [Tue, 19 Jul 2016 16:40:55 +0000 (18:40 +0200)]
builtins.c: Use HOST_WIDE_INT_1 instead of (HOST_WIDE_INT) 1...
* 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.
From-SVN: r238481
David Malcolm [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.
From-SVN: r238479
Nick Clifton [Tue, 19 Jul 2016 16:07:40 +0000 (16:07 +0000)]
config.host (m32r): Add m32r/t-m32r to tmake_file.
* config.host (m32r): Add m32r/t-m32r to tmake_file.
Add crtinit.o and crtfini.o to extra_parts.
From-SVN: r238478
Martin Jambor [Tue, 19 Jul 2016 15:40:43 +0000 (17:40 +0200)]
re PR fortran/71688 (ICE in analyze, at cgraphunit.c:632 with -fcoarray=lib)
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.
From-SVN: r238476
Richard Biener [Tue, 19 Jul 2016 14:16:54 +0000 (14:16 +0000)]
gimple-fold.c (get_base_constructor): Add VIEW_CONVERT case, handle all tcc_constant bases and valueize SSA names.
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.
From-SVN: r238475
Senthil Kumar Selvaraj [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__.
From-SVN: r238471
David Malcolm [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.
From-SVN: r238470
Fritz Reese [Tue, 19 Jul 2016 10:39:19 +0000 (10:39 +0000)]
MAINTAINERS (Write After Approval): Add myself.
2016-07-19 Fritz Reese <fritzoreese@gmail.com>
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r238469
Richard Biener [Tue, 19 Jul 2016 10:19:46 +0000 (10:19 +0000)]
re PR tree-optimization/71901 (ice in find_or_generate_expression)
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.
From-SVN: r238468
Richard Biener [Tue, 19 Jul 2016 10:18:25 +0000 (10:18 +0000)]
re PR tree-optimization/71908 (ICE at -Os and above in both 32-bit and 64-bit modes on x86_64-linux-gnu (get_constraint_for_component_ref))
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.
From-SVN: r238467
Ilya Enkovich [Tue, 19 Jul 2016 10:04:02 +0000 (10:04 +0000)]
tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer): Update comment.
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.
From-SVN: r238466
Richard Biener [Tue, 19 Jul 2016 07:35:05 +0000 (07:35 +0000)]
re PR middle-end/71907 (missing buffer overflow warnings with -flto)
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.
From-SVN: r238456
Michael Meissner [Tue, 19 Jul 2016 03:31:48 +0000 (03:31 +0000)]
re PR target/71493 (accidental ABI change for structure return on PowerPC)
[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.
From-SVN: r238454
GCC Administrator [Tue, 19 Jul 2016 00:16:18 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r238453
Jakub Jelinek [Mon, 18 Jul 2016 18:45:18 +0000 (20:45 +0200)]
re PR c++/70869 (internal compiler error: Segmentation fault on array of pointer to function members)
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.
From-SVN: r238444
Jakub Jelinek [Mon, 18 Jul 2016 18:44:51 +0000 (20:44 +0200)]
re PR c++/71835 (ICE on invalid C++ code with ambiguous overloaded operators: tree check: expected tree that contains ‘decl minimal’ structure, have ‘pointer_type’ in convert_like_real, at cp/call.c:6549)
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.
From-SVN: r238443
Jakub Jelinek [Mon, 18 Jul 2016 18:43:19 +0000 (20:43 +0200)]
re PR c++/71828 (ICE on valid C++11 code with constexpr __Complex int variable declaration: in operand_equal_p, at fold-const.c:2790)
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.
From-SVN: r238442
Jakub Jelinek [Mon, 18 Jul 2016 18:42:24 +0000 (20:42 +0200)]
re PR c++/71826 (ICE on valid C++ code with ambiguous member lookup: tree check: expected baselink, have error_mark in tsubst_baselink, at cp/pt.c:13737)
PR c++/71826
* pt.c (tsubst_baselink): Only set BASELINK_OPTYPE for BASELINK_P.
* g++.dg/template/pr71826.C: New test.
From-SVN: r238441
Jakub Jelinek [Mon, 18 Jul 2016 18:40:12 +0000 (20:40 +0200)]
re PR c++/71822 (ICE: in gimplify_expr, at gimplify.c:11025)
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.
From-SVN: r238440
Jakub Jelinek [Mon, 18 Jul 2016 17:44:48 +0000 (19:44 +0200)]
re PR c++/71871 (ICE on mixing templates and vector extensions ternary operator)
PR c++/71871
* typeck.c (build_x_conditional_expr): Revert the 2012-10-25 change.
* g++.dg/ext/vector31.C: New test.
From-SVN: r238439
Uros Bizjak [Mon, 18 Jul 2016 15:55:36 +0000 (17:55 +0200)]
pr70017.c: Do not check for warning on alpha*-*-*.
* gcc.dg/pr70017.c: Do not check for warning on alpha*-*-*.
From-SVN: r238438
Jason Merrill [Mon, 18 Jul 2016 15:28:51 +0000 (11:28 -0400)]
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.
From-SVN: r238437
Ville Voutilainen [Mon, 18 Jul 2016 14:45:56 +0000 (17:45 +0300)]
Clean up optional's comments.
From-SVN: r238436
Yuri Rumyantsev [Mon, 18 Jul 2016 14:30:20 +0000 (14:30 +0000)]
re PR middle-end/71734 (FAIL: libgomp.fortran/simd4.f90 -O3 -g execution test)
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.
From-SVN: r238435
Dominik Vogt [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.
From-SVN: r238432
Andreas 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.
From-SVN: r238427
Richard Biener [Mon, 18 Jul 2016 08:46:42 +0000 (08:46 +0000)]
re PR tree-optimization/71893 (gfortran.dg ICEs in gcc/tree-ssa-pre.c; -fcode-hoisting?)
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.
From-SVN: r238426
GCC Administrator [Mon, 18 Jul 2016 00:16:21 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r238424
Fritz Reese [Sun, 17 Jul 2016 20:13:41 +0000 (20:13 +0000)]
re PR fortran/71523 (Static variables given automatic initializers with -finit-* and -fmax-stack-var-size)
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.
From-SVN: r238420
GCC Administrator [Sun, 17 Jul 2016 00:16:19 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r238419
John David Anglin [Sat, 16 Jul 2016 15:59:33 +0000 (15:59 +0000)]
pa.c (hppa_profile_hook): Allocate stack space for register parameters.
* 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.
From-SVN: r238414
Andreas Schwab [Sat, 16 Jul 2016 09:53:23 +0000 (09:53 +0000)]
nullptr35.C (caught): Fix typo.
* g++.dg/cpp0x/nullptr35.C (caught): Fix typo.
From-SVN: r238413
GCC Administrator [Sat, 16 Jul 2016 00:16:22 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r238409
Jonathan Wakely [Fri, 15 Jul 2016 20:23:08 +0000 (21:23 +0100)]
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.
From-SVN: r238402
Jerry DeLisle [Fri, 15 Jul 2016 19:58:55 +0000 (19:58 +0000)]
re PR fortran/62125 (Nested select type not accepted (rejects valid))
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.
Co-Authored-By: Marco Restelli <mrestelli@gmail.com>
From-SVN: r238400
Jonathan Wakely [Fri, 15 Jul 2016 19:51:33 +0000 (20:51 +0100)]
Remove redundant std::move in std::for_each
* include/bits/stl_algo.h (for_each): Remove redundant _GLIBCXX_MOVE
and adjust comment.
From-SVN: r238399
Bill Schmidt [Fri, 15 Jul 2016 18:57:06 +0000 (18:57 +0000)]
divkc3-1.c: Require p8vector support.
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.
From-SVN: r238398
Jason Merrill [Fri, 15 Jul 2016 18:56:29 +0000 (14:56 -0400)]
PR c++/71495 - spurious note during SFINAE.
* call.c (convert_like_real): Mask complain.
* semantics.c (perform_koenig_lookup): Likewise.
From-SVN: r238397
Jonathan Wakely [Fri, 15 Jul 2016 18:51:51 +0000 (19:51 +0100)]
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.
From-SVN: r238396
Jason Merrill [Fri, 15 Jul 2016 18:49:38 +0000 (14:49 -0400)]
PR c++/71092 - ICE with array and constexpr.
* constexpr.c (cxx_eval_call_expression): Fail quietly when cgraph
threw away DECL_SAVED_TREE.
From-SVN: r238395
Jason Merrill [Fri, 15 Jul 2016 18:49:25 +0000 (14:49 -0400)]
PR c++/71117 - core 2189 and generic lambda
* call.c (add_template_conv_candidate): Disable if there are
viable candidates.
From-SVN: r238394
Jason Merrill [Fri, 15 Jul 2016 18:38:48 +0000 (14:38 -0400)]
PR c++/71511 - ICE on decltype scope in declaration.
* typeck2.c (cxx_incomplete_type_diagnostic): Handle DECLTYPE_TYPE.
From-SVN: r238393
Jason Merrill [Fri, 15 Jul 2016 18:38:40 +0000 (14:38 -0400)]
PR c++/71513 - alignas on member enum in template
* pt.c (tsubst_attributes): Fix loop logic.
From-SVN: r238392
Jason Merrill [Fri, 15 Jul 2016 18:38:31 +0000 (14:38 -0400)]
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.
From-SVN: r238391
Jason Merrill [Fri, 15 Jul 2016 18:38:23 +0000 (14:38 -0400)]
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.
From-SVN: r238390
Jason Merrill [Fri, 15 Jul 2016 18:38:15 +0000 (14:38 -0400)]
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.
From-SVN: r238389
Jason Merrill [Fri, 15 Jul 2016 18:38:05 +0000 (14:38 -0400)]
Update -fabi-version default to 11.
* c-opts.c (c_common_post_options): Update -fabi-version default to 11.
From-SVN: r238388
Jason Merrill [Fri, 15 Jul 2016 18:37:56 +0000 (14:37 -0400)]
PR c++/71718 - infinite recursion and alias template
* pt.c (push_tinst_level_loc): Set at_eof before fatal_error.
From-SVN: r238387
Jason Merrill [Fri, 15 Jul 2016 18:37:48 +0000 (14:37 -0400)]
PR c++/70824 - initializer_list in template
* init.c (constant_value_1): Don't instantiated DECL_INITIAL of
artificial variables.
From-SVN: r238386
Edward Smith-Rowland [Fri, 15 Jul 2016 17:16:32 +0000 (17:16 +0000)]
Implement C++17 P0025 clamp.
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.
From-SVN: r238383
Georg-Johann Lay [Fri, 15 Jul 2016 16:28:17 +0000 (16:28 +0000)]
Typo.
From-SVN: r238382
Georg-Johann Lay [Fri, 15 Jul 2016 16:25:38 +0000 (16:25 +0000)]
predicates.md (const_m255_to_m1_operand): New.
* 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.
From-SVN: r238381
Jakub Jelinek [Fri, 15 Jul 2016 15:28:26 +0000 (17:28 +0200)]
Fix up ChangeLog entry.
From-SVN: r238378
Bin Cheng [Fri, 15 Jul 2016 14:21:55 +0000 (14:21 +0000)]
scev-8.c: Update test string.
gcc/testsuite
* gcc.dg/tree-ssa/scev-8.c: Update test string.
From-SVN: r238377
Cesar Philippidis [Fri, 15 Jul 2016 14:13:48 +0000 (07:13 -0700)]
c-parser.c (c_parser_oacc_declare): Don't scan for GOMP_MAP_POINTER.
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.
From-SVN: r238376
Cesar Philippidis [Fri, 15 Jul 2016 14:03:35 +0000 (07:03 -0700)]
openmp.c (gfc_match_omp_clauses): Scan for clause vector_length before vector.
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.
From-SVN: r238375
Richard Biener [Fri, 15 Jul 2016 13:05:56 +0000 (13:05 +0000)]
re PR tree-optimization/71881 (ICE on valid code at -O3 with -g enabled on x86_64-linux-gnu: cannot update SSA form)
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.
From-SVN: r238374
Richard Biener [Fri, 15 Jul 2016 12:56:17 +0000 (12:56 +0000)]
re PR tree-optimization/71887 (wrong code (SIGFPE) at -O1 and above on x86_64-linux-gnu (in both 32-bit and 64-bit modes))
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.
From-SVN: r238373
Virendra Pathak [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.
Co-Authored-By: Julian Brown <julian@codesourcery.com>
From-SVN: r238372
Alexander Monakov [Fri, 15 Jul 2016 11:01:23 +0000 (14:01 +0300)]
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.
From-SVN: r238371
Richard Biener [Fri, 15 Jul 2016 10:53:29 +0000 (10:53 +0000)]
tree-ssa-pre.c (get_representative_for): Make sure to return the value number of SSA names.
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.
From-SVN: r238370
Jakub Jelinek [Fri, 15 Jul 2016 10:40:39 +0000 (12:40 +0200)]
re PR c/71858 (Surprising suggestions for misspellings)
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.
From-SVN: r238369
Andre Vehreschild [Fri, 15 Jul 2016 09:28:47 +0000 (11:28 +0200)]
re PR fortran/71807 (Internal compiler error with NULL() reference in structure constructor)
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.
From-SVN: r238368
Bin Cheng [Fri, 15 Jul 2016 09:04:57 +0000 (09:04 +0000)]
tree-scalar-evolution.c (simple_iv_with_niters): New funcion.
* 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.
From-SVN: r238367
Bin Cheng [Fri, 15 Jul 2016 08:53:48 +0000 (08:53 +0000)]
re PR tree-optimization/71347 (Performance drop after r235513 on x86-64 in 32-bit mode.)
gcc/testsuite
PR tree-optimization/71347
* gcc.dg/tree-ssa/pr71347.c: XFAIL on ia64, arm, m68k and sparc.
From-SVN: r238366
Ville Voutilainen [Fri, 15 Jul 2016 07:44:22 +0000 (10:44 +0300)]
Fix the constraints for any's assignment operator template to properly
reject assignment from a non-copyable lvalue.
From-SVN: r238365
Richard Biener [Fri, 15 Jul 2016 07:38:01 +0000 (07:38 +0000)]
i386.c (ix86_builtin_vectorization_cost): Adjust vec_construct cost.
2016-07-15 Richard Biener <rguenther@suse.de>
* config/i386/i386.c (ix86_builtin_vectorization_cost): Adjust
vec_construct cost.
From-SVN: r238364
GCC Administrator [Fri, 15 Jul 2016 00:16:19 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r238362
Steven G. Kargl [Thu, 14 Jul 2016 20:54:40 +0000 (20:54 +0000)]
re PR fortran/29819 (Error/warning message should ignore comments for "1" in %C output)
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.
From-SVN: r238354
Jakub Jelinek [Thu, 14 Jul 2016 18:42:53 +0000 (20:42 +0200)]
re PR testsuite/71865 (test case gcc.dg/diagnostic-token-ranges.c fails starting with r237714)
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.
From-SVN: r238353
Jakub Jelinek [Thu, 14 Jul 2016 18:34:00 +0000 (20:34 +0200)]
re PR c/71858 (Surprising suggestions for misspellings)
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.
From-SVN: r238352
Jakub Jelinek [Thu, 14 Jul 2016 18:30:38 +0000 (20:30 +0200)]
re PR tree-optimization/71872 (ICE in inchash::add_expr, at tree.c:7782 - OEP_ADDRESS_OF asserted for ADDR_EXPR applied to constant)
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.
From-SVN: r238351
Thomas Preud'homme [Thu, 14 Jul 2016 17:21:21 +0000 (17:21 +0000)]
arm.h (TARGET_HAVE_LDACQ): Enable for ARMv8-M Mainline.
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.
From-SVN: r238348
Andre Vehreschild [Thu, 14 Jul 2016 17:07:47 +0000 (19:07 +0200)]
re PR fortran/70842 (internal compiler error with character members within a polymorphic pointer)
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.
From-SVN: r238347
Thomas Preud'homme [Thu, 14 Jul 2016 16:41:06 +0000 (16:41 +0000)]
re PR rtl-optimization/71878 (ICE in cselib_record_set)
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.
From-SVN: r238346
Jonathan Wakely [Thu, 14 Jul 2016 15:43:17 +0000 (16:43 +0100)]
Include header for std::__parallel::search
* include/experimental/functional: Include <parallel/algorithm> in
Parallel Mode.
From-SVN: r238342
Jonathan Wakely [Thu, 14 Jul 2016 15:27:09 +0000 (16:27 +0100)]
Add header for std::search to testcase
* testsuite/experimental/functional/searchers.cc: Include <algorithm>
for std::search.
From-SVN: r238341
Kyrylo Tkachov [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.
From-SVN: r238340
Alan Modra [Thu, 14 Jul 2016 14:25:47 +0000 (23:55 +0930)]
[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.
From-SVN: r238339
Kyrylo Tkachov [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.
From-SVN: r238337
Jan Hubicka [Thu, 14 Jul 2016 13:52:21 +0000 (15:52 +0200)]
gimple.h (stmt_can_terminate_bb_p): New function.
* 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.
From-SVN: r238336
David Edelsohn [Thu, 14 Jul 2016 13:07:23 +0000 (13:07 +0000)]
pr60226.c: Expect maximum object file alignment error on AIX.
* c-c++-common/pr60226.c: Expect maximum object file alignment
error on AIX.
From-SVN: r238335
Richard Biener [Thu, 14 Jul 2016 12:15:38 +0000 (12:15 +0000)]
re PR tree-optimization/71866 (gcc locks up after fix for PR70159)
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.
From-SVN: r238334
Eric Botcazou [Thu, 14 Jul 2016 11:12:22 +0000 (11:12 +0000)]
decl.c (gnat_to_gnu_entity): Also use the void pointer type if the designated type is incomplete and has no...
* 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.
From-SVN: r238333
Jonathan Wakely [Thu, 14 Jul 2016 10:02:10 +0000 (11:02 +0100)]
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.
From-SVN: r238332
Thomas Preud'homme [Thu, 14 Jul 2016 09:20:48 +0000 (09:20 +0000)]
pr42574.c: Add missing target keyword for the dg-do selector and enclose boolean...
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.
From-SVN: r238331
Rainer Orth [Thu, 14 Jul 2016 09:10:24 +0000 (09:10 +0000)]
Added forgotten PR testsuite/71489 reference.
From-SVN: r238330
Ville Voutilainen [Thu, 14 Jul 2016 09:10:05 +0000 (12:10 +0300)]
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.
From-SVN: r238329
Ville Voutilainen [Thu, 14 Jul 2016 09:09:50 +0000 (12:09 +0300)]
Fix ChangeLog.
From-SVN: r238328
Alan Modra [Thu, 14 Jul 2016 04:26:36 +0000 (13:56 +0930)]
[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.
From-SVN: r238326
Andi Kleen [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.
From-SVN: r238325