optional parens around connstructor names

From-SVN: r39681
This commit is contained in:
Aldy Hernandez 2001-02-14 13:58:49 +00:00 committed by Aldy Hernandez
parent bfc8e1e2c4
commit 4806765ec4
2 changed files with 17 additions and 4 deletions

View File

@ -1,3 +1,8 @@
2001-02-08 Aldy Hernandez <aldyh@redhat.com>
* cp/parse.y (component_constructor_declarator): allow optional
parenthesess around constructor class name.
2001-02-14 Nathan Sidwell <nathan@codesourcery.com>
* cp-tree.h (setup_vtbl_ptr): Move prototype to semantics.c

View File

@ -816,11 +816,19 @@ fn.def1:
YYERROR1; }
;
/* ANSI allows optional parentheses around constructor class names.
See ISO/IEC 14882:1998(E) 12.1. */
component_constructor_declarator:
SELFNAME '(' parmlist ')' cv_qualifiers exception_specification_opt
{ $$ = make_call_declarator ($1, $3, $5, $6); }
| SELFNAME LEFT_RIGHT cv_qualifiers exception_specification_opt
{ $$ = make_call_declarator ($1, empty_parms (), $3, $4); }
SELFNAME '(' parmlist ')' cv_qualifiers exception_specification_opt
{ $$ = make_call_declarator ($1, $3, $5, $6); }
| '(' SELFNAME ')' '(' parmlist ')' cv_qualifiers
exception_specification_opt
{ $$ = make_call_declarator ($2, $5, $7, $8); }
| SELFNAME LEFT_RIGHT cv_qualifiers exception_specification_opt
{ $$ = make_call_declarator ($1, empty_parms (), $3, $4); }
| '(' SELFNAME ')' LEFT_RIGHT cv_qualifiers exception_specification_opt
{ $$ = make_call_declarator ($2, empty_parms (), $5, $6); }
| self_template_type '(' parmlist ')' cv_qualifiers exception_specification_opt
{ $$ = make_call_declarator ($1, $3, $5, $6); }
| self_template_type LEFT_RIGHT cv_qualifiers exception_specification_opt