diff options
author | Aldy Hernandez <aldyh@redhat.com> | 2001-02-14 13:58:49 +0000 |
---|---|---|
committer | Aldy Hernandez <aldyh@gcc.gnu.org> | 2001-02-14 13:58:49 +0000 |
commit | 4806765ec47c11611b78a58908db872b1600e45f (patch) | |
tree | 0cbb0f7db8e4508a1059ca75ea6c99a3de67183a | |
parent | bfc8e1e2c423851901d3bfb94bcf7ee220adfb23 (diff) | |
download | gcc-4806765ec47c11611b78a58908db872b1600e45f.zip gcc-4806765ec47c11611b78a58908db872b1600e45f.tar.gz gcc-4806765ec47c11611b78a58908db872b1600e45f.tar.bz2 |
optional parens around connstructor names
From-SVN: r39681
-rw-r--r-- | gcc/cp/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cp/parse.y | 16 |
2 files changed, 17 insertions, 4 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index e86e9fb..23d9095 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -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 diff --git a/gcc/cp/parse.y b/gcc/cp/parse.y index a9963ee..59ad4e6 100644 --- a/gcc/cp/parse.y +++ b/gcc/cp/parse.y @@ -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 |