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 ;
openSUSE Build Service is sponsored by