Commit c484627c by Nathan Sidwell Committed by Nathan Sidwell

re PR c++/78488 (P0136R1 ICE when building call to inherited default constructor.)

	PR c++/78488
	* call.c (build_over_call): When checking ellipsis conversions for
	an inherited ctor, make sure there is at least one conversion.

	* g++.dg/cpp1z/inh-ctor37.C: New.

From-SVN: r244592
parent a711887e
2017-01-18 Nathan Sidwell <nathan@acm.org>
PR c++/78488
* call.c (build_over_call): When checking ellipsis conversions for
an inherited ctor, make sure there is at least one conversion.
2017-01-18 Jason Merrill <jason@redhat.com>
PR c++/78894 - ICE with class deduction and default arg
......
......@@ -7899,6 +7899,7 @@ build_over_call (struct z_candidate *cand, int flags, tsubst_flags_t complain)
could handle this by open-coding the inherited constructor rather than
defining it, but let's not bother now. */
if (!cp_unevaluated_operand
&& cand->num_convs
&& cand->convs[cand->num_convs-1]->ellipsis_p)
{
if (complain & tf_error)
......
2017-01-18 Nathan Sidwell <nathan@acm.org>
PR c++/78488
* g++.dg/cpp1z/inh-ctor37.C: New.
2017-01-18 Uros Bizjak <ubizjak@gmail.com>
PR rtl-optimization/78952
......
// { dg-do compile { target c++11 } }
// PR 78488, seg fault with inherited ctor
struct Foo { Foo() {} };
struct Bar : Foo {
using Foo::Foo;
Bar(void*);
};
int main() {
Bar f;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment