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


Reply via email to