1. 17 Jun, 2019 16 commits
    • Fix AIX test failure due to replacement operator delete · 39f901e9
      On AIX the sized delete defined in the library will call the non-sized
      delete defined in the library, not the replacement version defined in
      the test file. By also replacing sized delete we make the test pass
      everywhere.
      
      	* testsuite/20_util/allocator/1.cc: Add sized delete, which fixes a
      	failure on AIX.
      
      From-SVN: r272391
      Jonathan Wakely committed
    • re PR bootstrap/90873 (-Wmaybe-uninitialized warning in gcc/tree-ssa-forwprop.c… · 35d57c95
      re PR bootstrap/90873 (-Wmaybe-uninitialized warning in gcc/tree-ssa-forwprop.c breaks 32-bit bootstrap)
      
      	PR bootstrap/90873.
      	* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Fix
      	TMR index check.
      
      From-SVN: r272390
      Jan Hubicka committed
    • [nvptx] Fix missing mode warnings in nvptx.md, omp part · 8b243438
      Fix these warnings:
      ...
      gcc/config/nvptx/nvptx.md:1074:1: warning: operand 0 missing mode?
      gcc/config/nvptx/nvptx.md:1240:1: warning: operand 0 missing mode?
      gcc/config/nvptx/nvptx.md:1240:1: warning: operand 1 missing mode?
      gcc/config/nvptx/nvptx.md:1240:1: warning: operand 2 missing mode?
      gcc/config/nvptx/nvptx.md:1268:1: warning: operand 0 missing mode?
      ...
      
      Build and reg-tested on x86_64 with nvptx accelerator.
      
      2019-06-17  Tom de Vries  <tdevries@suse.de>
      
      	* config/nvptx/nvptx-protos.h (gen_set_softstack_insn): Declare.
      	* config/nvptx/nvptx.c (gen_set_softstack_insn): New function.
      	* config/nvptx/nvptx.md (define_insn "set_softstack_insn"): Rename to
      	...
      	(define_insn "set_softstack_<mode>"): ... this.  Use P iterator on
      	match_operand 0.
      	(define_insn "omp_simt_enter_insn"): Rename to ...
      	(define_insn "omp_simt_enter_<mode>"): ... this.  Use P iterator on
      	match_operand 0, 1 and 2, as well as the unspec_volatile result.
      	(define_expand "omp_simt_enter): Use gen_omp_simt_enter_di and
      	gen_omp_simt_enter_si.
      	(define_expand "omp_simt_exit"): New.
      	(define_insn "omp_simt_exit"): Rename to ...
      	(define_insn "omp_simt_exit_<mode>"): ... this.  Use P iterator on
      	match_operand 0.
      
      From-SVN: r272388
      Tom de Vries committed
    • [netbsd][aarch64] add netbsd/aarch64 target · f32f7585
      Initial support for AArch64 running NetBSD.
      
      Matthew Green <mrg@eterna.com.au>
      Maya Rashish <coypu@sdf.org>
      
      gcc:
      	* config.gcc (aarch64*-*-netbsd*): New target.
      	* config/aarch64/aarch64-netbsd.h: New file.
      	* config/aarch64/t-aarch64-netbsd: Likewise.
      
      libgcc:
      	* config.host (aarch64*-*-netbsd*): New case.
      
      Co-Authored-By: Maya Rashish <coypu@sdf.org>
      
      From-SVN: r272387
      Matthew Green committed
    • Add 'noexcept' to std::lerp · 360a758e
      	* include/c_global/cmath (__lerp, lerp): Add noexcept (LWG 3201).
      
      From-SVN: r272386
      Jonathan Wakely committed
    • PR libstdc++/90281 Fix string conversions for filesystem::path · 26b1320e
      Fix several bugs in the encoding conversions for filesystem::path that
      prevent conversion of Unicode characters outside the Basic Multilingual
      Plane, and prevent returning basic_string specializations with
      alternative allocator types.
      
      The std::codecvt_utf8 class template is not suitable for UTF-16
      conversions because it uses UCS-2 instead. For conversions between UTF-8
      and UTF-16 either std::codecvt<C, char, mbstate> or
      codecvt_utf8_utf16<C> must be used.
      
      The __str_codecvt_in and __str_codecvt_out utilities do not
      return false on a partial conversion (e.g. for invalid or incomplete
      Unicode input). Add new helpers that treat partial conversions as
      errors, and use them for all filesystem::path conversions.
      
      	PR libstdc++/90281 Fix string conversions for filesystem::path
      	* include/bits/fs_path.h (u8path) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]:
      	Use codecvt_utf8_utf16 instead of codecvt_utf8. Use
      	__str_codecvt_in_all to fail for partial conversions and throw on
      	error.
      	[!_GLIBCXX_FILESYSTEM_IS_WINDOWS && _GLIBCXX_USE_CHAR8_T]
      	(path::_Cvt<char8_t>): Add explicit specialization.
      	[_GLIBCXX_FILESYSTEM_IS_WINDOWS] (path::_Cvt::_S_wconvert): Remove
      	overloads.
      	[_GLIBCXX_FILESYSTEM_IS_WINDOWS] (path::_Cvt::_S_convert): Use
      	if-constexpr instead of dispatching to _S_wconvert. Use codecvt
      	instead of codecvt_utf8. Use __str_codecvt_in_all and
      	__str_codecvt_out_all.
      	[!_GLIBCXX_FILESYSTEM_IS_WINDOWS] (path::_Cvt::_S_convert): Use
      	codecvt instead of codecvt_utf8. Use __str_codecvt_out_all.
      	(path::_S_str_convert) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Use
      	codecvt_utf8_utf16 instead of codecvt_utf8. Construct return values
      	with allocator. Use __str_codecvt_out_all. Fallthrough to POSIX code
      	after converting to UTF-8.
      	(path::_S_str_convert): Use codecvt instead of codecvt_utf8. Use
      	__str_codecvt_in_all.
      	(path::string): Fix initialization of string types with different
      	allocators.
      	(path::u8string) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Use
      	codecvt_utf8_utf16 instead of codecvt_utf8. Use __str_codecvt_out_all.
      	* include/bits/locale_conv.h (__do_str_codecvt): Reorder static and
      	runtime conditions.
      	(__str_codecvt_out_all, __str_codecvt_in_all): New functions that
      	return false for partial conversions.
      	* include/experimental/bits/fs_path.h (u8path):
      	[_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Implement correctly for mingw.
      	[_GLIBCXX_FILESYSTEM_IS_WINDOWS] (path::_Cvt::_S_wconvert): Add
      	missing handling for char8_t. Use codecvt and codecvt_utf8_utf16
      	instead of codecvt_utf8. Use __str_codecvt_in_all and
      	__str_codecvt_out_all.
      	[!_GLIBCXX_FILESYSTEM_IS_WINDOWS] (path::_Cvt::_S_convert): Use
      	codecvt instead of codecvt_utf8. Use __str_codecvt_out_all.
      	(path::string) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Use
      	codecvt_utf8_utf16 instead of codecvt_utf8. Construct return values
      	with allocator. Use __str_codecvt_out_all and __str_codecvt_in_all.
      	(path::string) [!_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Use
      	__str_codecvt_in_all.
      	(path::u8string) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Use
      	codecvt_utf8_utf16 instead of codecvt_utf8. Use __str_codecvt_out_all.
      	* src/c++17/fs_path.cc (path::_S_convert_loc): Use
      	__str_codecvt_in_all.
      	* src/filesystem/path.cc (path::_S_convert_loc): Likewise.
      	* testsuite/27_io/filesystem/path/construct/90281.cc: New test.
      	* testsuite/27_io/filesystem/path/factory/u8path.cc: New test.
      	* testsuite/27_io/filesystem/path/native/string.cc: Test with empty
      	strings and with Unicode characters outside the basic multilingual
      	plane.
      	* testsuite/27_io/filesystem/path/native/alloc.cc: New test.
      	* testsuite/experimental/filesystem/path/construct/90281.cc: New test.
      	* testsuite/experimental/filesystem/path/factory/u8path.cc: New test.
      	* testsuite/experimental/filesystem/path/native/alloc.cc: New test.
      	* testsuite/experimental/filesystem/path/native/string.cc: Test with
      	empty strings and with Unicode characters outside the basic
      	multilingual plane.
      
      From-SVN: r272385
      Jonathan Wakely committed
    • [PR c++/90754] name lookup ICE · 41d93b16
      https://gcc.gnu.org/ml/gcc-patches/2019-06/msg00952.html
      	PR c++/90754
      	* name-lookup.c (lookup_type_scope_1): Calll qualify_lookup before
      	checking context.
      
      	PR c++/90754
      	* g++.dg/lookup/pr90754.C: New.
      
      From-SVN: r272384
      Nathan Sidwell committed
    • tree-ssa-alias.c (aliasing_component_refs_p): Consider only the access path from… · 07c8304c
      tree-ssa-alias.c (aliasing_component_refs_p): Consider only the access path from base to first VIEW_CONVERT_EXPR or BIT_FIELD_REF.
      
      	* tree-ssa-alias.c (aliasing_component_refs_p): Consider only
      	the access path from base to first VIEW_CONVERT_EXPR or
      	BIT_FIELD_REF.
      
      From-SVN: r272383
      Jan Hubicka committed
    • Improve PR64242 testcase · 2fcae109
      Clear the input array to avoid the testcase accidentally
      passing with an incorrect frame pointer.
      
      Committed as obvious.
      
      testsuite/
      	PR middle-end/64242
      	* gcc.c-torture/execute/pr64242.c: Improve test.
      
      From-SVN: r272382
      Wilco Dijkstra committed
    • Simplify node ownership in _Hashtable members · b0c849fa
      Introduce an RAII type to manage nodes in unordered containers while
      they are being inserted. If the caller always owns a node until it is
      inserted, then the insertion functions don't need to deallocate on
      failure. This allows a FIXME in the node re-insertion API to be removed.
      
      Also change extract(const key_type&) to not call extract(const_iterator)
      anymore.  This avoids looping through the bucket nodes again to find the
      node before the one being extracted.
      
      2019-06-17  François Dumont  <fdumont@gcc.gnu.org>
      	    Jonathan Wakely  <jwakely@redhat.com>
      
      	* include/bits/hashtable.h (struct _Hashtable::_Scoped_node): New type.
      	(_Hashtable::_M_insert_unique_node): Add key_type parameter. Don't
      	deallocate node if insertion fails.
      	(_Hashtable::_M_insert_multi_node): Likewise.
      	(_Hashtable::_M_reinsert_node): Pass additional key argument.
      	(_Hashtable::_M_reinsert_node_multi): Likewise. Remove FIXME.
      	(_Hashtable::_M_extract_node(size_t, __node_base*)): New function.
      	(_Hashtable::extract(const_iterator)): Use _M_extract_node.
      	(_Hashtable::extract(const _Key&)): Likewise.
      	(_Hashtable::_M_merge_unique): Pass additional key argument.
      	(_Hashtable::_M_emplace<Args>(true_type, Args&&...)): Likewise. Use
      	_Scoped_node.
      	(_Hashtable::_M_insert): Likewise.
      	* include/bits/hashtable_policy.h (_Map_base::operator[]): Likewise.
      	(_Hashtable_alloc): Add comments to functions with misleading names.
      
      Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>
      
      From-SVN: r272381
      François Dumont committed
    • tree-ssa-alias.c (nonoverlapping_component_refs_p): Also truncate access path on BIT_FIELD_REFs. · e67ddda6
      	* tree-ssa-alias.c (nonoverlapping_component_refs_p): Also truncate
      	access path on BIT_FIELD_REFs.
      
      From-SVN: r272380
      Jan Hubicka committed
    • Remove dead code (PR ipa/90874). · c98d845f
      2019-06-17  Martin Liska  <mliska@suse.cz>
      
      	PR ipa/90874
      	* ipa-utils.h (odr_type_p): Remove dead code.
      
      From-SVN: r272378
      Martin Liska committed
    • Remove support for alternative Solaris 11.4 ld -V output · 7cd4af82
      	* configure.ac (ld_vers) <*-*-solaris2*>: Remove support for
      	alternative Solaris 11.4 format.
      	* configure: Regenerate.
      
      From-SVN: r272377
      Rainer Orth committed
    • Fix tests that fail without PCH · 9a9c7a62
      The recent change to stop transitively including <string> broke some
      tests, but only when the library is configured without PCH, because
      otherwise the <string> header still gets included via the precompiled
      <bits/stdc++.h> header.
      
      	* testsuite/20_util/bad_function_call/what.cc: Include <string> header
      	for std::string.
      	* testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Likewise.
      	* testsuite/20_util/tuple/cons/allocator_with_any.cc: Include <memory>
      	header for std::allocator.
      	* testsuite/23_containers/array/tuple_interface/tuple_element.cc: Add
      	using-declaration for std::size_t.
      	* testsuite/23_containers/array/tuple_interface/tuple_size.cc:
      	Likewise.
      	* testsuite/23_containers/deque/cons/55977.cc: Include <istream> for
      	std::istream.
      	* testsuite/23_containers/vector/cons/55977.cc: Likewise.
      	* testsuite/experimental/map/erasure.cc: Include <string> for
      	std::string.
      	* testsuite/experimental/unordered_map/erasure.cc: Likewise.
      
      From-SVN: r272376
      Jonathan Wakely committed
    • re PR ada/80590 (non-bootstrap build failure of Ada runtime) · 61efaded
      PR ada/80590
      
      	* exp_ch9.adb (Expand_N_Delay_Relative_Statement): Swap the two
      	conditions to avoid a unnecessary exception propagation in the default
      	case.
      
      From-SVN: r272372
      Arnaud Charlet committed
    • Daily bump. · 21e42f7b
      From-SVN: r272370
      GCC Administrator committed
  2. 16 Jun, 2019 24 commits