(fndef, nested_function, notype_nested_function): Support attributes
authorRichard Kenner <kenner@gcc.gnu.org>
Wed, 14 Jun 1995 12:06:01 +0000 (08:06 -0400)
committerRichard Kenner <kenner@gcc.gnu.org>
Wed, 14 Jun 1995 12:06:01 +0000 (08:06 -0400)
after function definition.

From-SVN: r9942

gcc/c-parse.in

index bb4e33b042619cd8194badd850ed6510d977ea5f..ad6a343d8250bbf28c8fa5ced00338a38cfe5c3a 100644 (file)
@@ -27,10 +27,10 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
    written by AT&T, but I have never seen it.  */
 
 ifobjc
-%expect 48
+%expect 53
 end ifobjc
 ifc
-%expect 34
+%expect 39
 
 /* These are the 23 conflicts you should get in parse.output;
    the state numbers may vary if minor changes in the grammar are made.
@@ -338,8 +338,8 @@ datadef:
        ;
 \f
 fndef:
-         typed_declspecs setspecs declarator
-               { if (! start_function ($1, $3, prefix_attributes, 0))
+         typed_declspecs setspecs declarator maybe_attribute
+               { if (! start_function ($1, $3, prefix_attributes, $4, 0))
                    YYERROR1;
                  reinit_parse_for_function (); }
          xdecls
@@ -355,8 +355,8 @@ fndef:
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack);
                  resume_momentary ($2); }
-       | declmods setspecs notype_declarator
-               { if (! start_function ($1, $3, prefix_attributes, 0))
+       | declmods setspecs notype_declarator maybe_attribute
+               { if (! start_function ($1, $3, prefix_attributes, $4, 0))
                    YYERROR1;
                  reinit_parse_for_function (); }
          xdecls
@@ -372,8 +372,9 @@ fndef:
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack);
                  resume_momentary ($2); }
-       | setspecs notype_declarator
-               { if (! start_function (NULL_TREE, $2, prefix_attributes, 0))
+       | setspecs notype_declarator maybe_attribute
+               { if (! start_function (NULL_TREE, $2,
+                                       prefix_attributes, $3, 0))
                    YYERROR1;
                  reinit_parse_for_function (); }
          xdecls
@@ -1217,10 +1218,10 @@ end ifc
        ;
 \f
 nested_function:
-         declarator
+         declarator maybe_attribute
                { push_c_function_context ();
                  if (! start_function (current_declspecs, $1,
-                                       prefix_attributes, 1))
+                                       prefix_attributes, $2, 1))
                    {
                      pop_c_function_context ();
                      YYERROR1;
@@ -1240,10 +1241,10 @@ nested_function:
        ;
 
 notype_nested_function:
-         notype_declarator
+         notype_declarator maybe_attribute
                { push_c_function_context ();
                  if (! start_function (current_declspecs, $1,
-                                       prefix_attributes, 1))
+                                       prefix_attributes, $2, 1))
                    {
                      pop_c_function_context ();
                      YYERROR1;