using_reentrant
: using_reentrant_interrupt
- | using_reentrant_interrupt using_reentrant { $$ = mergeSpec($1,$2); }
+ | using_reentrant_interrupt using_reentrant { $$ = mergeSpec($1,$2,"using_reentrant"); }
;
using_reentrant_interrupt
sym_link *lnk = $2 ;
while (lnk && !IS_SPEC(lnk->next))
lnk = lnk->next;
- lnk->next = mergeSpec($1,lnk->next);
+ lnk->next = mergeSpec($1,lnk->next, yytext);
$$ = $2 ;
}
else
- $$ = mergeSpec($1,$2);
+ $$ = mergeSpec($1,$2, yytext);
}
| type_specifier { $$ = $1; }
| type_specifier declaration_specifiers {
sym_link *lnk = $2 ;
while (lnk && !IS_SPEC(lnk->next))
lnk = lnk->next;
- lnk->next = mergeSpec($1,lnk->next);
+ lnk->next = mergeSpec($1,lnk->next, yytext);
$$ = $2 ;
}
else
- $$ = mergeSpec($1,$2);
+ $$ = mergeSpec($1,$2, yytext);
}
;
enumerator_list
: enumerator
+ | enumerator_list ',' {
+ }
| enumerator_list ',' enumerator {
$3->next = $1 ;
$$ = $3 ;
type_specifier_list
: type_specifier
- | type_specifier_list type_specifier { $$ = mergeSpec ($1,$2); }
+ | type_specifier_list type_specifier { $$ = mergeSpec ($1,$2, "type_specifier_list"); }
;
parameter_identifier_list