Refine Win32's s{GM|LOCAL}TIME_{min|max} values based on the output of
[p5sagit/p5-mst-13.2.git] / perly.y
diff --git a/perly.y b/perly.y
index ad7b552..381d1b7 100644 (file)
--- a/perly.y
+++ b/perly.y
@@ -72,7 +72,7 @@
 %token <i_tkval> FORMAT SUB ANONSUB PACKAGE USE
 %token <i_tkval> WHILE UNTIL IF UNLESS ELSE ELSIF CONTINUE FOR
 %token <i_tkval> GIVEN WHEN DEFAULT
-%token <i_tkval> LOOPEX DOTDOT
+%token <i_tkval> LOOPEX DOTDOT YADAYADA
 %token <i_tkval> FUNC0 FUNC1 FUNC UNIOP LSTOP
 %token <i_tkval> RELOP EQOP MULOP ADDOP
 %token <i_tkval> DOLSHARP DO HASHBRACK NOAMP
 %left <i_tkval> ','
 %right <i_tkval> ASSIGNOP
 %right <i_tkval> '?' ':'
-%nonassoc DOTDOT
+%nonassoc DOTDOT YADAYADA
 %left <i_tkval> OROR DORDOR
 %left <i_tkval> ANDAND
 %left <i_tkval> BITOROP
@@ -275,7 +275,7 @@ else        :       /* NULL */
                        }
        |       ELSIF '(' mexpr ')' mblock else
                        { PL_parser->copline = (line_t)IVAL($1);
-                           $$ = newCONDOP(0, $3, scope($5), $6);
+                           $$ = newCONDOP(0, newSTATEOP(OPf_SPECIAL,NULL,$3), scope($5), $6);
                            PL_hints |= HINT_BLOCK_SCOPE;
                          TOKEN_GETMAD($1,$$,'I');
                          TOKEN_GETMAD($2,$$,'(');
@@ -1227,6 +1227,11 @@ term     :       termbinop
                        }
        |       WORD
        |       listop
+       |       YADAYADA
+                       {
+                         $$ = newLISTOP(OP_DIE, 0, newOP(OP_PUSHMARK, 0),
+                               newSVOP(OP_CONST, 0, newSVpvs("Unimplemented")));
+                       }
        ;
 
 /* "my" declarations, with optional attributes */