]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/dosyacc.c
VA 4.0 fixes
[wxWidgets.git] / src / common / dosyacc.c
index 269cea2073215f10f8d4327c456d23eb2bea3cea..5cd881ca33b60d63756d9446cd4259b537d1cb81 100644 (file)
@@ -4,7 +4,7 @@ static char yysccsid[] = "@(#)yaccpar     1.7 (Berkeley) 09/09/90";
 #define YYBYACC 1
 #line 2 "parser.y"
 #include "string.h"
-#ifdef _MSC_VER
+#if defined(_MSC_VER) || defined(__VISAGECPP__)
 #include <io.h>
 #endif
 #include "wx/expr.h"
@@ -25,7 +25,6 @@ int yyback(int *, int);
 
 /* You may need to put /DLEX_SCANNER in your makefile
  * if you're using LEX!
-       Last change:  JS   13 Jul 97    6:12 pm
  */
 #ifdef LEX_SCANNER
 /* int yyoutput(int); */
@@ -248,7 +247,10 @@ void yyerror(char *s)
 #define yywrap() 1
 #endif
 #else
-int yywrap() { return 1; }
+#  if !(defined(__VISAGECPP__) && __IBMC__ >= 400)
+/* VA 4.0 thinks this is multiply defined (in lex_yy.c) */
+   int yywrap() { return 1; }
+#  endif
 #endif
 #endif
 #line 247 "y_tab.c"
@@ -263,7 +265,8 @@ yyparse()
     register char *yys;
     extern char *getenv();
 
-    if (yys = getenv("YYDEBUG"))
+    yys = getenv("YYDEBUG");
+    if (yys)
     {
         yyn = *yys;
         if (yyn >= '0' && yyn <= '9')
@@ -280,7 +283,8 @@ yyparse()
     *yyssp = yystate = 0;
 
 yyloop:
-    if (yyn = yydefred[yystate]) goto yyreduce;
+    yyn = yydefred[yystate];
+    if (yyn != 0) goto yyreduce;
     if (yychar < 0)
     {
         if ((yychar = yylex()) < 0) yychar = 0;