[[^,]+[^A-Za-z_0-9]\([A-Za-z_][A-Za-z_0-9]*\), *], [
YYUSE(\1);])dnl
AT_YYERROR_SEES_LOC_IF([[
- fprintf (stderr, "%d.%d",
- ]AT_LOC_FIRST_LINE[, ]AT_LOC_FIRST_COLUMN[);
- if (]AT_LOC_FIRST_LINE[ < ]AT_LOC_LAST_LINE[)
- fprintf (stderr, "-%d.%d",
- ]AT_LOC_LAST_LINE[, ]AT_LOC_LAST_COLUMN[ - 1);
- else if (]AT_LOC_FIRST_COLUMN[ < ]AT_LOC_LAST_COLUMN[ - 1)
- fprintf (stderr, "-%d",
- ]AT_LOC_LAST_COLUMN[ - 1);
+ YY_LOCATION_PRINT (stderr, ]AT_LOC[);
fprintf (stderr, ": ");]])[
fprintf (stderr, "%s\n", msg);
}]],
[[# Defining POSIXLY_CORRECT causes bison to complain if options are
# added after the grammar file name, so skip these checks in that
# case.
-#
-# Don't just check if $POSIXLY_CORRECT is set, as Bash, when launched
-# as /bin/sh, sets the shell variable POSIXLY_CORRECT to y, but not
-# the environment variable.
-if env | grep '^POSIXLY_CORRECT=' >/dev/null; then :; else
+if test "$POSIXLY_CORRECT_IS_EXPORTED" = false; then
]AT_SAVE_SPECIAL_FILES[
# To avoid expanding it repeatedly, store specified stdout.
# otherwise pass "-c"; this is a hack. The default SOURCES is OUTPUT
# with trailing .o removed, and ".c" appended.
m4_define([AT_COMPILE],
-[AT_CHECK(m4_join([ ],
+[AT_CHECK([case $POSIXLY_CORRECT_IS_EXPORTED:$C_COMPILER_POSIXLY_CORRECT in
+ true:false) echo 'cannot compile properly with POSIXLY_CORRECT' && exit 77;;
+esac])
+AT_CHECK(m4_join([ ],
[$CC $CFLAGS $CPPFLAGS],
[m4_bmatch([$1], [[.]], [-c], [$LDFLAGS])],
[-o $1],
])
+
+# AT_SKIP_IF_CANNOT_LINK_C_AND_CXX
+# --------------------------------
+# Check that we can link together C and C++ objects.
+m4_define([AT_SKIP_IF_CANNOT_LINK_C_AND_CXX],
+[AT_DATA([c-and-cxx.h],
+[[#ifdef __cplusplus
+extern "C"
+{
+#endif
+ int fortytwo (void);
+#ifdef __cplusplus
+}
+#endif
+]])
+AT_DATA([c-only.c],
+[[#include "c-and-cxx.h"
+int
+main (void)
+{
+ return fortytwo () == 42 ? 0 : 1;
+}
+]])
+AT_DATA([cxx-only.cc],
+[[#include "c-and-cxx.h"
+int fortytwo ()
+{
+ return 42;
+}
+]])
+AT_COMPILE([c-only.o], [c-only.c])
+AT_COMPILE_CXX([cxx-only.o], [cxx-only.cc])
+AT_CHECK([$CXX $CXXFLAGS $CPPFLAGS $LDFLAGS c-only.o cxx-only.o -o c-and-cxx ||
+ exit 77], [ignore], [ignore])
+AT_PARSER_CHECK([./c-and-cxx])
+])
+
+
## ---------------------------- ##
## Running a generated parser. ##
## ---------------------------- ##