* pt.c (do_class_deduction): Handle 0 argument case.

From-SVN: r245665
This commit is contained in:
Jason Merrill 2017-02-22 17:55:26 -05:00 committed by Jason Merrill
parent e40b6fc7a1
commit 349c635163
3 changed files with 18 additions and 0 deletions

View File

@ -1,3 +1,7 @@
2017-02-22 Jason Merrill <jason@redhat.com>
* pt.c (do_class_deduction): Handle 0 argument case.
2017-02-22 Jakub Jelinek <jakub@redhat.com>
PR c++/79664

View File

@ -25126,6 +25126,14 @@ do_class_deduction (tree ptype, tree tmpl, tree init, int flags,
if (cands == NULL_TREE)
{
if (args->length() == 0)
{
/* Try tmpl<>. */
tree t = lookup_template_class (tmpl, NULL_TREE, NULL_TREE,
NULL_TREE, false, tf_none);
if (t != error_mark_node)
return t;
}
error ("cannot deduce template arguments for %qT, as it has "
"no deduction guides or user-declared constructors", type);
return error_mark_node;

View File

@ -0,0 +1,6 @@
// { dg-options -std=c++1z }
template <class T = void> struct A { };
A a{};