diff -r 995cf196fe69 tcc.c --- a/tcc.c Thu Sep 20 02:52:04 2007 -0500 +++ b/tcc.c Thu Sep 20 22:55:41 2007 +0200 @@ -6167,9 +6167,13 @@ static void post_type(CType *type, Attri next(); n = -1; if (tok != ']') { - n = expr_const(); - if (n < 0) - error("invalid array size"); + if(tok == TOK_RESTRICT1) + next(); + else { + n = expr_const(); + if (n < 0) + error("invalid array size"); + } } skip(']'); /* parse next post type */ @@ -6374,6 +6378,9 @@ static void unary(void) case TOK_EXTENSION: next(); goto tok_next; + case TOK_RESTRICT1: + next(); + break; case TOK_CINT: case TOK_CCHAR: case TOK_LCHAR: