1. 14 May, 2019 7 commits
    • LWG 2899 - Make is_move_constructible correct for unique_ptr · 1b18663e
      	* include/bits/unique_ptr.h (__uniq_ptr_impl): Add move constructor,
      	move assignment operator.
      	(__uniq_ptr_impl::release(), __uniq_ptr_impl::reset(pointer)): Add.
      	(__uniq_ptr_data): New class template with conditionally deleted
      	special members.
      	(unique_ptr, unique_ptr<T[], D>): Change type of data member from
      	__uniq_ptr_impl<T, D> to __uniq_ptr_data<T, D>. Define move
      	constructor and move assignment operator as defaulted.
      	(unique_ptr::release(), unique_ptr<T[], D>::release()): Forward to
      	__uniq_ptr_impl::release().
      	(unique_ptr::reset(pointer), unique_ptr<T[], D>::reset<U>(U)): Forward
      	to __uniq_ptr_impl::reset(pointer).
      	* python/libstdcxx/v6/printers.py (UniquePointerPrinter.__init__):
      	Check for new __uniq_ptr_data type.
      	* testsuite/20_util/unique_ptr/dr2899.cc: New test.
      
      From-SVN: r271158
      Jonathan Wakely committed
    • Fix a test-case in PR middle-end/90340. · 24c30e14
      2019-05-14  marxin  <mliska@suse.cz>
      
      	PR middle-end/90340
      	* gcc.dg/tree-ssa/pr90340-2.c: Add case-values-threshold
      	param.
      
      From-SVN: r271156
      Martin Liska committed
    • re PR tree-optimization/88828 (Inefficient update of the first element of vector registers) · 962372f9
      2019-05-14  Richard Biener  <rguenther@suse.de>
      	H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR tree-optimization/88828
      	* tree-ssa-forwprop.c (simplify_vector_constructor): Handle
      	permuting in a single non-constant element not extracted
      	from a vector.
      
      	* gcc.target/i386/pr88828-1.c: New test.
      	* gcc.target/i386/pr88828-1a.c: Likewise.
      	* gcc.target/i386/pr88828-1b.c: Likewise.
      	* gcc.target/i386/pr88828-1c.c: Likewise.
      	* gcc.target/i386/pr88828-4a.c: Likewise.
      	* gcc.target/i386/pr88828-4b.c: Likewise.
      	* gcc.target/i386/pr88828-5a.c: Likewise.
      	* gcc.target/i386/pr88828-5b.c: Likewise.
      	* gcc.target/i386/pr88828-7.c: Likewise.
      	* gcc.target/i386/pr88828-7a.c: Likewise.
      	* gcc.target/i386/pr88828-7b.c: Likewise.
      	* gcc.target/i386/pr88828-8.c: Likewise.
      	* gcc.target/i386/pr88828-8a.c: Likewise.
      	* gcc.target/i386/pr88828-8b.c: Likewise.
      	* gcc.target/i386/pr88828-9.c: Likewise.
      	* gcc.target/i386/pr88828-9a.c: Likewise.
      	* gcc.target/i386/pr88828-9b.c: Likewise.
      
      Co-Authored-By: H.J. Lu <hongjiu.lu@intel.com>
      
      From-SVN: r271153
      Richard Biener committed
    • 2019-05-14 Przemyslaw Wirkus <przemyslaw.wirkus@arm.com\> · a52cf5cf
      gcc/
      	* internal-fn.def (SIGNBIT): New.
      	* config/aarch64/aarch64-simd.md (signbitv2sf2): New expand
      	defined.
      	(signbitv4sf2): Likewise.
      
      gcc/testsuite/
      	* gcc.target/aarch64/signbitv4sf.c: New test.
      	* gcc.target/aarch64/signbitv2sf.c: New test.
      
      From-SVN: r271149
      Przemyslaw Wirkus committed
    • [MIPS] Skip forward src into next insn when the SRC reg is dead. · 4dbf3a15
      	PR target/90357
      	gcc/
      	* config/mips/mips.c (mips_split_move): Skip forward SRC into
      	next insn when the SRC reg is dead.
      
      From-SVN: r271146
      Chenghua Xu committed
    • gimple-ssa-strength-reduction.c (lookup_cand): Adjust index by 1. · 98aaa1a6
      	* gimple-ssa-strength-reduction.c (lookup_cand): Adjust index by 1.
      	(alloc_cand_and_find_basis): Ditto.
      	(backtrace_base_for_ref, create_mul_ssa_cand): Remove if-then-else.
      	(create_mul_imm_cand, create_add_ssa_cand): Ditto.
      	(create_add_imm_cand, slsr_process_cast): Ditto.
      	(slsr_process_copy, replace_mult_candidate): Ditto.
      	(replace_rhs_if_not_dup, replace_one_candidate): Ditto.
      	(dump_cand_vec, analyze_candidates_and_replace): Skip NULL element.
      	(pass_strength_reduction::execute): Init the first NULL element.
      
      From-SVN: r271145
      Bin Cheng committed
    • Daily bump. · 5900c710
      From-SVN: r271144
      GCC Administrator committed
  2. 13 May, 2019 22 commits
    • * sv.po: Update. · 004269d6
      From-SVN: r271139
      Joseph Myers committed
    • Use releasing_vec more broadly. · cd9cf97b
      	* cp-tree.h (struct releasing_vec): Replace get_ref method with
      	operator&.
      	(vec_safe_push, vec_safe_reserve, vec_safe_length, vec_safe_splice):
      	Forwarding functions for releasing_vec.
      	(release_tree_vector): Declare but don't define.
      	* call.c (build_op_delete_call, build_temp, call_copy_ctor)
      	(perform_direct_initialization_if_possible): Use releasing_vec.
      	* constexpr.c (cxx_eval_vec_init_1, cxx_eval_store_expression):
      	Likewise.
      	* cp-gimplify.c (cp_fold): Likewise.
      	* cvt.c (force_rvalue, ocp_convert): Likewise.
      	* decl.c (get_tuple_decomp_init): Likewise.
      	* except.c (build_throw): Likewise.
      	* init.c (perform_member_init, expand_default_init): Likewise.
      	* method.c (do_build_copy_assign, locate_fn_flags): Likewise.
      	* parser.c (cp_parser_userdef_char_literal)
      	(cp_parser_userdef_numeric_literal)
      	(cp_parser_userdef_string_literal)
      	(cp_parser_perform_range_for_lookup)
      	(cp_parser_range_for_member_function, cp_parser_omp_for_loop)
      	(cp_parser_omp_for_loop_init): Likewise.
      	* pt.c (tsubst_copy_and_build, do_class_deduction): Likewise.
      	* semantics.c (calculate_direct_bases, calculate_bases)
      	(finish_omp_barrier, finish_omp_flush, finish_omp_taskwait)
      	(finish_omp_taskyield, finish_omp_cancel)
      	(finish_omp_cancellation_point): Likewise.
      	* tree.c (build_vec_init_elt, strip_typedefs, strip_typedefs_expr)
      	(build_min_non_dep_op_overload): Likewise.
      	* typeck.c (build_function_call_vec, cp_build_function_call_nary)
      	(cp_build_modify_expr): Likewise.
      	* typeck2.c (build_functional_cast): Likewise.
      
      From-SVN: r271138
      Jason Merrill committed
    • libgo: drop Solaris 10 support · 93ee143d
          
          Based on patch by Rainer Orth.
          
          Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/176938
      
      From-SVN: r271135
      Ian Lance Taylor committed
    • PR libstdc++/90454.cc path construction from void* · bceb07e3
      Make the filesystem::path constructors SFINAE away for void* arguments,
      instead of giving an error due to iterator_traits<void*>::reference.
      
      	PR libstdc++/90454.cc path construction from void*
      	* include/bits/fs_path.h (path::_Path): Use remove_pointer so that
      	pointers to void are rejected as well as void.
      	* include/experimental/bits/fs_path.h (path::_Path): Likewise.
      	* testsuite/27_io/filesystem/path/construct/80762.cc: Also check
      	pointers to void.
      	* testsuite/experimental/filesystem/path/construct/80762.cc: Likewise.
      
      From-SVN: r271134
      Jonathan Wakely committed
    • Fix testsuite regression caused by r271077 · 0dd50fc6
      	* g++.dg/cpp0x/Wattributes1.C: Adjust dg-error line number to fix
      	regression, by matching a note on any line.
      	* g++.dg/cpp0x/Wattributes2.C: Add another copy that checks the
      	correct line number is matched without depending on a library header.
      
      From-SVN: r271133
      Jonathan Wakely committed
    • Small markup changes to PBDS docs · e6e08429
      	* doc/xml/manual/policy_data_structures.xml: Comment out stray
      	<remark> elements. Fix formatting of bibliography references.
      
      From-SVN: r271132
      Jonathan Wakely committed
    • [PATCH] A couple of driver cleanups · f5545ebe
      https://gcc.gnu.org/ml/gcc-patches/2019-05/msg00624.html
      	* gcc.c (execute): Simplify cond-expr into if.  Reformat comment.
      	(run_attempt): Reformat line break
      
      From-SVN: r271131
      Nathan Sidwell committed
    • re PR bootstrap/90418 (powerpc-darwin9 bootstrap fails after r271013) · 2a03d8ca
      	PR target/90418
              * config/rs6000/rs6000.c (rs6000_emit_epilogue): Don't load EH
              data registers in sibcall epilogues.
              Don't add EH_RETURN_STACKADJ_RTX to sp in sibcall epilogues.
      
      From-SVN: r271130
      David Edelsohn committed
    • re PR target/89221 (--enable-frame-pointer does not work as intended) · 6221eb9d
      	PR target/89221
      	* configure.ac (--enable-frame-pointer):
      	Disable by default for cygwin and mingw.
      	* configure: Regenerate.
      
      From-SVN: r271129
      Uros Bizjak committed
    • 2019-05-13 Chung-Lin Tang <cltang@codesourcery.com> · 1f4c5b9b
      	Reviewed-by: Thomas Schwinge <thomas@codesourcery.com>
      
      	libgomp/
      	* libgomp-plugin.h (struct goacc_asyncqueue): Declare.
      	(struct goacc_asyncqueue_list): Likewise.
      	(goacc_aq): Likewise.
      	(goacc_aq_list): Likewise.
      	(GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
      	(GOMP_OFFLOAD_openacc_async_test): Remove.
      	(GOMP_OFFLOAD_openacc_async_test_all): Remove.
      	(GOMP_OFFLOAD_openacc_async_wait): Remove.
      	(GOMP_OFFLOAD_openacc_async_wait_async): Remove.
      	(GOMP_OFFLOAD_openacc_async_wait_all): Remove.
      	(GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
      	(GOMP_OFFLOAD_openacc_async_set_async): Remove.
      	(GOMP_OFFLOAD_openacc_exec): Adjust declaration.
      	(GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
      	(GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
      	(GOMP_OFFLOAD_openacc_async_exec): Declare.
      	(GOMP_OFFLOAD_openacc_async_construct): Declare.
      	(GOMP_OFFLOAD_openacc_async_destruct): Declare.
      	(GOMP_OFFLOAD_openacc_async_test): Declare.
      	(GOMP_OFFLOAD_openacc_async_synchronize): Declare.
      	(GOMP_OFFLOAD_openacc_async_serialize): Declare.
      	(GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
      	(GOMP_OFFLOAD_openacc_async_host2dev): Declare.
      	(GOMP_OFFLOAD_openacc_async_dev2host): Declare.
      
      	* libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
      	(gomp_acc_insert_pointer): Adjust declaration.
      	(gomp_copy_host2dev): New declaration.
      	(gomp_copy_dev2host): Likewise.
      	(gomp_map_vars_async): Likewise.
      	(gomp_unmap_tgt): Likewise.
      	(gomp_unmap_vars_async): Likewise.
      	(gomp_fini_device): Likewise.
      
      	* oacc-async.c (get_goacc_thread): New function.
      	(get_goacc_thread_device): New function.
      	(lookup_goacc_asyncqueue): New function.
      	(get_goacc_asyncqueue): New function.
      	(acc_async_test): Adjust code to use new async design.
      	(acc_async_test_all): Likewise.
      	(acc_wait): Likewise.
      	(acc_wait_async): Likewise.
      	(acc_wait_all): Likewise.
      	(acc_wait_all_async): Likewise.
      	(goacc_async_free): New function.
      	(goacc_init_asyncqueues): Likewise.
      	(goacc_fini_asyncqueues): Likewise.
      	* oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
      	design.
      	(acc_set_cuda_stream): Likewise.
      	* oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
      	(host_openacc_register_async_cleanup): Remove.
      	(host_openacc_async_exec): New function.
      	(host_openacc_async_test): Adjust parameters.
      	(host_openacc_async_test_all): Remove.
      	(host_openacc_async_wait): Remove.
      	(host_openacc_async_wait_async): Remove.
      	(host_openacc_async_wait_all): Remove.
      	(host_openacc_async_wait_all_async): Remove.
      	(host_openacc_async_set_async): Remove.
      	(host_openacc_async_synchronize): New function.
      	(host_openacc_async_serialize): New function.
      	(host_openacc_async_host2dev): New function.
      	(host_openacc_async_dev2host): New function.
      	(host_openacc_async_queue_callback): New function.
      	(host_openacc_async_construct): New function.
      	(host_openacc_async_destruct): New function.
      	(struct gomp_device_descr host_dispatch): Remove initialization of old
      	interface, add intialization of new async sub-struct.
      	* oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
      	(goacc_attach_host_thread_to_device): Remove old async code usage.
      	* oacc-int.h (goacc_init_asyncqueues): New declaration.
      	(goacc_fini_asyncqueues): Likewise.
      	(goacc_async_copyout_unmap_vars): Likewise.
      	(goacc_async_free): Likewise.
      	(get_goacc_asyncqueue): Likewise.
      	(lookup_goacc_asyncqueue): Likewise.
      
      	* oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
      	design.
      	(present_create_copy): Adjust code to use new async design.
      	(delete_copyout): Likewise.
      	(update_dev_host): Likewise.
      	(gomp_acc_insert_pointer): Add async parameter, adjust code to use new
      	async design.
      	(gomp_acc_remove_pointer): Adjust code to use new async design.
      	* oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
      	design.
      	(GOACC_enter_exit_data): Likewise.
      	(goacc_wait): Likewise.
      	(GOACC_update): Likewise.
      	* oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
      	when called, warn as obsolete in comment.
      
      	* target.c (goacc_device_copy_async): New function.
      	(gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
      	add goacc_device_copy_async case.
      	(gomp_copy_dev2host): Likewise.
      	(gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
      	(gomp_map_pointer): Likewise.
      	(gomp_map_fields_existing): Likewise.
      	(gomp_map_vars_internal): New always_inline function, renamed from
      	gomp_map_vars.
      	(gomp_map_vars): Implement by calling gomp_map_vars_internal.
      	(gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
      	passing goacc_asyncqueue argument.
      	(gomp_unmap_tgt): Remove static, add attribute_hidden.
      	(gomp_unref_tgt): New function.
      	(gomp_unmap_vars_internal): New always_inline function, renamed from
      	gomp_unmap_vars.
      	(gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
      	(gomp_unmap_vars_async): Implement by calling
      	gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
      	(gomp_fini_device): New function.
      	(gomp_exit_data): Adjust gomp_copy_dev2host call.
      	(gomp_load_plugin_for_device): Remove old interface, adjust to load
      	new async interface.
      	(gomp_target_fini): Adjust code to call gomp_fini_device.
      
      	* plugin/plugin-nvptx.c (struct cuda_map): Remove.
      	(struct ptx_stream): Remove.
      	(struct nvptx_thread): Remove current_stream field.
      	(cuda_map_create): Remove.
      	(cuda_map_destroy): Remove.
      	(map_init): Remove.
      	(map_fini): Remove.
      	(map_pop): Remove.
      	(map_push): Remove.
      	(struct goacc_asyncqueue): Define.
      	(struct nvptx_callback): Define.
      	(struct ptx_free_block): Define.
      	(struct ptx_device): Remove null_stream, active_streams, async_streams,
      	stream_lock, and next fields.
      	(enum ptx_event_type): Remove.
      	(struct ptx_event): Remove.
      	(ptx_event_lock): Remove.
      	(ptx_events): Remove.
      	(init_streams_for_device): Remove.
      	(fini_streams_for_device): Remove.
      	(select_stream_for_async): Remove.
      	(nvptx_init): Remove ptx_events and ptx_event_lock references.
      	(nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
      	case.
      	(nvptx_open_device): Add free_blocks initialization, remove
      	init_streams_for_device call.
      	(nvptx_close_device): Remove fini_streams_for_device call, add
      	free_blocks destruct code.
      	(event_gc): Remove.
      	(event_add): Remove.
      	(nvptx_exec): Adjust parameters and code.
      	(nvptx_free): Likewise.
      	(nvptx_host2dev): Remove.
      	(nvptx_dev2host): Remove.
      	(nvptx_set_async): Remove.
      	(nvptx_async_test): Remove.
      	(nvptx_async_test_all): Remove.
      	(nvptx_wait): Remove.
      	(nvptx_wait_async): Remove.
      	(nvptx_wait_all): Remove.
      	(nvptx_wait_all_async): Remove.
      	(nvptx_get_cuda_stream): Remove.
      	(nvptx_set_cuda_stream): Remove.
      	(GOMP_OFFLOAD_alloc): Adjust code.
      	(GOMP_OFFLOAD_free): Likewise.
      	(GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
      	(GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
      	(GOMP_OFFLOAD_openacc_async_test_all): Remove.
      	(GOMP_OFFLOAD_openacc_async_wait): Remove.
      	(GOMP_OFFLOAD_openacc_async_wait_async): Remove.
      	(GOMP_OFFLOAD_openacc_async_wait_all): Remove.
      	(GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
      	(GOMP_OFFLOAD_openacc_async_set_async): Remove.
      	(cuda_free_argmem): New function.
      	(GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
      	(GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
      	(GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
      	(GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
      	(GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
      	(GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
      	(GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
      	(GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
      	(GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
      	(GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
      	(cuda_callback_wrapper): New function.
      	(cuda_memcpy_sanity_check): New function.
      	(GOMP_OFFLOAD_host2dev): Remove and re-implement.
      	(GOMP_OFFLOAD_dev2host): Remove and re-implement.
      	(GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
      	(GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
      
      From-SVN: r271128
      Chung-Lin Tang committed
    • [DWARF] dwarf2out cleanups · f78f5d23
      https://gcc.gnu.org/ml/gcc-patches/2019-05/msg00485.html
      	* dwarf2out.c (breakout_comdat_types): Move comment to correct
      	piece of code.
      	(const_ok_for_output_1): Balance parens around #if/#else/#endif
      	(gen_member_die): Move abstract origin check earlier.  Only VARs
      	can be static_inline_p.  Simplify splicing control flow.
      
      From-SVN: r271127
      Nathan Sidwell committed
    • tree-vect-slp.c (vect_get_and_check_slp_defs): Handle VIEW_CONVERT_EXPR. · 61021c35
      2019-05-13  Richard Biener  <rguenther@suse.de>
      
      	* tree-vect-slp.c (vect_get_and_check_slp_defs): Handle
      	VIEW_CONVERT_EXPR.
      	(vect_build_slp_tree_1): Likewise.
      
      From-SVN: r271126
      Richard Biener committed
    • re PR tree-optimization/90402 (ICE in slpeel_duplicate_current_defs_from_edges) · 40289199
      2019-05-13  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/90402
      	* tree-if-conv.c (tree_if_conversion): Value number only
      	the loop body by making the latch an exit of the region
      	as well.
      	* tree-ssa-sccvn.c (process_bb): Add flag whether to skip
      	processing PHIs.
      	(do_rpo_vn): Deal with multiple edges into the entry block
      	that are not backedges inside the region by skipping PHIs
      	of the entry block.
      
      	* gcc.dg/torture/pr90402-1.c: New testcase.
      
      From-SVN: r271125
      Richard Biener committed
    • re PR tree-optimization/90316 (large compile time increase in opt / alias stmt… · aae6da83
      re PR tree-optimization/90316 (large compile time increase in opt / alias stmt walking for Go example)
      
      2019-05-13  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/90316
      	* tree-ssa-pre.c (insert_aux): Fold into ...
      	(insert): ... this function.  Use a RPO walk to reduce the
      	number of required iterations.
      
      From-SVN: r271124
      Richard Biener committed
    • Document P0811R3 status in C++20 table · abac7fbe
      2019-05-13  Edward Smith-Rowland  <3dw4rd@verizon.net>
      
      	* doc/xml/manual/status_cxx2020.xml: Document P0811R3 status.
      
      From-SVN: r271122
      Edward Smith-Rowland committed
    • Fix ChangeLog date · 8afd780d
      From-SVN: r271121
      Jonathan Wakely committed
    • Remove Profile Mode, deprecated since GCC 7.1 · 544be2be
      The Profile Mode extension is not used by anybody, nor maintained by
      anybody. The containers do not support the full API specified in recent
      standards, and so enabling Profile Mode is not source compatible with
      much modern C++ code. The heuristics that would check the profile
      information and make useful suggestions never materialized, so it isn't
      useful.
      
      It should be removed.
      
      	Remove Profile Mode, deprecated since 7.1.0
      	* doc/Makefile.am: Remove XML file for profile mode docs.
      	* doc/Makefile.in: Regenerate.
      	* doc/xml/authors.xml: Remove authors of profile mode docs.
      	* doc/xml/manual/appendix_contributing.xml: Remove mention of profile
      	mode.
      	* doc/xml/manual/debug.xml: Likewise.
      	* doc/xml/manual/evolution.xml: Document removal of profile mode.
      	* doc/xml/manual/profile_mode.xml: Remove profile mode docs.
      	* doc/xml/manual/spine.xml: Remove profile mode author credit.
      	* doc/xml/manual/test.xml: Remove docs for dg-require-profile-mode
      	directive.
      	* doc/xml/manual/using.xml: Remove docs for profile mode headers and
      	macro.
      	* doc/html/*: Regenerate.
      	* include/Makefile.am: Remove profile mode headers.
      	* include/Makefile.in: Regenerate.
      	* include/bits/c++config (std::__profile): Remove namespace.
      	[_GLIBCXX_PROFILE]: Remove checks for macro.
      	* include/profile/array: Remove.
      	* include/profile/base.h: Remove.
      	* include/profile/bitset: Remove.
      	* include/profile/deque: Remove.
      	* include/profile/forward_list: Remove.
      	* include/profile/impl/profiler.h: Remove.
      	* include/profile/impl/profiler_algos.h: Remove.
      	* include/profile/impl/profiler_container_size.h: Remove.
      	* include/profile/impl/profiler_hash_func.h: Remove.
      	* include/profile/impl/profiler_hashtable_size.h: Remove.
      	* include/profile/impl/profiler_list_to_slist.h: Remove.
      	* include/profile/impl/profiler_list_to_vector.h: Remove.
      	* include/profile/impl/profiler_map_to_unordered_map.h: Remove.
      	* include/profile/impl/profiler_node.h: Remove.
      	* include/profile/impl/profiler_state.h: Remove.
      	* include/profile/impl/profiler_trace.h: Remove.
      	* include/profile/impl/profiler_vector_size.h: Remove.
      	* include/profile/impl/profiler_vector_to_list.h: Remove.
      	* include/profile/iterator_tracker.h: Remove.
      	* include/profile/list: Remove.
      	* include/profile/map: Remove.
      	* include/profile/map.h: Remove.
      	* include/profile/multimap.h: Remove.
      	* include/profile/multiset.h: Remove.
      	* include/profile/ordered_base.h: Remove.
      	* include/profile/set: Remove.
      	* include/profile/set.h: Remove.
      	* include/profile/unordered_base.h: Remove.
      	* include/profile/unordered_map: Remove.
      	* include/profile/unordered_set: Remove.
      	* include/profile/vector: Remove.
      	* scripts/run_doxygen: Do not process profile mode headers.
      	* testsuite/23_containers/array/element_access/60497.cc: Don't use
      	profile mode type.
      	* testsuite/23_containers/array/specialized_algorithms/swap_cxx17.cc:
      	Remove dg-skip-if for profile mode.
      	* testsuite/23_containers/forward_list/capacity/1.cc: Remove
      	preprocessor check for profile mode.
      	* testsuite/23_containers/list/capacity/29134.cc: Likewise.
      	* testsuite/23_containers/map/modifiers/extract.cc: Remove dg-skip-if
      	for profile mode.
      	* testsuite/23_containers/map/modifiers/insert_or_assign/1.cc:
      	Likewise.
      	* testsuite/23_containers/map/modifiers/try_emplace/1.cc: Likewise.
      	* testsuite/23_containers/multimap/modifiers/extract.cc: Likewise.
      	* testsuite/23_containers/multiset/modifiers/extract.cc: Likewise.
      	* testsuite/23_containers/set/modifiers/extract.cc: Likewise.
      	* testsuite/23_containers/unordered_map/modifiers/extract.cc:
      	Likewise.
      	* testsuite/23_containers/unordered_multimap/modifiers/extract.cc:
      	Likewise.
      	* testsuite/23_containers/unordered_multiset/modifiers/extract.cc:
      	Likewise.
      	* testsuite/23_containers/unordered_set/modifiers/extract.cc:
      	Likewise.
      	* testsuite/23_containers/vector/bool/capacity/29134.cc: Remove
      	preprocessor check for profile mode.
      	* testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
      	Likewise.
      	* testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
      	Remove dg-skip-if for profile mode.
      	* testsuite/25_algorithms/binary_search/partitioned.cc: Likewise.
      	* testsuite/25_algorithms/equal_range/partitioned.cc: Likewise.
      	* testsuite/25_algorithms/lexicographical_compare/71545.cc: Likewise.
      	* testsuite/25_algorithms/lower_bound/partitioned.cc: Likewise.
      	* testsuite/25_algorithms/upper_bound/partitioned.cc: Likewise.
      	* testsuite/Makefile.am: Remove profile_flags variable and
      	* testsuite/Makefile.am: Remove profile_flags variable and
      	check-profile target.
      	* testsuite/Makefile.in: Regenerate.
      	* testsuite/ext/profile/all.cc: Remove.
      	* testsuite/ext/profile/mutex_extensions_neg.cc: Remove.
      	* testsuite/ext/profile/profiler_algos.cc: Remove.
      	* testsuite/ext/profile/replace_new.cc: Remove.
      	* testsuite/ext/throw_allocator/deallocate_global.cc: Remove
      	preprocessor check for profile mode.
      	* testsuite/ext/throw_allocator/deallocate_local.cc: Likewise.
      	* testsuite/lib/libstdc++.exp (check_v3_target_profile_mode): Remove.
      	(check_v3_target_normal_mode): Do not check for profile mode macro.
      	* testsuite/libstdc++-prettyprinters/80276.cc: Remove dg-skip-if for
      	profile mode.
      	* testsuite/libstdc++-prettyprinters/compat.cc: Likewise.
      	* testsuite/libstdc++-prettyprinters/cxx11.cc: Likewise.
      	* testsuite/libstdc++-prettyprinters/cxx17.cc: Likewise.
      	* testsuite/libstdc++-prettyprinters/debug.cc: Likewise.
      	* testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Likewise.
      	* testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
      	* testsuite/libstdc++-prettyprinters/simple.cc: Likewise.
      	* testsuite/libstdc++-prettyprinters/simple11.cc: Likewise.
      	* testsuite/libstdc++-prettyprinters/whatis.cc: Likewise.
      	* testsuite/libstdc++-prettyprinters/whatis2.cc: Likewise.
      
      From-SVN: r271120
      Jonathan Wakely committed
    • Remove array_allocator extension, deprecated since 4.9.0 · 0d09ca25
      This type is not a conforming allocator, because it cannot be reliably
      rebound to allocate for a different type. The result of the rebind
      transformation still uses the same underlying std::tr1::array<T, 1>
      array, which may not be correctly aligned or even have elements the
      right size for the value_type of the rebound allocator.
      
      It has been deprecated for several years and should now be removed.
      
      	* doc/xml/manual/allocator.xml: Remove documentation for
      	array_allocator.
      	* doc/xml/manual/evolution.xml: Document array_allocator removal.
      	* doc/xml/manual/using.xml: Remove header from documentation.
      	* include/Makefile.am: Remove <ext/array_allocator.h> header.
      	* include/Makefile.in: Regenerate.
      	* include/ext/array_allocator.h: Remove.
      	* include/precompiled/extc++.h: Do not include removed header.
      	* testsuite/ext/array_allocator/1.cc: Remove.
      	* testsuite/ext/array_allocator/2.cc: Remove.
      	* testsuite/ext/array_allocator/26875.cc: Remove.
      	* testsuite/ext/array_allocator/3.cc: Remove.
      	* testsuite/ext/array_allocator/check_deallocate_null.cc: Remove.
      	* testsuite/ext/array_allocator/check_delete.cc: Remove.
      	* testsuite/ext/array_allocator/check_new.cc: Remove.
      	* testsuite/ext/array_allocator/variadic_construct.cc: Remove.
      	* testsuite/ext/headers.cc: Do not include removed header.
      
      From-SVN: r271119
      Jonathan Wakely committed
    • Fix wrong usage of dump_printf_loc (PR tree-optimization/90416). · 6db881be
      2019-05-13  Martin Liska  <mliska@suse.cz>
      
      	PR tree-optimization/90416
      	* tree-vect-stmts.c (vect_check_load_store_mask): Concatenate
      	string instead of passing the second part as va_arg argument.
      
      From-SVN: r271118
      Martin Liska committed
    • Do not follow zero edges in cycle detection (PR gcov-profile/90380). · 2e9ff3bb
      2019-05-13  Martin Liska  <mliska@suse.cz>
      
      	PR gcov-profile/90380
      	* gcov.c (handle_cycle): Do not support zero cycle count,
      	it should not be possible.
      	(path_contains_zero_cycle_arc): New function.
      	(circuit): Ignore zero cycle arc counts.
      
      From-SVN: r271117
      Martin Liska committed
    • Test for not existence of a negative loop (PR gcov-profile/90380). · 4af3b0ea
      2019-05-13  Martin Liska  <mliska@suse.cz>
      
      	PR gcov-profile/90380
      	* gcov.c (enum loop_type): Remove the enum and
      	the operator.
      	(handle_cycle): Assert that we should not reach
      	a negative count.
      	(circuit): Use loop_found instead of a tri-state loop_type.
      	(get_cycles_count): Do not handle NEGATIVE_LOOP as it can't
      	happen.
      
      From-SVN: r271116
      Martin Liska committed
    • Daily bump. · 15f3429d
      From-SVN: r271115
      GCC Administrator committed
  3. 12 May, 2019 5 commits
    • darwin, powerpc - set .machine in an asm file. · ef5eb79d
      The asm file fails to build if we use a modern assembler
      which checks that the machine is consistent with the 
      filetype.  Fixed by adjusting in a similar manner to 
      other assembler.
      
      libgcc/
      
      2019-05-12  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* config/rs6000/darwin-vecsave.S: Set .machine appropriately.
      
      From-SVN: r271111
      Iain Sandoe committed
    • x86 - fix pr82920 · 0f8768f7
      The various thunks output codes have inconsisten output
      mechanisms. The patch factors out some common code that
      writes out the jumps and uses the regular output scheme
      that accounts for __USER_LABEL_PREFIX__.
      
      The testsuite changes are largely mechanical compensation
      for the revised output (and the fact that Darwin doesn't
      use non-PIC by default).
      
      gcc/
      
      2019-05-12  Iain Sandoe  <iain@sandoe.co.uk>
      
      	PR target/82920
      	* config/i386/i386.c (ix86_output_jmp_thunk_or_indirect): New.
      	(ix86_output_indirect_branch_via_reg): Use output mechanism
      	accounting for __USER_LABEL_PREFIX__.
      	(ix86_output_indirect_branch_via_push): Likewise.
      	(ix86_output_function_return): Likewise.
      	(ix86_output_indirect_function_return): Likewise.
      
      gcc/testsuite/
      
      2019-05-12  Iain Sandoe  <iain@sandoe.co.uk>
      	    Dominique d'Humieres  <dominiq@gcc.gnu.org>
      
      	PR target/82920
      	* gcc.target/i386/indirect-thunk-1.c: Adjust scan-asms for Darwin,
      	do not use -fno-pic on Darwin.
      	* gcc.target/i386/indirect-thunk-2.c: Likewise.
      	* gcc.target/i386/indirect-thunk-3.c: Likewise.
      	* gcc.target/i386/indirect-thunk-4.c: Likewise.
      	* gcc.target/i386/indirect-thunk-7.c: Likewise.
      	* gcc.target/i386/indirect-thunk-attr-1.c: Likewise.
      	* gcc.target/i386/indirect-thunk-attr-2.c: Likewise.
      	* gcc.target/i386/indirect-thunk-attr-3.c: Likewise.
      	* gcc.target/i386/indirect-thunk-attr-4.c: Likewise.
      	* gcc.target/i386/indirect-thunk-attr-5.c: Likewise.
      	* gcc.target/i386/indirect-thunk-attr-6.c: Likewise.
      	* gcc.target/i386/indirect-thunk-attr-7.c: Likewise.
      	* gcc.target/i386/indirect-thunk-attr-8.c: Likewise.
      	* gcc.target/i386/indirect-thunk-extern-1.c: Likewise.
      	* gcc.target/i386/indirect-thunk-extern-2.c: Likewise.
      	* gcc.target/i386/indirect-thunk-extern-3.c: Likewise.
      	* gcc.target/i386/indirect-thunk-extern-4.c: Likewise.
      	* gcc.target/i386/indirect-thunk-extern-7.c: Likewise.
      	* gcc.target/i386/indirect-thunk-inline-1.c: Likewise.
      	* gcc.target/i386/indirect-thunk-inline-2.c: Likewise.
      	* gcc.target/i386/indirect-thunk-inline-3.c: Likewise.
      	* gcc.target/i386/indirect-thunk-inline-4.c: Likewise.
      	* gcc.target/i386/indirect-thunk-inline-7.c: Likewise.
      	* gcc.target/i386/indirect-thunk-register-1.c: Likewise.
      	* gcc.target/i386/indirect-thunk-register-2.c: Likewise.
      	* gcc.target/i386/indirect-thunk-register-3.c: Likewise.
      	* gcc.target/i386/indirect-thunk-register-4.c: Likewise.
      	* gcc.target/i386/ret-thunk-1.c: Likewise.
      	* gcc.target/i386/ret-thunk-10.c: Likewise.
      	* gcc.target/i386/ret-thunk-11.c: Likewise.
      	* gcc.target/i386/ret-thunk-12.c: Likewise.
      	* gcc.target/i386/ret-thunk-13.c: Likewise.
      	* gcc.target/i386/ret-thunk-14.c: Likewise.
      	* gcc.target/i386/ret-thunk-15.c: Likewise.
      	* gcc.target/i386/ret-thunk-16.c: Likewise.
      	* gcc.target/i386/ret-thunk-2.c: Likewise.
      	* gcc.target/i386/ret-thunk-22.c: Likewise.
      	* gcc.target/i386/ret-thunk-23.c: Likewise.
      	* gcc.target/i386/ret-thunk-24.c: Likewise.
      	* gcc.target/i386/ret-thunk-3.c: Likewise.
      	* gcc.target/i386/ret-thunk-4.c: Likewise.
      	* gcc.target/i386/ret-thunk-5.c: Likewise.
      	* gcc.target/i386/ret-thunk-6.c: Likewise.
      	* gcc.target/i386/ret-thunk-7.c: Likewise.
      	* gcc.target/i386/ret-thunk-8.c: Likewise.
      	* gcc.target/i386/ret-thunk-9.c: Likewise.
      
      
      
      
      Co-Authored-By: Dominique d'Humieres <dominiq@gcc.gnu.org>
      
      From-SVN: r271110
      Iain Sandoe committed
    • Accept code attributes as rtx codes in .md files · 75df257b
      The recent AArch64 absolute difference patterns had to go through
      some hoops to pair max/min rtx codes with the same signedness.
      I also need to pair signed/unsigned codes with sign/zero extension
      for some SVE ACLE patterns.
      
      This patch therefore supports <...> as rtx codes, like we already
      do for modes.
      
      2019-05-12  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/
      	* doc/md.texi: Document use of code attributes in rtx patterns.
      	* read-md.h (rtx_reader::rtx_alloc_for_name): New member function.
      	* read-rtl.c (find_code): Split out search loops into...
      	(maybe_find_code): ...this new function.
      	(check_code_iterator): Make the error message more informative.
      	(check_code_attribute): New function.
      	(rtx_reader::rtx_alloc_for_name): Likewise.
      	(rtx_reader::read_rtx_code): Use rtx_alloc_for_name.
      	* config/aarch64/predicates.md (aarch64_smin, aarch64_umin): Delete.
      	* config/aarch64/aarch64-simd.md (*aarch64_<su>abd<mode>_3): Use
      	<max_opp> directly as an rtx code instead of via a match_operator.
      	* config/aarch64/aarch64-sve.md (aarch64_<su>abd<mode>_3): Likewise.
      	(<su>abd<mode>_3): Update accordingly.
      
      From-SVN: r271107
      Richard Sandiford committed
    • fortran: C++ support for generating C prototypes · 4c016457
      When generating C prototypes for Fortran procedures with the
      -fc-prototypes and -fc-prototypes-external options, print a snippet
      defining macros for complex types, and add C++ support by suppressing
      mangling.
      
      fortran/ChangeLog:
      
      2019-05-12  Janne Blomqvist  <jb@gcc.gnu.org>
      
      	* dump-parse-tree.c (get_c_type_name): Use macros for complex type
      	names.
      	* parse.c (gfc_parse_file): Define complex macros, add CPP support
      	when printing C prototypes.
      
      From-SVN: r271106
      Janne Blomqvist committed
    • Daily bump. · 1fa26ccd
      From-SVN: r271105
      GCC Administrator committed
  4. 11 May, 2019 6 commits
    • darwin, ppc - improve debug for mdebug-stack · 65ecff90
      Darwin uses an out of line save when complete context
      needs to be saved, including the vector regs.
      
      This patch prints the status of that when -mdebug=stack
      is given.
      
      gcc/
      
      2019-05-12  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* config/rs6000/rs6000.c (debug_stack_info): When -mdebug=stack
      	is given, print the state of the EH "save world" computation for
      	Darwin.
      
      From-SVN: r271101
      Iain Sandoe committed
    • fixincludes - fix PR90379 · 7121b43f
      One should not provide test_text for wrap style fixes
      this was causing the test to fail.  No change to the
      actual fix.
      
      2019-05-11  Iain Sandoe  <iain@sandoe.co.uk>
      	PR target/90379
      	PR bootstrap/89864
      	* inclhack.def (darwin_ucred__Atomic): Do not supply test_text
      	for wrap fixes.
      	* fixincl.x: Regenerated.
      
      From-SVN: r271098
      Iain Sandoe committed
    • testsuite, darwin] Fix PR81058. · bd765eed
      The tests fail because Darwin indirects common accesses which causes different
      codegen and the mismatch in output. Placing the vars in regular .data section
      fixes that.
      
      gcc/testsuite/
      
      2019-05-11  Iain Sandoe  <iain@sandoe.co.uk>
      
      	PR testsuite/81058
      	* gcc.target/i386/avx512bw-vpmovswb-1.c: Use regular data section
      	for variables on Darwin, rather than common.
      	* gcc.target/i386/avx512bw-vpmovuswb-1.c: Likewise.
      	* gcc.target/i386/avx512bw-vpmovwb-1.c: Likewise.
      
      From-SVN: r271097
      Iain Sandoe committed
    • stl_bvector.h (operator==(const _Bit_iterator_base&, const… · e9c54233
      stl_bvector.h (operator==(const _Bit_iterator_base&, const _Bit_iterator_base&)): Make hidden friend.
      
      2019-05-11  François Dumont  <fdumont@gcc.gnu.org>
      
      	* include/bits/stl_bvector.h
      	(operator==(const _Bit_iterator_base&, const _Bit_iterator_base&)):
      	Make hidden friend.
      	(operator<(const _Bit_iterator_base&, const _Bit_iterator_base&)):
      	Likewise.
      	(operator!=(const _Bit_iterator_base&, const _Bit_iterator_base&)):
      	Likewise.
      	(operator>(const _Bit_iterator_base&, const _Bit_iterator_base&)):
      	Likewise.
      	(operator<=(const _Bit_iterator_base&, const _Bit_iterator_base&)):
      	Likewise.
      	(operator>=(const _Bit_iterator_base&, const _Bit_iterator_base&)):
      	Likewise.
      	(operator-(const _Bit_iterator_base&, const _Bit_iterator_base&)):
      	Likewise.
      	(_Bit_iterator::operator+(difference_type)): Likewise and allow NRVO
      	copy elision.
      	(_Bit_iterator::operator-(difference_type)): Likewise.
      	(operator+(ptrdiff_t, const _Bit_iterator&)): Make hidden friend.
      	(_Bit_const_iterator::operator+(difference_type)): Likewise and allow
      	NRVO copy elision.
      	(_Bit_const_iterator::operator-(difference_type)): Likewise.
      	(operator+(ptrdiff_t, const _Bit_const_iterator&)): Make hidden friend.
      
      From-SVN: r271096
      François Dumont committed
    • re PR c++/59813 (tail-call elimination didn't fire for left-shift of char to cout) · b5b9147d
      	PR c++/59813
      	* config/aarch64/aarch64.c (aarch64_expand_epilogue): Don't add
      	EH_RETURN_STACKADJ_RTX to sp in sibcall epilogues.
      
      From-SVN: r271093
      Jakub Jelinek committed
    • i386.md (floatdi<X87MODEF:mode>2_i387_with_xmm): Use pinsrd for TARGET_SSE4_1. · c57cbfe2
      	* config/i386/i386.md (floatdi<X87MODEF:mode>2_i387_with_xmm):
      	Use pinsrd for TARGET_SSE4_1.
      	* config/i386/sse.md (movdi_to_sse): Ditto.
      
      From-SVN: r271092
      Uros Bizjak committed