diff --git a/ccmeta.leg b/ccmeta.leg index 1ffd313..2363758 100644 --- a/ccmeta.leg +++ b/ccmeta.leg @@ -1005,7 +1005,7 @@ oop listEnd(void) return list; } -oop List_addLast(oop list, oop obj) { +void List_addLast(oop list, oop obj) { assert(list); map_append(list, obj); } @@ -1317,9 +1317,9 @@ declaration = @{ C_declarationBegin() } declarationSpecifiers = @{ int specified= 0 } { listBegin() } ( s:storageClassSpecifier { listAppend(s) } | s:typeSpecifier @{ specified++ } { listAppend(s) } -#| | s:typedefName &{ !specified++ } { listAppend(s) } -#| | s:typeQualifier { listAppend(s) } -#| | s:functionSpecifier { listAppend(s) } + | s:typedefName &{ !specified++ } { listAppend(s) } + | s:typeQualifier { listAppend(s) } + | s:functionSpecifier { listAppend(s) } )+ { $$= listEnd() } | &{gnu} { $$= listEmpty() } @@ -1623,7 +1623,7 @@ externalDeclaration = { yylval = newComment(yytext); } | ( SEMI &{gnu} | c:constant { yylval = c; } #################| TODO | declaration -#| | functionDefinition + | functionDefinition #| | meta | &. &{ errmsg= "declaration expected" } error ) { yylval= $$; }