diff --git a/src/parser/parser.l b/src/parser/parser.l index 526bc92..39ce1ab 100644 --- a/src/parser/parser.l +++ b/src/parser/parser.l @@ -122,6 +122,7 @@ continue return CONTINUE; sizeof return SIZEOF; __attribute__ return ATTRIBUTE; +__restrict return RESTRICT; L?'[^\\]' return CHAR_CONST; L?'\\.' return CHAR_CONST; diff --git a/src/parser/parser.yc b/src/parser/parser.yc index 35125d0..08d82f2 100644 --- a/src/parser/parser.yc +++ b/src/parser/parser.yc @@ -113,6 +113,7 @@ int yylex(YYSTYPE *, YYLTYPE *); %token TYPE_NAME; %token ATTRIBUTE; +%token RESTRICT; %start translation_unit @@ -415,6 +416,7 @@ enumerator type_qualifier : CONST | VOLATILE + | RESTRICT ; declarator @@ -447,7 +449,6 @@ type_qualifier_list | type_qualifier_list type_qualifier ; - parameter_type_list : parameter_list | parameter_list COMMA ELLIPSIS