]> git.saurik.com Git - bison.git/commitdiff
(YYPOINTER): New macro.
authorPaul Eggert <eggert@cs.ucla.edu>
Tue, 4 Dec 2001 13:28:18 +0000 (13:28 +0000)
committerPaul Eggert <eggert@cs.ucla.edu>
Tue, 4 Dec 2001 13:28:18 +0000 (13:28 +0000)
(YYSTACK_RELOCATE): Use it to avoid a GCC warning.
(yystpcpy): Use prototype if __STDC__ is defined, not just
if __cplusplus is defined.

src/bison.simple

index 5259a28c9b0be54104d310d91a1dae1d7e165f32..52b2d1ce2f697d04bf40ba1021d6db996738561c 100644 (file)
@@ -102,6 +102,12 @@ union yyalloc
       + YYSTACK_GAP_MAX)
 # endif
 
+# if defined (__STDC__) || defined (__cplusplus)
+#  define YYPOINTER void *
+# else
+#  define YYPOINTER char *
+# endif
+
 /* Relocate the TYPE STACK from its old location to the new one.  The
    local variables YYSIZE and YYSTACKSIZE give the old and new number of
    elements in the stack, and YYPTR gives the new location of the
@@ -113,7 +119,7 @@ union yyalloc
        YYSIZE_T yynewbytes;                                            \
        yymemcpy (yyptr, (char *) (Stack),                              \
                  yysize * (YYSIZE_T) sizeof (Type));                   \
-       (Stack) = (Type *) yyptr;                                       \
+       (Stack) = (Type *) (YYPOINTER) yyptr;                           \
        yynewbytes = yystacksize * sizeof (Type) + YYSTACK_GAP_MAX;     \
        yynewbytes -= yynewbytes % sizeof (union yyalloc);              \
        yyptr += yynewbytes;                                            \
@@ -301,12 +307,12 @@ yystrlen (yystr)
 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
    YYDEST.  */
 static char *
-#   ifndef __cplusplus
+#   if defined (__STDC__) || defined (__cplusplus)
+yystpcpy (char *yydest, const char *yysrc)
+#   else
 yystpcpy (yydest, yysrc)
      char *yydest;
      const char *yysrc;
-#   else
-yystpcpy (char *yydest, const char *yysrc)
 #   endif
 {
   register char *yyd = yydest;
@@ -797,7 +803,7 @@ yyerrlab:
            yyerror ("parse error; also virtual memory exhausted");
        }
       else
-#endif /* YYERROR_VERBOSE */
+#endif /* defined (YYERROR_VERBOSE) */
        yyerror ("parse error");
     }
   goto yyerrlab1;