bug-bison
[Top][All Lists]
Advanced

[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])
+])




reply via email to

[Prev in Thread] Current Thread [Next in Thread]