ports/cad/graywolf/patches/patch-src_twmc_readcells_c

510 lines
13 KiB
Text

Fixes for -fno-common
https://github.com/rubund/graywolf/commit/f47937b66d4d44eafc4224f7c43d556dbf88f05b
Index: src/twmc/readcells.c
--- src/twmc/readcells.c.orig
+++ src/twmc/readcells.c
@@ -741,12 +741,12 @@ int yydebug;
int yynerrs;
int yyerrflag;
int yychar;
-short *yyssp;
-YYSTYPE *yyvsp;
+short *yyssp2;
+YYSTYPE *yyvsp2;
YYSTYPE yyval;
YYSTYPE yylval;
-short yyss[YYSTACKSIZE];
-YYSTYPE yyvs[YYSTACKSIZE];
+short yyss2[YYSTACKSIZE];
+YYSTYPE yyvs2[YYSTACKSIZE];
#define yystacksize YYSTACKSIZE
#include "readcells_l.h"
@@ -810,9 +810,9 @@ yyparse()
yyerrflag = 0;
yychar = (-1);
- yyssp = yyss;
- yyvsp = yyvs;
- *yyssp = yystate = 0;
+ yyssp2 = yyss2;
+ yyvsp2 = yyvs2;
+ *yyssp2 = yystate = 0;
yyloop:
if (yyn = yydefred[yystate]) goto yyreduce;
@@ -838,12 +838,12 @@ yyloop:
printf("yydebug: state %d, shifting to state %d\n",
yystate, yytable[yyn]);
#endif
- if (yyssp >= yyss + yystacksize - 1)
+ if (yyssp2 >= yyss2 + yystacksize - 1)
{
goto yyoverflow;
}
- *++yyssp = yystate = yytable[yyn];
- *++yyvsp = yylval;
+ *++yyssp2 = yystate = yytable[yyn];
+ *++yyvsp2 = yylval;
yychar = (-1);
if (yyerrflag > 0) --yyerrflag;
goto yyloop;
@@ -963,20 +963,20 @@ yyinrecovery:
yyerrflag = 3;
for (;;)
{
- if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
+ if ((yyn = yysindex[*yyssp2]) && (yyn += YYERRCODE) >= 0 &&
yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
{
#if YYDEBUG
if (yydebug)
printf("yydebug: state %d, error recovery shifting\
- to state %d\n", *yyssp, yytable[yyn]);
+ to state %d\n", *yyssp2, yytable[yyn]);
#endif
- if (yyssp >= yyss + yystacksize - 1)
+ if (yyssp2 >= yyss2 + yystacksize - 1)
{
goto yyoverflow;
}
- *++yyssp = yystate = yytable[yyn];
- *++yyvsp = yylval;
+ *++yyssp2 = yystate = yytable[yyn];
+ *++yyvsp2 = yylval;
goto yyloop;
}
else
@@ -984,11 +984,11 @@ yyinrecovery:
#if YYDEBUG
if (yydebug)
printf("yydebug: error recovery discarding state %d\n",
- *yyssp);
+ *yyssp2);
#endif
- if (yyssp <= yyss) goto yyabort;
- --yyssp;
- --yyvsp;
+ if (yyssp2 <= yyss2) goto yyabort;
+ --yyssp2;
+ --yyvsp2;
}
}
}
@@ -1015,7 +1015,7 @@ yyreduce:
yystate, yyn, yyrule[yyn]);
#endif
yym = yylen[yyn];
- yyval = yyvsp[1-yym];
+ yyval = yyvsp2[1-yym];
switch (yyn)
{
case 7:
@@ -1077,7 +1077,7 @@ break;
case 30:
{
endCell() ;
- add_instance( yyvsp[0].string ) ;
+ add_instance( yyvsp2[0].string ) ;
}
break;
case 32:
@@ -1090,25 +1090,25 @@ case 32:
break;
case 36:
{
- addCell( yyvsp[0].string, CUSTOMCELLTYPE ) ;
+ addCell( yyvsp2[0].string, CUSTOMCELLTYPE ) ;
}
break;
case 38:
{
- addCell( yyvsp[0].string, SOFTCELLTYPE ) ;
+ addCell( yyvsp2[0].string, SOFTCELLTYPE ) ;
}
break;
case 39:
{
- addCell( yyvsp[0].string, STDCELLTYPE ) ;
+ addCell( yyvsp2[0].string, STDCELLTYPE ) ;
}
break;
case 41:
{
/* group neighborhood is free to move */
/* we use fixCell to build group box */
- fixCell( GROUPFLAG, yyvsp[-11].ival, yyvsp[-9].string, yyvsp[-8].ival, yyvsp[-6].string,
- yyvsp[-5].ival, yyvsp[-3].string, yyvsp[-2].ival, yyvsp[0].string ) ;
+ fixCell( GROUPFLAG, yyvsp2[-11].ival, yyvsp2[-9].string, yyvsp2[-8].ival, yyvsp2[-6].string,
+ yyvsp2[-5].ival, yyvsp2[-3].string, yyvsp2[-2].ival, yyvsp2[0].string ) ;
addClass( --unique_classG ) ;
}
break;
@@ -1116,8 +1116,8 @@ case 42:
{
/* group neighborhood is fixed */
/* we use fixCell to build group box */
- fixCell( FIXEDGROUPFLAG, yyvsp[-11].ival, yyvsp[-9].string, yyvsp[-8].ival, yyvsp[-6].string,
- yyvsp[-5].ival, yyvsp[-3].string, yyvsp[-2].ival, yyvsp[0].string ) ;
+ fixCell( FIXEDGROUPFLAG, yyvsp2[-11].ival, yyvsp2[-9].string, yyvsp2[-8].ival, yyvsp2[-6].string,
+ yyvsp2[-5].ival, yyvsp2[-3].string, yyvsp2[-2].ival, yyvsp2[0].string ) ;
addClass( --unique_classG ) ;
}
@@ -1125,7 +1125,7 @@ break;
case 43:
{
/* cell is fixed at a point */
- fixCell( POINTFLAG, yyvsp[-5].ival, yyvsp[-3].string, yyvsp[-2].ival, yyvsp[0].string,
+ fixCell( POINTFLAG, yyvsp2[-5].ival, yyvsp2[-3].string, yyvsp2[-2].ival, yyvsp2[0].string,
0, "L", 0, "B" ) ;
addClass( --unique_classG ) ;
}
@@ -1133,93 +1133,93 @@ break;
case 44:
{
/* cell is fixed within a fixed neighborhood */
- fixCell( NEIGHBORHOODFLAG, yyvsp[-11].ival, yyvsp[-9].string, yyvsp[-8].ival, yyvsp[-6].string,
- yyvsp[-5].ival, yyvsp[-3].string, yyvsp[-2].ival, yyvsp[0].string ) ;
+ fixCell( NEIGHBORHOODFLAG, yyvsp2[-11].ival, yyvsp2[-9].string, yyvsp2[-8].ival, yyvsp2[-6].string,
+ yyvsp2[-5].ival, yyvsp2[-3].string, yyvsp2[-2].ival, yyvsp2[0].string ) ;
addClass( --unique_classG ) ;
}
break;
case 46:
{
- yyval.string = yyvsp[0].string ;
+ yyval.string = yyvsp2[0].string ;
}
break;
case 47:
{
- yyval.string = yyvsp[0].string ;
+ yyval.string = yyvsp2[0].string ;
}
break;
case 48:
{
- addCell( yyvsp[0].string, PADCELLTYPE ) ;
+ addCell( yyvsp2[0].string, PADCELLTYPE ) ;
}
break;
case 49:
{
- addCell( yyvsp[-1].string, PADGROUPTYPE ) ;
+ addCell( yyvsp2[-1].string, PADGROUPTYPE ) ;
setPermutation( TRUE ) ;
}
break;
case 50:
{
- addCell( yyvsp[-1].string, PADGROUPTYPE ) ;
+ addCell( yyvsp2[-1].string, PADGROUPTYPE ) ;
setPermutation( FALSE ) ;
}
break;
case 52:
{
- addCell( yyvsp[0].string, SUPERCELLTYPE ) ;
+ addCell( yyvsp2[0].string, SUPERCELLTYPE ) ;
/* initSuperGroup() ; */
}
break;
case 54:
{
- addCell( yyvsp[0].string, GROUPCELLTYPE ) ;
+ addCell( yyvsp2[0].string, GROUPCELLTYPE ) ;
}
break;
case 56:
{
- processCorners( yyvsp[-1].ival ) ;
+ processCorners( yyvsp2[-1].ival ) ;
}
break;
case 57:
{
- yyval.ival = yyvsp[0].ival ;
+ yyval.ival = yyvsp2[0].ival ;
}
break;
case 58:
{
- addCorner( yyvsp[-1].ival, yyvsp[0].ival ) ;
+ addCorner( yyvsp2[-1].ival, yyvsp2[0].ival ) ;
}
break;
case 59:
{
- addCorner( yyvsp[-1].ival, yyvsp[0].ival ) ;
+ addCorner( yyvsp2[-1].ival, yyvsp2[0].ival ) ;
}
break;
case 60:
{
- addClass( yyvsp[0].ival ) ;
+ addClass( yyvsp2[0].ival ) ;
}
break;
case 65:
{
/* first in the list is the initial orientation */
- initOrient( yyvsp[0].ival ) ;
+ initOrient( yyvsp2[0].ival ) ;
}
break;
case 66:
{
- addOrient( yyvsp[0].ival ) ;
+ addOrient( yyvsp2[0].ival ) ;
}
break;
case 68:
{
- set_cur_orient( yyvsp[0].ival ) ;
+ set_cur_orient( yyvsp2[0].ival ) ;
}
break;
case 69:
{
- addAspectBounds( yyvsp[-2].fval, yyvsp[0].fval ) ;
+ addAspectBounds( yyvsp2[-2].fval, yyvsp2[0].fval ) ;
}
break;
case 70:
@@ -1234,37 +1234,37 @@ case 79:
break;
case 80:
{
- addPin( yyvsp[-3].string, yyvsp[-1].string, yyvsp[0].ival, HARDPINTYPE ) ;
+ addPin( yyvsp2[-3].string, yyvsp2[-1].string, yyvsp2[0].ival, HARDPINTYPE ) ;
}
break;
case 81:
{
- set_pin_pos( yyvsp[-1].ival, yyvsp[0].ival ) ;
+ set_pin_pos( yyvsp2[-1].ival, yyvsp2[0].ival ) ;
}
break;
case 83:
{
- add_analog( yyvsp[0].ival ) ;
+ add_analog( yyvsp2[0].ival ) ;
}
break;
case 84:
{
- add_pin_contour( yyvsp[-1].ival, yyvsp[0].ival ) ;
+ add_pin_contour( yyvsp2[-1].ival, yyvsp2[0].ival ) ;
}
break;
case 85:
{
- add_pin_contour( yyvsp[-1].ival, yyvsp[0].ival ) ;
+ add_pin_contour( yyvsp2[-1].ival, yyvsp2[0].ival ) ;
}
break;
case 87:
{
- add_current( yyvsp[0].fval ) ;
+ add_current( yyvsp2[0].fval ) ;
}
break;
case 89:
{
- add_power( yyvsp[0].fval ) ;
+ add_power( yyvsp2[0].fval ) ;
}
break;
case 91:
@@ -1274,7 +1274,7 @@ case 91:
break;
case 94:
{
- addPin( yyvsp[-4].string, yyvsp[-2].string, yyvsp[-1].ival, SOFTPINTYPE ) ;
+ addPin( yyvsp2[-4].string, yyvsp2[-2].string, yyvsp2[-1].ival, SOFTPINTYPE ) ;
set_restrict_type( SOFTPINTYPE ) ;
}
break;
@@ -1292,7 +1292,7 @@ case 99:
break;
case 103:
{
- addPin( yyvsp[-1].string, NULL, yyvsp[0].ival, SOFTEQUIVTYPE ) ;
+ addPin( yyvsp2[-1].string, NULL, yyvsp2[0].ival, SOFTEQUIVTYPE ) ;
}
break;
case 104:
@@ -1304,94 +1304,94 @@ break;
case 108:
{
set_restrict_type( PINGROUPTYPE ) ;
- start_pin_group( yyvsp[-1].string, TRUE ) ;
+ start_pin_group( yyvsp2[-1].string, TRUE ) ;
}
break;
case 109:
{
set_restrict_type( PINGROUPTYPE ) ;
- start_pin_group( yyvsp[-1].string, FALSE ) ;
+ start_pin_group( yyvsp2[-1].string, FALSE ) ;
}
break;
case 112:
{
- add2pingroup( yyvsp[-1].string, TRUE ) ; /* fixed */
+ add2pingroup( yyvsp2[-1].string, TRUE ) ; /* fixed */
}
break;
case 113:
{
- add2pingroup( yyvsp[-1].string, FALSE ) ; /* nonfixed */
+ add2pingroup( yyvsp2[-1].string, FALSE ) ; /* nonfixed */
}
break;
case 116:
{
- addEquivPin( yyvsp[-3].string, yyvsp[-2].ival, yyvsp[-1].ival, yyvsp[0].ival, HARDPINTYPE ) ;
+ addEquivPin( yyvsp2[-3].string, yyvsp2[-2].ival, yyvsp2[-1].ival, yyvsp2[0].ival, HARDPINTYPE ) ;
}
break;
case 117:
{ /* default any layer */ yyval.ival = 0 ; }
break;
case 118:
-{ yyval.ival = yyvsp[0].ival ; }
+{ yyval.ival = yyvsp2[0].ival ; }
break;
case 121:
{
- addSideRestriction( yyvsp[0].ival ) ;
+ addSideRestriction( yyvsp2[0].ival ) ;
}
break;
case 122:
{
- addSideRestriction( yyvsp[0].ival ) ;
+ addSideRestriction( yyvsp2[0].ival ) ;
}
break;
case 124:
{
- add_pinspace( yyvsp[0].fval, yyvsp[0].fval ) ;
+ add_pinspace( yyvsp2[0].fval, yyvsp2[0].fval ) ;
}
break;
case 125:
{
- add_pinspace( yyvsp[-1].fval, yyvsp[0].fval ) ;
+ add_pinspace( yyvsp2[-1].fval, yyvsp2[0].fval ) ;
}
break;
case 127:
{
- addSideSpace( yyvsp[0].fval, yyvsp[0].fval ) ;
+ addSideSpace( yyvsp2[0].fval, yyvsp2[0].fval ) ;
}
break;
case 128:
{
- addSideSpace( yyvsp[-1].fval, yyvsp[0].fval ) ;
+ addSideSpace( yyvsp2[-1].fval, yyvsp2[0].fval ) ;
}
break;
case 129:
{
- addPadSide( yyvsp[0].string ) ;
+ addPadSide( yyvsp2[0].string ) ;
}
break;
case 135:
{
- add2padgroup( yyvsp[-1].string, TRUE ) ; /* fixed */
+ add2padgroup( yyvsp2[-1].string, TRUE ) ; /* fixed */
}
break;
case 136:
{
- add2padgroup( yyvsp[-1].string, FALSE ) ; /* nonfixed */
+ add2padgroup( yyvsp2[-1].string, FALSE ) ; /* nonfixed */
}
break;
case 139:
{
- add_cell_to_group( yyvsp[0].string ) ;
+ add_cell_to_group( yyvsp2[0].string ) ;
}
break;
case 140:
{
- add_cell_to_group( yyvsp[0].string ) ;
+ add_cell_to_group( yyvsp2[0].string ) ;
}
break;
case 150:
{
- yyval.string = yyvsp[0].string ;
+ yyval.string = yyvsp2[0].string ;
}
break;
case 151:
@@ -1399,7 +1399,7 @@ case 151:
/* convert integer to string */
/* this allows integers to be used as strings */
/* a kluge but timberwolf's old parser supported it */
- sprintf( bufferS,"%d", yyvsp[0].ival ) ;
+ sprintf( bufferS,"%d", yyvsp2[0].ival ) ;
/* now clone string */
yyval.string = (char *) Ystrclone( bufferS ) ;
}
@@ -1409,15 +1409,15 @@ case 152:
/* convert float to string */
/* this allows floats to be used as strings */
/* a kluge but timberwolf's old parser supported it */
- sprintf( bufferS,"%f", yyvsp[0].fval ) ;
+ sprintf( bufferS,"%f", yyvsp2[0].fval ) ;
/* now clone string */
yyval.string = (char *) Ystrclone( bufferS ) ;
}
break;
}
- yyssp -= yym;
- yystate = *yyssp;
- yyvsp -= yym;
+ yyssp2 -= yym;
+ yystate = *yyssp2;
+ yyvsp2 -= yym;
yym = yylhs[yyn];
if (yystate == 0 && yym == 0)
{
@@ -1427,8 +1427,8 @@ break;
state %d\n", YYFINAL);
#endif
yystate = YYFINAL;
- *++yyssp = YYFINAL;
- *++yyvsp = yyval;
+ *++yyssp2 = YYFINAL;
+ *++yyvsp2 = yyval;
if (yychar < 0)
{
if ((yychar = yylex()) < 0) yychar = 0;
@@ -1454,14 +1454,14 @@ break;
#if YYDEBUG
if (yydebug)
printf("yydebug: after reduction, shifting from state %d \
-to state %d\n", *yyssp, yystate);
+to state %d\n", *yyssp2, yystate);
#endif
- if (yyssp >= yyss + yystacksize - 1)
+ if (yyssp2 >= yyss2 + yystacksize - 1)
{
goto yyoverflow;
}
- *++yyssp = yystate;
- *++yyvsp = yyval;
+ *++yyssp2 = yystate;
+ *++yyvsp2 = yyval;
goto yyloop;
yyoverflow:
yyerror("yacc stack overflow");