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.
;
\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
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
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
;
\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;
;
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;