1. 05 Apr, 2019 4 commits
    • PR c++/89948 - ICE with break in statement-expr. · ce36ba09
      	* constexpr.c (cxx_eval_statement_list): Jumping out of a
      	statement-expr is non-constant.
      
      From-SVN: r270161
      Jason Merrill committed
    • PR c++/89966 - error with non-type auto tparm. · 950b198d
      My patch for PR 86932 broke this testcase by passing tf_partial to
      coerce_template_template_parms, which prevented do_auto_deduction from
      actually replacing the auto.
      
      	* pt.c (do_auto_deduction): Clear tf_partial.
      
      From-SVN: r270160
      Jason Merrill committed
    • PR c++/86986 - ICE with TTP with parameter pack. · 17838af9
      Three separate issues were breaking this testcase.  One, we were trying to
      look at the type of a template template parameter to see if it's a valid
      non-type template parameter.  Two, we were treating a parameter pack named
      in the type of a template parameter pack of a TTP pack as being one of the
      packs expanded by the outer pack.  Three, we weren't supplying all the
      necessary levels of template arguments when TTP matching.
      
      	* pt.c (coerce_template_parameter_pack): Only look at the type of a
      	non-type parameter pack.
      	(fixed_parameter_pack_p_1): Don't recurse into the type of a
      	non-type parameter pack.
      	(coerce_template_template_parms): Call add_outermost_template_args.
      
      From-SVN: r270159
      Jason Merrill committed
    • Daily bump. · 70604b02
      From-SVN: r270158
      GCC Administrator committed
  2. 04 Apr, 2019 11 commits
    • PR c++/89974 - ICE on a definition of a non-type specialization on a struct… · 187c6369
      PR c++/89974 - ICE on a definition of a non-type specialization on a struct object with pointer to member function
      
      PR c++/89974 - ICE on a definition of a non-type specialization on a struct object with pointer to member function
      PR c++/89878 - same specializations on a zero-initialized struct object as a non-type parameter treated as distinct
      PR c++/89833 - sorry, unimplemented: string literal in function template signature
      PR c++/47488 - sorry, unimplemented: string literal in function template signature
      
      gcc/cp/ChangeLog:
      
      	PR c++/89974
      	PR c++/89878
      	PR c++/89833
      	PR c++/47488
      	* decl.c (reshape_init_array_1): Strip trailing zero-initializers
      	from arrays of trivial type and known size.
      	* mangle.c (write_expression): Convert braced initializer lists
      	to STRING_CSTs.
      	(write_expression): Trim trailing zero-initializers from arrays
      	of trivial type.
      	(write_template_arg_literal): Mangle strings the same as braced
      	initializer lists.
      
      gcc/testsuite/ChangeLog:
      
      	PR c++/89974
      	PR c++/89878
      	PR c++/89833
      	PR c++/47488
      	* gcc/testsuite/g++.dg/abi/mangle69.C: New test.
      	* gcc/testsuite/g++.dg/abi/mangle70.C: New test.
      	* gcc/testsuite/g++.dg/abi/mangle71.C: New test.
      	* gcc/testsuite/g++.dg/abi/mangle72.C: New test.
      	* gcc/testsuite/g++.dg/cpp0x/constexpr-array19.C: New test.
      	* gcc/testsuite/g++.dg/cpp2a/nontype-class15.C: New test.
      	* gcc/testsuite/g++.dg/cpp2a/nontype-class16.C: New test.
      	* gcc/testsuite/g++.dg/init/array51.C: New test.
      
      From-SVN: r270155
      Martin Sebor committed
    • PR middle-end/89957 - ICE calling strnlen with an int128_t bound in a known range · 1a9b15a7
      PR middle-end/89957 - ICE calling strnlen with an int128_t bound in a known range
      PR middle-end/89911 - [9 Regression] ICE in get_attr_nonstring_decl
      
      gcc/ChangeLog:
      
      	PR middle-end/89957
      	PR middle-end/89911
      	* builtins.c (expand_builtin_strnlen): Make sure wi::ltu_p operands
      	have the same precision since the function crashes otherwise.
      	* calls.c (maybe_warn_nonstring_arg): Avoid assuming strnlen() call
      	has non-zero arguments.
      
      gcc/testsuite/ChangeLog:
      
      	PR middle-end/89957
      	PR middle-end/89911
      	* gcc.dg/Wstringop-overflow-13.c: New test.
      
      From-SVN: r270154
      Martin Sebor committed
    • PR middle-end/89934 - ICE on a call with fewer arguments to strncpy declared without prototype · 9a0cbb60
      gcc/ChangeLog:
      
      	PR middle-end/89934
      	* gimple-ssa-warn-restrict.c (builtin_access::builtin_access): Bail
      	out if the number of arguments is less than expected.
      
      gcc/testsuite/ChangeLog:
      
      	PR middle-end/89934
      	* gcc.dg/Wrestrict-19.c: New test.
      	* gcc.dg/Wrestrict-5.c: Add comment.  Remove unused code.
      
      From-SVN: r270152
      Martin Sebor committed
    • re PR target/89399 (ICE: RTL check: expected code 'set', 'clobber' or… · c2457887
      re PR target/89399 (ICE: RTL check: expected code 'set', 'clobber' or 'clobber_high', have 'parallel' in combine_reaching_defs, at ree.c:783)
      
      	PR rtl-optimization/89399
      	* ree.c (combine_set_extension): Use single_set rather than
      	digging into PATTERN for items on the candidate list.
      	(combine_reaching_defs): Likewise.
      
      	PR rtl-optimization/89399
      	* gcc.c-torture/compile/pr89399.c: New test.
      
      From-SVN: r270151
      Jeff Law committed
    • re PR fortran/89904 (ICE in gfortran starting with r270045) · aace91e2
      2019-04-04  Harald Anlauf  <anlauf@gmx.de>
      
      	PR fortran/89004
      	* check.c (gfc_check_transfer): Reject procedures as actual
      	arguments for SOURCE and MOLD of TRANSFER intrinsic.
      
      	PR fortran/89004
      	* gfortran.dg/pr85797.f90: Adjust testcase.
      
      From-SVN: r270150
      Harald Anlauf committed
    • re PR c++/65619 (friend declaration with template template parameter not recognized) · 3a36c180
      2019-04-04  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/65619
      	* g++.dg/template/friend67.C: New.
      
      From-SVN: r270146
      Paolo Carlini committed
    • re PR c++/61327 (Problem with friend template object) · a7f70a09
      2019-04-04  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/61327
      	* g++.dg/cpp0x/friend4.C: New.
      	* g++.dg/cpp0x/friend5.C: Likewise.
      
      From-SVN: r270145
      Paolo Carlini committed
    • re PR c++/56643 (Failure to match noexcept specifier of friend template function in template class) · 7b74bfb1
      2019-04-04  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/56643
      	* g++.dg/cpp0x/noexcept40.C: New.
      
      From-SVN: r270144
      Paolo Carlini committed
    • Fix typo in ChangeLog · f97cd76e
      From-SVN: r270143
      Christophe Lyon committed
    • DF usage in loop-invariant.c (PR46590) · 6541e97d
      - df_live is already present at -O2, so we only need to add it and
        mark all blocks dirty for -O
      
      - df_process_deferred_rescans should be enough to force a rescan of
        blocks affected by moving invariants, but calling it in find_defs
        means that we don't do any rescans for the final loop
      
      2019-04-04  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/
      	PR rtl-optimization/46590
      	* loop-invariant.c (find_defs): Move df_remove_problem and
      	df_process_deferred_rescans to move_invariants.
      	Move df_live_add_problem and df_live_set_all_dirty calls
      	to move_invariants.
      	(move_invariants): Likewise.
      	(move_loop_invariants): Likewise, making the df_live calls
      	conditional on -O.  Remove the problem again if we added it
      	locally.
      
      From-SVN: r270142
      Richard Sandiford committed
    • Daily bump. · 325d3f46
      From-SVN: r270141
      GCC Administrator committed
  3. 03 Apr, 2019 21 commits
  4. 02 Apr, 2019 4 commits