1. 28 Nov, 2018 25 commits
    • compiler: inline functions with assignments and return statements · 5456f30d
          
          Support inlining functions that contain only assignments and return
          statements, with expressions of either constants or parameters.
          Functions that contain other kinds of statements or expressions are
          not yet inlined.  With this change, about 100 functions in the
          standard library are inlinable.
          
          Reviewed-on: https://go-review.googlesource.com/c/150073
      
      From-SVN: r266573
      Ian Lance Taylor committed
    • Merge libphobos upstream version 2.076.1 · 85041a5b
      Updated the library version to 76:3:0.
      
      libphobos/ChangeLog:
      
      2018-11-28  Iain Buclaw  <ibuclaw@gdcproject.org>
      
      	* Makefile.in: Rebuild.
      	* configure: Rebuild.
      	* configure.ac (DRUNTIME_SOVERSION): Remove.
      	(PHOBOS_SOVERSION): Remove.
      	(libtool_VERSION): Add.
      	* libdruntime/Makefile.am: Use libtool_VERSION.
      	* libdruntime/Makefile.in: Rebuild.
      	* src/Makefile.am: Use libtool_VERSION.
      	* src/Makefile.in: Rebuild.
      	* testsuite/Makefile.in: Rebuild.
      
      From-SVN: r266572
      Iain Buclaw committed
    • constraints.md: Add "C" constraint for call insns. · 735352d2
      	* config/h8300/constraints.md: Add "C" constraint for call insns.
      	* config/h8300/h8300.md (call, call_value): Turn into a define_expand
      	and define_insn pair.  Move invalid call targets into a register in
      	the expander and fix constraints in the matching pattern.
      	* config/h8300/predicates.md (call_expander_operand): Renamed from
      	call_insn_operand.  Reject things we shouldn't be trying to handle.
      	(call_insn_operand): New predicate for use by the call/call_value
      	insns.
      	(small_call_insn_operand): Update appropriately.
      
      From-SVN: r266571
      Jeff Law committed
    • [PATCH][GCC][AARCH64] Replace calls to strtok with strtok_r in aarch64 attribute handling code · 7185a4eb
      2018-11-28  Sam Tebbs  <sam.tebbs@arm.com>
      
      	* config/aarch64/aarch64.c (aarch64_process_target_attr): Replace
      	calls to strtok with strtok_r.
      
      From-SVN: r266570
      Sam Tebbs committed
    • Fix undefined references in libstdc++fs.a · 345d2d03
      The recent patch for PR 83306 removed the fs_err_concat functions that
      were used by the experimental::filesystem::filesystem_error class as
      well. This fixes it by doing the string generation directly in
      filesystem_error::_M_gen_what() instead of using the removed function.
      
      	PR libstdc++/83306
      	* src/filesystem/path.cc (filesystem_error::_M_gen_what()): Create
      	string directly, instead of calling fs_err_concat.
      
      From-SVN: r266569
      Jonathan Wakely committed
    • PR libstdc++/83511 add default argument to basic_string_view::substr · 0a1369fa
      	PR libstdc++/83511
      	* include/std/string_view (basic_string_view::substr): Add default
      	argument to first parameter.
      	* include/experimental/string_view (basic_string_view::substr):
      	Likewise.
      	* testsuite/21_strings/basic_string_view/operations/substr/char/
      	83511.cc: New test.
      	* testsuite/21_strings/basic_string_view/operations/substr/wchar_t/
      	83511.cc: New test.
      	* testsuite/experimental/string_view/operations/substr/char/83511.cc:
      	New test.
      	* testsuite/experimental/string_view/operations/substr/wchar_t/83511.cc:
      	New test.
      
      From-SVN: r266568
      Jonathan Wakely committed
    • Implement uniform container erasure for C++20. · 188588e4
      2018-11-28  Edward Smith-Rowland  <3dw4rd@verizon.net>
      
      	Implement uniform container erasure for C++20.
      	* include/Makefile.am: Move erase_if.h.
      	* include/Makefile.in: Move erase_if.h.
      	* include/experimental/bits/erase_if.h: Move ...
      	* include/bits/erase_if.h: ... here.
      	* include/experimental/map: Move erase_if.h.
      	* include/experimental/set: Move erase_if.h.
      	* include/experimental/unordered_map: Move erase_if.h.
      	* include/experimental/unordered_set: Move erase_if.h.
      	* include/std/deque (erase_if, erase): New functions.
      	* include/std/forward_list: Ditto.
      	* include/std/list: Ditto.
      	* include/std/map: Ditto.
      	* include/std/set: Ditto.
      	* include/std/string: Ditto.
      	* include/std/unordered_map: Ditto.
      	* include/std/unordered_set: Ditto.
      	* include/std/vector: Ditto.
      	* testsuite/21_strings/basic_string/erasure.cc: New test.
      	* testsuite/23_containers/deque/erasure.cc: New test.
      	* testsuite/23_containers/forward_list/erasure.cc: New test.
      	* testsuite/23_containers/list/erasure.cc: New test.
      	* testsuite/23_containers/map/erasure.cc: New test.
      	* testsuite/23_containers/set/erasure.cc: New test.
      	* testsuite/23_containers/unordered_map/erasure.cc: New test.
      	* testsuite/23_containers/unordered_set/erasure.cc: New test.
      	* testsuite/23_containers/vector/erasure.cc: New test.
      
      From-SVN: r266567
      Edward Smith-Rowland committed
    • Apply resolution for LWG DR 3096 · bd6ccc29
      Add fix for "path::lexically_relative is confused by trailing slashes".
      
      	* doc/xml/manual/intro.xml: Document LWG 3096 change.
      	* src/filesystem/std-path.cc (path::lexically_relative(const path&)):
      	Treat a final empty element equivalently to a final dot element.
      	* testsuite/27_io/filesystem/path/generation/relative.cc: Add checks
      	for the examples in the DR.
      
      From-SVN: r266566
      Jonathan Wakely committed
    • PR libstdc++/83306 make filesystem_error no-throw copyable · 24d9b090
      The class API provides no way to modify the members, so we can share
      them between copies of the same object. Copying becomes a simple
      reference count update, which doesn't throw.
      
      Also adjust the what() string to allow distinguishing between an empty
      path passed to the constructor, and no path.
      
      	PR libstdc++/83306
      	* include/bits/fs_path.h (filesystem_error): Move data members into
      	pimpl class owned by shared_ptr. Remove inline definitions of member
      	functions.
      	* src/filesystem/std-path.cc (filesystem_error::_Impl): Define.
      	(filesystem_error): Define member functions.
      	* testsuite/27_io/filesystem/filesystem_error/cons.cc: New test.
      	* testsuite/27_io/filesystem/filesystem_error/copy.cc: New test.
      
      From-SVN: r266565
      Jonathan Wakely committed
    • Changed email ID to existing one. · 2b4be500
      From-SVN: r266563
      Sameera Deshpande committed
    • [libbacktrace] Fix segfault upon allocation failure · 18c742b5
      If the allocation of abbrevs->abbrevs in read_abbrevs fails, then
      abbrevs->num_abbrevs remains nonzero, and consequently free_abbrevs will
      segfault when accessing abbrevs->abbrevs.
      
      Fix this by setting abbrevs->num_abbrevs only after abbrevs->abbrevs
      allocation has succeeded.
      
      Bootstrapped and reg-tested on x86_64.
      
      2018-11-28  Tom de Vries  <tdevries@suse.de>
      
      	* dwarf.c (read_abbrevs): Fix handling of abbrevs->abbrevs allocation
      	failure.
      
      From-SVN: r266562
      Tom de Vries committed
    • re PR tree-optimization/88223 (Wrong code for intrinsic memmove) · 2bf8ae1b
      2018-11-28  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/88223
      	* tree-ssa-sccvn.c (vn_reference_lookup_3): When skipping
      	over a stored-same value may-alias store make sure to consider
      	partial overlaps which are valid when TBAA reasonings do not
      	apply and byte-granular overlaps are possible at all.
      
      	* gcc.dg/torture/pr88223.c: New testcase.
      
      From-SVN: r266560
      Richard Biener committed
    • Update C++17 library status docs · 5916922e
      	* doc/xml/manual/status_cxx2017.xml: Update C++17 status.
      	* doc/html/*: Regenerate.
      
      From-SVN: r266559
      Jonathan Wakely committed
    • re PR tree-optimization/88217 (Compile time and memory hog w/ -O2 -fstrict-enums… · a257ad46
      re PR tree-optimization/88217 (Compile time and memory hog w/ -O2 -fstrict-enums -fno-tree-forwprop -fno-tree-fre)
      
      2018-11-28  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/88217
      	* vr-values.c (vr_values::extract_range_from_phi_node): Make
      	sure to handle results > +INF and < -INF correctly when
      	trying to drop down to +INF - 1 or -INF + 1.
      
      	* g++.dg/pr88217.C: New testcase.
      
      From-SVN: r266557
      Richard Biener committed
    • [RS6000] Bootstrap failure compiling xcoffout.c · 20f65b56
      git commit 41f70262f (svn rev 264868) exposed a signed/unsigned
      comparison.  Fixed by matching the type of the local var to that of
      the tree field.
      
      	* xcoffout.c (do_block): Signed/unsigned warning fix.
      
      From-SVN: r266555
      Alan Modra committed
    • re PR testsuite/85368 (phi-opt-11 test fails on IBM Z) · dc7ca394
      	PR testsuite/85368
      	* gcc.dg/tree-ssa/phi-opt-11.c: For branch_cost targets, expect 0 ifs
      	rather than 0 or 2 depending on logical_op_short_circuit.
      
      From-SVN: r266552
      Jakub Jelinek committed
    • re PR tree-optimization/79351 (Invalid tree PRE optimization around compound literal) · aa2e903e
      2018-11-28  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/79351
      	* tree-ssa-sccvn.c (vn_reference_lookup_3): For assignments from
      	empty CONSTRUCTORs ensure the store is at a constant position.
      
      	* gcc.dg/torture/pr79351.c: New testcase.
      
      From-SVN: r266551
      Richard Biener committed
    • re PR fortran/88229 (ICE tree check: expected integer_cst, have nop_expr in… · 80e6a1ed
      re PR fortran/88229 (ICE tree check: expected integer_cst, have nop_expr in get_len, at tree.h:5608)
      
      2018-11-28  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/88229
      	* tree-ssa.c (non_rewritable_mem_ref_base): Check DECL_SIZE_UNIT
      	is an INTEGER_CST before accessing it so.
      
      From-SVN: r266550
      Richard Biener committed
    • [PATCH][GCC][DOC] Remove obsolete arm and aarch64 CPU names from invoke.texi · dcc4956c
      gcc/ChangeLog:
      
      2018-11-28  Sam Tebbs  <sam.tebbs@arm.com>
      
      	* doc/invoke.texi (-mtune=): Remove obsolete CPU names.
      
      From-SVN: r266549
      Sam Tebbs committed
    • re PR target/88189 (ix86_expand_sse_movcc and blend for scalars) · d132e873
      	PR target/88189
      	* config/i386/i386.c (ix86_expand_sse_movcc): Handle DFmode and
      	SFmode using sse4_1_blendvs[sd] with TARGET_SSE4_1.  Formatting fixes.
      	* config/i386/sse.md (sse4_1_blendv<ssemodesuffix>): New pattern.
      
      	* gcc.target/i386/sse4_1-pr88189-1.c: New test.
      	* gcc.target/i386/sse4_1-pr88189-2.c: New test.
      	* gcc.target/i386/avx-pr88189-1.c: New test.
      	* gcc.target/i386/avx-pr88189-2.c: New test.
      
      From-SVN: r266548
      Jakub Jelinek committed
    • re PR c++/87476 (char-array initialized from wide-string) · 62574f12
      	PR c++/87476
      	* typeck2.c (digest_init_r): Re-add handing of signed/unsigned char
      	strings and add it to the initialization of wide array from non-wide
      	string diagnostics too.
      
      	* g++.dg/cpp0x/pr87476-1.C: New test.
      	* g++.dg/cpp0x/pr87476-2.C: New test.
      
      From-SVN: r266547
      Jakub Jelinek committed
    • re PR sanitizer/88215 (UBSAN: Internal compiler error with attribute(unused)) · ace83db0
      	PR c++/88215
      	* c-ubsan.c: Include langhooks.h.
      	(ubsan_instrument_division): Change gcc_assert that main variants
      	of op0 and op1 types are equal to gcc_checking_assert that the
      	main variants are compatible types.
      
      	* c-c++-common/ubsan/pr88215.c: New test.
      
      From-SVN: r266546
      Jakub Jelinek committed
    • re PR tree-optimization/88182 (ICE in vectorizable_reduction, at tree-vect-loop.c:6465) · fc60283c
      2018-10-19  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/88182
      	* g++.dg/gomp/pr88182.C: Move from libgomp and use -fopenmp-simd.
      
      	* testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
      
      From-SVN: r266545
      Richard Biener committed
    • Add myself to MAINTAINERS · f9b4801c
      2018-11-28  Johannes Pfau  <johannespfau@gmail.com>
      
      	* MAINTAINERS (Write After Approval): Add myself.
      
      From-SVN: r266544
      Johannes Pfau committed
    • Daily bump. · 091d77df
      From-SVN: r266540
      GCC Administrator committed
  2. 27 Nov, 2018 15 commits