Skip to content

Commit

Permalink
* configure.in (AC_PROG_YACC): AC_DEFINE(OLD_YACC) if Yacc is found
Browse files Browse the repository at this point in the history
  instead of Bison or byacc.

* parse.y: If OLD_YACC is defined, ensure that YYMAXDEPTH is at least
  10000 (Bison's default) since some old versions of Yacc define it as
  low as 150 by default, which is too low for Ruby to parse some files,
  such as date/format.rb.  Among other issues, the parse problem causes
  "make test" to fail.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5093 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
  • Loading branch information
matz committed Dec 3, 2003
1 parent 73bc120 commit 2f4c13b
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 1 deletion.
11 changes: 11 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,17 @@ Tue Dec 2 21:31:42 2003 Nobuyoshi Nakada <nobu.nakada@nifty.ne.jp>

* test/runner.rb: exit with the test result.

Tue Dec 2 20:18:48 2003 Eric Sunshine <sunshine@sunshineco.com>

* configure.in (AC_PROG_YACC): AC_DEFINE(OLD_YACC) if Yacc is found
instead of Bison or byacc.

* parse.y: If OLD_YACC is defined, ensure that YYMAXDEPTH is at least
10000 (Bison's default) since some old versions of Yacc define it as
low as 150 by default, which is too low for Ruby to parse some files,
such as date/format.rb. Among other issues, the parse problem causes
"make test" to fail.

Tue Dec 2 20:03:20 2003 Minero Aoki <aamine@loveruby.net>

* test/fileutils/test_fileutils.rb: check if Pathnames are usable
Expand Down
4 changes: 4 additions & 0 deletions configure.in
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,10 @@ AC_SUBST(OUTFLAG)
RUBY_MINGW32

AC_PROG_YACC
if test "$YACC" = "yacc"; then
AC_DEFINE([OLD_YACC])
fi

AC_CHECK_TOOL(RANLIB, ranlib, :)
AC_CHECK_TOOL(AR, ar)
if test -z "$AR"; then
Expand Down
2 changes: 1 addition & 1 deletion defines.h
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,7 @@ flush_register_windows(void)
#define PATH_ENV "PATH"
#endif

#if defined(DOSISH) && !defined(__human68k__)
#if defined(DOSISH) && !defined(__human68k__) && !defined(__EMX__)
#define ENV_IGNORECASE
#endif

Expand Down
9 changes: 9 additions & 0 deletions parse.y
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,15 @@ static void top_local_setup();
#define nd_paren(node) (char)((node)->u2.id >> CHAR_BIT*2)
#define nd_nest u3.id

/* Older versions of Yacc set YYMAXDEPTH to a very low value by default (150,
for instance). This is too low for Ruby to parse some files, such as
date/format.rb, therefore bump the value up to at least Bison's default. */
#ifdef OLD_YACC
#ifndef YYMAXDEPTH
#define YYMAXDEPTH 10000
#endif
#endif

%}

%union {
Expand Down

0 comments on commit 2f4c13b

Please sign in to comment.