summaryrefslogtreecommitdiff
path: root/tests/cxx-type.at
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2005-07-18 18:09:40 +0000
committerPaul Eggert <eggert@cs.ucla.edu>2005-07-18 18:09:40 +0000
commit6100a9aa2e68e992396e3e1da954921dc1fee801 (patch)
treec393eb987d113a0504a4253f4d3ac1826afa5960 /tests/cxx-type.at
parent67fd79c42743952d58ca53e3a97a8b66ee31bcc6 (diff)
downloadbison-6100a9aa2e68e992396e3e1da954921dc1fee801.tar.gz
Improve tests for stack overflow in GLR parser.
Problem reported by twlevo@xs4all.nl. * data/glr.c (struct yyGLRStack): Remove yyerrflag member. All uses removed. (yyStackOverflow): Just longjmp, but with value 2 so that caller can handle the problem. (YYCHK1): Use goto (a la yacc.c) rather than setting a flag. (yyparse): New local variable yyresult to record the result. Use result of setjmp to set it, rather than storing itinto struct. (yyDone): Remove label. (yyacceptlab, yyabortlab, yyoverflowlab, yyreturn): New labels, to mimic yacc.c. Do not discard lookahead if it's EOF (possible if YYABORT is used). * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Exit with yyparse status; put status > 1 into diagnostic. Check that status==2 works. * tests/calc.at, tests/cxx-type.at, tests/glr-regression.at: Use exit status 3 for failure to open (which shouldn't happen).
Diffstat (limited to 'tests/cxx-type.at')
-rw-r--r--tests/cxx-type.at4
1 files changed, 2 insertions, 2 deletions
diff --git a/tests/cxx-type.at b/tests/cxx-type.at
index f9c093c5..0fcdfdb6 100644
--- a/tests/cxx-type.at
+++ b/tests/cxx-type.at
@@ -115,8 +115,8 @@ main (int argc, char **argv)
if (argc != 2)
abort ();
if (!freopen (argv[1], "r", stdin))
- abort ();
- exit (yyparse ());
+ return 3;
+ return yyparse ();
}
int