c++: beware of Visual C++ limitations

Contrary to what commit d8cc6b073e "c++:
shorten the assertions that check whether tokens are correct"
believed, MS Visual C++'s preprocessor limitation is not on the input
line length, but on the size of the line holding the full C++
statement.

Reported by Vince Huffaker <vince@vincejulie.com>
<https://lists.gnu.org/r/help-bison/2021-08/msg00003.html>

* data/skeletons/variant.hh (_b4_symbol_constructor_define): Hide the
assertion from Visual C++.
This commit is contained in:
Akim Demaille
2021-08-29 09:45:24 +02:00
parent bc5aa8e274
commit a5c55bb758
2 changed files with 3 additions and 0 deletions

1
NEWS
View File

@@ -2,6 +2,7 @@ GNU Bison NEWS
* Noteworthy changes in release ?.? (????-??-??) [?] * Noteworthy changes in release ?.? (????-??-??) [?]
Portability issues in the test suite and in C++ skeletons.
* Noteworthy changes in release 3.7.90 (2021-08-13) [beta] * Noteworthy changes in release 3.7.90 (2021-08-13) [beta]

View File

@@ -484,7 +484,9 @@ m4_define([_b4_symbol_constructor_define],
b4_locations_if([l]))[) b4_locations_if([l]))[)
#endif #endif
{]b4_parse_assert_if([[ {]b4_parse_assert_if([[
#if !defined _MSC_VER || defined __clang__
]b4_assert[ (]b4_tok_in($@)[); ]b4_assert[ (]b4_tok_in($@)[);
#endif
]])[} ]])[}
]])]) ]])])