Improve error recovery by adding anchor tokens earlier.
[cparser] / tokens.inc
index dff544f..1e21ee1 100644 (file)
@@ -2,23 +2,21 @@
 #define TS(x,str,val)
 #endif
 
-TS(IDENTIFIER,                "identifier", = 256)
-TS(INTEGER,                   "integer number",)
-TS(INTEGER_OCTAL,             "octal integer number",)
-TS(INTEGER_HEXADECIMAL,       "hexadecimal integer number",)
-TS(FLOATINGPOINT,             "floatingpoint number",)
-TS(FLOATINGPOINT_HEXADECIMAL, "hexadecimal floatingpoint number",)
-TS(CHARACTER_CONSTANT,        "character constant",)
-TS(WIDE_CHARACTER_CONSTANT,   "wide character constant",)
-TS(STRING_LITERAL,            "string literal",)
-TS(WIDE_STRING_LITERAL,       "wide string literal",)
-
+/* These must go first. Some set explicit values. */
 #define ALTERNATE(name, val)          T(_CXX, name, #name,  val)
 #define PUNCTUATOR(name, string, val) T(_ALL, name, string, val)
 #include "tokens_punctuator.inc"
 #undef PUNCTUATOR
 #undef ALTERNATE
 
+TS(IDENTIFIER,              "identifier",)
+TS(INTEGER,                 "integer number",)
+TS(FLOATINGPOINT,           "floatingpoint number",)
+TS(CHARACTER_CONSTANT,      "character constant",)
+TS(WIDE_CHARACTER_CONSTANT, "wide character constant",)
+TS(STRING_LITERAL,          "string literal",)
+TS(WIDE_STRING_LITERAL,     "wide string literal",)
+
 #define S(mode,x)   T(mode,x,#x,)
 S(_ALL, auto)
 S(_ALL, break)
@@ -162,7 +160,7 @@ S(_ALL,            __asm,                  = T_asm)
 S(_ANSI|_C99|_CXX,   volatile,             )
 S(_ALL,            __volatile,             = T_volatile)
 S(_ALL,            __volatile__,           = T_volatile)
-S(_C99|_CXX,         inline,               )
+S(_C99|_CXX|_GNUC,   inline,               )
 S(_ALL,            __inline,               = T_inline)
 S(_ALL,            __inline__,             = T_inline)
 S(_GNUC,             typeof,               )