re PR c++/59120 ([c++11] ICE with invalid template alias)
/cp 2014-04-28 Paolo Carlini <paolo.carlini@oracle.com> PR c++/59120 * parser.c (cp_parser_alias_declaration): Check return value of cp_parser_require. /testsuite 2014-04-28 Paolo Carlini <paolo.carlini@oracle.com> PR c++/59120 * g++.dg/cpp0x/alias-decl-43.C: New. From-SVN: r209857
This commit is contained in:
parent
2cbf2d9595
commit
a3879fa1a8
@ -1,3 +1,9 @@
|
||||
2014-04-28 Paolo Carlini <paolo.carlini@oracle.com>
|
||||
|
||||
PR c++/59120
|
||||
* parser.c (cp_parser_alias_declaration): Check return value of
|
||||
cp_parser_require.
|
||||
|
||||
2014-04-24 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* parser.c (cp_parser_omp_atomic): Allow seq_cst before
|
||||
|
@ -16142,15 +16142,8 @@ cp_parser_alias_declaration (cp_parser* parser)
|
||||
if (parser->num_template_parameter_lists)
|
||||
parser->type_definition_forbidden_message = saved_message;
|
||||
|
||||
if (type == error_mark_node)
|
||||
{
|
||||
cp_parser_skip_to_end_of_block_or_statement (parser);
|
||||
return error_mark_node;
|
||||
}
|
||||
|
||||
cp_parser_require (parser, CPP_SEMICOLON, RT_SEMICOLON);
|
||||
|
||||
if (cp_parser_error_occurred (parser))
|
||||
if (type == error_mark_node
|
||||
|| !cp_parser_require (parser, CPP_SEMICOLON, RT_SEMICOLON))
|
||||
{
|
||||
cp_parser_skip_to_end_of_block_or_statement (parser);
|
||||
return error_mark_node;
|
||||
|
@ -1,3 +1,8 @@
|
||||
2014-04-28 Paolo Carlini <paolo.carlini@oracle.com>
|
||||
|
||||
PR c++/59120
|
||||
* g++.dg/cpp0x/alias-decl-43.C: New.
|
||||
|
||||
2014-03-27 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||||
|
||||
PR fortran/59604
|
||||
|
4
gcc/testsuite/g++.dg/cpp0x/alias-decl-43.C
Normal file
4
gcc/testsuite/g++.dg/cpp0x/alias-decl-43.C
Normal file
@ -0,0 +1,4 @@
|
||||
// PR c++/59120
|
||||
// { dg-do compile { target c++11 } }
|
||||
|
||||
template<typename T> using X = int T::T*; // { dg-error "expected" }
|
Loading…
Reference in New Issue
Block a user