%token T_COMMA ","
%token T_ELLIPSIS "."
-%token T_TYPEDEF "typedef"
-%token T_EXTERN "extern"
-%token T_STATIC "static"
-%token T_AUTO "auto"
-%token T_REGISTER "register"
-
-%token T_INLINE "inline"
-
-%token T_RESTRICT "restrict"
-%token T_VOLATILE "volatile"
-%token T_CONST "const"
-
-%token T_VOID "void"
-%token T_CHAR "char"
-%token T_SHORT "short"
-%token T_INT "int"
-%token T_LONG "long"
-%token T_FLOAT "float"
-%token T_DOUBLE "double"
-%token T_SIGNED "signed"
-%token T_UNSIGNED "unsigned"
-%token T_BOOL "_Bool"
-%token T_COMPLEX "_Complex"
-
-%token T_STRUCT "struct"
-%token T_UNION "union"
-%token T_ENUM "enum"
+%token T_TYPEDEF "typedef"
+%token T_EXTERN "extern"
+%token T_STATIC "static"
+%token T_AUTO "auto"
+%token T_REGISTER "register"
+
+%token T_INLINE "inline"
+
+%token T_RESTRICT "restrict"
+%token T_VOLATILE "volatile"
+%token T_CONST "const"
+
+%token T_VOID "void"
+%token T_CHAR "char"
+%token T_SHORT "short"
+%token T_INT "int"
+%token T_LONG "long"
+%token T_FLOAT "float"
+%token T_DOUBLE "double"
+%token T_SIGNED "signed"
+%token T_UNSIGNED "unsigned"
+%token T_BOOL "_Bool"
+%token T_COMPLEX "_Complex"
+%token T_IMAGINARY "_Imaginary"
+
+%token T_STRUCT "struct"
+%token T_UNION "union"
+%token T_ENUM "enum"
%type <strval> vla_ident
%type <boolval> varargs
| T_REGISTER { $$ = CDECL_STOR_REGISTER; }
| T_INLINE { $$ = CDECL_FUNC_INLINE; }
-typespec_simple: T_VOID { $$ = CDECL_TYPE_VOID; }
- | T_CHAR { $$ = CDECL_TYPE_CHAR; }
- | T_SHORT { $$ = CDECL_TYPE_SHORT; }
- | T_INT { $$ = CDECL_TYPE_INT; }
- | T_LONG { $$ = CDECL_TYPE_LONG; }
- | T_FLOAT { $$ = CDECL_TYPE_FLOAT; }
- | T_DOUBLE { $$ = CDECL_TYPE_DOUBLE; }
- | T_SIGNED { $$ = CDECL_TYPE_SIGNED; }
- | T_UNSIGNED { $$ = CDECL_TYPE_UNSIGNED; }
- | T_BOOL { $$ = CDECL_TYPE_BOOL; }
- | T_COMPLEX { $$ = CDECL_TYPE_COMPLEX; }
+typespec_simple: T_VOID { $$ = CDECL_TYPE_VOID; }
+ | T_CHAR { $$ = CDECL_TYPE_CHAR; }
+ | T_SHORT { $$ = CDECL_TYPE_SHORT; }
+ | T_INT { $$ = CDECL_TYPE_INT; }
+ | T_LONG { $$ = CDECL_TYPE_LONG; }
+ | T_FLOAT { $$ = CDECL_TYPE_FLOAT; }
+ | T_DOUBLE { $$ = CDECL_TYPE_DOUBLE; }
+ | T_SIGNED { $$ = CDECL_TYPE_SIGNED; }
+ | T_UNSIGNED { $$ = CDECL_TYPE_UNSIGNED; }
+ | T_BOOL { $$ = CDECL_TYPE_BOOL; }
+ | T_COMPLEX { $$ = CDECL_TYPE_COMPLEX; }
+ | T_IMAGINARY { $$ = CDECL_TYPE_IMAGINARY; }
qualifier_simple: T_CONST { $$ = CDECL_QUAL_CONST; }
| T_RESTRICT { $$ = CDECL_QUAL_RESTRICT; }