parser.c (cp_parser_declaration): Accept the __extension__ keyword before the declaration.
* parser.c (cp_parser_declaration): Accept the __extension__ keyword before the declaration. From-SVN: r60802
This commit is contained in:
parent
4971227d25
commit
1092805d38
2 changed files with 22 additions and 2 deletions
|
@ -1,5 +1,8 @@
|
|||
2003-01-02 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
* parser.c (cp_parser_declaration): Accept the __extension__
|
||||
keyword before the declaration.
|
||||
|
||||
PR c++/2843
|
||||
* parser.c (cp_parser_parameter_declaration): Allow attributes to
|
||||
appear after the declarator.
|
||||
|
@ -15,7 +18,7 @@
|
|||
(cp_parser_parsing_tentatively): Likewise.
|
||||
(cp_parser_nested_name_specifier_opt): Reduce the number of calls
|
||||
to the cp_lexer_peek_token.
|
||||
|
||||
|
||||
* parser.c (cp_parser_sizeof_operand): Do not evaluate the
|
||||
expression.
|
||||
|
||||
|
|
|
@ -6533,7 +6533,12 @@ cp_parser_declaration_seq_opt (parser)
|
|||
explicit-instantiation
|
||||
explicit-specialization
|
||||
linkage-specification
|
||||
namespace-definition */
|
||||
namespace-definition
|
||||
|
||||
GNU extension:
|
||||
|
||||
declaration:
|
||||
__extension__ declaration */
|
||||
|
||||
static void
|
||||
cp_parser_declaration (parser)
|
||||
|
@ -6541,6 +6546,18 @@ cp_parser_declaration (parser)
|
|||
{
|
||||
cp_token token1;
|
||||
cp_token token2;
|
||||
int saved_pedantic;
|
||||
|
||||
/* Check for the `__extension__' keyword. */
|
||||
if (cp_parser_extension_opt (parser, &saved_pedantic))
|
||||
{
|
||||
/* Parse the qualified declaration. */
|
||||
cp_parser_declaration (parser);
|
||||
/* Restore the PEDANTIC flag. */
|
||||
pedantic = saved_pedantic;
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
/* Try to figure out what kind of declaration is present. */
|
||||
token1 = *cp_lexer_peek_token (parser->lexer);
|
||||
|
|
Loading…
Add table
Reference in a new issue