Commit d6c9a06f by Paolo Carlini Committed by Paolo Carlini

re PR c++/69095 (internal compiler error: in dependent_type_p, at cp/pt.c:19399)

/cp
2016-05-22  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/69095
	* parser.c (cp_parser_default_argument): Call
	check_for_bare_parameter_packs.
	(cp_parser_late_parsing_default_args): Likewise.

/testsuite
2016-05-22  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/69095
	* g++.dg/cpp0x/variadic168.C: New.

From-SVN: r236610
parent 396a1d10
2016-05-23 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/69095
* parser.c (cp_parser_initializer): Use check_for_bare_parameter_packs.
2016-05-23 Paolo Carlini <paolo.carlini@oracle.com>
* pt.c (check_for_bare_parameter_packs): Improve error message
location for expressions.
......
......@@ -20800,6 +20800,9 @@ cp_parser_initializer (cp_parser* parser, bool* is_direct_init,
init = error_mark_node;
}
if (check_for_bare_parameter_packs (init))
init = error_mark_node;
return init;
}
2016-05-23 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/69095
* g++.dg/cpp0x/variadic168.C: New.
2016-05-23 Paolo Carlini <paolo.carlini@oracle.com>
* g++.dg/cpp0x/pr31445.C: Test column number too.
* g++.dg/cpp0x/pr32253.C: Likewise.
* g++.dg/cpp0x/variadic-ex13.C: Likewise.
......
// PR c++/69095
// { dg-do compile { target c++11 } }
struct B1 {
template <typename Ret, typename... Args, unsigned = sizeof(Args)> // { dg-error "parameter packs not expanded" }
void insert(Ret);
};
struct B2 {
template <typename Ret, typename... Args>
void insert(Ret, unsigned = sizeof(Args)); // { dg-error "parameter packs not expanded" }
};
template <typename Ret, typename... Args, unsigned = sizeof(Args)> // { dg-error "parameter packs not expanded" }
void insert1(Ret);
template <typename Ret, typename... Args>
void insert2(Ret, unsigned = sizeof(Args)); // { dg-error "parameter packs not expanded" }
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