* data/yacc.c (YYID, yy_stack_print): Prefix local vars with "yy"

so they don't collide with user-defined macros.
(yy_stack_print): Don't assume that yytype_int16 promotes to int;
this was never guaranteed, and now that we're using gnulib stdint,
which defines int_fast16_t to long int, the problem is exposed.
This commit is contained in:
Paul Eggert
2006-07-09 07:38:12 +00:00
parent b8445a158c
commit cd9e1ba28d
2 changed files with 17 additions and 6 deletions

View File

@@ -1,3 +1,11 @@
2006-07-09 Paul Eggert <eggert@cs.ucla.edu>
* data/yacc.c (YYID, yy_stack_print): Prefix local vars with "yy"
so they don't collide with user-defined macros.
(yy_stack_print): Don't assume that yytype_int16 promotes to int;
this was never guaranteed, and now that we're using gnulib stdint,
which defines int_fast16_t to long int, the problem is exposed.
2006-07-08 Paul Eggert <eggert@cs.ucla.edu>
* data/c.m4 (b4_basename): Simplify a bit, since we don't

View File

@@ -286,9 +286,9 @@ typedef short int yytype_int16;
#ifndef lint
# define YYID(n) (n)
#else
]b4_c_function_def([YYID], [static int], [[int i], [i]])[
]b4_c_function_def([YYID], [static int], [[int yyi], [yyi]])[
{
return i;
return yyi;
}
#endif
@@ -673,12 +673,15 @@ do { \
`------------------------------------------------------------------*/
]b4_c_function_def([yy_stack_print], [static void],
[[yytype_int16 *bottom], [bottom]],
[[yytype_int16 *top], [top]])[
[[yytype_int16 *yybottom], [yybottom]],
[[yytype_int16 *yytop], [yytop]])[
{
YYFPRINTF (stderr, "Stack now");
for (; bottom <= top; ++bottom)
YYFPRINTF (stderr, " %d", *bottom);
for (; yybottom <= yytop; yybottom++)
{
int yybot = *yybottom;
YYFPRINTF (stderr, " %d", yybot);
}
YYFPRINTF (stderr, "\n");
}