[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [GNU Bison 1.875d] testsuite: 43 84 85 86 87 88 89 110 failed
From: |
Paul Eggert |
Subject: |
Re: [GNU Bison 1.875d] testsuite: 43 84 85 86 87 88 89 110 failed |
Date: |
Mon, 24 May 2004 00:03:10 -0700 |
User-agent: |
Gnus/5.1006 (Gnus v5.10.6) Emacs/21.3 (gnu/linux) |
Thanks for your bug report. From your logs it appears that your C++
compiler by default doesn't build executables that actually run. This
is an unfortunate property of the default GCC installation these days
if you install GCC yourself. I don't really understand why GCC does
it that way. Anyway, this problem caused all the C++-related tests to
fail even though Bison itself was just fine. I have installed the
following patch so that future Bison testers don't run into the
problem.
2004-05-23 Paul Eggert <address@hidden>
Ensure that the C++ compiler used for testing actually works on a
simple test program; if not, skip the C++-related tests. Problem
reported by Vin Shelton in:
http://mail.gnu.org/archive/html/bug-bison/2004-05/msg00026.html
* m4/cxx.m4: New file.
* configure.ac (BISON_TEST_FOR_WORKING_CXX_COMPILER): Add.
* tests/atlocal.in (BISON_CXX_WORKS): Add.
* tests/local.at (AT_COMPILE_CXX): Use it.
Index: configure.ac
===================================================================
RCS file: /cvsroot/bison/bison/configure.ac,v
retrieving revision 1.41
diff -p -u -r1.41 configure.ac
--- configure.ac 21 May 2004 22:12:21 -0000 1.41
+++ configure.ac 24 May 2004 06:50:47 -0000
@@ -111,6 +111,7 @@ AC_CONFIG_FILES([tests/Makefile tests/at
AC_CONFIG_FILES([tests/bison], [chmod +x tests/bison])
AC_CHECK_PROGS([VALGRIND], [valgrind])
AC_PROG_CXX
+BISON_TEST_FOR_WORKING_CXX_COMPILER
AM_MISSING_PROG([AUTOM4TE], [autom4te])
# Needed by tests/atlocal.in.
AC_SUBST([GCC])
Index: tests/atlocal.in
===================================================================
RCS file: /cvsroot/bison/bison/tests/atlocal.in,v
retrieving revision 1.14
diff -p -u -r1.14 atlocal.in
--- tests/atlocal.in 2 Jun 2003 07:25:54 -0000 1.14
+++ tests/atlocal.in 24 May 2004 06:50:56 -0000
@@ -1,6 +1,6 @@
# @configure_input@ -*- shell-script -*-
# Configurable variable values for Bison test suite.
-# Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+# Copyright (C) 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
# We need a C compiler.
CC='@CC@'
@@ -14,8 +14,11 @@ CPPFLAGS="-DHAVE_CONFIG_H=1 -I$abs_top_b
# Is the compiler GCC?
GCC='@GCC@'
-# The GCC C++ compiler.
+# The C++ compiler.
CXX='@CXX@'
+
+# If 'exit 77'; skip all C++ tests; otherwise ':'.
+BISON_CXX_WORKS='@BISON_CXX_WORKS@'
# We want no optimization with C++, too.
CXXFLAGS='@O0CFLAGS@ @WARNING_CXXFLAGS@ @WERROR_CFLAGS@'
Index: tests/local.at
===================================================================
RCS file: /cvsroot/bison/bison/tests/local.at,v
retrieving revision 1.5
diff -p -u -r1.5 local.at
--- tests/local.at 25 Feb 2004 21:13:00 -0000 1.5
+++ tests/local.at 24 May 2004 06:50:56 -0000
@@ -1,7 +1,7 @@
# Process this -*- Autotest -*- file with autom4te.
# Macros for the GNU Bison Test suite.
-# Copyright (C) 2003 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2004 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -175,10 +175,10 @@ m4_define([AT_COMPILE],
# AT_COMPILE_CXX(OUTPUT, [SOURCES = OUTPUT.c])
# --------------------------------------------
-# If the C++ compiler is not defined, ignore the test.
+# If the C++ compiler does not work, ignore the test.
m4_define([AT_COMPILE_CXX],
[AT_KEYWORDS(c++)
-AT_CHECK([$CXX --version || exit 77], 0, ignore, ignore)
+AT_CHECK([$BISON_CXX_WORKS], 0, ignore, ignore)
AT_CHECK([$CXX $CXXFLAGS $CPPFLAGS m4_default([$2], [$1.c]) -o $1],
0, [ignore], [ignore])])
--- /dev/null 2003-03-18 13:55:57 -0800
+++ m4/cxx.m4 2004-05-23 23:44:45 -0700
@@ -0,0 +1,46 @@
+# -*- Autoconf -*-
+# Sanity-test a C++ compiler.
+#
+# Copyright (C) 2004 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+# 02111-1307 USA
+
+# Written by Paul Eggert <address@hidden>.
+
+AC_DEFUN([BISON_TEST_FOR_WORKING_CXX_COMPILER],
+[
+ AC_CACHE_CHECK([whether $CXX builds executables that work],
+ bison_cv_cxx_works,
+ [AC_LANG_PUSH([C++])
+ AC_RUN_IFELSE(
+ [AC_LANG_PROGRAM(
+ [#include <iostream>
+ using namespace std;],
+ [cout << "";])],
+ [bison_cv_cxx_works=yes],
+ [bison_cv_cxx_works=no],
+ [bison_cv_cxx_works=cross])
+ AC_LANG_POP([C++])])
+
+ case $bison_cv_cxx_works in
+ yes)
+ BISON_CXX_WORKS=':';;
+ no | cross)
+ BISON_CXX_WORKS='exit 77';;
+ esac
+
+ AC_SUBST([BISON_CXX_WORKS])
+])