Changeset 644
- Timestamp:
- 08/28/10 16:38:24 (1 year ago)
- Files:
-
- trunk/src/parse.c (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/src/parse.c
r633 r644 1707 1707 { int isvariadic = 0; 1708 1708 1709 while ( 1)1709 while (token.value != TOKrparen) 1710 1710 { TemplateParameter *tp; 1711 1711 Identifier *tp_ident = NULL; … … 1960 1960 1961 1961 // Get TemplateArgumentList 1962 if (token.value != endtok) 1963 { 1964 while (1) 1965 { 1962 while (token.value != endtok) 1963 { 1966 1964 // See if it is an Expression or a Type 1967 1965 if (isDeclaration(&token, 0, TOKreserved, NULL)) … … 2027 2025 break; 2028 2026 nextToken(); 2029 }2030 2027 } 2031 2028 check(endtok, "template argument list"); … … 5266 5263 5267 5264 nextToken(); 5268 if (token.value != TOKrbracket) 5269 { 5270 while (token.value != TOKeof) 5271 { 5265 while (token.value != TOKrbracket && token.value != TOKeof) 5266 { 5272 5267 Expression *e = parseAssignExp(); 5273 5268 if (token.value == TOKcolon && (keys || values->dim == 0)) … … 5287 5282 break; 5288 5283 check(TOKcomma); 5289 } 5290 } 5291 check(TOKrbracket); 5284 } 5285 check(loc, TOKrbracket); 5292 5286 5293 5287 if (keys) … … 5444 5438 { 5445 5439 nextToken(); 5446 while (1) 5447 { Expression *arg; 5448 5449 arg = parseAssignExp(); 5440 while (token.value != TOKrbracket && token.value != TOKeof) 5441 { 5442 Expression *arg = parseAssignExp(); 5450 5443 arguments->push(arg); 5451 5444 if (token.value == TOKrbracket) … … 6146 6139 { 6147 6140 nextToken(); 6148 if(token.value != endtok)6141 while (token.value != endtok) 6149 6142 { 6150 while (1)6151 {6152 6143 arg = parseAssignExp(); 6153 6144 arguments->push(arg); … … 6155 6146 break; 6156 6147 check(TOKcomma); 6157 }6158 6148 } 6159 6149 check(endtok);
