]> git.saurik.com Git - bison.git/commitdiff
Fix some "make check" problems with Tru64 C++.
authorPaul Eggert <eggert@cs.ucla.edu>
Sun, 30 May 2004 00:56:57 +0000 (00:56 +0000)
committerPaul Eggert <eggert@cs.ucla.edu>
Sun, 30 May 2004 00:56:57 +0000 (00:56 +0000)
ChangeLog
m4/cxx.m4
tests/actions.at
tests/calc.at
tests/local.at
tests/regression.at

index 6ff584f11ae3d618c888fdad9acc68fe04d86e1f..5d97691e97b1dfa3cf06f91ea19c23d173a40a1b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2004-05-29  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix some "make check" problems with C++ reported by
+       Albert Chin-A-Young for Tru64 C++ in this thread:
+       http://lists.gnu.org/archive/html/bug-bison/2004-05/msg00049.html
+
+       * m4/cxx.m4 (BISON_TEST_FOR_WORKING_CXX_COMPILER): Check for std::cerr.
+       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR):
+       Output to a .cc file for C++, not to a .c file.
+       * tests/calc.at (AT_CHECK_CALC): Likewise.
+       * tests/regression.at (AT_CHECK_DANCER): Likewise.
+       * tests/local.at (AT_COMPILE_CXX): Default to OUTPUT.cc, not OUTPUT.c.
+
 2004-05-28  Albert Chin-A-Young  <china@thewrittenword.com>
 
        * tests/calc.at, tests/actions.at: Workaround for SGI
index 1d17e8361c10fbc32504f5a5be28cc6abf67b5ea..4394b049ed1dbeaa3ce1e8cadee69e53c91c0e71 100644 (file)
--- a/m4/cxx.m4
+++ b/m4/cxx.m4
@@ -29,7 +29,8 @@ AC_DEFUN([BISON_TEST_FOR_WORKING_CXX_COMPILER],
       [AC_LANG_PROGRAM(
         [#include <iostream>
          using namespace std;],
-         [cout << "";])],
+         [std::cerr << "";
+          cout << "";])],
       [bison_cv_cxx_works=yes],
       [bison_cv_cxx_works=no],
       [bison_cv_cxx_works=cross])
index 87126e8893dc5b8cbf17a76ded39ab90998655fb..6dfb6f155d81242141f1ebaa4771c69fda9f995c 100644 (file)
@@ -500,9 +500,11 @@ main (void)
 }
 ]])
 
-AT_CHECK([bison -o input.c input.y])
-AT_LALR1_CC_IF([AT_COMPILE_CXX([input])],
-               [AT_COMPILE([input])])
+AT_LALR1_CC_IF(
+  [AT_CHECK([bison -o input.cc input.y])
+   AT_COMPILE_CXX([input])],
+  [AT_CHECK([bison -o input.c input.y])
+   AT_COMPILE([input])])
 AT_PARSER_CHECK([./input], 1,
 [[sending: 'x' (0@0-9)
 thing (0@0-9): 'x' (0@0-9)
index 7da261786cf04133200237d4acd2146ef2641546..f54cebcb3d46013350b56f285dad0f6f01efd9eb 100644 (file)
@@ -442,11 +442,11 @@ AT_BISON_OPTION_PUSHDEFS([$1])
 
 AT_DATA_CALC_Y([$1])
 
-# Specify the output files to avoid problems on different file systems.
-AT_CHECK([bison -o calc.c calc.y])
-
-AT_LALR1_CC_IF([AT_COMPILE_CXX([calc])],
-               [AT_COMPILE([calc])])
+AT_LALR1_CC_IF(
+  [AT_CHECK([bison -o calc.cc calc.y])
+   AT_COMPILE_CXX([calc])],
+  [AT_CHECK([bison -o calc.c calc.y])
+   AT_COMPILE([calc])])
 
 # Test the priorities.
 _AT_CHECK_CALC([$1],
index aba190795bff1ffee2783a9c337c55b0c9cf119e..4a9331b44a90615c379fd093e8ff993df8c17183 100644 (file)
@@ -173,13 +173,13 @@ m4_define([AT_COMPILE],
 [AT_CHECK([$CC $CFLAGS $CPPFLAGS m4_bmatch([$1], [[.]], [], [$LDFLAGS ])m4_default([$2], [$1.c]) m4_bmatch([$1], [[.]], [], [$LIBS ])-o $1],
           0, [ignore], [ignore])])
 
-# AT_COMPILE_CXX(OUTPUT, [SOURCES = OUTPUT.c])
+# AT_COMPILE_CXX(OUTPUT, [SOURCES = OUTPUT.cc])
 # --------------------------------------------
 # If the C++ compiler does not work, ignore the test.
 m4_define([AT_COMPILE_CXX],
 [AT_KEYWORDS(c++)
 AT_CHECK([$BISON_CXX_WORKS], 0, ignore, ignore)
-AT_CHECK([$CXX $CXXFLAGS $CPPFLAGS m4_default([$2], [$1.c]) -o $1],
+AT_CHECK([$CXX $CXXFLAGS $CPPFLAGS m4_default([$2], [$1.cc]) -o $1],
          0, [ignore], [ignore])])
 
 
index 94422bd3e1b3f797e1b24426bce96e6cc59b73be..ebc3e874f83bf7fa75f0b0dbe244a17efcd5938e 100644 (file)
@@ -780,8 +780,11 @@ m4_define([AT_CHECK_DANCER],
 AT_BISON_OPTION_PUSHDEFS([$1])
 _AT_DATA_DANCER_Y([$1])
 AT_CHECK([bison -o dancer.c dancer.y])
-AT_LALR1_CC_IF([AT_COMPILE_CXX([dancer])],
-               [AT_COMPILE([dancer])])
+AT_LALR1_CC_IF(
+  [AT_CHECK([bison -o dancer.cc dancer.y])
+   AT_COMPILE_CXX([dancer])],
+  [AT_CHECK([bison -o dancer.c dancer.y])
+   AT_COMPILE([dancer])])
 AT_PARSER_CHECK([./dancer], 1, [],
 [syntax error, unexpected ':'
 ])