summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/headers.at4
-rw-r--r--tests/local.at8
2 files changed, 11 insertions, 1 deletions
diff --git a/tests/headers.at b/tests/headers.at
index f107643a..766d33f8 100644
--- a/tests/headers.at
+++ b/tests/headers.at
@@ -386,7 +386,11 @@ AT_PERL_CHECK([[-n -0777 -e '
# Do this late, so that other checks have been performed.
AT_SKIP_IF_CANNOT_LINK_C_AND_CXX
+# The header generated by glr2.cc requires C++11. Push the options to
+# prepare AT_COMPILE_CXX.
+AT_BISON_OPTION_PUSHDEFS([%skeleton "glr2.cc"])
AT_COMPILE_CXX([parser], [[x[1-9a-d].o -DCC_IS_CXX=$CC_IS_CXX main.cc]])
+AT_BISON_OPTION_POPDEFS
AT_PARSER_CHECK([parser], [0], [[expout]])
m4_popdef([AT_TEST])
diff --git a/tests/local.at b/tests/local.at
index 1138df47..3ba67a54 100644
--- a/tests/local.at
+++ b/tests/local.at
@@ -1358,13 +1358,19 @@ AT_CHECK(m4_join([ ],
# If OUTPUT does not contain '.', assume that we are linking too,
# otherwise pass "-c"; this is a hack. The default SOURCES is OUTPUT
# with trailing ".o" removed, and ".cc" appended.
+#
+# glr2.cc require C++11.
m4_define([AT_COMPILE_CXX],
[AT_KEYWORDS([c++])
AT_SKIP_IF([[! $BISON_CXX_WORKS]])
m4_ifdef([AT_GLR2_CC_IF],
[AT_GLR2_CC_IF([AT_SKIP_IF([[test x"$CXX11_CXXFLAGS" == x]])])])
AT_CHECK(m4_join([ ],
- [$CXX $CXXFLAGS $CPPFLAGS $3],
+ [$CXX],
+ [$CPPFLAGS],
+ [m4_ifdef([AT_GLR2_CC_IF], [AT_GLR2_CC_IF([$CXX11_CXXFLAGS])])],
+ [$CXXFLAGS],
+ [$3],
[m4_bmatch([$1], [[.]], [-c], [$LDFLAGS])],
[-o $1],
[m4_default([$2], [m4_bpatsubst([$1], [\.o$]).cc])],