fix Embed.t failure on windows: PERL_SYS_TERM() is implemented
[p5sagit/p5-mst-13.2.git] / perly_c.diff
index c15e95b..84c24f5 100644 (file)
@@ -1,6 +1,22 @@
---- perly.c.orig       Sun Jun 10 21:13:50 2001
-+++ perly.c    Sun Jun 10 21:13:51 2001
-@@ -50,70 +50,9 @@
+--- y.tab.c    Mon Sep 30 04:20:57 2002
++++ perly.c    Mon Sep 30 04:18:04 2002
+@@ -1,5 +1,5 @@
+ #ifndef lint
+-static char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley) 01/20/91";
++/* static char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley) 01/20/91"; */
+ #endif
+ #define YYBYACC 1
+ #line 16 "perly.y"
+@@ -9,7 +9,7 @@
+ #ifdef EBCDIC
+ #undef YYDEBUG
+ #endif
+-#define dep() deprecate("\"do\" to call subroutines")
++#define dep() deprecate_old("\"do\" to call subroutines")
+ /* stuff included here to make perly_c.diff apply better */
+@@ -50,72 +50,9 @@
  #define yylex yylex_r
  #endif
  
 -#define COLONATTR 298
 -#define PREC_LOW 299
 -#define OROP 300
