[PATCH 4/5] Use CHAR_LITERAL instead of CHAR because MSVC defines CHAR

[email protected]
Newsgroups gmane.comp.parsers.bison.patches
Message-ID <[email protected]>
From: Anonymous Maarten <[email protected]>

---
 src/parse-gram.c | 10 +++++-----
 src/parse-gram.h |  4 ++--
 src/parse-gram.y |  6 +++---
 src/scan-gram.l  |  4 ++--
 4 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/src/parse-gram.c b/src/parse-gram.c
index 40a58fd5..c62075bc 100644
--- a/src/parse-gram.c
+++ b/src/parse-gram.c
@@ -149,7 +149,7 @@ enum yysymbol_kind_t
   YYSYMBOL_BRACED_CODE = 41,               /* "{...}"  */
   YYSYMBOL_BRACED_PREDICATE = 42,          /* "%?{...}"  */
   YYSYMBOL_BRACKETED_ID = 43,              /* "[identifier]"  */
-  YYSYMBOL_CHAR = 44,                      /* "character literal"  */
+  YYSYMBOL_CHAR_LITERAL = 44,              /* "character literal"  */
   YYSYMBOL_COLON = 45,                     /* ":"  */
   YYSYMBOL_EPILOGUE = 46,                  /* "epilogue"  */
   YYSYMBOL_EQUAL = 47,                     /* "="  */
@@ -1115,8 +1115,8 @@ tron (yyo);
          { fprintf (yyo, "[%s]", ((*yyvaluep).BRACKETED_ID)); }
         break;
 
-    case YYSYMBOL_CHAR: /* "character literal"  */
-         { fputs (char_name (((*yyvaluep).CHAR)), yyo); }
+    case YYSYMBOL_CHAR_LITERAL: /* "character literal"  */
+         { fputs (char_name (((*yyvaluep).CHAR_LITERAL)), yyo); }
         break;
 
     case YYSYMBOL_EPILOGUE: /* "epilogue"  */
@@ -2566,9 +2566,9 @@ yyreduce:
           location loc = muscle_percent_define_get_loc (var);
           subcomplain (&loc, complaint, _("definition of %s"), var);
         }
-      (yyval.id) = symbol_get (char_name ((yyvsp[0].CHAR)), (yylsp[0]));
+      (yyval.id) = symbol_get (char_name ((yyvsp[0].CHAR_LITERAL)), (yylsp[0]));
       symbol_class_set ((yyval.id), token_sym, (yylsp[0]), false);
-      symbol_code_set ((yyval.id), (yyvsp[0].CHAR), (yylsp[0]));
+      symbol_code_set ((yyval.id), (yyvsp[0].CHAR_LITERAL), (yylsp[0]));
     }
     break;
 
diff --git a/src/parse-gram.h b/src/parse-gram.h
index b77fbbcf..d7d83f1f 100644
--- a/src/parse-gram.h
+++ b/src/parse-gram.h
@@ -123,7 +123,7 @@ extern int gram_debug;
     BRACED_CODE = 41,              /* "{...}"  */
     BRACED_PREDICATE = 42,         /* "%?{...}"  */
     BRACKETED_ID = 43,             /* "[identifier]"  */
-    CHAR = 44,                     /* "character literal"  */
+    CHAR_LITERAL = 44,             /* "character literal"  */
     COLON = 45,                    /* ":"  */
     EPILOGUE = 46,                 /* "epilogue"  */
     EQUAL = 47,                    /* "="  */
@@ -188,7 +188,7 @@ union GRAM_STYPE
   uniqstr yykind_74;                       /* tag.opt  */
   uniqstr tag;                             /* tag  */
   uniqstr variable;                        /* variable  */
-  unsigned char CHAR;                      /* "character literal"  */
+  unsigned char CHAR_LITERAL;              /* "character literal"  */
   value_type value;                        /* value  */
 
 
diff --git a/src/parse-gram.y b/src/parse-gram.y
index 782817dd..4622674c 100644
--- a/src/parse-gram.y
+++ b/src/parse-gram.y
@@ -214,7 +214,7 @@
   BRACED_CODE       "{...}"
   BRACED_PREDICATE  "%?{...}"
   BRACKETED_ID      _("[identifier]")
-  CHAR              _("character literal")
+  CHAR_LITERAL      _("character literal")
   COLON             ":"
   EPILOGUE          _("epilogue")
   EQUAL             "="
@@ -232,7 +232,7 @@
 %code pre-printer  {tron (yyo);}
 %code post-printer {troff (yyo);}
 
-%type <unsigned char> CHAR
+%type <unsigned char> CHAR_LITERAL
 %printer { fputs (char_name ($$), yyo); } <unsigned char>
 
 %type <char*> "{...}" "%?{...}" "%{...%}" EPILOGUE STRING TSTRING
@@ -765,7 +765,7 @@ value:
 id:
   ID
     { $$ = symbol_from_uniqstr ($1, @1); }
-| CHAR
+| CHAR_LITERAL
     {
       const char *var = "api.token.raw";
       if (current_class == nterm_sym)
diff --git a/src/scan-gram.l b/src/scan-gram.l
index bd367fa5..f957f137 100644
--- a/src/scan-gram.l
+++ b/src/scan-gram.l
@@ -615,9 +615,9 @@ eqopt    ({sp}=)?
       }
     else
       {
-        val->CHAR = last_string[0];
+        val->CHAR_LITERAL = last_string[0];
         STRING_FREE ();
-        return CHAR;
+        return CHAR_LITERAL;
       }
   }
   {eol}     unexpected_newline (token_start, "'");
-- 
2.21.3
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.