+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
[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])
}
]])
-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)
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],
[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])])
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 ':'
])