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
This commit is contained in:
parent
396a1d10b3
commit
d6c9a06fcf
4 changed files with 31 additions and 0 deletions
|
@ -1,3 +1,8 @@
|
|||
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
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
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.
|
||||
|
|
18
gcc/testsuite/g++.dg/cpp0x/variadic168.C
Normal file
18
gcc/testsuite/g++.dg/cpp0x/variadic168.C
Normal file
|
@ -0,0 +1,18 @@
|
|||
// 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" }
|
Loading…
Add table
Reference in a new issue