Fix some "make check" problems with Tru64 C++.

This commit is contained in:
Paul Eggert
2004-05-30 00:56:57 +00:00
parent 2905865228
commit 0797198341
6 changed files with 32 additions and 13 deletions

View File

@@ -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> 2004-05-28 Albert Chin-A-Young <china@thewrittenword.com>
* tests/calc.at, tests/actions.at: Workaround for SGI * tests/calc.at, tests/actions.at: Workaround for SGI

View File

@@ -29,7 +29,8 @@ AC_DEFUN([BISON_TEST_FOR_WORKING_CXX_COMPILER],
[AC_LANG_PROGRAM( [AC_LANG_PROGRAM(
[#include <iostream> [#include <iostream>
using namespace std;], using namespace std;],
[cout << "";])], [std::cerr << "";
cout << "";])],
[bison_cv_cxx_works=yes], [bison_cv_cxx_works=yes],
[bison_cv_cxx_works=no], [bison_cv_cxx_works=no],
[bison_cv_cxx_works=cross]) [bison_cv_cxx_works=cross])

View File

@@ -500,9 +500,11 @@ main (void)
} }
]]) ]])
AT_CHECK([bison -o input.c input.y]) AT_LALR1_CC_IF(
AT_LALR1_CC_IF([AT_COMPILE_CXX([input])], [AT_CHECK([bison -o input.cc input.y])
[AT_COMPILE([input])]) AT_COMPILE_CXX([input])],
[AT_CHECK([bison -o input.c input.y])
AT_COMPILE([input])])
AT_PARSER_CHECK([./input], 1, AT_PARSER_CHECK([./input], 1,
[[sending: 'x' (0@0-9) [[sending: 'x' (0@0-9)
thing (0@0-9): 'x' (0@0-9) thing (0@0-9): 'x' (0@0-9)

View File

@@ -442,11 +442,11 @@ AT_BISON_OPTION_PUSHDEFS([$1])
AT_DATA_CALC_Y([$1]) AT_DATA_CALC_Y([$1])
# Specify the output files to avoid problems on different file systems. AT_LALR1_CC_IF(
AT_CHECK([bison -o calc.c calc.y]) [AT_CHECK([bison -o calc.cc calc.y])
AT_COMPILE_CXX([calc])],
AT_LALR1_CC_IF([AT_COMPILE_CXX([calc])], [AT_CHECK([bison -o calc.c calc.y])
[AT_COMPILE([calc])]) AT_COMPILE([calc])])
# Test the priorities. # Test the priorities.
_AT_CHECK_CALC([$1], _AT_CHECK_CALC([$1],

View 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], [AT_CHECK([$CC $CFLAGS $CPPFLAGS m4_bmatch([$1], [[.]], [], [$LDFLAGS ])m4_default([$2], [$1.c]) m4_bmatch([$1], [[.]], [], [$LIBS ])-o $1],
0, [ignore], [ignore])]) 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. # If the C++ compiler does not work, ignore the test.
m4_define([AT_COMPILE_CXX], m4_define([AT_COMPILE_CXX],
[AT_KEYWORDS(c++) [AT_KEYWORDS(c++)
AT_CHECK([$BISON_CXX_WORKS], 0, ignore, ignore) 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])]) 0, [ignore], [ignore])])

View File

@@ -780,8 +780,11 @@ m4_define([AT_CHECK_DANCER],
AT_BISON_OPTION_PUSHDEFS([$1]) AT_BISON_OPTION_PUSHDEFS([$1])
_AT_DATA_DANCER_Y([$1]) _AT_DATA_DANCER_Y([$1])
AT_CHECK([bison -o dancer.c dancer.y]) AT_CHECK([bison -o dancer.c dancer.y])
AT_LALR1_CC_IF([AT_COMPILE_CXX([dancer])], AT_LALR1_CC_IF(
[AT_COMPILE([dancer])]) [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, [], AT_PARSER_CHECK([./dancer], 1, [],
[syntax error, unexpected ':' [syntax error, unexpected ':'
]) ])