C++: make sure the generated header is self container

See the previous commit.

* data/lalr1.cc: Be sure to define YY_NULLPTR.
* tests/headers.at: Check the case that was failing.
This commit is contained in:
Akim Demaille
2018-08-26 18:51:31 +02:00
parent 2360e39906
commit 33e523878b
2 changed files with 4 additions and 3 deletions

View File

@@ -159,6 +159,7 @@ m4_define([b4_shared_declarations],
]b4_variant_if([b4_variant_includes])[ ]b4_variant_if([b4_variant_includes])[
]b4_attribute_define[ ]b4_attribute_define[
]b4_null_define[
]b4_YYDEBUG_define[ ]b4_YYDEBUG_define[
]b4_namespace_open[ ]b4_namespace_open[

View File

@@ -178,7 +178,7 @@ AT_TEST([%define api.pure %define api.push-pull both])
AT_TEST([%language "c++"]) AT_TEST([%language "c++"])
AT_TEST([%locations %debug %language "c++"]) AT_TEST([%locations %debug %language "c++"])
# AT_TEST([%language "c++" %define api.value.type variant %define parse.assert]) AT_TEST([%language "c++" %define api.value.type variant %define parse.assert])
AT_TEST([%locations %language "c++" %glr-parser]) AT_TEST([%locations %language "c++" %glr-parser])
@@ -193,8 +193,8 @@ AT_SETUP([Several parsers])
# AT_TEST([PREFIX], [DIRECTIVES]) # AT_TEST([PREFIX], [DIRECTIVES])
# ------------------------------- # -------------------------------
# Generate and compile to *.o. Make sure there is no (allowed) YY* # Generate and compile to *.o. Make sure there is no (allowed) YY*
# nor yy* identifiers in the header. Check that headers can be # nor yy* identifiers in the header after applying api.prefix. Check
# compiled by a C++ compiler. # that headers can be compiled by a C++ compiler.
m4_pushdef([AT_TEST], m4_pushdef([AT_TEST],
[AT_BISON_OPTION_PUSHDEFS([%define api.prefix {$1_} $2]) [AT_BISON_OPTION_PUSHDEFS([%define api.prefix {$1_} $2])
AT_DATA_GRAMMAR([$1.y], AT_DATA_GRAMMAR([$1.y],