[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: configure missing files
From: |
Joel E. Denny |
Subject: |
Re: configure missing files |
Date: |
Fri, 22 Jan 2010 16:38:43 -0500 (EST) |
User-agent: |
Alpine 1.00 (DEB 882 2007-12-20) |
On Fri, 22 Jan 2010, tys lefering wrote:
> bison compiled without
> warnings but make maintainer-check issued these errors:
> 239: Dancer %skeleton "lalr1.cc" FAILED
> (regression.at:941)
> 240: Expecting two tokens ok
> 241: Expecting two tokens %glr-parser ok
> 242: Expecting two tokens %skeleton "lalr1.cc" FAILED
> (regression.at:1037)
> attached the testsuite.log file with more info.
> dancer.y:85: error: 'abort' was not declared in this scope
> stdout:
> ./regression.at:941: exit code was 1, expected 0
> 239. regression.at:941: 239. Dancer %skeleton "lalr1.cc" (regression.at:941):
> FAILED (regression.at:941)
> expect2.y:53: error: 'abort' was not declared in this scope
> stdout:
> ./regression.at:1037: exit code was 1, expected 0
> 242. regression.at:1037: 242. Expecting two tokens %skeleton "lalr1.cc"
> (regression.at:1037): FAILED (regression.at:1037)
> the g++ version installed on suse linux 11.2 is:
> g++ (SUSE Linux) 4.4.1 [gcc-4_4-branch revision 150839]
With g++ 4.4.1, I see it too with just `make check'. I pushed the patch
below to master to fix that.
This doesn't happen on branch-2.5 or branch-2.4.2. There, regardless of
whether locations are requested, the parser header includes location.hh
includes position.hh includes <algorithm>, which grabs the abort
definition. On master, location.hh isn't included because locations are
not requested.
> Thanks for your help.
Thank you.
>From 95611b56170082a1152416368f519f4392123fdd Mon Sep 17 00:00:00 2001
From: Joel E. Denny <address@hidden>
Date: Fri, 22 Jan 2010 14:53:42 -0500
Subject: [PATCH] tests: fix missing include caught by g++ 4.4.1.
Reported by Tys Lefering.
* HACKING (Release checks): Add note about trying a recent GCC.
* tests/regression.at (_AT_DATA_DANCER_Y): For C++, include
cstdlib for abort.
(_AT_DATA_EXPECT2_Y): Likewise.
---
ChangeLog | 9 +++++++++
HACKING | 3 +++
tests/regression.at | 4 ++--
3 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 6ef4332..6248886 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2010-01-22 Joel E. Denny <address@hidden>
+
+ tests: fix missing include caught by g++ 4.4.1.
+ Reported by Tys Lefering.
+ * HACKING (Release checks): Add note about trying a recent GCC.
+ * tests/regression.at (_AT_DATA_DANCER_Y): For C++, include
+ cstdlib for abort.
+ (_AT_DATA_EXPECT2_Y): Likewise.
+
2010-01-21 Joel E. Denny <address@hidden>
* cfg.mk (gnulib_dir): Assume gnulib is a subdirectory.
diff --git a/HACKING b/HACKING
index 680ca99..f16d4f6 100644
--- a/HACKING
+++ b/HACKING
@@ -197,6 +197,9 @@ release:
that it does not make sense for glr.c, which should be ANSI,
but currently is actually GNU C, nor for lalr1.cc.
+- Test with a very recent version of GCC for both C and C++. Testing
+ with older versions that are still in use is nice too.
+
* Release Procedure
diff --git a/tests/regression.at b/tests/regression.at
index c530428..3ef8541 100644
--- a/tests/regression.at
+++ b/tests/regression.at
@@ -824,7 +824,7 @@ m4_define([_AT_DATA_DANCER_Y],
[AT_DATA_GRAMMAR([dancer.y],
[%{
static int yylex (AT_LALR1_CC_IF([int *], [void]));
-AT_LALR1_CC_IF([],
+AT_LALR1_CC_IF([#include <cstdlib>],
[#include <stdlib.h>
#include <stdio.h>
static void yyerror (const char *);])
@@ -952,7 +952,7 @@ m4_define([_AT_DATA_EXPECT2_Y],
[AT_DATA_GRAMMAR([expect2.y],
[%{
static int yylex (AT_LALR1_CC_IF([int *], [void]));
-AT_LALR1_CC_IF([],
+AT_LALR1_CC_IF([#include <cstdlib>],
[#include <stdio.h>
#include <stdlib.h>
static void yyerror (const char *);])
--
1.5.4.3