#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)
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, )