1. 05 Feb, 2019 12 commits
    • 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 6 commits
  4. 02 Feb, 2019 6 commits
    • re PR fortran/81344 (Can't disable -ffpe-trap (or not documented)) · 1bdfc7aa
      2019-02-02  Dominique d'Humieres  <dominiq@gcc.gnu.org>
      
      	PR fortran/81344
      	* invoke.texi: Document the behavior of repeated -ffpe-trap
      	and -ffpe-summary.
      
      From-SVN: r268480
      Dominique d'Humieres committed
    • re PR fortran/88298 (Bogus conversion warning for CSHIFT with -fno-range-check -m64) · 5197d799
      2019-02-02  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/88298
      	* arith.c (gfc_int2int): Do not warn if src->do_not_warn is set.
      	* gfortran.h (gfc_expr): Add flag do_not_warn.
      	* intrinsic.c (gfc_convert_type_warn): Set expr->do_not_warn if
      	no warning is desired.
      
      2019-02-02  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/88298
      	* gfortran.dg/warn_conversion_10.f90: New test.
      
      From-SVN: r268475
      Thomas Koenig committed
    • re PR fortran/88393 ([OOP] Segfault with type-bound assignment) · a3df90b9
      2019-02-02  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/88393
      	* trans-expr.c (gfc_conv_procedure_call): For derived entities,
      	passed in parentheses to class formals, invert the order of
      	copying allocatable components to taking the _data of the
      	class expression.
      
      2019-02-02  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/88393
      	* gfortran.dg/alloc_comp_assign_16.f03 : New test.
      
      From-SVN: r268474
      Paul Thomas committed
    • re PR fortran/88980 (segfault on allocatable string member assignment) · da46c08e
      2019-02-02  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/88980
      	* trans-array.c (gfc_array_init_size): Add element_size to the
      	arguments.
      	(gfc_array_allocate): Remove the recalculation of the size of
      	the element and use element_size from the call to the above.
      	Unconditionally set the span field of the descriptor.
      
      2019-02-02  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/88980
      	* gfortran.dg/realloc_on_assign_32.f90 : New test.
      
      From-SVN: r268473
      Paul Thomas committed
    • re PR fortran/88685 (pointer class array argument indexing) · 6bb45a6b
      2019-02-02  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/88685
      	* expr.c (is_subref_array): Move the check for class pointer
      	dummy arrays to after the reference check. If we haven't seen
      	an array reference other than an element and a component is not
      	class or derived, return false.
      
      2019-02-02  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/88685
      	* gfortran.dg/pointer_array_component_3.f90 : New test.
      
      From-SVN: r268472
      Paul Thomas committed
    • PR c++/88761 - ICE with reference capture of constant. · 01826160
      Here, we capture nf, then the use of the proxy decays to a constant during
      semantic processing of +nf.  Since we saw some decay from proxy to constant,
      we walk through the lambda body to see which proxies are still used, but we
      weren't walking into subtrees of DECL_EXPR at all, so we missed the use of
      &nf in the initializer of y, and removed the capture.  But then at
      instantiation time we try to use nf, don't have a proxy anymore, and ICE.
      
      	* lambda.c (mark_const_cap_r): Do walk subtrees of DECL_EXPR for
      	non-proxy decls.
      
      From-SVN: r268471
      Jason Merrill committed