c++: do not exhibit private macros

* examples/variant-11.yy: here.
This commit is contained in:
Akim Demaille
2018-10-18 17:37:18 +02:00
parent ace93397c1
commit 602f8e2a77
2 changed files with 8 additions and 3 deletions

View File

@@ -125,7 +125,7 @@ namespace yy
yylex () yylex ()
{ {
static auto count = 0u; static auto count = 0u;
auto stage = count; const auto stage = count;
++count; ++count;
auto loc = parser::location_type{nullptr, stage + 1, stage + 1}; auto loc = parser::location_type{nullptr, stage + 1, stage + 1};
if (stage == 0) if (stage == 0)
@@ -150,7 +150,7 @@ int
main (int argc, const char *argv[]) main (int argc, const char *argv[])
{ {
if (2 <= argc && isdigit (*argv[1])) if (2 <= argc && isdigit (*argv[1]))
max = strtol (argv[1], YY_NULLPTR, 10); max = strtol (argv[1], nullptr, 10);
auto&& p = yy::parser{}; auto&& p = yy::parser{};
p.set_debug_level (!!getenv ("YYDEBUG")); p.set_debug_level (!!getenv ("YYDEBUG"));
return p.parse (); return p.parse ();

View File

@@ -97,6 +97,11 @@ item:
namespace yy namespace yy
{ {
// Use nullptr with pre-C++11.
#if defined __cplusplus && __cplusplus < 201103L
# define nullptr 0
#endif
// The yylex function providing subsequent tokens: // The yylex function providing subsequent tokens:
// TEXT "I have three numbers for you." // TEXT "I have three numbers for you."
// NUMBER 1 // NUMBER 1
@@ -111,7 +116,7 @@ namespace yy
{ {
static int stage = -1; static int stage = -1;
++stage; ++stage;
parser::location_type loc (YY_NULLPTR, stage + 1, stage + 1); parser::location_type loc (nullptr, stage + 1, stage + 1);
switch (stage) switch (stage)
{ {
case 0: case 0: