Thanks for reporting that, though as Hans Aberg notes it's better to
report bugs to [EMAIL PROTECTED] I installed the following patch.
By the way, I suggest you use Bison 2.3 rather than 2.1, as it should
be a bit more reliable.
2006-07-12 Paul Eggert <[EMAIL PROTECTED]>
* data/lalr1.cc (YYCDEBUG): Use 'if (yydebug_) (*yycdebug_)'
rather than a for-loop that declares a local bool variable. This
should work around a compatibility problem with a Cray x1e C++
compiler reported by Hung Nguyen in
<http://lists.gnu.org/archive/html/help-bison/2006-07/msg00022.html>.
The for-loop was introduced in the 2004-11-17 change but I don't
know why it was needed.
--- data/lalr1.cc 9 Jul 2006 20:36:33 -0000 1.137
+++ data/lalr1.cc 12 Jul 2006 18:00:15 -0000
@@ -336,9 +336,7 @@ b4_defines_if([
#define YYUSE(e) ((void) (e))
/* A pseudo ostream that takes yydebug_ into account. */
-# define YYCDEBUG \
- for (bool yydebugcond_ = yydebug_; yydebugcond_; yydebugcond_ = false)
\
- (*yycdebug_)
+# define YYCDEBUG if (yydebug_) (*yycdebug_)
/* Enable debugging if requested. */
#if YYDEBUG