1. 18 Jun, 2019 20 commits
    • [AArch64] Tabify aarch64-sve.md · ea403d8b
      2019-06-18  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/
      	* config/aarch64/aarch64-sve.md: Tabify file.
      
      From-SVN: r272426
      Richard Sandiford committed
    • [AArch64] Factor out pfalse predicate creation · e7053b0c
      Following on from the previous ptrue patch.
      
      2019-06-18  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/
      	* config/aarch64/aarch64-protos.h (aarch64_pfalse_reg): Declare.
      	* config/aarch64/aarch64.c (aarch64_pfalse_reg): New function.
      	* config/aarch64/aarch64-sve.md: Use it.
      
      From-SVN: r272425
      Richard Sandiford committed
    • [AArch64] Factor out ptrue predicate creation · 16de3637
      This is the first step to canonicalising predicate constants so that
      they can be reused between modes.
      
      2019-06-18  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/
      	* config/aarch64/aarch64-protos.h (aarch64_ptrue_reg): Declare.
      	* config/aarch64/aarch64.c (aarch64_ptrue_reg): New functions.
      	(aarch64_expand_sve_widened_duplicate, aarch64_expand_sve_mem_move)
      	(aarch64_maybe_expand_sve_subreg_move, aarch64_evpc_rev_local)
      	(aarch64_expand_sve_vec_cmp_int): Use it.
      	(aarch64_expand_sve_vec_cmp_float): Likewise.
      	* config/aarch64/aarch64-sve.md: Likewise throughout.
      
      From-SVN: r272424
      Richard Sandiford committed
    • [AArch64] Simplify SVE IFN_COND patterns · 32cf949c
      This patch makes the binary IFN_COND patterns use the same approach
      as the ternary patterns, with one pattern handling the cases in
      which the "else" value isn't tied to one of the other inputs.
      
      2019-06-18  Richard Sandiford  <richard.sandiford@arm.com>
      	    Kugan Vivekanandarajah  <kuganv@linaro.org>
      
      gcc/
      	* config/aarch64/aarch64-sve.md (*cond_<optab><mode>_0): Delete.
      	(*cond_<optab><mode>_z): Fold into...
      	(*cond_<optab><mode>_any): ...here.  Also handle cases in which
      	operand 4 can be tied to operand 0 (either inherently or via RA).
      
      From-SVN: r272423
      Richard Sandiford committed
    • pr81563.c (dg-final): Check that no registers are restored from %esp. · d34c6479
      	* gcc.target/i386/pr81563.c (dg-final): Check that no
      	registers are restored from %esp.
      
      From-SVN: r272422
      Uros Bizjak committed
    • re PR debug/90900 (ICE in copy_rtx, at rtl.c:376) · aa61ac43
      2019-06-18  Richard Biener  <rguenther@suse.de>
      
      	PR debug/90900
      	* cfgexpand.c (expand_debug_expr): Treat NOTE_P DECL_RTL
      	as if optimized away.
      
      	* gcc.dg/gomp/pr90900.c: New testcase.
      
      From-SVN: r272421
      Richard Biener committed
    • pr90866-2.c: Remove a pointless declaration to avoid compilation errors on arm-none-eabi. · a9b6c90c
      gcc/testsuite/ChangeLog:
      
      	* gcc.dg/pr90866-2.c: Remove a pointless declaration
      	to avoid compilation errors on arm-none-eabi.
      
      From-SVN: r272418
      Martin Sebor committed
    • re PR ada/80590 (non-bootstrap build failure of Ada runtime) · ace11c95
      PR ada/80590
      
      	* sem_ch5.adb (Analyze_Loop_Statement): Avoid exception propagation
      	during normal processing.
      
      From-SVN: r272417
      Arnaud Charlet committed
    • Avoid undefined behaviour in std::byte operators (LWG 2950) · 0c65926f
      	* include/c_global/cstddef (std::byte): Perform arithmetic operations
      	in unsigned int to avoid promotion (LWG 2950).
      
      From-SVN: r272415
      Jonathan Wakely committed
    • aarch64: fix gcc.target/aarch64/pcs_attribute-2.c on non-gnu targets · 5ed12b58
      Move the ifunc symbol tests into a separate file with dg-require-ifunc.
      And added a base pcs ifunc symbol to the test for completeness.
      
      gcc/testsuite/ChangeLog:
      
      	* gcc.target/aarch64/pcs_attribute-2.c: Remove ifunc usage.
      	* gcc.target/aarch64/pcs_attribute-3.c: New test.
      
      From-SVN: r272414
      Szabolcs Nagy committed
    • [nvptx] Use define_insn parametrization · 8b72af17
      Parametrize some define_insn to simplify code in define_expands generating
      those insns.
      
      Build and reg-tested on x86_64 with nvptx accelerator.
      
      2019-06-18  Tom de Vries  <tdevries@suse.de>
      
      	* config/nvptx/nvptx-protos.h (gen_set_softstack_insn): Remove.
      	* config/nvptx/nvptx.c (gen_set_softstack_insn): Remove.
      	* config/nvptx/nvptx.md (define_insn "set_softstack_<mode>"): Rename to ...
      	(define_insn "@set_softstack_<mode>"): ... this.
      	(define_insn "omp_simt_enter_<mode>"): Rename to ...
      	(define_insn "@omp_simt_enter_<mode>"): ... this.
      	(define_insn "omp_simt_exit_<mode>"): Rename to ...
      	(define_insn "@omp_simt_exit_<mode>"): ... this.
      
      From-SVN: r272413
      Tom de Vries committed
    • [nvptx] Fix __main missing prototype warning in crt0.c · 787783a0
      Atm we see:
      ...
      libgcc/config/nvptx/crt0.c:36:1: warning: no previous prototype for \
        ‘__main’ [-Wmissing-prototypes]
      ...
      
      Fix this by adding the prototype.
      
      Build and reg-tested on nvptx.
      Build and reg-tested on x86_64 with nvptx accelerator.
      
      2019-06-18  Tom de Vries  <tdevries@suse.de>
      
      	* config/nvptx/crt0.c (__main): Declare.
      
      From-SVN: r272412
      Tom de Vries committed
    • Restore correct iv step for fully-masked loops · fcae0292
      r272233 introduced a large number of execution failures on SVE.
      The patch hard-coded an IV step of VF, but for SLP groups it needs
      to be VF * group size.
      
      Also, iv_precision had type widest_int but only needs to be unsigned int.
      
      2019-06-18  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/
      	* tree-vect-loop-manip.c (vect_set_loop_masks_directly): Remove
      	vf parameter.  Restore the previous iv step of nscalars_step,
      	but give it iv_type rather than compare_type.  Tweak code order
      	to match the comments.
      	(vect_set_loop_condition_masked): Update accordingly.
      	* tree-vect-loop.c (vect_verify_full_masking): Use "unsigned int"
      	for iv_precision.  Tweak comment formatting.
      
      From-SVN: r272411
      Richard Sandiford committed
    • Darwin - strip trailing whitespace from a file, NFC. · a9e47ccf
      2019-06-18  Iain Sandoe  <iain@sandoe.co.uk>
      
              * config/darwin.c: Strip trailing whitespace.
      
      From-SVN: r272410
      Iain Sandoe committed
    • [Darwin] The need for FDE symbols is dependent on linker used, not OS rev. · dbe89f49
          
      For very old toolchains, the compiler generated extra symbols that mark the
      start of each FDE.  We no longer need this (since xcode 3 era).
      
      Since we have detection of the linker version, we can use that directly to
      determine if support is needed.
      
      2019-06-18  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* config/darwin.c (darwin_emit_unwind_label): New default to false.
      	(darwin_override_options): Set darwin_emit_unwind_label as needed.
      
      From-SVN: r272409
      Iain Sandoe committed
    • Fix IPA-CP topological sorting · c6ece5c1
      2019-06-18  Martin Jambor  <mjambor@suse.cz>
      
      	PR ipa/90889
      	* ipa-cp.c (ignore_edge_p): Do not ignore edges when only the
      	caller does not have flag_ipa_cp set.
      
      From-SVN: r272408
      Martin Jambor committed
    • [Vectorizer] Support masking fold left reductions · bce29d65
      This patch adds support in the vectorizer for masking fold left reductions.
      This avoids the need to insert a conditional assignement with some identity
      value.
      
      From-SVN: r272407
      Alejandro Martinez committed
    • libsanitizer - remove reference to __cxa_rethrow_primary_exception. · 9553f0d2
      For some Darwin versions the absence of the rethrow_primary_exception
      symbol causes almost all sanitizer tests to fail.
      The symbol is not present in libstdc++ and, therefore is is correct to
      remove the reference to it for all platforms.  We do this by adding a
      new guard "ASAN_HAS_CXA_RETHROW_PRIMARY_EXCEPTION".
      
      libsanitizer/
      
      2019-06-18  Iain Sandoe  <iain@sandoe.co.uk>
      
      	PR libsanitizer/87880
      	* asan/asan_interceptors.h:
      	(ASAN_INTERCEPT___CXA_RETHROW_PRIMARY_EXCEPTION): New.
      	* asan/Makefile.am (DEFS): Add 
      	ASAN_HAS_CXA_RETHROW_PRIMARY_EXCEPTION, defined to 0.
      	* asan/Makefile.in: Regenerated.
      	* asan/libtool-version: Bump version.
      
      From-SVN: r272406
      Iain Sandoe committed
    • Add predict_doloop_p target hook · 74b5fcf7
          Add one target hook predict_doloop_p, it return true if we can predict it
          is possible to use a low-overhead loop, it can help ivopts to make some
          better decisions.
      
          PR middle-end/80791
          * target.def (predict_doloop_p): New hook.
          * targhooks.h (default_predict_doloop_p): New declaration.
          * targhooks.c (default_predict_doloop_p): New function.
          * doc/tm.texi.in (TARGET_PREDICT_DOLOOP_P): New hook.
          * doc/tm.texi: Regenerate.
          * config/rs6000/rs6000.c (rs6000_predict_doloop_p): New function.
          (TARGET_PREDICT_DOLOOP_P): New macro.
          * tree-ssa-loop-ivopts.c (generic_predict_doloop_p): New function.
      
      From-SVN: r272405
      Kewen Lin committed
    • Daily bump. · 702eb490
      From-SVN: r272404
      GCC Administrator committed
  2. 17 Jun, 2019 19 commits
    • omp-low.c (struct omp_context): Add scan_inclusive field. · 0356aab8
      	* omp-low.c (struct omp_context): Add scan_inclusive field.
      	(scan_omp_1_stmt) <case GIMPLE_OMP_SCAN>: Set ctx->scan_inclusive
      	if inclusive scan.
      	(struct omplow_simd_context): Add lastlane member.
      	(lower_rec_simd_input_clauses): Add rvar argument, handle inscan
      	reductions.  Build 2 or 3 argument .GOMP_SIMD_LANE calls rather than
      	1 or 2 argument.
      	(lower_rec_input_clauses): Handle inscan reductions in simd contexts.
      	(lower_lastprivate_clauses): Set TREE_THIS_NOTRAP on the ARRAY_REF.
      	(lower_omp_scan): New function.
      	(lower_omp_1) <case GIMPLE_OMP_SCAN>: Use lower_omp_scan.
      	* tree-ssa-dce.c (eliminate_unnecessary_stmts): For IFN_GOMP_SIMD_LANE
      	check 3rd argument if present rather than 2nd.
      	* tree-vectorizer.h (struct _loop_vec_info): Add scan_map member.
      	(struct _stmt_vec_info): Change simd_lane_access_p from bool into
      	2-bit bitfield.
      	* tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize
      	scan_map.  For IFN_GOMP_SIMD_LANE check 3rd argument if present rather
      	than 2nd.
      	(_loop_vec_info::~_loop_vec_info): Delete scan_map.
      	* tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Allow two
      	different STMT_VINFO_SIMD_LANE_ACCESS_P refs if they have the same
      	init.
      	(vect_find_stmt_data_reference): Encode in ->aux the 2nd
      	IFN_GOMP_SIMD_LANE argument.
      	(vect_analyze_data_refs): Set STMT_VINFO_SIMD_LANE_ACCESS_P from the
      	encoded ->aux value.
      	* tree-vect-stmts.c: Include attribs.h.
      	(vectorizable_call): Adjust comment about IFN_GOMP_SIMD_LANE.
      	(scan_operand_equal_p, check_scan_store, vectorizable_scan_store): New
      	functions.
      	(vectorizable_load): For STMT_VINFO_SIMD_LANE_ACCESS_P tests use != 0.
      	(vectorizable_store): Handle STMT_VINFO_SIMD_LANE_ACCESS_P > 1.
      cp/
      	* semantics.c (finish_omp_clauses): For OMP_CLAUSE_REDUCTION_INSCAN
      	set need_copy_assignment.
      testsuite/
      	* gcc.dg/vect/vect-simd-8.c: New test.
      	* gcc.dg/vect/vect-simd-9.c: New test.
      	* g++.dg/vect/simd-2.cc: New test.
      	* g++.dg/gomp/scan-1.C: New test.
      
      From-SVN: r272399
      Jakub Jelinek committed
    • re PR target/62055 (missed optimization: recognize fnabs (FP negative absolute value) (x86-64)) · a064fd4c
      	PR target/62055
      	* config/i386/i386.md (*nabstf2_1): New insn pattern.
      	(*nabs<mode>2_1): Ditto.
      	(nabs sse-reg splitter): New splitter.
      	* config/i386/sse.md (*nabs<mode>2): New insn_and_split pattern.
      
      testsuite/ChangeLog:
      
      	PR target/62055
      	* gcc.target/i386/fnabs.c: New test.
      
      From-SVN: r272396
      Uros Bizjak committed
    • PR c++/83820 - excessive attribute arguments not detected. · bf0af866
      	* parser.c (cp_parser_std_attribute): Detect excessive arguments.
      
      	* g++.dg/cpp0x/gen-attrs-67.C: New test.
      
      From-SVN: r272395
      Marek Polacek committed
    • 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
  3. 16 Jun, 2019 1 commit