mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-20 09:43:03 +00:00
* tests/conflicts.at (%nonassoc and eof): Don't exit with status
1 on syntax error; just let yyparse do its thing. * tests/glr-regression.at (Badly Collapsed GLR States): Likewise. * tests/torture.at (AT_DATA_STACK_TORTURE): Likewise. (Exploding the Stack Size with Alloca): (Exploding the Stack Size with Malloc): Expect exit status 2, not 1, since the parser is supposed to blow its stack. Problem reported by twlevo@xs4all.nl.
This commit is contained in:
@@ -1,5 +1,14 @@
|
|||||||
2005-07-17 Paul Eggert <eggert@cs.ucla.edu>
|
2005-07-17 Paul Eggert <eggert@cs.ucla.edu>
|
||||||
|
|
||||||
|
* tests/conflicts.at (%nonassoc and eof): Don't exit with status
|
||||||
|
1 on syntax error; just let yyparse do its thing.
|
||||||
|
* tests/glr-regression.at (Badly Collapsed GLR States): Likewise.
|
||||||
|
* tests/torture.at (AT_DATA_STACK_TORTURE): Likewise.
|
||||||
|
(Exploding the Stack Size with Alloca):
|
||||||
|
(Exploding the Stack Size with Malloc):
|
||||||
|
Expect exit status 2, not 1, since the parser is supposed to blow
|
||||||
|
its stack. Problem reported by twlevo@xs4all.nl.
|
||||||
|
|
||||||
* data/glr.c (yyparse): Don't assume that the initial calls
|
* data/glr.c (yyparse): Don't assume that the initial calls
|
||||||
to YYMALLOC succeed; in that case, yyparse incorrectly returned 0.
|
to YYMALLOC succeed; in that case, yyparse incorrectly returned 0.
|
||||||
Print a stack-overflow message and fail instead.
|
Print a stack-overflow message and fail instead.
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Exercising Bison on conflicts. -*- Autotest -*-
|
# Exercising Bison on conflicts. -*- Autotest -*-
|
||||||
|
|
||||||
# Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
|
# Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -62,7 +62,6 @@ static void
|
|||||||
yyerror (const char *msg)
|
yyerror (const char *msg)
|
||||||
{
|
{
|
||||||
fprintf (stderr, "%s\n", msg);
|
fprintf (stderr, "%s\n", msg);
|
||||||
exit (1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* The current argument. */
|
/* The current argument. */
|
||||||
|
|||||||
@@ -74,7 +74,6 @@ int
|
|||||||
yyerror (char const *msg)
|
yyerror (char const *msg)
|
||||||
{
|
{
|
||||||
fprintf (stderr, "%s\n", msg);
|
fprintf (stderr, "%s\n", msg);
|
||||||
exit (4);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -404,7 +404,6 @@ static void
|
|||||||
yyerror (const char *msg)
|
yyerror (const char *msg)
|
||||||
{
|
{
|
||||||
fprintf (stderr, "%s\n", msg);
|
fprintf (stderr, "%s\n", msg);
|
||||||
exit (1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* There are YYLVAL_MAX of WAIT_FOR_EOFs. */
|
/* There are YYLVAL_MAX of WAIT_FOR_EOFs. */
|
||||||
@@ -452,7 +451,7 @@ AT_PARSER_CHECK([./input 20], 0, [], [ignore])
|
|||||||
AT_PARSER_CHECK([./input 900], 0, [], [ignore])
|
AT_PARSER_CHECK([./input 900], 0, [], [ignore])
|
||||||
# Fails: beyond the limit of 10,000 (which we don't reach anyway since we
|
# Fails: beyond the limit of 10,000 (which we don't reach anyway since we
|
||||||
# multiply by two starting at 200 => 5120 is the last possible).
|
# multiply by two starting at 200 => 5120 is the last possible).
|
||||||
AT_PARSER_CHECK([./input 10000], 1, [], [ignore])
|
AT_PARSER_CHECK([./input 10000], 2, [], [ignore])
|
||||||
|
|
||||||
AT_CLEANUP
|
AT_CLEANUP
|
||||||
|
|
||||||
@@ -473,6 +472,6 @@ AT_PARSER_CHECK([./input 20], 0, [], [ignore])
|
|||||||
AT_PARSER_CHECK([./input 900], 0, [], [ignore])
|
AT_PARSER_CHECK([./input 900], 0, [], [ignore])
|
||||||
# Fails: beyond the limit of 10,000 (which we don't reach anyway since we
|
# Fails: beyond the limit of 10,000 (which we don't reach anyway since we
|
||||||
# multiply by two starting at 200 => 5120 is the possible).
|
# multiply by two starting at 200 => 5120 is the possible).
|
||||||
AT_PARSER_CHECK([./input 10000], 1, [], [ignore])
|
AT_PARSER_CHECK([./input 10000], 2, [], [ignore])
|
||||||
|
|
||||||
AT_CLEANUP
|
AT_CLEANUP
|
||||||
|
|||||||
Reference in New Issue
Block a user