--#define ANDOP 301
--#define NOTOP 302
--#define ASSIGNOP 303
--#define OROR 304
--#define ANDAND 305
--#define BITOROP 306
--#define BITANDOP 307
--#define SHIFTOP 308
--#define MATCHOP 309
--#define UMINUS 310
--#define REFGEN 311
--#define POWOP 312
--#define PREINC 313
--#define PREDEC 314
--#define POSTINC 315
--#define POSTDEC 316
--#define ARROW 317
+-#define DOROP 301
+-#define ANDOP 302
+-#define NOTOP 303
+-#define ASSIGNOP 304
+-#define OROR 305
+-#define DORDOR 306
+-#define ANDAND 307
+-#define BITOROP 308
+-#define BITANDOP 309
+-#define SHIFTOP 310
+-#define MATCHOP 311
+-#define UMINUS 312
+-#define REFGEN 313
+-#define POWOP 314
+-#define PREINC 315
+-#define PREDEC 316
+-#define POSTINC 317
+-#define POSTDEC 318
+-#define ARROW 319
 +#line 54 "perly.c"
  #define YYERRCODE 256
 -short yylhs[] = {                                        -1,
 +static short yylhs[] = {                                        -1,
-    54,    0,    8,    6,    9,    7,   10,   10,   10,   11,
-    11,   11,   11,   24,   24,   24,   24,   24,   24,   24,
-    14,   14,   14,   13,   13,   42,   42,   12,   12,   12,
-@@ -135,7 +74,7 @@
-    48,   33,   33,   34,   34,   34,   43,   23,   18,   19,
-    20,   21,   22,   35,   35,   35,   35,
+     0,    9,    7,    6,   10,    8,   11,   11,   11,   12,
+    12,   12,   12,   25,   25,   25,   25,   25,   25,   25,
+    15,   15,   15,   14,   14,   43,   43,   13,   13,   13,
+@@ -137,7 +74,7 @@
+    49,   49,   34,   34,   35,   35,   35,   44,   24,   19,
+    20,   21,   22,   23,   36,   36,   36,   36,
  };
 -short yylen[] = {                                         2,
 +static short yylen[] = {                                         2,
-     0,    2,    4,    0,    4,    0,    0,    2,    2,    2,
+     2,    4,    0,    0,    4,    0,    0,    2,    2,    2,
      1,    2,    3,    1,    1,    3,    3,    3,    3,    3,
      0,    2,    6,    7,    7,    0,    2,    8,    8,   10,
-@@ -157,7 +96,7 @@
-     1,    0,    1,    0,    1,    2,    1,    2,    2,    2,
-     2,    2,    2,    1,    1,    1,    1,
+@@ -159,7 +96,7 @@
+     1,    1,    0,    1,    0,    1,    2,    1,    2,    2,
+     2,    2,    2,    2,    1,    1,    1,    1,
  };
--short yydefred[] = {                                      1,
-+static short yydefred[] = {                                      1,
+-short yydefred[] = {                                      4,
++static short yydefred[] = {                                      4,
      0,    7,    0,   45,   58,   56,    0,   56,   56,    8,
     46,    9,   11,   48,    0,   47,   49,   50,    0,    0,
-     0,   70,   71,    0,   14,    4,  173,    0,    0,  154,
-@@ -199,7 +138,7 @@
-     0,   22,    0,    0,    0,   31,    5,    0,   30,    0,
-     0,   33,    0,   23,
+     0,   70,    0,   14,    3,  174,    0,    0,  155,    0,
+@@ -201,7 +138,7 @@
+    32,    0,    0,    0,   22,    0,    0,    0,   31,    5,
+     0,   30,    0,    0,   33,    0,   23,
  };
 -short yydgoto[] = {                                       1,
 +static short yydgoto[] = {                                       1,
-    10,   11,   20,  104,   19,   95,  370,   98,  359,    3,
-    12,   13,   70,  375,  285,   72,   73,   74,   75,   76,
-    77,   78,   79,  291,   81,  292,  281,  283,  286,  294,
-@@ -207,7 +146,7 @@
-   327,  156,  289,  271,  225,   14,   83,  137,   84,   85,
-    86,   87,   15,    2,   16,   17,   18,   93,  278,
+    10,   11,   20,  103,   19,    2,   94,  373,   97,  362,
+     3,   12,   13,   69,  378,  288,   71,   72,   73,   74,
+    75,   76,   77,   78,  294,   80,  295,  284,  286,  289,
+@@ -209,7 +146,7 @@
+   195,  330,  155,  292,  274,  226,   14,   82,  136,   83,
+    84,   85,   86,   15,   16,   17,   18,   92,  281,
  };
 -short yysindex[] = {                                      0,
 +static short yysindex[] = {                                      0,
-     0,    0, -132,    0,    0,    0,  -51,    0,    0,    0,
-     0,    0,    0,    0,  650,    0,    0,    0, -239, -215,
-     5,    0,    0, -215,    0,    0,    0,  -31,  -31,    0,
-@@ -249,7 +188,7 @@
-   449,    0, 2181, -150,  340,    0,    0,  355,    0,  216,
-   216,    0, -123,    0,
+     0,    0, -236,    0,    0,    0, -231,    0,    0,    0,
+     0,    0,    0,    0,  819,    0,    0,    0, -211, -209,
+     3,    0, -209,    0,    0,    0,  -32,  -32,    0,   23,
+@@ -251,7 +188,7 @@
+     0, 1859, -173,  350,    0, 2213, -173,  360,    0,    0,
+   361,    0,  221,  221,    0, -240,    0,
  };
 -short yyrindex[] = {                                      0,
 +static short yyrindex[] = {                                      0,
-     0,    0,  247,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,  274,    0,
+     0,    0,  371,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,  289,    0,
      0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-@@ -291,7 +230,7 @@
-   917,    0,    0,  119,    0,    0,    0,    0,    0,    0,
-     0,    0,  179,    0,
+@@ -293,7 +230,7 @@
+     0,  435,   90,  880,    0,    0,   90,    0,    0,    0,
+     0,    0,    0,    0,    0,  186,    0,
  };
 -short yygindex[] = {                                      0,
 +static short yygindex[] = {                                      0,
-     0,    0,  196,  425,    0,   -2,    0,   37,  634,  -94,
-     0,    0,    0, -323,  -15, 2445,    0,  999,  414,  417,
-     0,    0,    0,  463,  -43,    0,    0,  321, -198,  103,
-@@ -300,7 +239,7 @@
+     0,    0,   50,  453,    0,    0,  -22,    0,   63,  153,
+   -93,    0,    0,    0, -346,  -15, 2480,    0, 1744,  437,
+   439,    0,    0,    0,  481,  755,    0,    0,  341, -186,
+@@ -302,7 +239,7 @@
      0,    0,    0,    0,    0,    0,    0,    0,    0,
  };
- #define YYTABLESIZE 4568
--short yytable[] = {                                      71,
-+static short yytable[] = {                                      71,
-   197,   65,  121,  227,   65,  111,  220,   22,  198,  293,
-   139,  296,  315,  275,  305,  102,  273,   88,  113,  228,
-    60,  113,  279,   65,  317,   60,  182,  254,  325,  101,
-@@ -759,7 +698,7 @@
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,   77,   77,
+ #define YYTABLESIZE 5051
+-short yytable[] = {                                      70,
++static short yytable[] = {                                      70,
+   198,  300,   75,   64,   60,  280,  228,   60,  279,   64,
+   199,  328,  183,  257,  219,   62,  278,   64,  379,  186,
+    75,  110,  296,  188,   15,   21,  197,  170,   64,    4,
+@@ -810,7 +747,7 @@
+     0,    0,    0,    0,  114,  114,  114,    0,  114,  114,
+   114,
  };
 -short yycheck[] = {                                      15,
 +static short yycheck[] = {                                      15,
-    95,   36,   46,   41,   36,   40,   59,   59,  100,  208,
-    54,   41,   59,  199,   41,   40,  196,  257,   41,   93,
-   123,   44,  202,   36,   93,   59,   40,   40,   59,   29,
-@@ -1224,7 +1163,7 @@
+    94,   44,   41,   36,   59,   41,   41,  123,   44,   36,
+    99,   59,   40,   40,   40,   59,  200,   36,  365,   91,
+    59,   40,  209,   91,   41,  257,   93,   63,   59,  266,
+@@ -1324,7 +1261,7 @@
  #endif
- #define YYMAXTOKEN 317
+ #define YYMAXTOKEN 319
  #if YYDEBUG
 -char *yyname[] = {
 +static char *yyname[] = {
  "end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  "'!'",0,0,"'$'","'%'","'&'",0,"'('","')'","'*'","'+'","','","'-'",0,0,0,0,0,0,0,
  0,0,0,0,0,"':'","';'",0,0,0,"'?'","'@'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-@@ -1241,7 +1180,7 @@
- "ANDAND","BITOROP","BITANDOP","SHIFTOP","MATCHOP","UMINUS","REFGEN","POWOP",
- "PREINC","PREDEC","POSTINC","POSTDEC","ARROW",
+@@ -1341,7 +1278,7 @@
+ "DORDOR","ANDAND","BITOROP","BITANDOP","SHIFTOP","MATCHOP","UMINUS","REFGEN",
+ "POWOP","PREINC","PREDEC","POSTINC","POSTDEC","ARROW",
  };
 -char *yyrule[] = {
 +static char *yyrule[] = {
  "$accept : prog",
- "$$1 :",
- "prog : $$1 lineseq",
-@@ -1456,17 +1395,6 @@
+ "prog : progstart lineseq",
+ "block : '{' remember lineseq '}'",
+@@ -1557,17 +1494,6 @@
  #define YYMAXDEPTH 500
  #endif
  #endif
 -short yyss[YYSTACKSIZE];
 -YYSTYPE yyvs[YYSTACKSIZE];
 -#define yystacksize YYSTACKSIZE
- #line 789 "perly.y"
+ #line 795 "perly.y"
   /* PROGRAM */
  
-@@ -1477,7 +1405,7 @@
+@@ -1578,7 +1504,7 @@
  #endif
  #define yyparse() Perl_yyparse(pTHX)
  
--#line 1481 "y.tab.c"
-+#line 1481 "perly.c"
+-#line 1582 "y.tab.c"
++#line 1582 "perly.c"
  #define YYABORT goto yyabort
  #define YYACCEPT goto yyaccept
  #define YYERROR goto yyerrlab
-@@ -1485,10 +1413,30 @@
+@@ -1586,11 +1512,31 @@
  yyparse()
  {
      register int yym, yyn, yystate;
      register char *yys;
 -    extern char *getenv();
 +#endif
++
 +    struct ysv *ysave;
 +#ifdef USE_ITHREADS
 +    ENTER;                    /* force yydestruct() before we return */
 +    ysave->oldyychar  = yychar;
 +    ysave->oldyyval   = yyval;
 +    ysave->oldyylval  = yylval;
-+  
+-    if (yys = getenv("YYDEBUG"))
 +#if YYDEBUG
-     if (yys = getenv("YYDEBUG"))
++    if ((yys = getenv("YYDEBUG")))
      {
          yyn = *yys;
-@@ -1501,6 +1449,16 @@
+         if (yyn >= '0' && yyn <= '9')
+@@ -1602,12 +1548,22 @@
      yyerrflag = 0;
      yychar = (-1);
  
      yyssp = yyss;
      yyvsp = yyvs;
      *yyssp = yystate = 0;
-@@ -1516,7 +1474,7 @@
+ yyloop:
+-    if (yyn = yydefred[yystate]) goto yyreduce;
++    if ((yyn = yydefred[yystate])) goto yyreduce;
+     if (yychar < 0)
+     {
+         if ((yychar = yylex()) < 0) yychar = 0;
+@@ -1617,7 +1573,7 @@
              yys = 0;
              if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
              if (!yys) yys = "illegal-symbol";
                      yychar, yys);
          }
  #endif
-@@ -1526,12 +1484,24 @@
+@@ -1627,12 +1583,24 @@
      {
  #if YYDEBUG
          if (yydebug)
  #endif
          if (yyssp >= yyss + yystacksize - 1)
          {
--            goto yyoverflow;
 +          /*
 +          ** reallocate and recover.  Note that pointers
 +          ** have to be reset, or bad things will happen
 +          ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
 +          ysave->yyss = Renew(yyss, yystacksize, short);
 +          if (!yyvs || !yyss)
-+              goto yyoverflow;
+             goto yyoverflow;
 +          yyssp = yyss + yyps_index;
 +          yyvsp = yyvs + yypv_index;
          }
          *++yyssp = yystate = yytable[yyn];
          *++yyvsp = yylval;
-@@ -1549,12 +1519,12 @@
+@@ -1648,14 +1616,14 @@
+     }
+     if (yyerrflag) goto yyinrecovery;
  #ifdef lint
-     goto yynewerror;
+-    goto yynewerror;
++
  #endif
 -yynewerror:
 +
      yyerror("syntax error");
  #ifdef lint
-     goto yyerrlab;
+-    goto yyerrlab;
++
  #endif
 -yyerrlab:
 +
      ++yynerrs;
  yyinrecovery:
      if (yyerrflag < 3)
-@@ -1567,12 +1537,24 @@
+@@ -1668,12 +1636,24 @@
              {
  #if YYDEBUG
                  if (yydebug)
  #endif
                  if (yyssp >= yyss + yystacksize - 1)
                  {
--                    goto yyoverflow;
 +                  /*
 +                  ** reallocate and recover.  Note that pointers
 +                  ** have to be reset, or bad things will happen
 +                  ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
 +                  ysave->yyss = Renew(yyss, yystacksize, short);
 +                  if (!yyvs || !yyss)
-+                      goto yyoverflow;
+                     goto yyoverflow;
 +                  yyssp = yyss + yyps_index;
 +                  yyvsp = yyvs + yypv_index;
                  }
                  *++yyssp = yystate = yytable[yyn];
                  *++yyvsp = yylval;
-@@ -1582,7 +1564,7 @@
+@@ -1683,7 +1663,7 @@
              {
  #if YYDEBUG
                  if (yydebug)
                              *yyssp);
  #endif
                  if (yyssp <= yyss) goto yyabort;
-@@ -1600,7 +1582,7 @@
+@@ -1701,7 +1681,7 @@
              yys = 0;
              if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
              if (!yys) yys = "illegal-symbol";
                      yystate, yychar, yys);
          }
  #endif
-@@ -1610,7 +1592,7 @@
+@@ -1711,7 +1691,7 @@
  yyreduce:
  #if YYDEBUG
      if (yydebug)
                  yystate, yyn, yyrule[yyn]);
  #endif
      yym = yylen[yyn];
-@@ -2473,7 +2455,7 @@
- #line 786 "perly.y"
+@@ -2578,7 +2558,7 @@
+ #line 792 "perly.y"
  { yyval.opval = yyvsp[0].opval; }
  break;
--#line 2477 "y.tab.c"
-+#line 2477 "perly.c"
+-#line 2582 "y.tab.c"
++#line 2582 "perly.c"
      }
      yyssp -= yym;
      yystate = *yyssp;
-@@ -2483,7 +2465,7 @@
+@@ -2588,7 +2568,7 @@
      {
  #if YYDEBUG
          if (yydebug)
   state %d\n", YYFINAL);
  #endif
          yystate = YYFINAL;
-@@ -2498,7 +2480,7 @@
+@@ -2603,7 +2583,7 @@
                  yys = 0;
                  if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
                  if (!yys) yys = "illegal-symbol";
                          YYFINAL, yychar, yys);
              }
  #endif
-@@ -2513,20 +2495,54 @@
+@@ -2618,20 +2598,50 @@
          yystate = yydgoto[yym];
  #if YYDEBUG
      if (yydebug)
  #endif
      if (yyssp >= yyss + yystacksize - 1)
      {
--        goto yyoverflow;
 +      /*
 +      ** reallocate and recover.  Note that pointers
 +      ** have to be reset, or bad things will happen
 +      ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
 +      ysave->yyss = Renew(yyss, yystacksize, short);
 +      if (!yyvs || !yyss)
-+          goto yyoverflow;
+         goto yyoverflow;
 +      yyssp = yyss + yyps_index;
 +      yyvsp = yyvs + yypv_index;
      }
 +    return retval;
 +}
 +
-+#ifdef PERL_OBJECT
-+#include "XSUB.h"
-+#endif
-+
 +static void
-+yydestruct(pTHXo_ void *ptr)
++yydestruct(pTHX_ void *ptr)
 +{
 +    struct ysv* ysave = (struct ysv*)ptr;
 +    if (ysave->yyss) Safefree(ysave->yyss);