This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
make CAT2() portable for use as a macro argument with an extra
[perl5.git] / perly_c.diff
index 463df80..0b73880 100644 (file)
-*** perly.c.orig       Mon Jul 26 03:27:57 1999
---- perly.c    Mon Jul 26 02:47:03 1999
+*** y.tab.c.orig       Thu Aug 26 22:31:26 1999
+--- y.tab.c    Thu Aug 26 22:32:22 1999
 ***************
-*** 8,91 ****
-  #include "perl.h"
-  
-  #define dep() deprecate("\"do\" to call subroutines")
-  
-! #line 27 "perly.y"
-! /* I sense a Big Blue pattern here... */
-! #if !defined(OEMVS) && !defined(__OPEN_VM) && !defined(POSIX_BC)
-! #line 31 "perly.y"
-! typedef union {
-!     I32      ival;
-!     char *pval;
-!     OP *opval;
-!     GV *gvval;
-! } YYSTYPE;
-! #line 39 "perly.y"
-! #endif /* !OEMVS && !__OPEN_VM && !POSIX_BC */
-  
-! #ifdef USE_PURE_BISON
-! #define YYLEX_PARAM (&yychar)
-! #endif
-! #line 29 "y.tab.c"
-! #define WORD 257
-! #define METHOD 258
-! #define FUNCMETH 259
-! #define THING 260
-! #define PMFUNC 261
-! #define PRIVATEREF 262
-! #define FUNC0SUB 263
-! #define UNIOPSUB 264
-! #define LSTOPSUB 265
-! #define LABEL 266
-! #define FORMAT 267
-! #define SUB 268
-! #define ANONSUB 269
-! #define PACKAGE 270
-! #define USE 271
-! #define WHILE 272
-! #define UNTIL 273
-! #define IF 274
-! #define UNLESS 275
-! #define ELSE 276
-! #define ELSIF 277
-! #define CONTINUE 278
-! #define FOR 279
-! #define LOOPEX 280
-! #define DOTDOT 281
-! #define FUNC0 282
-! #define FUNC1 283
-! #define FUNC 284
-! #define UNIOP 285
-! #define LSTOP 286
-! #define RELOP 287
-! #define EQOP 288
-! #define MULOP 289
-! #define ADDOP 290
-! #define DOLSHARP 291
-! #define DO 292
-! #define HASHBRACK 293
-! #define NOAMP 294
-! #define LOCAL 295
-! #define MY 296
-! #define PREC_LOW 297
-! #define OROP 298
-! #define ANDOP 299
-! #define NOTOP 300
-! #define ASSIGNOP 301
-! #define OROR 302
-! #define ANDAND 303
-! #define BITOROP 304
-! #define BITANDOP 305
-! #define SHIFTOP 306
-! #define MATCHOP 307
-! #define UMINUS 308
-! #define REFGEN 309
-! #define POWOP 310
-! #define PREINC 311
-! #define PREDEC 312
-! #define POSTINC 313
-! #define POSTDEC 314
-! #define ARROW 315
-  #define YYERRCODE 256
-! short yylhs[] = {                                        -1,
-     46,    0,    9,    7,   10,    8,   11,   11,   11,   12,
-     12,   12,   12,   25,   25,   25,   25,   25,   25,   25,
---- 8,25 ----
-  #include "perl.h"
-  
-+ #define yydebug          PL_yydebug
-+ #define yynerrs          PL_yynerrs
-+ #define yyerrflag   PL_yyerrflag
-+ #define yychar           PL_yychar
-+ #define yyval            PL_yyval
-+ #define yylval           PL_yylval
-+ 
-  #define dep() deprecate("\"do\" to call subroutines")
-  
-! static void yydestruct(pTHXo_ void *ptr);
-  
-! #line 27 "perly.y"
-  #define YYERRCODE 256
-! static short yylhs[] = {                                 -1,
-     46,    0,    9,    7,   10,    8,   11,   11,   11,   12,
-     12,   12,   12,   25,   25,   25,   25,   25,   25,   25,
-***************
-*** 107,111 ****
-     24,   19,   20,   21,   22,   23,   36,   36,   36,   36,
-  };
-! short yylen[] = {                                         2,
-      0,    2,    4,    0,    4,    0,    0,    2,    2,    2,
-      1,    2,    3,    1,    1,    3,    3,    3,    3,    3,
---- 41,45 ----
-     24,   19,   20,   21,   22,   23,   36,   36,   36,   36,
-  };
-! static short yylen[] = {                                  2,
-      0,    2,    4,    0,    4,    0,    0,    2,    2,    2,
-      1,    2,    3,    1,    1,    3,    3,    3,    3,    3,
-***************
-*** 127,131 ****
-      2,    2,    2,    2,    2,    2,    1,    1,    1,    1,
-  };
-! short yydefred[] = {                                      1,
-      0,    7,    0,   45,   56,   54,    0,   54,    8,   46,
-      9,   11,    0,   47,   48,   49,    0,    0,    0,   63,
---- 61,65 ----
-      2,    2,    2,    2,    2,    2,    1,    1,    1,    1,
-  };
-! static short yydefred[] = {                               1,
-      0,    7,    0,   45,   56,   54,    0,   54,    8,   46,
-      9,   11,    0,   47,   48,   49,    0,    0,    0,   63,
-***************
-*** 166,170 ****
-      5,    0,   30,    0,    0,   33,    0,   23,
-  };
-! short yydgoto[] = {                                       1,
-      9,   66,   10,   18,   96,   17,   87,  344,   90,  333,
-      3,   11,   12,   68,  349,  267,   70,   71,   72,   73,
---- 100,104 ----
-      5,    0,   30,    0,    0,   33,    0,   23,
-  };
-! static short yydgoto[] = {                                1,
-      9,   66,   10,   18,   96,   17,   87,  344,   90,  333,
-      3,   11,   12,   68,  349,  267,   70,   71,   72,   73,
-***************
-*** 174,178 ****
-    260,
-  };
-! short yysindex[] = {                                      0,
-      0,    0,  142,    0,    0,    0,  -57,    0,    0,    0,
-      0,    0,  622,    0,    0,    0, -239, -229,  -10,    0,
---- 108,112 ----
-    260,
-  };
-! static short yysindex[] = {                               0,
-      0,    0,  142,    0,    0,    0,  -57,    0,    0,    0,
-      0,    0,  622,    0,    0,    0, -239, -229,  -10,    0,
-***************
-*** 213,217 ****
-      0,  228,    0,   92,   92,    0, -204,    0,
-  };
-! short yyrindex[] = {                                      0,
-      0,    0,  225,    0,    0,    0,    0,    0,    0,    0,
-      0,    0,    0,    0,    0,    0,  155,    0,    0,    0,
---- 147,151 ----
-      0,  228,    0,   92,   92,    0, -204,    0,
-  };
-! static short yyrindex[] = {                               0,
-      0,    0,  225,    0,    0,    0,    0,    0,    0,    0,
-      0,    0,    0,    0,    0,    0,  155,    0,    0,    0,
-***************
-*** 252,256 ****
-      0,    0,    0,    0,    0,    0,  168,    0,
-  };
-! short yygindex[] = {                                      0,
-      0,    0,    0,  339,  320,    0,  -11,    0,  913,  360,
-    -78,    0,    0,    0, -320,  -13, 4321,    0, 1367,    0,
---- 186,190 ----
-      0,    0,    0,    0,    0,    0,  168,    0,
-  };
-! static short yygindex[] = {                               0,
-      0,    0,    0,  339,  320,    0,  -11,    0,  913,  360,
-    -78,    0,    0,    0, -320,  -13, 4321,    0, 1367,    0,
-***************
-*** 261,265 ****
-  };
-  #define YYTABLESIZE 4610
-! short yytable[] = {                                      69,
-    206,   20,  295,   62,  113,  257,  184,  103,  183,  298,
-    172,   62,  125,  104,  252,  350,  104,   81,  209,  169,
---- 195,199 ----
-  };
-  #define YYTABLESIZE 4610
-! static short yytable[] = {                               69,
-    206,   20,  295,   62,  113,  257,  184,  103,  183,  298,
-    172,   62,  125,  104,  252,  350,  104,   81,  209,  169,
-***************
-*** 724,728 ****
-      0,    0,    0,    0,    0,    0,    0,    0,    0,  321,
-  };
-! short yycheck[] = {                                      13,
-     59,   59,   59,   36,   43,  185,   92,   40,   87,   59,
-     91,   36,   51,   41,   59,  336,   44,  257,   41,   40,
---- 658,662 ----
-      0,    0,    0,    0,    0,    0,    0,    0,    0,  321,
-  };
-! static short yycheck[] = {                               13,
-     59,   59,   59,   36,   43,  185,   92,   40,   87,   59,
-     91,   36,   51,   41,   59,  336,   44,  257,   41,   40,
-***************
-*** 1193,1197 ****
-  #define YYMAXTOKEN 315
-  #if YYDEBUG
-! 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,
---- 1127,1131 ----
-  #define YYMAXTOKEN 315
-  #if YYDEBUG
-! 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,
-***************
-*** 1210,1214 ****
-  "POSTINC","POSTDEC","ARROW",
-  };
-! char *yyrule[] = {
-  "$accept : prog",
-  "$$1 :",
---- 1144,1148 ----
-  "POSTINC","POSTDEC","ARROW",
-  };
-! static char *yyrule[] = {
-  "$accept : prog",
-  "$$1 :",
-***************
-*** 1408,1436 ****
-  #endif
-  #endif
-- int yydebug;
-- int yynerrs;
-- int yyerrflag;
-- int yychar;
-- short *yyssp;
-- YYSTYPE *yyvsp;
-- YYSTYPE yyval;
-- YYSTYPE yylval;
-- short yyss[YYSTACKSIZE];
-- YYSTYPE yyvs[YYSTACKSIZE];
-- #define yystacksize YYSTACKSIZE
-  #line 666 "perly.y"
-   /* PROGRAM */
-! #line 1424 "y.tab.c"
-  #define YYABORT goto yyabort
-  #define YYACCEPT goto yyaccept
-  #define YYERROR goto yyerrlab
-  int
-! yyparse()
+*** 1447,1456 ****
+  yyparse()
   {
       register int yym, yyn, yystate;
   #if YYDEBUG
       register char *yys;
-      extern char *getenv();
+!     extern char *getenv();
   
       if (yys = getenv("YYDEBUG"))
       {
---- 1342,1391 ----
-  #endif
-  #endif
-  #line 666 "perly.y"
-   /* PROGRAM */
-! #line 1427 "perly.c"
-  #define YYABORT goto yyabort
-  #define YYACCEPT goto yyaccept
-  #define YYERROR goto yyerrlab
-+ 
-+ struct ysv {
-+     short* yyss;
-+     YYSTYPE* yyvs;
-+     int oldyydebug;
-+     int oldyynerrs;
-+     int oldyyerrflag;
-+     int oldyychar;
-+     YYSTYPE oldyyval;
-+     YYSTYPE oldyylval;
-+ };
-+ 
-  int
-! Perl_yyparse(pTHX)
+          yyn = *yys;
+--- 1447,1473 ----
+  yyparse()
   {
       register int yym, yyn, yystate;
 +     register short *yyssp;
 +     int retval = 0;
   #if YYDEBUG
       register char *yys;
-+ #ifndef __cplusplus
-      extern char *getenv();
-+ #endif
-+ #endif
-+ 
+! #endif
+  
 +     struct ysv *ysave;
 +     New(73, ysave, 1, struct ysv);
-+     SAVEDESTRUCTOR(yydestruct, ysave);
++     SAVEDESTRUCTOR_X(yydestruct, ysave);
 +     ysave->oldyydebug        = yydebug;
 +     ysave->oldyynerrs        = yynerrs;
 +     ysave->oldyyerrflag      = yyerrflag;
 +     ysave->oldyychar = yychar;
 +     ysave->oldyyval  = yyval;
 +     ysave->oldyylval = yylval;
-  
++   
 + #if YYDEBUG
       if (yys = getenv("YYDEBUG"))
       {
+          yyn = *yys;
 ***************
-*** 1445,1448 ****
---- 1400,1413 ----
+*** 1463,1468 ****
+--- 1480,1495 ----
+      yyerrflag = 0;
       yychar = (-1);
   
 +     /*
 + 
       yyssp = yyss;
       yyvsp = yyvs;
+      *yyssp = yystate = 0;
 ***************
-*** 1470,1479 ****
-  #if YYDEBUG
-          if (yydebug)
-!             printf("yydebug: state %d, shifting to state %d\n",
-                      yystate, yytable[yyn]);
+*** 1493,1499 ****
   #endif
           if (yyssp >= yyss + yystacksize - 1)
           {
 !             goto yyoverflow;
           }
           *++yyssp = yystate = yytable[yyn];
---- 1435,1458 ----
-  #if YYDEBUG
-          if (yydebug)
-!             PerlIO_printf(Perl_debug_log, "yydebug: state %d, shifting to state %d\n",
-                      yystate, yytable[yyn]);
+          *++yyvsp = yylval;
+--- 1520,1538 ----
   #endif
           if (yyssp >= yyss + yystacksize - 1)
           {
 !          int yyps_index = (yyssp - yyss);
 !          int yypv_index = (yyvsp - yyvs);
 !          yystacksize += YYSTACKSIZE;
-!          ysave->yyvs = yyvs =
-!              (YYSTYPE*)PerlMem_realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
-!          ysave->yyss = yyss =
-!              (short*)PerlMem_realloc((char*)yyss,yystacksize * sizeof(short));
+!          ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
+!          ysave->yyss = Renew(yyss, yystacksize, short);
 !          if (!yyvs || !yyss)
 !              goto yyoverflow;
 !          yyssp = yyss + yyps_index;
 !          yyvsp = yyvs + yypv_index;
           }
           *++yyssp = yystate = yytable[yyn];
+          *++yyvsp = yylval;
 ***************
-*** 1511,1520 ****
-  #if YYDEBUG
-                  if (yydebug)
-!                     printf("yydebug: state %d, error recovery shifting\
-!  to state %d\n", *yyssp, yytable[yyn]);
+*** 1534,1540 ****
   #endif
                   if (yyssp >= yyss + yystacksize - 1)
                   {
 !                     goto yyoverflow;
                   }
                   *++yyssp = yystate = yytable[yyn];
---- 1490,1514 ----
-  #if YYDEBUG
-                  if (yydebug)
-!                     PerlIO_printf(Perl_debug_log,
-!                   "yydebug: state %d, error recovery shifting to state %d\n",
-!                   *yyssp, yytable[yyn]);
+                  *++yyvsp = yylval;
+--- 1573,1591 ----
   #endif
                   if (yyssp >= yyss + yystacksize - 1)
                   {
 !                  int yyps_index = (yyssp - yyss);
 !                  int yypv_index = (yyvsp - yyvs);
 !                  yystacksize += YYSTACKSIZE;
-!                  ysave->yyvs = yyvs = (YYSTYPE*)PerlMem_realloc((char*)yyvs,
-!                      yystacksize * sizeof(YYSTYPE));
-!                  ysave->yyss = yyss = (short*)PerlMem_realloc((char*)yyss,
-!                      yystacksize * sizeof(short));
+!                  ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
+!                  ysave->yyss = Renew(yyss, yystacksize, short);
 !                  if (!yyvs || !yyss)
 !                      goto yyoverflow;
 !                  yyssp = yyss + yyps_index;
 !                  yyvsp = yyvs + yypv_index;
                   }
                   *++yyssp = yystate = yytable[yyn];
+                  *++yyvsp = yylval;
 ***************
-*** 1526,1531 ****
-  #if YYDEBUG
-                  if (yydebug)
-!                     printf("yydebug: error recovery discarding state %d\n",
-!                             *yyssp);
-  #endif
-                  if (yyssp <= yyss) goto yyabort;
---- 1520,1526 ----
-  #if YYDEBUG
-                  if (yydebug)
-!                     PerlIO_printf(Perl_debug_log,
-!                      "yydebug: error recovery discarding state %d\n",
-!                      *yyssp);
-  #endif
-                  if (yyssp <= yyss) goto yyabort;
-***************
-*** 1544,1549 ****
-              if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
-              if (!yys) yys = "illegal-symbol";
-!             printf("yydebug: state %d, error recovery discards token %d (%s)\n",
-!                     yystate, yychar, yys);
-          }
-  #endif
---- 1539,1545 ----
-              if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
-              if (!yys) yys = "illegal-symbol";
-!             PerlIO_printf(Perl_debug_log,
-!              "yydebug: state %d, error recovery discards token %d (%s)\n",
-!              yystate, yychar, yys);
-          }
-  #endif
-***************
-*** 1554,1558 ****
-  #if YYDEBUG
-      if (yydebug)
-!         printf("yydebug: state %d, reducing by rule %d (%s)\n",
-                  yystate, yyn, yyrule[yyn]);
-  #endif
---- 1550,1554 ----
-  #if YYDEBUG
-      if (yydebug)
-!         PerlIO_printf(Perl_debug_log, "yydebug: state %d, reducing by rule %d (%s)\n",
-                  yystate, yyn, yyrule[yyn]);
-  #endif
-***************
-*** 2358,2362 ****
-  { yyval.opval = yyvsp[0].opval; }
-  break;
-! #line 2361 "y.tab.c"
-      }
-      yyssp -= yym;
---- 2354,2358 ----
-  { yyval.opval = yyvsp[0].opval; }
-  break;
-! #line 2365 "perly.c"
-      }
-      yyssp -= yym;
-***************
-*** 2368,2373 ****
-  #if YYDEBUG
-          if (yydebug)
-!             printf("yydebug: after reduction, shifting from state 0 to\
-!  state %d\n", YYFINAL);
-  #endif
-          yystate = YYFINAL;
---- 2364,2370 ----
-  #if YYDEBUG
-          if (yydebug)
-!             PerlIO_printf(Perl_debug_log,
-!              "yydebug: after reduction, shifting from state 0 to state %d\n",
-!              YYFINAL);
-  #endif
-          yystate = YYFINAL;
-***************
-*** 2383,2387 ****
-                  if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
-                  if (!yys) yys = "illegal-symbol";
-!                 printf("yydebug: state %d, reading %d (%s)\n",
-                          YYFINAL, yychar, yys);
-              }
---- 2380,2384 ----
-                  if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
-                  if (!yys) yys = "illegal-symbol";
-!                 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n",
-                          YYFINAL, yychar, yys);
-              }
-***************
-*** 2398,2407 ****
-  #if YYDEBUG
-      if (yydebug)
-!         printf("yydebug: after reduction, shifting from state %d \
-! to state %d\n", *yyssp, yystate);
+*** 2473,2487 ****
   #endif
       if (yyssp >= yyss + yystacksize - 1)
       {
 !         goto yyoverflow;
       }
       *++yyssp = yystate;
---- 2395,2419 ----
-  #if YYDEBUG
-      if (yydebug)
-!         PerlIO_printf(Perl_debug_log,
-!          "yydebug: after reduction, shifting from state %d to state %d\n",
-!          *yyssp, yystate);
+      *++yyvsp = yyval;
+      goto yyloop;
+  yyoverflow:
+!     yyerror("yacc stack overflow");
+  yyabort:
+!     return (1);
+  yyaccept:
+!     return (0);
+  }
+--- 2524,2569 ----
   #endif
       if (yyssp >= yyss + yystacksize - 1)
       {
 !      int yyps_index = (yyssp - yyss);
 !      int yypv_index = (yyvsp - yyvs);
 !      yystacksize += YYSTACKSIZE;
-!      ysave->yyvs = yyvs =
-!          (YYSTYPE*)PerlMem_realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
-!      ysave->yyss = yyss =
-!          (short*)PerlMem_realloc((char*)yyss,yystacksize * sizeof(short));
+!      ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
+!      ysave->yyss = Renew(yyss, yystacksize, short);
 !      if (!yyvs || !yyss)
 !          goto yyoverflow;
 !      yyssp = yyss + yyps_index;
 !      yyvsp = yyvs + yypv_index;
       }
       *++yyssp = yystate;
-***************
-*** 2409,2416 ****
-      goto yyloop;
-  yyoverflow:
-!     yyerror("yacc stack overflow");
-  yyabort:
-!     return (1);
-  yyaccept:
-!     return (0);
-  }
---- 2421,2448 ----
+      *++yyvsp = yyval;
       goto yyloop;
   yyoverflow:
 !     yyerror("Out of memory for yacc stack");
 ! }
 ! 
 ! #ifdef PERL_OBJECT
-! #define NO_XSLOCKS
 ! #include "XSUB.h"
 ! #endif
 !