Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:StefanBruens:branches:electronics
graywolf
0005-Apply-patch-for-build-with-GCC-10.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0005-Apply-patch-for-build-with-GCC-10.patch of Package graywolf
From f47937b66d4d44eafc4224f7c43d556dbf88f05b Mon Sep 17 00:00:00 2001 From: Ruben Undheim <ruben.undheim@gmail.com> Date: Wed, 18 Nov 2020 09:38:03 +0000 Subject: [PATCH] Apply patch for build with GCC-10 --- src/mc_compact/readcgraph.c | 68 +++++++-------- src/twmc/readcells.c | 170 ++++++++++++++++++------------------ src/twsc/config.h | 2 +- src/twsc/feeds.h | 2 +- src/twsc/groute.h | 11 +-- src/twsc/main.c | 7 ++ src/twsc/main.h | 5 +- src/twsc/parser.c | 2 + src/twsc/parser.h | 1 - src/twsc/readcell.c | 142 +++++++++++++++--------------- src/twsc/standard.h | 2 +- 11 files changed, 210 insertions(+), 202 deletions(-) diff --git a/src/mc_compact/readcgraph.c b/src/mc_compact/readcgraph.c index 1757e531..76a9294c 100644 --- a/src/mc_compact/readcgraph.c +++ b/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 @@ yyparse() 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 @@ yyparse() 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 @@ yyparse() #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 @@ yyparse() 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"); diff --git a/src/twmc/readcells.c b/src/twmc/readcells.c index c4624c13..103d1559 100644 --- a/src/twmc/readcells.c +++ b/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 @@ yyparse() 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 @@ yyparse() 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 @@ yyparse() #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 @@ yyparse() 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"); diff --git a/src/twsc/config.h b/src/twsc/config.h index c04444c9..4d6a98c7 100644 --- a/src/twsc/config.h +++ b/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 ; diff --git a/src/twsc/feeds.h b/src/twsc/feeds.h index 1770b8e2..d135b8ac 100644 --- a/src/twsc/feeds.h +++ b/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 ; diff --git a/src/twsc/groute.h b/src/twsc/groute.h index 9fb0ab02..d2554c58 100644 --- a/src/twsc/groute.h +++ b/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 ; diff --git a/src/twsc/main.c b/src/twsc/main.c index 5d82d75d..a5004093 100644 --- a/src/twsc/main.c +++ b/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); diff --git a/src/twsc/main.h b/src/twsc/main.h index 832700d4..65017501 100644 --- a/src/twsc/main.h +++ b/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 ; diff --git a/src/twsc/parser.c b/src/twsc/parser.c index 87eb48ff..b3e21b8a 100644 --- a/src/twsc/parser.c +++ b/src/twsc/parser.c @@ -111,6 +111,8 @@ REVISIONS: Mon Nov 19 04:04:18 EST 1990 - added temperature INT ECOs_existG = 0 ; INT orig_max_row_lengthG ; +extern INT maxCellOG ; + extern INT totalRG ; extern INT spacer_widthG ; extern INT *spacer_feedsG ; diff --git a/src/twsc/parser.h b/src/twsc/parser.h index eeef518f..fc7d596b 100644 --- a/src/twsc/parser.h +++ b/src/twsc/parser.h @@ -32,7 +32,6 @@ DATE: Dec 8, 1989 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 ; diff --git a/src/twsc/readcell.c b/src/twsc/readcell.c index e80b9fb9..42673d4e 100644 --- a/src/twsc/readcell.c +++ b/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 @@ yyparse() 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 @@ yyparse() 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 @@ yyparse() #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 @@ yyparse() 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"); diff --git a/src/twsc/standard.h b/src/twsc/standard.h index 2372a6da..b95bdd37 100644 --- a/src/twsc/standard.h +++ b/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 ;
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor