diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index cb78daa5d5537d0eec6e8a2ff75a7851c5ded468..858246061be0368bd10ed8936e385784d4815cfe 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2008-01-15 Andreas Tobler <a.tobler@schweiz.org> + + * parser.c (cp_parser_template_parameter): Fix C90 issue with mixing + declaration and code. Update copyright year. + 2008-01-15 Douglas Gregor <doug.gregor@gmail.com> PR c++/34399 diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c index 6462f35aaf8cb827287610f0ece0a1c9a2128a55..e66144812902b2a48575f764d9e2829832b5459f 100644 --- a/gcc/cp/parser.c +++ b/gcc/cp/parser.c @@ -1,6 +1,6 @@ /* C++ Parser. Copyright (C) 2000, 2001, 2002, 2003, 2004, - 2005, 2007 Free Software Foundation, Inc. + 2005, 2007, 2008 Free Software Foundation, Inc. Written by Mark Mitchell <mark@codesourcery.com>. This file is part of GCC. @@ -9318,6 +9318,7 @@ cp_parser_template_parameter (cp_parser* parser, bool *is_non_type, { cp_token *token; cp_parameter_declarator *parameter_declarator; + cp_declarator *id_declarator; tree parm; /* Assume it is a type parameter or a template parameter. */ @@ -9408,7 +9409,7 @@ cp_parser_template_parameter (cp_parser* parser, bool *is_non_type, cp_lexer_consume_token (parser->lexer); /* Find the name of the parameter pack. */ - cp_declarator *id_declarator = parameter_declarator->declarator; + id_declarator = parameter_declarator->declarator; while (id_declarator && id_declarator->kind != cdk_id) id_declarator = id_declarator->declarator;