Mercurial > projects > dil
changeset 244:829fdb2e2915
- Fix: parsing at least one argument in pragma declarations/statements.
author | aziz |
---|---|
date | Wed, 01 Aug 2007 12:03:00 +0000 |
parents | 461e544ebb53 |
children | 93d37f874658 |
files | trunk/src/Parser.d |
diffstat | 1 files changed, 16 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/trunk/src/Parser.d Wed Aug 01 11:12:00 2007 +0000 +++ b/trunk/src/Parser.d Wed Aug 01 12:03:00 2007 +0000 @@ -657,9 +657,15 @@ require(T.LParen); ident = requireIdentifier(); - // TODO: pragma(msg,) shouldn't be allowed if (token.type == T.Comma) - args = parseArguments(T.RParen); + { + // Parse at least one argument. + nT(); + args ~= parseAssignExpression(); + } + + if (token.type == T.Comma) + args ~= parseArguments(T.RParen); else require(T.RParen); @@ -2163,7 +2169,14 @@ ident = requireIdentifier(); if (token.type == T.Comma) - args = parseArguments(T.RParen); + { + // Parse at least one argument. + nT(); + args ~= parseAssignExpression(); + } + + if (token.type == T.Comma) + args ~= parseArguments(T.RParen); else require(T.RParen);