optional parens around connstructor names
authorAldy Hernandez <aldyh@redhat.com>
Wed, 14 Feb 2001 13:58:49 +0000 (13:58 +0000)
committerAldy Hernandez <aldyh@gcc.gnu.org>
Wed, 14 Feb 2001 13:58:49 +0000 (13:58 +0000)
From-SVN: r39681

gcc/cp/ChangeLog
gcc/cp/parse.y

index e86e9fbf62cda4a63a3fd0a475a179957e5e8ba1..23d90952bd227bc96bef68a6d2f21d6632592317 100644 (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
index a9963ee7691498ea68e6da0de02e38966acfdb57..59ad4e6106424e7dc0a4534fecca9f0faf237333 100644 (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