1. 05 Feb, 2019 22 commits
    • re PR rtl-optimization/11304 (Wrong code production with -fomit-frame-pointer) · 6fc4ecbc
      	PR rtl-optimization/11304
      	* gcc.target/i386/call-1.c (set_eax): Add "eax" clobber.
      	* gcc.target/i386/call-2.c: New test.
      
      From-SVN: r268562
      Jakub Jelinek committed
    • PR c++/89158 - by-value capture of constexpr variable broken. · 0d806438
      	* call.c (convert_like_real) <case ck_user>: Call mark_exp_read
      	instead of mark_rvalue_use.
      
      	* g++.dg/cpp0x/lambda/lambda-89158.C: New test.
      
      From-SVN: r268561
      Marek Polacek committed
    • compiler: check duplicate implicit indexes in slices/arrays · b81e1cd5
          
          Fixes golang/go#28186.
          
          Reviewed-on: https://go-review.googlesource.com/c/160832
      
      From-SVN: r268554
      Ian Lance Taylor committed
    • Fix pr84711.c testcase · 959dcbc8
      On powerpc64-linux, this testcase complains the ABI for vector args
      has changed, making the testcase fail (excess output).  This patch
      shuts up that warning.
      
      
      	* gcc.dg/vect/pr84711.c: Use -Wno-psabi.
      
      From-SVN: r268553
      Segher Boessenkool committed
    • S/390: Remove load and test fp splitter · 64c8e85a
      gcc/ChangeLog:
      
      2019-02-05  Andreas Krebbel  <krebbel@linux.ibm.com>
      
      	PR target/88856
      	* config/s390/s390.md: Remove load and test FP splitter.
      
      From-SVN: r268550
      Andreas Krebbel committed
    • re PR target/89112 (Incorrect code generated by rs6000 memcmp expansion) · faaeebd6
      2019-02-05  Aaron Sawdey  <acsawdey@linux.ibm.com>
      
      	PR target/89112
      	* config/rs6000/rs6000-string.c (do_ifelse, expand_cmp_vec_sequence,
      	expand_compare_loop, expand_block_compare_gpr,
      	expand_strncmp_align_check, expand_strncmp_gpr_sequence): Insert
      	REG_BR_PROB notes in inline expansion of memcmp/strncmp. Add
      	#include "profile-count.h" and "predict.h" for types and functions
      	needed to work with REG_BR_PROB notes.
      
      From-SVN: r268547
      Aaron Sawdey committed
    • re PR target/89112 (Incorrect code generated by rs6000 memcmp expansion) · 60f34f08
      2019-02-05  Aaron Sawdey  <acsawdey@linux.ibm.com>
      
      	PR target/89112
      	* config/rs6000/rs6000.md (<bd>tf_<mode>): Generate a local label
      	for the long branch case.
      
      From-SVN: r268546
      Aaron Sawdey committed
    • vec-extract-sint128-1.c: Require int128 effective target. · 44381cb6
      	* gcc.target/powerpc/vec-extract-sint128-1.c: Require int128 effective
      	target.
      	* gcc.target/powerpc/vec-extract-uint128-1.c: Likewise.
      
      From-SVN: r268545
      Jakub Jelinek committed
    • re PR target/89188 (ICE in pre_and_rev_post_order_compute, at cfganal.c:1055) · c6477561
      	PR target/89188
      	* dce.c (delete_unmarked_insns): Don't remove no-op moves if they
      	can throw, non-call exceptions are enabled and we can't delete
      	dead exceptions or alter cfg.  Set must_clean if
      	delete_insn_and_edges returns true, don't set it blindly for calls.
      	Assert that delete_unreachable_blocks is called only if can_alter_cfg.
      
      	* g++.dg/opt/pr89188.C: New test.
      
      From-SVN: r268544
      Jakub Jelinek committed
    • PR libstdc++/89194 untangle is_convertible and is_nothrow_convertible · ed99e818
      The additional logic added to __is_convertible_helper in order to
      support is_nothrow_convertible makes some uses of is_convertible
      ill-formed. This appears to be due to PR c++/87603, but can be avoided
      just by defining a separate helper for is_nothrow_convertible. The same
      problems are likely to still exist for is_nothrow_convertible, but that
      is new and so won't cause regressions for existing users of
      is_convertible.
      
      	PR libstdc++/89194
      	* include/std/type_traits (__is_convertible_helper)
      	(__is_convertible_helper<_From, _To, false>): Revert changes to
      	support is_nothrow_convertible.
      	(__is_nt_convertible_helper): New helper.
      	(is_nothrow_convertible): Use __is_nt_convertible_helper.
      
      From-SVN: r268543
      Jonathan Wakely committed
    • re PR rtl-optimization/89195 (Corrupted stack offset after combine) · 7356fbde
      	PR rtl-optimization/89195
      	* combine.c (make_extraction): For MEMs, don't extract bytes outside
      	of the original MEM.
      
      	* gcc.c-torture/execute/pr89195.c: New test.
      
      From-SVN: r268542
      Jakub Jelinek committed
    • vec-extract-slong-1.c: Require p8 execution hardware. · cff2ddc9
      gcc/testsuite/ChangeLog:
      
      2019-02-05  Kelvin Nilsen  <kelvin@gcc.gnu.org>
      
      	* gcc.target/powerpc/vec-extract-slong-1.c: Require p8 execution
      	hardware.
      	* gcc.target/powerpc/vec-extract-schar-1.c: Likewise.
      	* gcc.target/powerpc/vec-extract-sint128-1.c: Likewise.
      	* gcc.target/powerpc/vec-extract-sshort-1.c: Likewise.
      	* gcc.target/powerpc/vec-extract-ulong-1.c: Likewise.
      	* gcc.target/powerpc/vec-extract-uchar-1.c: Likewise.
      	* gcc.target/powerpc/vec-extract-sint-1.c: Likewise.
      	* gcc.target/powerpc/vec-extract-uint128-1.c: Likewise.
      	* gcc.target/powerpc/vec-extract-ushort-1.c: Likewise.
      	* gcc.target/powerpc/vec-extract-uint-1.c: Likewise.
      
      From-SVN: r268541
      Kelvin Nilsen committed
    • re PR tree-optimization/88606 (ICE: verify_type failed (error: type variant… · f461f938
      re PR tree-optimization/88606 (ICE: verify_type failed (error: type variant differs by TYPE_TRANSPARENT_AGGR))
      
      2019-02-05  Richard Biener  <rguenther@suse.de>
      
      	PR c/88606
      	* c-decl.c (finish_struct): Reset TYPE_TRANSPARENT_AGGR on
      	all type variants when not supported.
      
      From-SVN: r268540
      Richard Biener committed
    • Restore previous behaviour of test · 39bc6f87
      Go back to using CopyConsOnlyType as before r265485, because it works
      again now. Add test using DelAnyAssign for completeness and additional
      coverage.
      
      	* testsuite/23_containers/vector/modifiers/push_back/49836.cc: Restore
      	use of CopyConsOnlyType, but also test DelAnyAssign for completeness.
      
      From-SVN: r268539
      Jonathan Wakely committed
    • PR libstdc++/89130 restore support for non-MoveConstructible types · 258bd1d6
      The changes to "relocate" std::vector elements can lead to new errors
      outside the immediate context, because moving the elements to new
      storage no longer makes use of the move-if-noexcept utilities. This
      means that types with deleted moves no longer degenerate to copies, but
      are just ill-formed. The errors happen while instantiating the
      noexcept-specifier for __relocate_object_a, when deciding whether to try
      to relocate.
      
      This patch introduces indirections to avoid the ill-formed
      instantiations of std::__relocate_object_a. In order to avoid using
      if-constexpr prior to C++17 this is done by tag dispatching. After this
      patch all uses of std::__relocate_a are guarded by checks that will
      support sensible code (i.e. code not using custom allocators that fool
      the new checks).
      
      	PR libstdc++/89130
      	* include/bits/alloc_traits.h (__is_copy_insertable_impl): Rename to
      	__is_alloc_insertable_impl. Replace single type member with two
      	members, one for each of copy and move insertable.
      	(__is_move_insertable): New trait for internal use.
      	* include/bits/stl_vector.h (vector::_S_nothrow_relocate(true_type))
      	(vector::_S_nothrow_relocate(true_type)): New functions to
      	conditionally check if __relocate_a can throw.
      	(vector::_S_use_relocate()): Dispatch to _S_nothrow_relocate based
      	on __is_move_insertable.
      	(vector::_S_do_relocate): New overloaded functions to conditionally
      	call __relocate_a.
      	(vector::_S_relocate): New function that dispatches to _S_do_relocate
      	based on _S_use_relocate.
      	* include/bits/vector.tcc (vector::reserve, vector::_M_realloc_insert)
      	(vector::_M_default_append): Call _S_relocate instead of __relocate_a.
      	* testsuite/23_containers/vector/modifiers/push_back/89130.cc: New.
      
      From-SVN: r268537
      Jonathan Wakely committed
    • PR libstdc++/89090 avoid C++17 features in C++11/C++14 code · 27812872
      Although GCC and Clang both allow these features pre-C++17 in system
      headers, Clang does issue warnings with -Wsystem-headers. It can also
      complicate bisection and/or testcase reduction if # line markers are
      stripped, because the code won't be known to come from system headers.
      
      	PR libstdc++/89090
      	* include/bits/stl_uninitialized.h (__relocate_a_1): Make unused
      	parameter unnamed. Add message to static assertion.
      	* include/bits/vector.tcc (vector::reserve, vector::_M_realloc_insert)
      	(vector::_M_default_append): Use _GLIBCXX17_CONSTEXPR for if constexpr
      	in C++11 code.
      
      From-SVN: r268536
      Jonathan Wakely committed
    • GCOV: remove misleading branches and calls info for -f option (PR gcov-profile/89000). · e4b52fca
      2019-02-05  Martin Liska  <mliska@suse.cz>
      
      	PR gcov-profile/89000
      	* gcov.c (function_summary): Remove argument.
      	(file_summary): New function.
      	(print_usage): Replace tabs with spaces.
      	(generate_results): Use new function file_summary.
      
      From-SVN: r268533
      Martin Liska committed
    • Rename __is_trivially_relocatable to __is_bitwise_relocatable. · 9aa2470a
      2019-02-05  Marc Glisse  <marc.glisse@inria.fr>
      
      	PR libstdc++/87106
      	* include/bits/stl_uninitialized.h (__is_trivially_relocatable):
      	Rename...
      	(__is_bitwise_relocatable): ... to this.
      	(__relocate_a_1): Adapt.
      	* include/bits/stl_deque.h (__is_trivially_relocatable): Rename...
      	(__is_bitwise_relocatable): ... to this.
      
      From-SVN: r268532
      Marc Glisse committed
    • re PR target/89186 (ICE in mark_addressable at gcc/gimple-expr.c:894 since r268138) · c8010d70
      	PR target/89186
      	* optabs.c (prepare_cmp_insn): Pass x and y to
      	emit_block_comp_via_libcall rather than XEXP (x, 0) and XEXP (y, 0).
      
      	* g++.dg/ext/vector36.C: New test.
      
      From-SVN: r268531
      Jakub Jelinek committed
    • re PR middle-end/89150 (Tree form bitmaps break GC) · 7eeb6fc2
      2019-02-05  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/89150
      	* bitmap.h (struct bitmap_obstack): Do not mark GTY.
      	(struct bitmap_element): Drop chain_prev so we properly recurse on
      	the prev member, supporting tree views.
      	(struct bitmap_head): GTY skip the obstack member.
      
      From-SVN: r268530
      Richard Biener committed
    • [PR87770] test partial specializations for type dependence · e1bbb0bc
      When instantiating a partial specialization of a template member
      function for a full specialization of a class template, we test
      whether the context of variables local to the partial specialization,
      i.e., the partial specialization itself, is dependent, and this ICEs
      in type_dependent_expression_p, when checking that the function type
      isn't type-dependent because it is not in a type-dependent scope.
      
      We shouldn't have got that far: the previous block in
      type_dependent_expression_p catches cases in which the function itself
      takes template arguments of its own, but it only did so for primary
      templates, not for partial specializations.  This patch fixes that.
      
      
      for  gcc/cp/ChangeLog
      
      	PR c++/87770
      	* pt.c (instantiates_primary_template_p): New.
      	(type_dependent_expression_p): Use it.
      
      for  gcc/testsuite/ChangeLog
      
      	PR c++/87770
      	* g++.dg/pr87770.C: New.
      
      From-SVN: r268529
      Alexandre Oliva committed
    • Daily bump. · ca0107a7
      From-SVN: r268528
      GCC Administrator committed
  2. 04 Feb, 2019 16 commits
  3. 03 Feb, 2019 2 commits