cad/graywolf: fix build with -fno-common, from upstream repository
This commit is contained in:
parent
2ec3ff15c3
commit
0d159c365d
@ -1,11 +1,11 @@
|
||||
# $OpenBSD: Makefile,v 1.3 2020/04/12 14:46:04 sthen Exp $
|
||||
# $OpenBSD: Makefile,v 1.4 2021/02/20 19:12:04 naddy Exp $
|
||||
|
||||
COMMENT = placement tool used in VLSI design
|
||||
|
||||
GH_ACCOUNT = rubund
|
||||
GH_PROJECT = graywolf
|
||||
GH_TAGNAME = 0.1.6
|
||||
REVISION = 0
|
||||
REVISION = 1
|
||||
|
||||
SHARED_LIBS += ycadgraywolf 0.0 # 0.0
|
||||
|
||||
|
169
cad/graywolf/patches/patch-src_mc_compact_readcgraph_c
Normal file
169
cad/graywolf/patches/patch-src_mc_compact_readcgraph_c
Normal file
@ -0,0 +1,169 @@
|
||||
$OpenBSD: patch-src_mc_compact_readcgraph_c,v 1.1 2021/02/20 19:12:04 naddy Exp $
|
||||
|
||||
Fixes for -fno-common
|
||||
https://github.com/rubund/graywolf/commit/f47937b66d4d44eafc4224f7c43d556dbf88f05b
|
||||
|
||||
Index: src/mc_compact/readcgraph.c
|
||||
--- src/mc_compact/readcgraph.c.orig
|
||||
+++ src/mc_compact/readcgraph.c
|
||||
@@ -242,12 +242,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 "readcgraph_l.h"
|
||||
@@ -313,9 +313,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;
|
||||
@@ -341,12 +341,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;
|
||||
@@ -416,20 +416,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
|
||||
@@ -437,11 +437,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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -468,33 +468,33 @@ yyreduce:
|
||||
yystate, yyn, yyrule[yyn]);
|
||||
#endif
|
||||
yym = yylen[yyn];
|
||||
- yyval = yyvsp[1-yym];
|
||||
+ yyval = yyvsp2[1-yym];
|
||||
switch (yyn)
|
||||
{
|
||||
case 2:
|
||||
{
|
||||
- init_graph( yyvsp[-3].ival, yyvsp[0].ival ) ;
|
||||
+ init_graph( yyvsp2[-3].ival, yyvsp2[0].ival ) ;
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
{
|
||||
/* node:1 x:2 y:4 l:0 r:9 b:0 t:8 */
|
||||
/* node number, center and size */
|
||||
- nodeS = yyvsp[-18].ival ;
|
||||
- addNode( yyvsp[-18].ival, yyvsp[-15].ival, yyvsp[-12].ival ) ;
|
||||
+ nodeS = yyvsp2[-18].ival ;
|
||||
+ addNode( yyvsp2[-18].ival, yyvsp2[-15].ival, yyvsp2[-12].ival ) ;
|
||||
}
|
||||
break;
|
||||
case 9:
|
||||
{
|
||||
/* ex. adj node:2 len:32 cap:14 l:-89 r:-63 b:0 t:6 HnotV:1 lb:0 rt:0 */
|
||||
- addEdge( nodeS, yyvsp[-27].ival, /* nodeS, node */
|
||||
- yyvsp[-6].ival, yyvsp[-3].ival, yyvsp[0].ival ) ;/* HnotV, lbcell, rtcelll */
|
||||
+ addEdge( nodeS, yyvsp2[-27].ival, /* nodeS, node */
|
||||
+ yyvsp2[-6].ival, yyvsp2[-3].ival, yyvsp2[0].ival ) ;/* HnotV, lbcell, rtcelll */
|
||||
}
|
||||
break;
|
||||
}
|
||||
- yyssp -= yym;
|
||||
- yystate = *yyssp;
|
||||
- yyvsp -= yym;
|
||||
+ yyssp2 -= yym;
|
||||
+ yystate = *yyssp2;
|
||||
+ yyvsp2 -= yym;
|
||||
yym = yylhs[yyn];
|
||||
if (yystate == 0 && yym == 0)
|
||||
{
|
||||
@@ -504,8 +504,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;
|
||||
@@ -531,14 +531,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");
|
512
cad/graywolf/patches/patch-src_twmc_readcells_c
Normal file
512
cad/graywolf/patches/patch-src_twmc_readcells_c
Normal file
@ -0,0 +1,512 @@
|
||||
$OpenBSD: patch-src_twmc_readcells_c,v 1.1 2021/02/20 19:12:04 naddy Exp $
|
||||
|
||||
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");
|
17
cad/graywolf/patches/patch-src_twsc_config_h
Normal file
17
cad/graywolf/patches/patch-src_twsc_config_h
Normal file
@ -0,0 +1,17 @@
|
||||
$OpenBSD: patch-src_twsc_config_h,v 1.1 2021/02/20 19:12:04 naddy Exp $
|
||||
|
||||
Fixes for -fno-common
|
||||
https://github.com/rubund/graywolf/commit/f47937b66d4d44eafc4224f7c43d556dbf88f05b
|
||||
|
||||
Index: src/twsc/config.h
|
||||
--- src/twsc/config.h.orig
|
||||
+++ src/twsc/config.h
|
||||
@@ -34,7 +34,7 @@ EXTERN ROWBOX *rowArrayG ;
|
||||
|
||||
EXTERN INT max_blklengthG ;
|
||||
EXTERN INT route2actG; /* added for placement adjusted for routing */
|
||||
-EXTERN INT track_pitchG; /* used only if global routing is performed */
|
||||
+extern INT track_pitchG; /* used only if global routing is performed */
|
||||
EXTERN INT gridCellG; /* used only if global routing is performed */
|
||||
EXTERN INT desiredLG ;
|
||||
EXTERN DOUBLE *macspaceG ;
|
17
cad/graywolf/patches/patch-src_twsc_feeds_h
Normal file
17
cad/graywolf/patches/patch-src_twsc_feeds_h
Normal file
@ -0,0 +1,17 @@
|
||||
$OpenBSD: patch-src_twsc_feeds_h,v 1.1 2021/02/20 19:12:04 naddy Exp $
|
||||
|
||||
Fixes for -fno-common
|
||||
https://github.com/rubund/graywolf/commit/f47937b66d4d44eafc4224f7c43d556dbf88f05b
|
||||
|
||||
Index: src/twsc/feeds.h
|
||||
--- src/twsc/feeds.h.orig
|
||||
+++ src/twsc/feeds.h
|
||||
@@ -24,7 +24,7 @@ typedef struct feed_assgn_box {
|
||||
FEED_SEG ;
|
||||
|
||||
EXTERN INT *feeds_in_rowG ;
|
||||
-EXTERN INT *FeedInRowG ;
|
||||
+extern INT *FeedInRowG ;
|
||||
EXTERN INT fdWidthG ;
|
||||
EXTERN INT *fdcel_addedG ;
|
||||
EXTERN INT **fdcel_needG ;
|
35
cad/graywolf/patches/patch-src_twsc_groute_h
Normal file
35
cad/graywolf/patches/patch-src_twsc_groute_h
Normal file
@ -0,0 +1,35 @@
|
||||
$OpenBSD: patch-src_twsc_groute_h,v 1.1 2021/02/20 19:12:04 naddy Exp $
|
||||
|
||||
Fixes for -fno-common
|
||||
https://github.com/rubund/graywolf/commit/f47937b66d4d44eafc4224f7c43d556dbf88f05b
|
||||
|
||||
Index: src/twsc/groute.h
|
||||
--- src/twsc/groute.h.orig
|
||||
+++ src/twsc/groute.h
|
||||
@@ -112,7 +112,7 @@ EXTERN SEGBOXPTR *netsegHeadG ;
|
||||
EXTERN SEGBOXPTR *netsegTailG ;
|
||||
EXTERN DOUBLE mean_widthG ;
|
||||
EXTERN INT **pairArrayG ;
|
||||
-EXTERN INT numnetsG ;
|
||||
+extern INT numnetsG ;
|
||||
EXTERN INT numSegsG ;
|
||||
EXTERN INT numSwSegsG ;
|
||||
EXTERN INT tracksG ;
|
||||
@@ -124,12 +124,13 @@ EXTERN INT gxstopG ;
|
||||
EXTERN INT blkleftG , blkriteG ;
|
||||
EXTERN INT gtopChanG , gbotChanG ;
|
||||
EXTERN INT uneven_cell_heightG ;
|
||||
-EXTERN INT ffeedsG , track_pitchG ;
|
||||
+extern INT ffeedsG ;
|
||||
+extern INT track_pitchG ;
|
||||
|
||||
-EXTERN INT fdthrusG ;
|
||||
+extern INT fdthrusG ;
|
||||
EXTERN INT chan_node_noG ;
|
||||
-EXTERN INT enough_built_in_feedG ;
|
||||
-EXTERN INT *FeedInRowG ;
|
||||
+extern INT enough_built_in_feedG ;
|
||||
+extern INT *FeedInRowG ;
|
||||
EXTERN INT blk_most_leftG ;
|
||||
EXTERN INT blk_most_riteG ;
|
||||
EXTERN INT *row_rite_classG ;
|
22
cad/graywolf/patches/patch-src_twsc_main_c
Normal file
22
cad/graywolf/patches/patch-src_twsc_main_c
Normal file
@ -0,0 +1,22 @@
|
||||
$OpenBSD: patch-src_twsc_main_c,v 1.1 2021/02/20 19:12:04 naddy Exp $
|
||||
|
||||
Fixes for -fno-common
|
||||
https://github.com/rubund/graywolf/commit/f47937b66d4d44eafc4224f7c43d556dbf88f05b
|
||||
|
||||
Index: src/twsc/main.c
|
||||
--- src/twsc/main.c.orig
|
||||
+++ src/twsc/main.c
|
||||
@@ -128,6 +128,13 @@ extern INT spacer_widthG ;
|
||||
extern INT longest_row_lengthG ;
|
||||
extern INT largest_delta_row_lenG ;
|
||||
extern INT total_row_lengthG ;
|
||||
+INT numnetsG;
|
||||
+INT *FeedInRowG;
|
||||
+INT fdthrusG;
|
||||
+INT track_pitchG;
|
||||
+INT ffeedsG;
|
||||
+
|
||||
+INT maxCellOG ;
|
||||
|
||||
extern void readnets(FILE* fp);
|
||||
|
31
cad/graywolf/patches/patch-src_twsc_main_h
Normal file
31
cad/graywolf/patches/patch-src_twsc_main_h
Normal file
@ -0,0 +1,31 @@
|
||||
$OpenBSD: patch-src_twsc_main_h,v 1.1 2021/02/20 19:12:04 naddy Exp $
|
||||
|
||||
Fixes for -fno-common
|
||||
https://github.com/rubund/graywolf/commit/f47937b66d4d44eafc4224f7c43d556dbf88f05b
|
||||
|
||||
Index: src/twsc/main.h
|
||||
--- src/twsc/main.h.orig
|
||||
+++ src/twsc/main.h
|
||||
@@ -21,12 +21,11 @@ EXTERN char *cktNameG ;
|
||||
|
||||
EXTERN INT rowsG ;
|
||||
EXTERN INT attmaxG ;
|
||||
-EXTERN INT maxCellOG ;
|
||||
EXTERN INT iterationG ;
|
||||
|
||||
EXTERN INT blkxspanG ;
|
||||
EXTERN INT blkyspanG ;
|
||||
-EXTERN INT ffeedsG ;
|
||||
+extern INT ffeedsG ;
|
||||
EXTERN INT lrtxspanG ;
|
||||
EXTERN INT lrtyspanG ;
|
||||
EXTERN INT ifrangeG ;
|
||||
@@ -38,7 +37,7 @@ EXTERN INT d_costG ;
|
||||
EXTERN INT resume_runG ;
|
||||
EXTERN INT implicit_pins_usedG ;
|
||||
EXTERN INT rowHeightG ;
|
||||
-EXTERN INT fdthrusG ;
|
||||
+extern INT fdthrusG ;
|
||||
|
||||
EXTERN DOUBLE TG ;
|
||||
EXTERN DOUBLE imprangeG ;
|
17
cad/graywolf/patches/patch-src_twsc_parser_c
Normal file
17
cad/graywolf/patches/patch-src_twsc_parser_c
Normal file
@ -0,0 +1,17 @@
|
||||
$OpenBSD: patch-src_twsc_parser_c,v 1.1 2021/02/20 19:12:04 naddy Exp $
|
||||
|
||||
Fixes for -fno-common
|
||||
https://github.com/rubund/graywolf/commit/f47937b66d4d44eafc4224f7c43d556dbf88f05b
|
||||
|
||||
Index: src/twsc/parser.c
|
||||
--- src/twsc/parser.c.orig
|
||||
+++ src/twsc/parser.c
|
||||
@@ -111,6 +111,8 @@ REVISIONS: Mon Nov 19 04:04:18 EST 1990 - added tempe
|
||||
INT ECOs_existG = 0 ;
|
||||
INT orig_max_row_lengthG ;
|
||||
|
||||
+extern INT maxCellOG ;
|
||||
+
|
||||
extern INT totalRG ;
|
||||
extern INT spacer_widthG ;
|
||||
extern INT *spacer_feedsG ;
|
16
cad/graywolf/patches/patch-src_twsc_parser_h
Normal file
16
cad/graywolf/patches/patch-src_twsc_parser_h
Normal file
@ -0,0 +1,16 @@
|
||||
$OpenBSD: patch-src_twsc_parser_h,v 1.1 2021/02/20 19:12:04 naddy Exp $
|
||||
|
||||
Fixes for -fno-common
|
||||
https://github.com/rubund/graywolf/commit/f47937b66d4d44eafc4224f7c43d556dbf88f05b
|
||||
|
||||
Index: src/twsc/parser.h
|
||||
--- src/twsc/parser.h.orig
|
||||
+++ src/twsc/parser.h
|
||||
@@ -32,7 +32,6 @@ REVISIONS:
|
||||
EXTERN SWAPBOX *swap_group_listG ;
|
||||
EXTERN BOOL one_pin_feedthruG ;
|
||||
|
||||
-EXTERN INT maxCellOG ;
|
||||
EXTERN INT case_unequiv_pinG ;
|
||||
EXTERN INT celllenG ;
|
||||
EXTERN INT cells_per_clusterG ;
|
418
cad/graywolf/patches/patch-src_twsc_readcell_c
Normal file
418
cad/graywolf/patches/patch-src_twsc_readcell_c
Normal file
@ -0,0 +1,418 @@
|
||||
$OpenBSD: patch-src_twsc_readcell_c,v 1.1 2021/02/20 19:12:04 naddy Exp $
|
||||
|
||||
Fixes for -fno-common
|
||||
https://github.com/rubund/graywolf/commit/f47937b66d4d44eafc4224f7c43d556dbf88f05b
|
||||
|
||||
Index: src/twsc/readcell.c
|
||||
--- src/twsc/readcell.c.orig
|
||||
+++ src/twsc/readcell.c
|
||||
@@ -654,12 +654,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 "readcell_l.h"
|
||||
@@ -727,9 +727,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;
|
||||
@@ -755,12 +755,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;
|
||||
@@ -830,20 +830,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
|
||||
@@ -851,11 +851,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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -882,7 +882,7 @@ yyreduce:
|
||||
yystate, yyn, yyrule[yyn]);
|
||||
#endif
|
||||
yym = yylen[yyn];
|
||||
- yyval = yyvsp[1-yym];
|
||||
+ yyval = yyvsp2[1-yym];
|
||||
switch (yyn)
|
||||
{
|
||||
case 6:
|
||||
@@ -905,7 +905,7 @@ case 37:
|
||||
break;
|
||||
case 43:
|
||||
{
|
||||
- Ysafe_free( yyvsp[0].string ) ;
|
||||
+ Ysafe_free( yyvsp2[0].string ) ;
|
||||
}
|
||||
break;
|
||||
case 48:
|
||||
@@ -915,33 +915,33 @@ case 48:
|
||||
break;
|
||||
case 51:
|
||||
{
|
||||
- addCell( yyvsp[0].string, HARDCELLTYPE ) ;
|
||||
+ addCell( yyvsp2[0].string, HARDCELLTYPE ) ;
|
||||
}
|
||||
break;
|
||||
case 52:
|
||||
{
|
||||
not_supported("softcells") ;
|
||||
- Ysafe_free( yyvsp[0].string ) ;
|
||||
+ Ysafe_free( yyvsp2[0].string ) ;
|
||||
}
|
||||
break;
|
||||
case 53:
|
||||
{
|
||||
- addCell( yyvsp[0].string, STDCELLTYPE ) ;
|
||||
+ addCell( yyvsp2[0].string, STDCELLTYPE ) ;
|
||||
}
|
||||
break;
|
||||
case 60:
|
||||
{
|
||||
- fix_placement( yyvsp[-6].string, yyvsp[-5].ival, yyvsp[-3].string, yyvsp[0].ival ) ;
|
||||
+ fix_placement( yyvsp2[-6].string, yyvsp2[-5].ival, yyvsp2[-3].string, yyvsp2[0].ival ) ;
|
||||
}
|
||||
break;
|
||||
case 61:
|
||||
{
|
||||
- add_swap_group( yyvsp[0].string ) ;
|
||||
+ add_swap_group( yyvsp2[0].string ) ;
|
||||
}
|
||||
break;
|
||||
case 66:
|
||||
{
|
||||
- add_legal_blocks( yyvsp[0].ival ) ;
|
||||
+ add_legal_blocks( yyvsp2[0].ival ) ;
|
||||
}
|
||||
break;
|
||||
case 67:
|
||||
@@ -951,7 +951,7 @@ case 67:
|
||||
break;
|
||||
case 68:
|
||||
{
|
||||
- add_initial_orient( yyvsp[0].ival ) ;
|
||||
+ add_initial_orient( yyvsp2[0].ival ) ;
|
||||
}
|
||||
break;
|
||||
case 72:
|
||||
@@ -991,58 +991,58 @@ case 78:
|
||||
break;
|
||||
case 79:
|
||||
{
|
||||
- add_tile( yyvsp[-6].ival, yyvsp[-2].ival, yyvsp[-4].ival, yyvsp[0].ival ) ;
|
||||
+ add_tile( yyvsp2[-6].ival, yyvsp2[-2].ival, yyvsp2[-4].ival, yyvsp2[0].ival ) ;
|
||||
}
|
||||
break;
|
||||
case 80:
|
||||
{
|
||||
- yyval.string = yyvsp[0].string;
|
||||
+ yyval.string = yyvsp2[0].string;
|
||||
}
|
||||
break;
|
||||
case 81:
|
||||
{
|
||||
- yyval.string = yyvsp[0].string;
|
||||
+ yyval.string = yyvsp2[0].string;
|
||||
}
|
||||
break;
|
||||
case 82:
|
||||
{
|
||||
- addCell( yyvsp[0].string, PADTYPE ) ;
|
||||
+ addCell( yyvsp2[0].string, PADTYPE ) ;
|
||||
}
|
||||
break;
|
||||
case 83:
|
||||
{
|
||||
- addCell( yyvsp[-2].string, PADTYPE ) ;
|
||||
- add_orient(yyvsp[0].ival);
|
||||
+ addCell( yyvsp2[-2].string, PADTYPE ) ;
|
||||
+ add_orient(yyvsp2[0].ival);
|
||||
}
|
||||
break;
|
||||
case 84:
|
||||
{
|
||||
- add_padside( yyvsp[0].string ) ;
|
||||
- set_old_format( yyvsp[0].string ) ;
|
||||
+ add_padside( yyvsp2[0].string ) ;
|
||||
+ set_old_format( yyvsp2[0].string ) ;
|
||||
}
|
||||
break;
|
||||
case 85:
|
||||
{
|
||||
- addCell( yyvsp[-1].string, PADGROUPTYPE ) ;
|
||||
+ addCell( yyvsp2[-1].string, PADGROUPTYPE ) ;
|
||||
setPermutation( TRUE ) ;
|
||||
add_tile( 0,0,0,0 ) ;
|
||||
}
|
||||
break;
|
||||
case 86:
|
||||
{
|
||||
- addCell( yyvsp[-1].string, PADGROUPTYPE ) ;
|
||||
+ addCell( yyvsp2[-1].string, PADGROUPTYPE ) ;
|
||||
setPermutation( FALSE ) ;
|
||||
add_tile( 0,0,0,0 ) ;
|
||||
}
|
||||
break;
|
||||
case 87:
|
||||
{
|
||||
- Ysafe_free( yyvsp[0].string ) ;
|
||||
+ Ysafe_free( yyvsp2[0].string ) ;
|
||||
}
|
||||
break;
|
||||
case 88:
|
||||
{
|
||||
- Ysafe_free( yyvsp[0].string ) ;
|
||||
+ Ysafe_free( yyvsp2[0].string ) ;
|
||||
}
|
||||
break;
|
||||
case 89:
|
||||
@@ -1057,12 +1057,12 @@ case 90:
|
||||
break;
|
||||
case 93:
|
||||
{
|
||||
- add_corner( yyvsp[-1].ival, yyvsp[0].ival ) ;
|
||||
+ add_corner( yyvsp2[-1].ival, yyvsp2[0].ival ) ;
|
||||
}
|
||||
break;
|
||||
case 96:
|
||||
{
|
||||
- add_orient(yyvsp[0].ival);
|
||||
+ add_orient(yyvsp2[0].ival);
|
||||
}
|
||||
break;
|
||||
case 124:
|
||||
@@ -1082,99 +1082,99 @@ case 132:
|
||||
break;
|
||||
case 133:
|
||||
{
|
||||
- add_pin( yyvsp[-6].string, yyvsp[-4].string, yyvsp[-2].ival, yyvsp[-1].ival, yyvsp[0].ival ) ;
|
||||
+ add_pin( yyvsp2[-6].string, yyvsp2[-4].string, yyvsp2[-2].ival, yyvsp2[-1].ival, yyvsp2[0].ival ) ;
|
||||
}
|
||||
break;
|
||||
case 134:
|
||||
{
|
||||
- add_pin( yyvsp[-4].string, yyvsp[-2].string, 0, yyvsp[-1].ival, yyvsp[0].ival ) ;
|
||||
+ add_pin( yyvsp2[-4].string, yyvsp2[-2].string, 0, yyvsp2[-1].ival, yyvsp2[0].ival ) ;
|
||||
}
|
||||
break;
|
||||
case 137:
|
||||
{
|
||||
- add_equiv( yyvsp[-4].string, yyvsp[-2].ival, yyvsp[-1].ival, yyvsp[0].ival, FALSE ) ;
|
||||
+ add_equiv( yyvsp2[-4].string, yyvsp2[-2].ival, yyvsp2[-1].ival, yyvsp2[0].ival, FALSE ) ;
|
||||
}
|
||||
break;
|
||||
case 138:
|
||||
{
|
||||
- add_equiv( yyvsp[-2].string, 0, yyvsp[-1].ival, yyvsp[0].ival, FALSE ) ;
|
||||
+ add_equiv( yyvsp2[-2].string, 0, yyvsp2[-1].ival, yyvsp2[0].ival, FALSE ) ;
|
||||
}
|
||||
break;
|
||||
case 141:
|
||||
{
|
||||
- add_equiv( yyvsp[-4].string, yyvsp[-2].ival, yyvsp[-1].ival, yyvsp[0].ival, TRUE ) ;
|
||||
+ add_equiv( yyvsp2[-4].string, yyvsp2[-2].ival, yyvsp2[-1].ival, yyvsp2[0].ival, TRUE ) ;
|
||||
}
|
||||
break;
|
||||
case 142:
|
||||
{
|
||||
- add_equiv( yyvsp[-2].string, 0, yyvsp[-1].ival, yyvsp[0].ival, TRUE ) ;
|
||||
+ add_equiv( yyvsp2[-2].string, 0, yyvsp2[-1].ival, yyvsp2[0].ival, TRUE ) ;
|
||||
}
|
||||
break;
|
||||
case 145:
|
||||
{
|
||||
- add_port( yyvsp[-6].string, yyvsp[-4].string, yyvsp[-2].ival, yyvsp[-1].ival, yyvsp[0].ival ) ;
|
||||
+ add_port( yyvsp2[-6].string, yyvsp2[-4].string, yyvsp2[-2].ival, yyvsp2[-1].ival, yyvsp2[0].ival ) ;
|
||||
}
|
||||
break;
|
||||
case 146:
|
||||
{
|
||||
- add_port( yyvsp[-4].string, yyvsp[-2].string, 0, yyvsp[-1].ival, yyvsp[0].ival ) ;
|
||||
+ add_port( yyvsp2[-4].string, yyvsp2[-2].string, 0, yyvsp2[-1].ival, yyvsp2[0].ival ) ;
|
||||
}
|
||||
break;
|
||||
case 149:
|
||||
{
|
||||
- add_sidespace( yyvsp[0].fval, yyvsp[0].fval );
|
||||
+ add_sidespace( yyvsp2[0].fval, yyvsp2[0].fval );
|
||||
}
|
||||
break;
|
||||
case 150:
|
||||
{
|
||||
- add_sidespace( yyvsp[-1].fval, yyvsp[0].fval );
|
||||
+ add_sidespace( yyvsp2[-1].fval, yyvsp2[0].fval );
|
||||
}
|
||||
break;
|
||||
case 155:
|
||||
{
|
||||
- add_padside( yyvsp[0].string ) ;
|
||||
+ add_padside( yyvsp2[0].string ) ;
|
||||
}
|
||||
break;
|
||||
case 158:
|
||||
{
|
||||
- add2padgroup( yyvsp[-1].string, TRUE ) ; /* fixed */
|
||||
+ add2padgroup( yyvsp2[-1].string, TRUE ) ; /* fixed */
|
||||
}
|
||||
break;
|
||||
case 159:
|
||||
{
|
||||
- add2padgroup( yyvsp[-1].string, FALSE ) ; /* nonfixed */
|
||||
+ add2padgroup( yyvsp2[-1].string, FALSE ) ; /* nonfixed */
|
||||
}
|
||||
break;
|
||||
case 160:
|
||||
{
|
||||
- Ysafe_free( yyvsp[0].string ) ;
|
||||
+ Ysafe_free( yyvsp2[0].string ) ;
|
||||
}
|
||||
break;
|
||||
case 161:
|
||||
{
|
||||
- Ysafe_free( yyvsp[0].string ) ;
|
||||
+ Ysafe_free( yyvsp2[0].string ) ;
|
||||
}
|
||||
break;
|
||||
case 162:
|
||||
{
|
||||
- Ysafe_free( yyvsp[0].string ) ;
|
||||
+ Ysafe_free( yyvsp2[0].string ) ;
|
||||
}
|
||||
break;
|
||||
case 163:
|
||||
{
|
||||
- Ysafe_free( yyvsp[0].string ) ;
|
||||
+ Ysafe_free( yyvsp2[0].string ) ;
|
||||
}
|
||||
break;
|
||||
case 164:
|
||||
{
|
||||
- yyval.string = yyvsp[0].string ;
|
||||
+ yyval.string = yyvsp2[0].string ;
|
||||
}
|
||||
break;
|
||||
case 165:
|
||||
{
|
||||
/* convert integer to string */
|
||||
/* this allows integers to be used as strings */
|
||||
- sprintf( bufferS,"%d", yyvsp[0].ival ) ;
|
||||
+ sprintf( bufferS,"%d", yyvsp2[0].ival ) ;
|
||||
/* now clone string */
|
||||
yyval.string = Ystrclone( bufferS ) ;
|
||||
}
|
||||
@@ -1183,15 +1183,15 @@ case 166:
|
||||
{
|
||||
/* convert float to string */
|
||||
/* this allows floats to be used as strings */
|
||||
- sprintf( bufferS,"%f", yyvsp[0].fval ) ;
|
||||
+ sprintf( bufferS,"%f", yyvsp2[0].fval ) ;
|
||||
/* now clone string */
|
||||
yyval.string = Ystrclone( bufferS ) ;
|
||||
}
|
||||
break;
|
||||
}
|
||||
- yyssp -= yym;
|
||||
- yystate = *yyssp;
|
||||
- yyvsp -= yym;
|
||||
+ yyssp2 -= yym;
|
||||
+ yystate = *yyssp2;
|
||||
+ yyvsp2 -= yym;
|
||||
yym = yylhs[yyn];
|
||||
if (yystate == 0 && yym == 0)
|
||||
{
|
||||
@@ -1201,8 +1201,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;
|
||||
@@ -1228,14 +1228,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");
|
17
cad/graywolf/patches/patch-src_twsc_standard_h
Normal file
17
cad/graywolf/patches/patch-src_twsc_standard_h
Normal file
@ -0,0 +1,17 @@
|
||||
$OpenBSD: patch-src_twsc_standard_h,v 1.1 2021/02/20 19:12:05 naddy Exp $
|
||||
|
||||
Fixes for -fno-common
|
||||
https://github.com/rubund/graywolf/commit/f47937b66d4d44eafc4224f7c43d556dbf88f05b
|
||||
|
||||
Index: src/twsc/standard.h
|
||||
--- src/twsc/standard.h.orig
|
||||
+++ src/twsc/standard.h
|
||||
@@ -304,7 +304,7 @@ EXTERN DOUBLE vertical_wire_weightG ;
|
||||
/* the configuration */
|
||||
EXTERN INT numcellsG ;
|
||||
EXTERN INT numtermsG ;
|
||||
-EXTERN INT numnetsG ;
|
||||
+extern INT numnetsG ;
|
||||
EXTERN INT numpadgrpsG ;
|
||||
EXTERN INT lastpadG ;
|
||||
EXTERN INT maxtermG ;
|
Loading…
x
Reference in New Issue
Block a user