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);