[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Bison test case fixes uncovered by recent bug reports
From: |
Paul Eggert |
Subject: |
Bison test case fixes uncovered by recent bug reports |
Date: |
Mon, 19 Sep 2005 14:09:14 -0700 |
User-agent: |
Gnus/5.1007 (Gnus v5.10.7) Emacs/21.4 (gnu/linux) |
I installed this:
2005-09-19 Paul Eggert <address@hidden>
* tests/glr-regression.at (Duplicated user destructor for lookahead):
Mark it as expected to fail.
Cast result of malloc; problem reported by address@hidden
* tests/actions.at, tests/calc.at, tests/glr-regression.at:
Don't start user-code symbols with "yy", to avoid name space problems.
Index: tests/actions.at
===================================================================
RCS file: /cvsroot/bison/bison/tests/actions.at,v
retrieving revision 1.52
diff -p -u -r1.52 actions.at
--- tests/actions.at 19 Jul 2005 06:56:43 -0000 1.52
+++ tests/actions.at 19 Sep 2005 21:06:09 -0000
@@ -286,7 +286,7 @@ thing:
;
%%
/* Alias to ARGV[1]. */
-const char *yysource = 0;
+const char *source = 0;
static int
yylex (]AT_LEX_FORMALS[)
@@ -303,12 +303,12 @@ yylex (]AT_LEX_FORMALS[)
AT_LOC.last_line = AT_LOC.last_column = AT_LOC.first_line + 9;
])[
- if (yysource[c])
- printf ("sending: '%c'", yysource[c]);
+ if (source[c])
+ printf ("sending: '%c'", source[c]);
else
printf ("sending: EOF");
printf (" (address@hidden)\n", c, RANGE (]AT_LOC[));
- return yysource[c];
+ return source[c];
}
]AT_LALR1_CC_IF(
@@ -340,7 +340,7 @@ main (int argc, const char *argv[])
int status;
yydebug = !!getenv ("YYDEBUG");
assert (argc == 2);
- yysource = argv[1];
+ source = argv[1];
status = yyparse ();
switch (status)
{
Index: tests/calc.at
===================================================================
RCS file: /cvsroot/bison/bison/tests/calc.at,v
retrieving revision 1.77
diff -p -u -r1.77 calc.at
--- tests/calc.at 22 Aug 2005 02:31:10 -0000 1.77
+++ tests/calc.at 19 Sep 2005 21:06:09 -0000
@@ -77,8 +77,8 @@ static void yyerror (AT_YYERROR_ARG_LOC_
const char *s
);])[
static int yylex (]AT_LEX_FORMALS[);
-static int yygetc (]AT_LEX_FORMALS[);
-static void yyungetc (]AT_LEX_PRE_FORMALS[ int c);
+static int get_char (]AT_LEX_FORMALS[);
+static void unget_char (]AT_LEX_PRE_FORMALS[ int c);
%}
/* Bison Declarations */
@@ -125,7 +125,7 @@ exp:
;
%%
/* The input. */
-static FILE *yyin;
+static FILE *input;
]AT_LALR1_CC_IF(
[/* A C++ error reporting function. */
@@ -168,9 +168,9 @@ AT_YYERROR_SEES_LOC_IF([
static YYLTYPE last_yylloc;
])[
static int
-yygetc (]AT_LEX_FORMALS[)
+get_char (]AT_LEX_FORMALS[)
{
- int res = getc (yyin);
+ int res = getc (input);
]AT_USE_LEX_ARGS[;
]AT_LOCATION_IF([
last_yylloc = AT_LOC;
@@ -192,37 +192,37 @@ AT_LALR1_CC_IF(
static void
-yyungetc (]AT_LEX_PRE_FORMALS[ int c)
+unget_char (]AT_LEX_PRE_FORMALS[ int c)
{
]AT_USE_LEX_ARGS[;
]AT_LOCATION_IF([
/* Wrong when C == `\n'. */
AT_LOC = last_yylloc;
])[
- ungetc (c, yyin);
+ ungetc (c, input);
}
static int
read_signed_integer (]AT_LEX_FORMALS[)
{
- int c = yygetc (]AT_LEX_ARGS[);
+ int c = get_char (]AT_LEX_ARGS[);
int sign = 1;
int n = 0;
]AT_USE_LEX_ARGS[;
if (c == '-')
{
- c = yygetc (]AT_LEX_ARGS[);
+ c = get_char (]AT_LEX_ARGS[);
sign = -1;
}
while (isdigit (c))
{
n = 10 * n + (c - '0');
- c = yygetc (]AT_LEX_ARGS[);
+ c = get_char (]AT_LEX_ARGS[);
}
- yyungetc (]AT_LEX_PRE_ARGS[ c);
+ unget_char (]AT_LEX_PRE_ARGS[ c);
return sign * n;
}
@@ -258,7 +258,7 @@ yylex (]AT_LEX_FORMALS[)
])])[
/* Skip white space. */
- while ((c = yygetc (]AT_LEX_ARGS[)) == ' ' || c == '\t')
+ while ((c = get_char (]AT_LEX_ARGS[)) == ' ' || c == '\t')
{
]AT_LOCATION_IF([AT_LALR1_CC_IF(
[ AT_LOC.begin = AT_LOC.end;],
@@ -270,7 +270,7 @@ yylex (]AT_LEX_FORMALS[)
/* process numbers */
if (c == '.' || isdigit (c))
{
- yyungetc (]AT_LEX_PRE_ARGS[ c);
+ unget_char (]AT_LEX_PRE_ARGS[ c);
]AT_VAL[.ival = read_signed_integer (]AT_LEX_ARGS[);
return NUM;
}
@@ -308,11 +308,11 @@ main (int argc, const char **argv)
alarm (100);
if (argc == 2)
- yyin = fopen (argv[1], "r");
+ input = fopen (argv[1], "r");
else
- yyin = stdin;
+ input = stdin;
- if (!yyin)
+ if (!input)
{
perror (argv[1]);
return 3;
Index: tests/glr-regression.at
===================================================================
RCS file: /cvsroot/bison/bison/tests/glr-regression.at,v
retrieving revision 1.17
diff -p -u -r1.17 glr-regression.at
--- tests/glr-regression.at 16 Sep 2005 22:54:21 -0000 1.17
+++ tests/glr-regression.at 19 Sep 2005 21:06:09 -0000
@@ -121,8 +121,6 @@ AT_DATA_GRAMMAR([glr-regr2a.y],
%{
#define YYSTYPE char const *
- #define yyfalse 0
- #define yytrue 1
#include <ctype.h>
#include <stdio.h>
@@ -168,14 +166,14 @@ var_printer: 'v'
%%
-FILE *yyin = NULL;
+FILE *input = NULL;
int
yylex (void)
{
char buf[50];
char *s;
- switch (fscanf (yyin, " %1[a-z,]", buf)) {
+ switch (fscanf (input, " %1[a-z,]", buf)) {
case 1:
return buf[0];
case EOF:
@@ -183,7 +181,7 @@ yylex (void)
default:
break;
}
- if (fscanf (yyin, "%49s", buf) != 1)
+ if (fscanf (input, "%49s", buf) != 1)
return 0;
if (sizeof buf - 1 <= strlen (buf))
abort ();
@@ -201,8 +199,8 @@ yyerror (char const *s)
int
main (int argc, char **argv)
{
- yyin = stdin;
- if (argc == 2 && !(yyin = fopen (argv[1], "r"))) return 3;
+ input = stdin;
+ if (argc == 2 && !(input = fopen (argv[1], "r"))) return 3;
return yyparse ();
}
]])
@@ -290,7 +288,7 @@ static void yyerror(char const * s) {
fprintf(stderr,"error: %s\n",s);
}
-FILE *yyin = NULL;
+FILE *input = NULL;
int P[] = { P1, P2 };
int O[] = { O1, O2 };
@@ -299,7 +297,7 @@ int T[] = { T1, T2, T3, T4 };
int yylex (void)
{
char inp[3];
- if (fscanf (yyin, "%2s", inp) == EOF)
+ if (fscanf (input, "%2s", inp) == EOF)
return 0;
switch (inp[0])
{
@@ -311,8 +309,8 @@ int yylex (void)
}
int main(int argc, char* argv[]) {
- yyin = stdin;
- if (argc == 2 && !(yyin = fopen (argv[1], "r"))) return 3;
+ input = stdin;
+ if (argc == 2 && !(input = fopen (argv[1], "r"))) return 3;
return yyparse ();
}
]])
@@ -603,7 +601,7 @@ stack2: 'a' ;
static int
yylex (void)
{
- yylval.count = malloc (sizeof (int));
+ yylval.count = (int *) malloc (sizeof (int));
if (!yylval.count)
{
fprintf (stderr, "Test inconclusive.\n");
@@ -631,8 +629,10 @@ AT_CHECK([[bison -o glr-regr7.c glr-regr
])
AT_COMPILE([glr-regr7])
-AT_CHECK([[exit 77; ./glr-regr7]], 2, [],
+AT_CHECK([[./glr-regr7]], 2, [],
[memory exhausted
])
+
+AT_XFAIL_IF(:)
AT_CLEANUP
- Bison test case fixes uncovered by recent bug reports,
Paul Eggert <=
- Re: Bison test case fixes uncovered by recent bug reports, Joel E. Denny, 2005/09/20
- Re: Bison test case fixes uncovered by recent bug reports, Paul Eggert, 2005/09/20
- Re: Bison test case fixes uncovered by recent bug reports, Joel E. Denny, 2005/09/20
- Re: Bison test case fixes uncovered by recent bug reports, Akim Demaille, 2005/09/21
- Re: Bison test case fixes uncovered by recent bug reports, Joel E. Denny, 2005/09/21
- Re: Bison test case fixes uncovered by recent bug reports, Paul Eggert, 2005/09/21
- Re: Bison test case fixes uncovered by recent bug reports, Akim Demaille, 2005/09/21