# HG changeset patch # User David Anderson # Date 1343674016 25200 # Node ID 3f23e4d55beb0e5d7e8f1b8926ba897c44292618 # Parent 85196d4d4181106bb8201a21e65b85c59ec267ef Support [] in variable declarations (semantic support already exists). diff -r 85196d4d4181 -r 3f23e4d55beb src/Parser.cpp --- a/src/Parser.cpp Mon Jul 30 11:38:32 2012 -0700 +++ b/src/Parser.cpp Mon Jul 30 11:46:56 2012 -0700 @@ -658,12 +658,13 @@ if (scanner_.peek() == TOK_LBRACKET) { postDimensions = new (pool_) ExpressionList(); while (match(TOK_LBRACKET)) { - Expression *dim = expression(); - if (!dim) - return NULL; - - if (!expect(TOK_RBRACKET)) - return NULL; + Expression *dim = NULL; + if (!match(TOK_RBRACKET)) { + if ((dim = expression()) == NULL) + return NULL; + if (!expect(TOK_RBRACKET)) + return NULL; + } if (!postDimensions->append(dim)) return NULL;