PPPort IVSIZE and SvPV_nolen
[p5sagit/p5-mst-13.2.git] / perly_c.diff
index c15e95b..a1be108 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 @@
+--- perly.c.orig       Mon Aug  5 15:02:10 2002
++++ perly.c    Mon Aug  5 15:08:41 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,   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,    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,   71,    0,   14,    3,  175,    0,    0,  156,
+@@ -201,7 +138,7 @@
+     0,   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,  104,   19,    2,   95,  374,   98,  363,
+     3,   12,   13,   70,  379,  289,   72,   73,   74,   75,
+    76,   77,   78,   79,  295,   81,  296,  285,  287,  290,
+@@ -209,7 +146,7 @@
+   196,  331,  156,  293,  275,  227,   14,   83,  137,   84,
+    85,   86,   87,   15,   16,   17,   18,   93,  282,
  };
 -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, -183,    0,    0,    0,  -57,    0,    0,    0,
+     0,    0,    0,    0,  820,    0,    0,    0, -222, -208,
+     7,    0,    0, -208,    0,    0,    0,  -31,  -31,    0,
+@@ -251,7 +188,7 @@
+   179,    0, 1860, -168,  352,    0, 2214, -168,  298,    0,
+     0,  299,    0,  179,  179,    0, -256,    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,  372,    0,    0,    0,    0,    0,    0,    0,
+     0,    0,    0,    0,    0,    0,    0,    0,  219,    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,    0,  370,   91,  881,    0,    0,   91,    0,    0,
+     0,    0,    0,    0,    0,    0,  187,    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,   29,  378,    0,    0,  -55,    0,  676,  567,
+   -94,    0,    0,    0, -355,  -15, 2480,    0,  650,  364,
+   380,    0,    0,    0,  412,  755,    0,    0,  291, -202,
+@@ -302,7 +239,7 @@
      0,    0,    0,    0,    0,    0,    0,    0,    0,
  };
- #define YYTABLESIZE 4568
+ #define YYTABLESIZE 5052
 -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,
+   199,   22,   60,  229,   65,   65,  222,  297,   60,  111,
+   380,  200,  279,  329,   65,  300,   62,   64,  258,  377,
+   378,  161,   15,  184,  161,  220,  230,  187,   65,   67,
+@@ -810,7 +747,7 @@
+     0,    0,    0,    0,    0,  115,  115,  115,    0,  115,
+   115,  115,
  };
 -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 @@
+    95,   59,   59,   41,   36,   36,   59,  210,  123,   40,
+   366,  100,  201,   59,   36,   41,   59,   59,   40,  276,
+   277,   41,   41,   40,   44,   40,   93,   91,   36,   37,
+@@ -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 '}'",
+@@ -1558,17 +1495,6 @@
  #define YYMAXDEPTH 500
  #endif
  #endif
 -short yyss[YYSTACKSIZE];
 -YYSTYPE yyvs[YYSTACKSIZE];
 -#define yystacksize YYSTACKSIZE
- #line 789 "perly.y"
+ #line 797 "perly.y"
   /* PROGRAM */
  
-@@ -1477,7 +1405,7 @@
+@@ -1579,7 +1505,7 @@
  #endif
  #define yyparse() Perl_yyparse(pTHX)
  
--#line 1481 "y.tab.c"
-+#line 1481 "perly.c"
+-#line 1583 "y.tab.c"
++#line 1509 "perly.c"
  #define YYABORT goto yyabort
  #define YYACCEPT goto yyaccept
  #define YYERROR goto yyerrlab
-@@ -1485,10 +1413,30 @@
+@@ -1587,11 +1513,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')
+@@ -1603,12 +1549,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;
+@@ -1618,7 +1574,7 @@
              yys = 0;
              if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
              if (!yys) yys = "illegal-symbol";
                      yychar, yys);
          }
  #endif
-@@ -1526,12 +1484,24 @@
+@@ -1628,12 +1584,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 @@
+@@ -1649,14 +1617,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 @@
+@@ -1669,12 +1637,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 @@
+@@ -1684,7 +1664,7 @@
              {
  #if YYDEBUG
                  if (yydebug)
                              *yyssp);
  #endif
                  if (yyssp <= yyss) goto yyabort;
-@@ -1600,7 +1582,7 @@
+@@ -1702,7 +1682,7 @@
              yys = 0;
              if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
              if (!yys) yys = "illegal-symbol";
                      yystate, yychar, yys);
          }
  #endif
-@@ -1610,7 +1592,7 @@
+@@ -1712,7 +1692,7 @@
  yyreduce:
  #if YYDEBUG
      if (yydebug)
                  yystate, yyn, yyrule[yyn]);
  #endif
      yym = yylen[yyn];
-@@ -2473,7 +2455,7 @@
- #line 786 "perly.y"
+@@ -2583,7 +2563,7 @@
+ #line 794 "perly.y"
  { yyval.opval = yyvsp[0].opval; }
  break;
--#line 2477 "y.tab.c"
-+#line 2477 "perly.c"
+-#line 2587 "y.tab.c"
++#line 2567 "perly.c"
      }
      yyssp -= yym;
      yystate = *yyssp;
-@@ -2483,7 +2465,7 @@
+@@ -2593,7 +2573,7 @@
      {
  #if YYDEBUG
          if (yydebug)
   state %d\n", YYFINAL);
  #endif
          yystate = YYFINAL;
-@@ -2498,7 +2480,7 @@
+@@ -2608,7 +2588,7 @@
                  yys = 0;
                  if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
                  if (!yys) yys = "illegal-symbol";
                          YYFINAL, yychar, yys);
              }
  #endif
-@@ -2513,20 +2495,54 @@
+@@ -2623,20 +2603,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);