=> Bootstrap dependency digest>=20010302: found digest-20190127
===> Building for cqual-0.991nb16
Making all in src
gmake[1]: Entering directory '/tmp/pkgbuild/devel/cqual/work.powerpc/cqual-0.991/src'
cd . && emacs  -batch -load build-types.el AST nodetypes.def
Loading /tmp/pkgbuild/devel/cqual/work.powerpc/cqual-0.991/src/build-basics.el (source)...
Loading /tmp/pkgbuild/devel/cqual/work.powerpc/cqual-0.991/src/nodetypes.def...
Unknown type declaration in node error_decl
Unknown type tag_ref in node struct_ref
Unknown type tag_ref in node union_ref
Unknown type tag_ref in node enum_ref
Unknown type statement in node error_stmt
Unknown type conditional_stmt in node while_stmt
Unknown type conditional_stmt in node dowhile_stmt
Unknown type expression in node error_expr
Unknown type unary in node dereference
Unknown type unary in node extension_expr
Unknown type unary in node sizeof_expr
Unknown type unary in node alignof_expr
Unknown type unary in node realpart
Unknown type unary in node imagpart
Unknown type unary in node address_of
Unknown type unary in node unary_minus
Unknown type unary in node unary_plus
Unknown type unary in node conjugate
Unknown type unary in node preincrement
Unknown type unary in node predecrement
Unknown type unary in node postincrement
Unknown type unary in node postdecrement
Unknown type unary in node bitnot
Unknown type unary in node not
Unknown type binary in node plus
Unknown type binary in node minus
Unknown type binary in node times
Unknown type binary in node divide
Unknown type binary in node modulo
Unknown type binary in node lshift
Unknown type binary in node rshift
Unknown type binary in node leq
Unknown type binary in node geq
Unknown type binary in node lt
Unknown type binary in node gt
Unknown type binary in node eq
Unknown type binary in node ne
Unknown type binary in node bitand
Unknown type binary in node bitor
Unknown type binary in node bitxor
Unknown type binary in node andand
Unknown type binary in node oror
Unknown type binary in node assign
Unknown type binary in node plus_assign
Unknown type binary in node minus_assign
Unknown type binary in node times_assign
Unknown type binary in node divide_assign
Unknown type binary in node modulo_assign
Unknown type binary in node lshift_assign
Unknown type binary in node rshift_assign
Unknown type binary in node bitand_assign
Unknown type binary in node bitor_assign
Unknown type binary in node bitxor_assign
cd . && emacs  -batch -load build-parent.el AST nodetypes.def
Loading /tmp/pkgbuild/devel/cqual/work.powerpc/cqual-0.991/src/build-basics.el (source)...
Loading /tmp/pkgbuild/devel/cqual/work.powerpc/cqual-0.991/src/nodetypes.def...
Unknown type declaration in node error_decl
Unknown type tag_ref in node struct_ref
Unknown type tag_ref in node union_ref
Unknown type tag_ref in node enum_ref
Unknown type statement in node error_stmt
Unknown type conditional_stmt in node while_stmt
Unknown type conditional_stmt in node dowhile_stmt
Unknown type expression in node error_expr
Unknown type unary in node dereference
Unknown type unary in node extension_expr
Unknown type unary in node sizeof_expr
Unknown type unary in node alignof_expr
Unknown type unary in node realpart
Unknown type unary in node imagpart
Unknown type unary in node address_of
Unknown type unary in node unary_minus
Unknown type unary in node unary_plus
Unknown type unary in node conjugate
Unknown type unary in node preincrement
Unknown type unary in node predecrement
Unknown type unary in node postincrement
Unknown type unary in node postdecrement
Unknown type unary in node bitnot
Unknown type unary in node not
Unknown type binary in node plus
Unknown type binary in node minus
Unknown type binary in node times
Unknown type binary in node divide
Unknown type binary in node modulo
Unknown type binary in node lshift
Unknown type binary in node rshift
Unknown type binary in node leq
Unknown type binary in node geq
Unknown type binary in node lt
Unknown type binary in node gt
Unknown type binary in node eq
Unknown type binary in node ne
Unknown type binary in node bitand
Unknown type binary in node bitor
Unknown type binary in node bitxor
Unknown type binary in node andand
Unknown type binary in node oror
Unknown type binary in node assign
Unknown type binary in node plus_assign
Unknown type binary in node minus_assign
Unknown type binary in node times_assign
Unknown type binary in node divide_assign
Unknown type binary in node modulo_assign
Unknown type binary in node lshift_assign
Unknown type binary in node rshift_assign
Unknown type binary in node bitand_assign
Unknown type binary in node bitor_assign
Unknown type binary in node bitxor_assign
cd . && emacs  -batch -load build-print.el AST nodetypes.def
Loading /tmp/pkgbuild/devel/cqual/work.powerpc/cqual-0.991/src/build-basics.el (source)...
Loading /tmp/pkgbuild/devel/cqual/work.powerpc/cqual-0.991/src/nodetypes.def...
Unknown type declaration in node error_decl
Unknown type tag_ref in node struct_ref
Unknown type tag_ref in node union_ref
Unknown type tag_ref in node enum_ref
Unknown type statement in node error_stmt
Unknown type conditional_stmt in node while_stmt
Unknown type conditional_stmt in node dowhile_stmt
Unknown type expression in node error_expr
Unknown type unary in node dereference
Unknown type unary in node extension_expr
Unknown type unary in node sizeof_expr
Unknown type unary in node alignof_expr
Unknown type unary in node realpart
Unknown type unary in node imagpart
Unknown type unary in node address_of
Unknown type unary in node unary_minus
Unknown type unary in node unary_plus
Unknown type unary in node conjugate
Unknown type unary in node preincrement
Unknown type unary in node predecrement
Unknown type unary in node postincrement
Unknown type unary in node postdecrement
Unknown type unary in node bitnot
Unknown type unary in node not
Unknown type binary in node plus
Unknown type binary in node minus
Unknown type binary in node times
Unknown type binary in node divide
Unknown type binary in node modulo
Unknown type binary in node lshift
Unknown type binary in node rshift
Unknown type binary in node leq
Unknown type binary in node geq
Unknown type binary in node lt
Unknown type binary in node gt
Unknown type binary in node eq
Unknown type binary in node ne
Unknown type binary in node bitand
Unknown type binary in node bitor
Unknown type binary in node bitxor
Unknown type binary in node andand
Unknown type binary in node oror
Unknown type binary in node assign
Unknown type binary in node plus_assign
Unknown type binary in node minus_assign
Unknown type binary in node times_assign
Unknown type binary in node divide_assign
Unknown type binary in node modulo_assign
Unknown type binary in node lshift_assign
Unknown type binary in node rshift_assign
Unknown type binary in node bitand_assign
Unknown type binary in node bitor_assign
Unknown type binary in node bitxor_assign
bison -d iquals.y
flex -oiquals-lex.c iquals.l
/usr/pkg/bin/gmake  all-recursive
gmake[2]: Entering directory '/tmp/pkgbuild/devel/cqual/work.powerpc/cqual-0.991/src'
Making all in libcompat
gmake[3]: Entering directory '/tmp/pkgbuild/devel/cqual/work.powerpc/cqual-0.991/src/libcompat'
if gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"cqual\" -DVERSION=\"0.991\" -DYYTEXT_POINTER=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_FCNTL_H=1 -DHAVE_LIMITS_H=1 -DHAVE_MALLOC_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_UNISTD_H=1 -DTIME_WITH_SYS_TIME=1 -DSIZEOF_VOIDP=4 -DHAVE_ALLOCA=1 -DPROTOTYPES=1 -D__PROTOTYPES=1 -DRETSIGTYPE=void -DHAVE_VPRINTF=1 -DHAVE_GETTIMEOFDAY=1 -DHAVE_STRDUP=1 -DHAVE_STRTOLD=1 -DHAVE_STRTOL=1  -I. -I. -DNMEMDEBUG -DNDEBUG -O3    -O2 -D_FORTIFY_SOURCE=2 -MT regions.o -MD -MP -MF ".deps/regions.Tpo" \
  -c -o regions.o `test -f 'regions.c' || echo './'`regions.c; \
then mv -f ".deps/regions.Tpo" ".deps/regions.Po"; \
else rm -f ".deps/regions.Tpo"; exit 1; \
fi
if gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"cqual\" -DVERSION=\"0.991\" -DYYTEXT_POINTER=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_FCNTL_H=1 -DHAVE_LIMITS_H=1 -DHAVE_MALLOC_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_UNISTD_H=1 -DTIME_WITH_SYS_TIME=1 -DSIZEOF_VOIDP=4 -DHAVE_ALLOCA=1 -DPROTOTYPES=1 -D__PROTOTYPES=1 -DRETSIGTYPE=void -DHAVE_VPRINTF=1 -DHAVE_GETTIMEOFDAY=1 -DHAVE_STRDUP=1 -DHAVE_STRTOLD=1 -DHAVE_STRTOL=1  -I. -I. -DNMEMDEBUG -DNDEBUG -O3    -O2 -D_FORTIFY_SOURCE=2 -MT profile.o -MD -MP -MF ".deps/profile.Tpo" \
  -c -o profile.o `test -f 'profile.c' || echo './'`profile.c; \
then mv -f ".deps/profile.Tpo" ".deps/profile.Po"; \
else rm -f ".deps/profile.Tpo"; exit 1; \
fi
rm -f libregions.a
ar cru libregions.a regions.o profile.o 
ranlib libregions.a
gmake[3]: Leaving directory '/tmp/pkgbuild/devel/cqual/work.powerpc/cqual-0.991/src/libcompat'
gmake[3]: Entering directory '/tmp/pkgbuild/devel/cqual/work.powerpc/cqual-0.991/src'
if gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"cqual\" -DVERSION=\"0.991\" -DYYTEXT_POINTER=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_FCNTL_H=1 -DHAVE_LIMITS_H=1 -DHAVE_MALLOC_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_UNISTD_H=1 -DTIME_WITH_SYS_TIME=1 -DSIZEOF_VOIDP=4 -DHAVE_ALLOCA=1 -DPROTOTYPES=1 -D__PROTOTYPES=1 -DRETSIGTYPE=void -DHAVE_VPRINTF=1 -DHAVE_GETTIMEOFDAY=1 -DHAVE_STRDUP=1 -DHAVE_STRTOLD=1 -DHAVE_STRTOL=1  -I. -I. -Ddeletes= -Dtraditional= -Dsameregion= -Dparentptr= -Werror -Wall -Wno-char-subscripts  -Wno-long-double -fno-strict-aliasing -O3  -I./libcompat -I/usr/lib/ocaml/    -Werror -Wall -Wno-char-subscripts  -Wno-long-double -fno-strict-aliasing -O3  -MT AST.o -MD -MP -MF ".deps/AST.Tpo" \
  -c -o AST.o `test -f 'AST.c' || echo './'`AST.c; \
then mv -f ".deps/AST.Tpo" ".deps/AST.Po"; \
else rm -f ".deps/AST.Tpo"; exit 1; \
fi
distcc[16830] ERROR: compile AST.c on 10.0.20.122:3638 failed
distcc[16830] (dcc_build_somewhere) Warning: remote compilation of 'AST.c' failed, retrying locally
distcc[16830] Warning: failed to distribute AST.c to 10.0.20.122:3638, running locally instead
In file included from AST.h:34:0,
                 from parser.h:32,
                 from AST.c:19:
AST_types.h:58:21: error: 'nil' undeclared here (not in a function)
   kind_error_decl = nil,
                     ^~~
In file included from AST.h:37:0,
                 from parser.h:32,
                 from AST.c:19:
decls.h:34:3: error: unknown type name 'field_decl'
   field_decl ast;
   ^~~~~~~~~~
decls.h:54:3: error: unknown type name 'tag_ref'
   tag_ref ast;
   ^~~~~~~
decls.h:87:3: error: unknown type name 'declaration'
   declaration definition;  /* Pointer to actual definition, if any */
   ^~~~~~~~~~~
decls.h:88:3: error: unknown type name 'declaration'
   declaration ast;         /* Last declaration */
   ^~~~~~~~~~~
decls.h:89:3: error: unknown type name 'expression'
   expression initialiser;  /* NULL if none */
   ^~~~~~~~~~
decls.h:165:3: error: unknown type name 'compound_stmt'
   compound_stmt cs;             /* Enclosing compound stmt, if any */
   ^~~~~~~~~~~~~
decls.h:172:3: error: unknown type name 'id_label'
   id_label firstuse; /* Never NULL */
   ^~~~~~~~
decls.h:173:3: error: unknown type name 'id_label'
   id_label definition; /* NULL until actually defined */
   ^~~~~~~~
decls.h:174:3: error: unknown type name 'function_decl'
   function_decl containing_function;
   ^~~~~~~~~~~~~
decls.h:180:3: error: unknown type name 'function_decl'
   function_decl fdecl;
   ^~~~~~~~~~~~~
In file included from types.h:25:0,
                 from AST.h:38,
                 from parser.h:32,
                 from AST.c:19:
user-qual.h:60:3: error: unknown type name 'user_qual'
   user_qual qual;
   ^~~~~~~~~
user-qual.h:64:46: error: expected ')' before 'user_qual_list'
 user_qual_list new_user_qual_list(user_qual, user_qual_list);
                                              ^~~~~~~~~~~~~~
In file included from AST.h:38:0,
                 from parser.h:32,
                 from AST.c:19:
types.h:68:30: error: unknown type name 'expression'; did you mean 'address_of'?
 type make_array_type(type t, expression size);
                              ^~~~~~~~~~
                              address_of
In file included from AST.h:38:0,
                 from parser.h:32,
                 from AST.c:19:
types.h:187:1: error: unknown type name 'expression'; did you mean 'address_of'?
 expression type_array_size(type t);
 ^~~~~~~~~~
 address_of
types.h:193:1: error: unknown type name 'tag_ref'; did you mean 'enum_ref'?
 tag_ref tag_decl_to_tag_ref(tag_declaration td);
 ^~~~~~~
 enum_ref
types.h:206:47: error: unknown type name 'declarator'; did you mean 'vector'?
 void type2ast(region r, location loc, type t, declarator inside,
                                               ^~~~~~~~~~
                                               vector
types.h:207:8: error: unknown type name 'declarator'; did you mean 'vector'?
        declarator *d, type_element *modifiers);
        ^~~~~~~~~~
        vector
types.h:207:23: error: unknown type name 'type_element'; did you mean 'predecrement'?
        declarator *d, type_element *modifiers);
                       ^~~~~~~~~~~~
                       predecrement
types.h:215:25: error: unknown type name 'function_call'
 type function_call_type(function_call fcall);
                         ^~~~~~~~~~~~~
In file included from parser.h:32:0,
                 from AST.c:19:
AST.h:63:8: error: unknown type name 'declaration'
 extern declaration the_program;
        ^~~~~~~~~~~
AST.h:65:1: error: unknown type name 'unary'; did you mean 'unchar'?
 unary newkind_unary(region r, ast_kind kind, location location, expression arg1);
 ^~~~~
 unchar
AST.h:65:65: error: unknown type name 'expression'; did you mean 'address_of'?
 unary newkind_unary(region r, ast_kind kind, location location, expression arg1);
                                                                 ^~~~~~~~~~
                                                                 address_of
AST.h:66:1: error: unknown type name 'binary'; did you mean 'bitor'?
 binary newkind_binary(region r, ast_kind kind, location location,
 ^~~~~~
 bitor
AST.h:67:9: error: unknown type name 'expression'; did you mean 'address_of'?
         expression arg1, expression arg2);
         ^~~~~~~~~~
         address_of
AST.h:67:26: error: unknown type name 'expression'; did you mean 'address_of'?
         expression arg1, expression arg2);
                          ^~~~~~~~~~
                          address_of
AST.h:68:1: error: unknown type name 'tag_ref'; did you mean 'enum_ref'?
 tag_ref newkind_tag_ref(region r, ast_kind kind, location location, word word1, attribute attributes, declaration fields, bool defined);
 ^~~~~~~
 enum_ref
AST.h:68:69: error: unknown type name 'word'; did you mean 'void'?
 tag_ref newkind_tag_ref(region r, ast_kind kind, location location, word word1, attribute attributes, declaration fields, bool defined);
                                                                     ^~~~
                                                                     void
AST.h:68:81: error: unknown type name 'attribute'; did you mean '__attribute__'?
 tag_ref newkind_tag_ref(region r, ast_kind kind, location location, word word1, attribute attributes, declaration fields, bool defined);
                                                                                 ^~~~~~~~~
                                                                                 __attribute__
AST.h:68:103: error: unknown type name 'declaration'; did you mean 'tag_declaration'?
 tag_ref newkind_tag_ref(region r, ast_kind kind, location location, word word1, attribute attributes, declaration fields, bool defined);
                                                                                                       ^~~~~~~~~~~
                                                                                                       tag_declaration
AST.h:69:1: error: unknown type name 'node'; did you mean 'ne'?
 node last_node(node n);
 ^~~~
 ne
AST.h:69:16: error: unknown type name 'node'; did you mean 'ne'?
 node last_node(node n);
                ^~~~
                ne
AST.h:70:18: error: unknown type name 'node'; did you mean 'ne'?
 int chain_length(node n);
                  ^~~~
                  ne
AST.h:71:1: error: unknown type name 'node'; did you mean 'ne'?
 node ast_chain(node l1, node l2);
 ^~~~
 ne
AST.h:71:16: error: unknown type name 'node'; did you mean 'ne'?
 node ast_chain(node l1, node l2);
                ^~~~
                ne
AST.h:71:25: error: unknown type name 'node'; did you mean 'ne'?
 node ast_chain(node l1, node l2);
                         ^~~~
                         ne
AST.h:72:20: error: unknown type name 'node'; did you mean 'ne'?
 void insert_before(node sameregion *list, node before, node n);
                    ^~~~
                    ne
AST.h:72:43: error: unknown type name 'node'; did you mean 'ne'?
 void insert_before(node sameregion *list, node before, node n);
                                           ^~~~
                                           ne
AST.h:72:56: error: unknown type name 'node'; did you mean 'ne'?
 void insert_before(node sameregion *list, node before, node n);
                                                        ^~~~
                                                        ne
AST.h:73:1: error: unknown type name 'node'; did you mean 'ne'?
 node ast_reverse(node l);
 ^~~~
 ne
AST.h:73:18: error: unknown type name 'node'; did you mean 'ne'?
 node ast_reverse(node l);
                  ^~~~
                  ne
AST.h:75:22: error: unknown type name 'node'; did you mean 'ne'?
 void AST_set_parents(node n);
                      ^~~~
                      ne
AST.h:77:16: error: unknown type name 'node'; did you mean 'ne'?
 void AST_print(node n);
                ^~~~
                ne
AST.h:91:1: warning: parameter names (without types) in function declaration
 DEFINE_BAG(identifier_set, identifier);
 ^~~~~~~~~~
In file included from AST.h:23:0,
                 from parser.h:32,
                 from AST.c:19:
AST.h:91:28: error: unknown type name 'identifier'; did you mean 'identifier_set'?
 DEFINE_BAG(identifier_set, identifier);
                            ^
typed_bag.h:51:84: note: in definition of macro 'DEFINE_BAG'
 static inline bool name ## _member(int (*cmp)(element_type, element_type), name s, element_type elt) { return s != NULL && dd_search(s, (dd_cmp_fn) cmp, (void *) elt) != NULL; } \
                                                                                    ^~~~~~~~~~~~
In file included from AST.h:23:0,
                 from parser.h:32,
                 from AST.c:19:
AST.h:91:28: error: unknown type name 'identifier'; did you mean 'identifier_set'?
 DEFINE_BAG(identifier_set, identifier);
                            ^
typed_bag.h:53:55: note: in definition of macro 'DEFINE_BAG'
 static inline bool name ## _insert(region r, name *s, element_type elt) { *s = dd_fix_null(r, *s); dd_add_first(r, *s, (void *) elt); return TRUE; } \
                                                       ^~~~~~~~~~~~
AST.h:91:28: error: unknown type name 'identifier'; did you mean 'identifier_set'?
 DEFINE_BAG(identifier_set, identifier);
                            ^
typed_bag.h:54:60: note: in definition of macro 'DEFINE_BAG'
 static inline bool name ## _insert_last(region r, name *s, element_type elt) { *s = dd_fix_null(r, *s); dd_add_last(r, *s, (void *) elt); return TRUE; } \
                                                            ^~~~~~~~~~~~
AST.h:91:28: warning: parameter names (without types) in function declaration
 DEFINE_BAG(identifier_set, identifier);
                            ^
typed_bag.h:54:60: note: in definition of macro 'DEFINE_BAG'
 static inline bool name ## _insert_last(region r, name *s, element_type elt) { *s = dd_fix_null(r, *s); dd_add_last(r, *s, (void *) elt); return TRUE; } \
                                                            ^~~~~~~~~~~~
AST.h:91:28: warning: parameter names (without types) in function declaration
 DEFINE_BAG(identifier_set, identifier);
                            ^
typed_bag.h:54:60: note: in definition of macro 'DEFINE_BAG'
 static inline bool name ## _insert_last(region r, name *s, element_type elt) { *s = dd_fix_null(r, *s); dd_add_last(r, *s, (void *) elt); return TRUE; } \
                                                            ^~~~~~~~~~~~
AST.h:91:28: error: unknown type name 'identifier'
 DEFINE_BAG(identifier_set, identifier);
                            ^
typed_bag.h:60:15: note: in definition of macro 'DEFINE_BAG'
 static inline element_type name ## _next(name ## _scanner *ss) { element_type result; if (*ss == NULL || dd_is_end(*ss)) return NULL; result = DD_GET(element_type, *ss); *ss = dd_next(*ss); return result; }
               ^~~~~~~~~~~~
AST.h: In function 'identifier_set_next':
AST.h:91:28: error: unknown type name 'identifier'; did you mean 'identifier_set'?
 DEFINE_BAG(identifier_set, identifier);
                            ^
typed_bag.h:60:66: note: in definition of macro 'DEFINE_BAG'
 static inline element_type name ## _next(name ## _scanner *ss) { element_type result; if (*ss == NULL || dd_is_end(*ss)) return NULL; result = DD_GET(element_type, *ss); *ss = dd_next(*ss); return result; }
                                                                  ^~~~~~~~~~~~
In file included from parser.h:32:0,
                 from AST.c:19:
AST.h:91:1: warning: return makes integer from pointer without a cast [-Wint-conversion]
 DEFINE_BAG(identifier_set, identifier);
 ^~~~~~~~~~
In file included from typed_set.h:22:0,
                 from location.h:24,
                 from utils.h:30,
                 from parser.h:31,
                 from AST.c:19:
AST.h:91:28: error: 'identifier' undeclared (first use in this function); did you mean 'identifier_set'?
 DEFINE_BAG(identifier_set, identifier);
                            ^
./dd_list.h:99:27: note: in definition of macro 'DD_GET'
 #define DD_GET(type, l) ((type)((l)->data))
                           ^~~~
AST.h:91:1: note: in expansion of macro 'DEFINE_BAG'
 DEFINE_BAG(identifier_set, identifier);
 ^~~~~~~~~~
AST.h:91:28: note: each undeclared identifier is reported only once for each function it appears in
 DEFINE_BAG(identifier_set, identifier);
                            ^
./dd_list.h:99:27: note: in definition of macro 'DD_GET'
 #define DD_GET(type, l) ((type)((l)->data))
                           ^~~~
AST.h:91:1: note: in expansion of macro 'DEFINE_BAG'
 DEFINE_BAG(identifier_set, identifier);
 ^~~~~~~~~~
In file included from parser.h:34:0,
                 from AST.c:19:
errors.h: At top level:
errors.h:41:23: error: unknown type name 'declaration'; did you mean 'tag_declaration'?
 void verror_with_decl(declaration d, const char *format, va_list args);
                       ^~~~~~~~~~~
                       tag_declaration
errors.h:50:22: error: unknown type name 'declaration'; did you mean 'tag_declaration'?
 void error_with_decl(declaration d, const char *format, ...);
                      ^~~~~~~~~~~
                      tag_declaration
errors.h:68:25: error: unknown type name 'declaration'; did you mean 'tag_declaration'?
 void vwarning_with_decl(declaration d, const char *format, va_list args);
                         ^~~~~~~~~~~
                         tag_declaration
errors.h:82:24: error: unknown type name 'declaration'; did you mean 'tag_declaration'?
 void warning_with_decl(declaration d, const char *format, ...);
                        ^~~~~~~~~~~
                        tag_declaration
errors.h:97:49: error: unknown type name 'declaration'; did you mean 'tag_declaration'?
 void warning_or_error_with_decl(bool iswarning, declaration d,
                                                 ^~~~~~~~~~~
                                                 tag_declaration
errors.h:108:24: error: unknown type name 'declaration'; did you mean 'tag_declaration'?
 void pedwarn_with_decl(declaration d, const char *format, ...);
                        ^~~~~~~~~~~
                        tag_declaration
In file included from AST.c:20:0:
semantics.h:44:17: error: unknown type name 'type_element'; did you mean 'predecrement'?
 void shadow_tag(type_element elements);
                 ^~~~~~~~~~~~
                 predecrement
semantics.h:47:24: error: unknown type name 'type_element'; did you mean 'predecrement'?
 void shadow_tag_warned(type_element elements, int warned);
                        ^~~~~~~~~~~~
                        predecrement
semantics.h:50:1: error: unknown type name 'declarator'; did you mean 'vector'?
 declarator make_function_declarator(location l, declarator d, declaration parms, type_element quals);
 ^~~~~~~~~~
 vector
semantics.h:50:49: error: unknown type name 'declarator'; did you mean 'vector'?
 declarator make_function_declarator(location l, declarator d, declaration parms, type_element quals);
                                                 ^~~~~~~~~~
                                                 vector
semantics.h:50:63: error: unknown type name 'declaration'; did you mean 'tag_declaration'?
 declarator make_function_declarator(location l, declarator d, declaration parms, type_element quals);
                                                               ^~~~~~~~~~~
                                                               tag_declaration
semantics.h:50:82: error: unknown type name 'type_element'; did you mean 'predecrement'?
 declarator make_function_declarator(location l, declarator d, declaration parms, type_element quals);
                                                                                  ^~~~~~~~~~~~
                                                                                  predecrement
semantics.h:56:21: error: unknown type name 'type_element'; did you mean 'predecrement'?
 bool start_function(type_element elements, declarator d, attribute attribs,
                     ^~~~~~~~~~~~
                     predecrement
semantics.h:56:44: error: unknown type name 'declarator'; did you mean 'vector'?
 bool start_function(type_element elements, declarator d, attribute attribs,
                                            ^~~~~~~~~~
                                            vector
semantics.h:56:58: error: unknown type name 'attribute'; did you mean '__attribute__'?
 bool start_function(type_element elements, declarator d, attribute attribs,
                                                          ^~~~~~~~~
                                                          __attribute__
semantics.h:60:23: error: unknown type name 'declaration'; did you mean 'tag_declaration'?
 void store_parm_decls(declaration old_parms);
                       ^~~~~~~~~~~
                       tag_declaration
semantics.h:63:1: error: unknown type name 'declaration'; did you mean 'tag_declaration'?
 declaration finish_function(statement body);
 ^~~~~~~~~~~
 tag_declaration
semantics.h:63:29: error: unknown type name 'statement'
 declaration finish_function(statement body);
                             ^~~~~~~~~
semantics.h:66:8: error: unknown type name 'function_decl'
 extern function_decl current_function_decl;
        ^~~~~~~~~~~~~
semantics.h:80:26: error: unknown type name 'type_element'; did you mean 'predecrement'?
 void split_type_elements(type_element tlist, type_element *declspecs,
                          ^~~~~~~~~~~~
                          predecrement
semantics.h:80:46: error: unknown type name 'type_element'; did you mean 'predecrement'?
 void split_type_elements(type_element tlist, type_element *declspecs,
                                              ^~~~~~~~~~~~
                                              predecrement
semantics.h:81:5: error: unknown type name 'attribute'; did you mean '__attribute__'?
     attribute *attributes);
     ^~~~~~~~~
     __attribute__
semantics.h:88:1: error: unknown type name 'declaration'; did you mean 'tag_declaration'?
 declaration start_decl(declarator d, asm_stmt astmt, type_element elements,
 ^~~~~~~~~~~
 tag_declaration
semantics.h:88:24: error: unknown type name 'declarator'; did you mean 'vector'?
 declaration start_decl(declarator d, asm_stmt astmt, type_element elements,
                        ^~~~~~~~~~
                        vector
semantics.h:88:38: error: unknown type name 'asm_stmt'; did you mean 'assert'?
 declaration start_decl(declarator d, asm_stmt astmt, type_element elements,
                                      ^~~~~~~~
                                      assert
semantics.h:88:54: error: unknown type name 'type_element'; did you mean 'predecrement'?
 declaration start_decl(declarator d, asm_stmt astmt, type_element elements,
                                                      ^~~~~~~~~~~~
                                                      predecrement
semantics.h:89:28: error: unknown type name 'attribute'; did you mean '__attribute__'?
          bool initialised, attribute extra_attributes,
                            ^~~~~~~~~
                            __attribute__
semantics.h:90:10: error: unknown type name 'attribute'; did you mean '__attribute__'?
          attribute attributes);
          ^~~~~~~~~
          __attribute__
semantics.h:94:1: error: unknown type name 'declaration'; did you mean 'tag_declaration'?
 declaration finish_decl(declaration decl, expression init);
 ^~~~~~~~~~~
 tag_declaration
semantics.h:94:25: error: unknown type name 'declaration'; did you mean 'tag_declaration'?
 declaration finish_decl(declaration decl, expression init);
                         ^~~~~~~~~~~
                         tag_declaration
semantics.h:94:43: error: unknown type name 'expression'; did you mean 'address_of'?
 declaration finish_decl(declaration decl, expression init);
                                           ^~~~~~~~~~
                                           address_of
semantics.h:100:1: error: unknown type name 'declaration'; did you mean 'tag_declaration'?
 declaration declare_parameter(declarator d, type_element elements,
 ^~~~~~~~~~~
 tag_declaration
semantics.h:100:31: error: unknown type name 'declarator'; did you mean 'vector'?
 declaration declare_parameter(declarator d, type_element elements,
                               ^~~~~~~~~~
                               vector
semantics.h:100:45: error: unknown type name 'type_element'; did you mean 'predecrement'?
 declaration declare_parameter(declarator d, type_element elements,
                                             ^~~~~~~~~~~~
                                             predecrement
semantics.h:101:10: error: unknown type name 'attribute'; did you mean '__attribute__'?
          attribute extra_attributes,
          ^~~~~~~~~
          __attribute__
semantics.h:102:10: error: unknown type name 'attribute'; did you mean '__attribute__'?
          attribute attributes,
          ^~~~~~~~~
          __attribute__
semantics.h:106:30: error: unknown type name 'declaration'; did you mean 'tag_declaration'?
 void mark_forward_parameters(declaration parms);
                              ^~~~~~~~~~~
                              tag_declaration
semantics.h:108:1: error: unknown type name 'declaration'; did you mean 'tag_declaration'?
 declaration declare_old_parameter(location l, cstring id);
 ^~~~~~~~~~~
 tag_declaration
semantics.h:112:1: error: unknown type name 'type_element'; did you mean 'predecrement'?
 type_element start_struct(location l, ast_kind skind, word tag);
 ^~~~~~~~~~~~
 predecrement
semantics.h:112:55: error: unknown type name 'word'; did you mean 'void'?
 type_element start_struct(location l, ast_kind skind, word tag);
                                                       ^~~~
                                                       void
semantics.h:116:1: error: unknown type name 'type_element'; did you mean 'predecrement'?
 type_element finish_struct(type_element t, declaration fields,
 ^~~~~~~~~~~~
 predecrement
semantics.h:116:28: error: unknown type name 'type_element'; did you mean 'predecrement'?
 type_element finish_struct(type_element t, declaration fields,
                            ^~~~~~~~~~~~
                            predecrement
semantics.h:116:44: error: unknown type name 'declaration'; did you mean 'tag_declaration'?
 type_element finish_struct(type_element t, declaration fields,
                                            ^~~~~~~~~~~
                                            tag_declaration
semantics.h:117:7: error: unknown type name 'attribute'; did you mean '__attribute__'?
       attribute attribs);
       ^~~~~~~~~
       __attribute__
semantics.h:120:1: error: unknown type name 'type_element'; did you mean 'predecrement'?
 type_element xref_tag(location l, ast_kind skind, word tag);
 ^~~~~~~~~~~~
 predecrement
semantics.h:120:51: error: unknown type name 'word'; did you mean 'void'?
 type_element xref_tag(location l, ast_kind skind, word tag);
                                                   ^~~~
                                                   void
semantics.h:123:1: error: unknown type name 'type_element'; did you mean 'predecrement'?
 type_element start_enum(location l, word tag);
 ^~~~~~~~~~~~
 predecrement
semantics.h:123:37: error: unknown type name 'word'; did you mean 'void'?
 type_element start_enum(location l, word tag);
                                     ^~~~
                                     void
semantics.h:127:1: error: unknown type name 'type_element'; did you mean 'predecrement'?
 type_element finish_enum(type_element t, declaration names,
 ^~~~~~~~~~~~
 predecrement
semantics.h:127:26: error: unknown type name 'type_element'; did you mean 'predecrement'?
 type_element finish_enum(type_element t, declaration names,
                          ^~~~~~~~~~~~
                          predecrement
semantics.h:127:42: error: unknown type name 'declaration'; did you mean 'tag_declaration'?
 type_element finish_enum(type_element t, declaration names,
                                          ^~~~~~~~~~~
                                          tag_declaration
semantics.h:128:5: error: unknown type name 'attribute'; did you mean '__attribute__'?
     attribute attribs);
     ^~~~~~~~~
     __attribute__
semantics.h:135:1: error: unknown type name 'declaration'; did you mean 'tag_declaration'?
 declaration make_field(declarator d, expression bitfield,
 ^~~~~~~~~~~
 tag_declaration
semantics.h:135:24: error: unknown type name 'declarator'; did you mean 'vector'?
 declaration make_field(declarator d, expression bitfield,
                        ^~~~~~~~~~
                        vector
semantics.h:135:38: error: unknown type name 'expression'; did you mean 'address_of'?
 declaration make_field(declarator d, expression bitfield,
                                      ^~~~~~~~~~
                                      address_of
semantics.h:136:10: error: unknown type name 'type_element'; did you mean 'predecrement'?
          type_element elements, attribute extra_attributes,
          ^~~~~~~~~~~~
          predecrement
semantics.h:136:33: error: unknown type name 'attribute'; did you mean '__attribute__'?
          type_element elements, attribute extra_attributes,
                                 ^~~~~~~~~
                                 __attribute__
semantics.h:137:10: error: unknown type name 'attribute'; did you mean '__attribute__'?
          attribute attributes);
          ^~~~~~~~~
          __attribute__
semantics.h:139:1: error: unknown type name 'declaration'; did you mean 'tag_declaration'?
 declaration make_enumerator(location loc, cstring id, expression value);
 ^~~~~~~~~~~
 tag_declaration
semantics.h:139:55: error: unknown type name 'expression'; did you mean 'address_of'?
 declaration make_enumerator(location loc, cstring id, expression value);
                                                       ^~~~~~~~~~
                                                       address_of
semantics.h:143:1: error: unknown type name 'asttype'; did you mean 'aloctype'?
 asttype make_type(type_element elements, declarator d);
 ^~~~~~~
 aloctype
semantics.h:143:19: error: unknown type name 'type_element'; did you mean 'predecrement'?
 asttype make_type(type_element elements, declarator d);
                   ^~~~~~~~~~~~
                   predecrement
semantics.h:143:42: error: unknown type name 'declarator'; did you mean 'vector'?
 asttype make_type(type_element elements, declarator d);
                                          ^~~~~~~~~~
                                          vector
semantics.h:150:16: error: unknown type name 'rid'; did you mean 'void'?
 char *rid_name(rid r);
                ^~~
                void
semantics.h:154:1: error: unknown type name 'statement'
 statement chain_with_labels(statement l1, statement l2);
 ^~~~~~~~~
semantics.h:154:29: error: unknown type name 'statement'
 statement chain_with_labels(statement l1, statement l2);
                             ^~~~~~~~~
semantics.h:154:43: error: unknown type name 'statement'
 statement chain_with_labels(statement l1, statement l2);
                                           ^~~~~~~~~
semantics.h:156:29: error: unknown type name 'declarator'; did you mean 'vector'?
 const char *declarator_name(declarator d);
                             ^~~~~~~~~~
                             vector
semantics.h:161:8: error: unknown type name 'function_decl'
 extern function_decl current_function_decl;
        ^~~~~~~~~~~~~
semantics.h:163:37: error: unknown type name 'identifier'; did you mean 'identifier_set'?
 data_declaration implicitly_declare(identifier fnid);
                                     ^~~~~~~~~~
                                     identifier_set
semantics.h:168:49: error: unknown type name 'declaration'; did you mean 'tag_declaration'?
 void init_data_declaration(data_declaration dd, declaration ast,
                                                 ^~~~~~~~~~~
                                                 tag_declaration
semantics.h:178:29: error: unknown type name 'tag_ref'; did you mean 'enum_ref'?
 tag_declaration declare_tag(tag_ref t);
                             ^~~~~~~
                             enum_ref
semantics.h:179:28: error: unknown type name 'tag_ref'; did you mean 'enum_ref'?
 tag_declaration lookup_tag(tag_ref t, bool this_level_only);
                            ^~~~~~~
                            enum_ref
semantics.h:180:36: error: unknown type name 'tag_ref'; did you mean 'enum_ref'?
 tag_declaration declare_global_tag(tag_ref t);
                                    ^~~~~~~
                                    enum_ref
semantics.h:181:35: error: unknown type name 'tag_ref'; did you mean 'enum_ref'?
 tag_declaration lookup_global_tag(tag_ref t);
                                   ^~~~~~~
                                   enum_ref
AST.c:22:1: error: unknown type name 'declaration'; did you mean 'tag_declaration'?
 declaration the_program;
 ^~~~~~~~~~~
 tag_declaration
AST.c:24:1: error: unknown type name 'node'; did you mean 'ne'?
 node ast_chain(node l1, node l2)
 ^~~~
 ne
AST.c:24:16: error: unknown type name 'node'; did you mean 'ne'?
 node ast_chain(node l1, node l2)
                ^~~~
                ne
AST.c:24:25: error: unknown type name 'node'; did you mean 'ne'?
 node ast_chain(node l1, node l2)
                         ^~~~
                         ne
AST.c:31:1: error: unknown type name 'node'; did you mean 'ne'?
 node last_node(node n)
 ^~~~
 ne
AST.c:31:16: error: unknown type name 'node'; did you mean 'ne'?
 node last_node(node n)
                ^~~~
                ne
AST.c:38:18: error: unknown type name 'node'; did you mean 'ne'?
 int chain_length(node n)
                  ^~~~
                  ne
AST.c:50:1: error: unknown type name 'node'; did you mean 'ne'?
 node ast_reverse(node l)
 ^~~~
 ne
AST.c:50:18: error: unknown type name 'node'; did you mean 'ne'?
 node ast_reverse(node l)
                  ^~~~
                  ne
AST.c:65:20: error: unknown type name 'node'; did you mean 'ne'?
 void insert_before(node sameregion *list, node before, node n)
                    ^~~~
                    ne
AST.c:65:43: error: unknown type name 'node'; did you mean 'ne'?
 void insert_before(node sameregion *list, node before, node n)
                                           ^~~~
                                           ne
AST.c:65:56: error: unknown type name 'node'; did you mean 'ne'?
 void insert_before(node sameregion *list, node before, node n)
                                                        ^~~~
                                                        ne
AST.c:74:1: error: unknown type name 'unary'; did you mean 'unchar'?
 unary newkind_unary(region r, ast_kind kind, location location, expression arg1)
 ^~~~~
 unchar
AST.c:74:65: error: unknown type name 'expression'; did you mean 'address_of'?
 unary newkind_unary(region r, ast_kind kind, location location, expression arg1)
                                                                 ^~~~~~~~~~
                                                                 address_of
AST.c:83:1: error: unknown type name 'binary'; did you mean 'bitor'?
 binary newkind_binary(region r, ast_kind kind, location location,
 ^~~~~~
 bitor
AST.c:84:9: error: unknown type name 'expression'; did you mean 'address_of'?
         expression arg1, expression arg2)
         ^~~~~~~~~~
         address_of
AST.c:84:26: error: unknown type name 'expression'; did you mean 'address_of'?
         expression arg1, expression arg2)
                          ^~~~~~~~~~
                          address_of
AST.c:98:1: error: unknown type name 'tag_ref'; did you mean 'enum_ref'?
 tag_ref newkind_tag_ref(region r, ast_kind kind, location location, word word1, attribute attributes, declaration fields, bool defined)
 ^~~~~~~
 enum_ref
AST.c:98:69: error: unknown type name 'word'; did you mean 'void'?
 tag_ref newkind_tag_ref(region r, ast_kind kind, location location, word word1, attribute attributes, declaration fields, bool defined)
                                                                     ^~~~
                                                                     void
AST.c:98:81: error: unknown type name 'attribute'; did you mean '__attribute__'?
 tag_ref newkind_tag_ref(region r, ast_kind kind, location location, word word1, attribute attributes, declaration fields, bool defined)
                                                                                 ^~~~~~~~~
                                                                                 __attribute__
AST.c:98:103: error: unknown type name 'declaration'; did you mean 'tag_declaration'?
 tag_ref newkind_tag_ref(region r, ast_kind kind, location location, word word1, attribute attributes, declaration fields, bool defined)
                                                                                                       ^~~~~~~~~~~
                                                                                                       tag_declaration
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_error_decl':
AST_defs.c:6:30: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   error_decl obj = ralloc(r, struct AST_nil);
                              ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:6:30: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   error_decl obj = ralloc(r, struct AST_nil);
                              ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:6:30: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   error_decl obj = ralloc(r, struct AST_nil);
                              ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:8:6: error: dereferencing pointer to incomplete type 'struct AST_declaration'
   obj->kind = kind_error_decl;
      ^~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_struct_ref':
AST_defs.c:15:30: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   struct_ref obj = ralloc(r, struct AST_nil);
                              ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:15:30: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   struct_ref obj = ralloc(r, struct AST_nil);
                              ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:15:30: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   struct_ref obj = ralloc(r, struct AST_nil);
                              ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:17:6: error: dereferencing pointer to incomplete type 'struct AST_tag_ref'
   obj->kind = kind_struct_ref;
      ^~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_union_ref':
AST_defs.c:24:29: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   union_ref obj = ralloc(r, struct AST_nil);
                             ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:24:29: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   union_ref obj = ralloc(r, struct AST_nil);
                             ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:24:29: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   union_ref obj = ralloc(r, struct AST_nil);
                             ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:26:6: error: dereferencing pointer to incomplete type 'struct AST_tag_ref'
   obj->kind = kind_union_ref;
      ^~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_enum_ref':
AST_defs.c:33:28: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   enum_ref obj = ralloc(r, struct AST_nil);
                            ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:33:28: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   enum_ref obj = ralloc(r, struct AST_nil);
                            ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:33:28: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   enum_ref obj = ralloc(r, struct AST_nil);
                            ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:35:6: error: dereferencing pointer to incomplete type 'struct AST_tag_ref'
   obj->kind = kind_enum_ref;
      ^~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_error_stmt':
AST_defs.c:42:30: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   error_stmt obj = ralloc(r, struct AST_nil);
                              ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:42:30: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   error_stmt obj = ralloc(r, struct AST_nil);
                              ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:42:30: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   error_stmt obj = ralloc(r, struct AST_nil);
                              ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:44:6: error: dereferencing pointer to incomplete type 'struct AST_statement'
   obj->kind = kind_error_stmt;
      ^~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_while_stmt':
AST_defs.c:51:30: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   while_stmt obj = ralloc(r, struct AST_nil);
                              ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:51:30: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   while_stmt obj = ralloc(r, struct AST_nil);
                              ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:51:30: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   while_stmt obj = ralloc(r, struct AST_nil);
                              ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:53:6: error: dereferencing pointer to incomplete type 'struct AST_conditional_stmt'
   obj->kind = kind_while_stmt;
      ^~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_dowhile_stmt':
AST_defs.c:60:32: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   dowhile_stmt obj = ralloc(r, struct AST_nil);
                                ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:60:32: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   dowhile_stmt obj = ralloc(r, struct AST_nil);
                                ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:60:32: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   dowhile_stmt obj = ralloc(r, struct AST_nil);
                                ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:62:6: error: dereferencing pointer to incomplete type 'struct AST_conditional_stmt'
   obj->kind = kind_dowhile_stmt;
      ^~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_error_expr':
AST_defs.c:69:30: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   error_expr obj = ralloc(r, struct AST_nil);
                              ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:69:30: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   error_expr obj = ralloc(r, struct AST_nil);
                              ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:69:30: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   error_expr obj = ralloc(r, struct AST_nil);
                              ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:71:6: error: dereferencing pointer to incomplete type 'struct AST_expression'
   obj->kind = kind_error_expr;
      ^~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_dereference':
AST_defs.c:78:31: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   dereference obj = ralloc(r, struct AST_nil);
                               ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:78:31: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   dereference obj = ralloc(r, struct AST_nil);
                               ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:78:31: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   dereference obj = ralloc(r, struct AST_nil);
                               ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:80:6: error: dereferencing pointer to incomplete type 'struct AST_unary'
   obj->kind = kind_dereference;
      ^~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_extension_expr':
AST_defs.c:87:34: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   extension_expr obj = ralloc(r, struct AST_nil);
                                  ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:87:34: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   extension_expr obj = ralloc(r, struct AST_nil);
                                  ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:87:34: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   extension_expr obj = ralloc(r, struct AST_nil);
                                  ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:89:6: error: dereferencing pointer to incomplete type 'struct AST_unary'
   obj->kind = kind_extension_expr;
      ^~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_sizeof_expr':
AST_defs.c:96:31: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   sizeof_expr obj = ralloc(r, struct AST_nil);
                               ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:96:31: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   sizeof_expr obj = ralloc(r, struct AST_nil);
                               ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:96:31: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   sizeof_expr obj = ralloc(r, struct AST_nil);
                               ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:98:6: error: dereferencing pointer to incomplete type 'struct AST_unary'
   obj->kind = kind_sizeof_expr;
      ^~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_alignof_expr':
AST_defs.c:105:32: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   alignof_expr obj = ralloc(r, struct AST_nil);
                                ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:105:32: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   alignof_expr obj = ralloc(r, struct AST_nil);
                                ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:105:32: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   alignof_expr obj = ralloc(r, struct AST_nil);
                                ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:107:6: error: dereferencing pointer to incomplete type 'struct AST_unary'
   obj->kind = kind_alignof_expr;
      ^~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_realpart':
AST_defs.c:114:28: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   realpart obj = ralloc(r, struct AST_nil);
                            ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:114:28: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   realpart obj = ralloc(r, struct AST_nil);
                            ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:114:28: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   realpart obj = ralloc(r, struct AST_nil);
                            ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:116:6: error: dereferencing pointer to incomplete type 'struct AST_unary'
   obj->kind = kind_realpart;
      ^~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_imagpart':
AST_defs.c:123:28: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   imagpart obj = ralloc(r, struct AST_nil);
                            ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:123:28: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   imagpart obj = ralloc(r, struct AST_nil);
                            ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:123:28: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   imagpart obj = ralloc(r, struct AST_nil);
                            ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:125:6: error: dereferencing pointer to incomplete type 'struct AST_unary'
   obj->kind = kind_imagpart;
      ^~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_address_of':
AST_defs.c:132:30: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   address_of obj = ralloc(r, struct AST_nil);
                              ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:132:30: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   address_of obj = ralloc(r, struct AST_nil);
                              ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:132:30: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   address_of obj = ralloc(r, struct AST_nil);
                              ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:134:6: error: dereferencing pointer to incomplete type 'struct AST_unary'
   obj->kind = kind_address_of;
      ^~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_unary_minus':
AST_defs.c:141:31: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   unary_minus obj = ralloc(r, struct AST_nil);
                               ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:141:31: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   unary_minus obj = ralloc(r, struct AST_nil);
                               ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:141:31: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   unary_minus obj = ralloc(r, struct AST_nil);
                               ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:143:6: error: dereferencing pointer to incomplete type 'struct AST_unary'
   obj->kind = kind_unary_minus;
      ^~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_unary_plus':
AST_defs.c:150:30: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   unary_plus obj = ralloc(r, struct AST_nil);
                              ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:150:30: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   unary_plus obj = ralloc(r, struct AST_nil);
                              ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:150:30: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   unary_plus obj = ralloc(r, struct AST_nil);
                              ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:152:6: error: dereferencing pointer to incomplete type 'struct AST_unary'
   obj->kind = kind_unary_plus;
      ^~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_conjugate':
AST_defs.c:159:29: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   conjugate obj = ralloc(r, struct AST_nil);
                             ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:159:29: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   conjugate obj = ralloc(r, struct AST_nil);
                             ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:159:29: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   conjugate obj = ralloc(r, struct AST_nil);
                             ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:161:6: error: dereferencing pointer to incomplete type 'struct AST_unary'
   obj->kind = kind_conjugate;
      ^~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_preincrement':
AST_defs.c:168:32: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   preincrement obj = ralloc(r, struct AST_nil);
                                ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:168:32: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   preincrement obj = ralloc(r, struct AST_nil);
                                ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:168:32: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   preincrement obj = ralloc(r, struct AST_nil);
                                ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:170:6: error: dereferencing pointer to incomplete type 'struct AST_unary'
   obj->kind = kind_preincrement;
      ^~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_predecrement':
AST_defs.c:177:32: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   predecrement obj = ralloc(r, struct AST_nil);
                                ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:177:32: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   predecrement obj = ralloc(r, struct AST_nil);
                                ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:177:32: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   predecrement obj = ralloc(r, struct AST_nil);
                                ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:179:6: error: dereferencing pointer to incomplete type 'struct AST_unary'
   obj->kind = kind_predecrement;
      ^~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_postincrement':
AST_defs.c:186:33: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   postincrement obj = ralloc(r, struct AST_nil);
                                 ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:186:33: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   postincrement obj = ralloc(r, struct AST_nil);
                                 ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:186:33: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   postincrement obj = ralloc(r, struct AST_nil);
                                 ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:188:6: error: dereferencing pointer to incomplete type 'struct AST_unary'
   obj->kind = kind_postincrement;
      ^~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_postdecrement':
AST_defs.c:195:33: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   postdecrement obj = ralloc(r, struct AST_nil);
                                 ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:195:33: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   postdecrement obj = ralloc(r, struct AST_nil);
                                 ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:195:33: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   postdecrement obj = ralloc(r, struct AST_nil);
                                 ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:197:6: error: dereferencing pointer to incomplete type 'struct AST_unary'
   obj->kind = kind_postdecrement;
      ^~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_bitnot':
AST_defs.c:204:26: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   bitnot obj = ralloc(r, struct AST_nil);
                          ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:204:26: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   bitnot obj = ralloc(r, struct AST_nil);
                          ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:204:26: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   bitnot obj = ralloc(r, struct AST_nil);
                          ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:206:6: error: dereferencing pointer to incomplete type 'struct AST_unary'
   obj->kind = kind_bitnot;
      ^~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_not':
AST_defs.c:213:23: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   not obj = ralloc(r, struct AST_nil);
                       ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:213:23: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   not obj = ralloc(r, struct AST_nil);
                       ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:213:23: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   not obj = ralloc(r, struct AST_nil);
                       ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:215:6: error: dereferencing pointer to incomplete type 'struct AST_unary'
   obj->kind = kind_not;
      ^~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_plus':
AST_defs.c:222:24: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   plus obj = ralloc(r, struct AST_nil);
                        ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:222:24: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   plus obj = ralloc(r, struct AST_nil);
                        ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:222:24: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   plus obj = ralloc(r, struct AST_nil);
                        ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:224:6: error: dereferencing pointer to incomplete type 'struct AST_binary'
   obj->kind = kind_plus;
      ^~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_minus':
AST_defs.c:231:25: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   minus obj = ralloc(r, struct AST_nil);
                         ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:231:25: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   minus obj = ralloc(r, struct AST_nil);
                         ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:231:25: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   minus obj = ralloc(r, struct AST_nil);
                         ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:233:6: error: dereferencing pointer to incomplete type 'struct AST_binary'
   obj->kind = kind_minus;
      ^~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_times':
AST_defs.c:240:25: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   times obj = ralloc(r, struct AST_nil);
                         ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:240:25: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   times obj = ralloc(r, struct AST_nil);
                         ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:240:25: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   times obj = ralloc(r, struct AST_nil);
                         ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:242:6: error: dereferencing pointer to incomplete type 'struct AST_binary'
   obj->kind = kind_times;
      ^~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_divide':
AST_defs.c:249:26: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   divide obj = ralloc(r, struct AST_nil);
                          ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:249:26: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   divide obj = ralloc(r, struct AST_nil);
                          ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:249:26: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   divide obj = ralloc(r, struct AST_nil);
                          ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:251:6: error: dereferencing pointer to incomplete type 'struct AST_binary'
   obj->kind = kind_divide;
      ^~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_modulo':
AST_defs.c:258:26: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   modulo obj = ralloc(r, struct AST_nil);
                          ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:258:26: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   modulo obj = ralloc(r, struct AST_nil);
                          ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:258:26: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   modulo obj = ralloc(r, struct AST_nil);
                          ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:260:6: error: dereferencing pointer to incomplete type 'struct AST_binary'
   obj->kind = kind_modulo;
      ^~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_lshift':
AST_defs.c:267:26: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   lshift obj = ralloc(r, struct AST_nil);
                          ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:267:26: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   lshift obj = ralloc(r, struct AST_nil);
                          ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:267:26: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   lshift obj = ralloc(r, struct AST_nil);
                          ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:269:6: error: dereferencing pointer to incomplete type 'struct AST_binary'
   obj->kind = kind_lshift;
      ^~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_rshift':
AST_defs.c:276:26: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   rshift obj = ralloc(r, struct AST_nil);
                          ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:276:26: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   rshift obj = ralloc(r, struct AST_nil);
                          ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:276:26: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   rshift obj = ralloc(r, struct AST_nil);
                          ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:278:6: error: dereferencing pointer to incomplete type 'struct AST_binary'
   obj->kind = kind_rshift;
      ^~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_leq':
AST_defs.c:285:23: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   leq obj = ralloc(r, struct AST_nil);
                       ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:285:23: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   leq obj = ralloc(r, struct AST_nil);
                       ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:285:23: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   leq obj = ralloc(r, struct AST_nil);
                       ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:287:6: error: dereferencing pointer to incomplete type 'struct AST_binary'
   obj->kind = kind_leq;
      ^~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_geq':
AST_defs.c:294:23: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   geq obj = ralloc(r, struct AST_nil);
                       ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:294:23: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   geq obj = ralloc(r, struct AST_nil);
                       ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:294:23: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   geq obj = ralloc(r, struct AST_nil);
                       ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:296:6: error: dereferencing pointer to incomplete type 'struct AST_binary'
   obj->kind = kind_geq;
      ^~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_lt':
AST_defs.c:303:22: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   lt obj = ralloc(r, struct AST_nil);
                      ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:303:22: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   lt obj = ralloc(r, struct AST_nil);
                      ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:303:22: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   lt obj = ralloc(r, struct AST_nil);
                      ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:305:6: error: dereferencing pointer to incomplete type 'struct AST_binary'
   obj->kind = kind_lt;
      ^~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_gt':
AST_defs.c:312:22: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   gt obj = ralloc(r, struct AST_nil);
                      ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:312:22: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   gt obj = ralloc(r, struct AST_nil);
                      ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:312:22: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   gt obj = ralloc(r, struct AST_nil);
                      ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:314:6: error: dereferencing pointer to incomplete type 'struct AST_binary'
   obj->kind = kind_gt;
      ^~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_eq':
AST_defs.c:321:22: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   eq obj = ralloc(r, struct AST_nil);
                      ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:321:22: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   eq obj = ralloc(r, struct AST_nil);
                      ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:321:22: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   eq obj = ralloc(r, struct AST_nil);
                      ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:323:6: error: dereferencing pointer to incomplete type 'struct AST_binary'
   obj->kind = kind_eq;
      ^~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_ne':
AST_defs.c:330:22: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   ne obj = ralloc(r, struct AST_nil);
                      ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:330:22: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   ne obj = ralloc(r, struct AST_nil);
                      ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:330:22: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   ne obj = ralloc(r, struct AST_nil);
                      ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:332:6: error: dereferencing pointer to incomplete type 'struct AST_binary'
   obj->kind = kind_ne;
      ^~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_bitand':
AST_defs.c:339:26: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   bitand obj = ralloc(r, struct AST_nil);
                          ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:339:26: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   bitand obj = ralloc(r, struct AST_nil);
                          ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:339:26: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   bitand obj = ralloc(r, struct AST_nil);
                          ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:341:6: error: dereferencing pointer to incomplete type 'struct AST_binary'
   obj->kind = kind_bitand;
      ^~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_bitor':
AST_defs.c:348:25: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   bitor obj = ralloc(r, struct AST_nil);
                         ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:348:25: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   bitor obj = ralloc(r, struct AST_nil);
                         ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:348:25: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   bitor obj = ralloc(r, struct AST_nil);
                         ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:350:6: error: dereferencing pointer to incomplete type 'struct AST_binary'
   obj->kind = kind_bitor;
      ^~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_bitxor':
AST_defs.c:357:26: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   bitxor obj = ralloc(r, struct AST_nil);
                          ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:357:26: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   bitxor obj = ralloc(r, struct AST_nil);
                          ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:357:26: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   bitxor obj = ralloc(r, struct AST_nil);
                          ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:359:6: error: dereferencing pointer to incomplete type 'struct AST_binary'
   obj->kind = kind_bitxor;
      ^~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_andand':
AST_defs.c:366:26: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   andand obj = ralloc(r, struct AST_nil);
                          ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:366:26: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   andand obj = ralloc(r, struct AST_nil);
                          ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:366:26: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   andand obj = ralloc(r, struct AST_nil);
                          ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:368:6: error: dereferencing pointer to incomplete type 'struct AST_binary'
   obj->kind = kind_andand;
      ^~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_oror':
AST_defs.c:375:24: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   oror obj = ralloc(r, struct AST_nil);
                        ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:375:24: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   oror obj = ralloc(r, struct AST_nil);
                        ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:375:24: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   oror obj = ralloc(r, struct AST_nil);
                        ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:377:6: error: dereferencing pointer to incomplete type 'struct AST_binary'
   obj->kind = kind_oror;
      ^~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_assign':
AST_defs.c:384:26: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   assign obj = ralloc(r, struct AST_nil);
                          ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:384:26: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   assign obj = ralloc(r, struct AST_nil);
                          ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:384:26: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   assign obj = ralloc(r, struct AST_nil);
                          ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:386:6: error: dereferencing pointer to incomplete type 'struct AST_binary'
   obj->kind = kind_assign;
      ^~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_plus_assign':
AST_defs.c:393:31: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   plus_assign obj = ralloc(r, struct AST_nil);
                               ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:393:31: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   plus_assign obj = ralloc(r, struct AST_nil);
                               ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:393:31: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   plus_assign obj = ralloc(r, struct AST_nil);
                               ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:395:6: error: dereferencing pointer to incomplete type 'struct AST_binary'
   obj->kind = kind_plus_assign;
      ^~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_minus_assign':
AST_defs.c:402:32: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   minus_assign obj = ralloc(r, struct AST_nil);
                                ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:402:32: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   minus_assign obj = ralloc(r, struct AST_nil);
                                ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:402:32: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   minus_assign obj = ralloc(r, struct AST_nil);
                                ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:404:6: error: dereferencing pointer to incomplete type 'struct AST_binary'
   obj->kind = kind_minus_assign;
      ^~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_times_assign':
AST_defs.c:411:32: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   times_assign obj = ralloc(r, struct AST_nil);
                                ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:411:32: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   times_assign obj = ralloc(r, struct AST_nil);
                                ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:411:32: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   times_assign obj = ralloc(r, struct AST_nil);
                                ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:413:6: error: dereferencing pointer to incomplete type 'struct AST_binary'
   obj->kind = kind_times_assign;
      ^~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_divide_assign':
AST_defs.c:420:33: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   divide_assign obj = ralloc(r, struct AST_nil);
                                 ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:420:33: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   divide_assign obj = ralloc(r, struct AST_nil);
                                 ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:420:33: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   divide_assign obj = ralloc(r, struct AST_nil);
                                 ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:422:6: error: dereferencing pointer to incomplete type 'struct AST_binary'
   obj->kind = kind_divide_assign;
      ^~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_modulo_assign':
AST_defs.c:429:33: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   modulo_assign obj = ralloc(r, struct AST_nil);
                                 ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:429:33: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   modulo_assign obj = ralloc(r, struct AST_nil);
                                 ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:429:33: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   modulo_assign obj = ralloc(r, struct AST_nil);
                                 ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:431:6: error: dereferencing pointer to incomplete type 'struct AST_binary'
   obj->kind = kind_modulo_assign;
      ^~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_lshift_assign':
AST_defs.c:438:33: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   lshift_assign obj = ralloc(r, struct AST_nil);
                                 ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:438:33: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   lshift_assign obj = ralloc(r, struct AST_nil);
                                 ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:438:33: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   lshift_assign obj = ralloc(r, struct AST_nil);
                                 ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:440:6: error: dereferencing pointer to incomplete type 'struct AST_binary'
   obj->kind = kind_lshift_assign;
      ^~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_rshift_assign':
AST_defs.c:447:33: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   rshift_assign obj = ralloc(r, struct AST_nil);
                                 ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:447:33: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   rshift_assign obj = ralloc(r, struct AST_nil);
                                 ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:447:33: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   rshift_assign obj = ralloc(r, struct AST_nil);
                                 ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:449:6: error: dereferencing pointer to incomplete type 'struct AST_binary'
   obj->kind = kind_rshift_assign;
      ^~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_bitand_assign':
AST_defs.c:456:33: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   bitand_assign obj = ralloc(r, struct AST_nil);
                                 ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:456:33: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   bitand_assign obj = ralloc(r, struct AST_nil);
                                 ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:456:33: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   bitand_assign obj = ralloc(r, struct AST_nil);
                                 ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:458:6: error: dereferencing pointer to incomplete type 'struct AST_binary'
   obj->kind = kind_bitand_assign;
      ^~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_bitor_assign':
AST_defs.c:465:32: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   bitor_assign obj = ralloc(r, struct AST_nil);
                                ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:465:32: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   bitor_assign obj = ralloc(r, struct AST_nil);
                                ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:465:32: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   bitor_assign obj = ralloc(r, struct AST_nil);
                                ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:467:6: error: dereferencing pointer to incomplete type 'struct AST_binary'
   obj->kind = kind_bitor_assign;
      ^~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c: In function 'new_bitxor_assign':
AST_defs.c:474:33: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   bitxor_assign obj = ralloc(r, struct AST_nil);
                                 ^
./libcompat/regions.h:68:33: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                 ^~~~
AST_defs.c:474:33: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   bitxor_assign obj = ralloc(r, struct AST_nil);
                                 ^
./libcompat/regions.h:68:95: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                               ^~~~
In file included from parser.h:28:0,
                 from AST.c:19:
AST_defs.c:474:33: error: invalid application of 'sizeof' to incomplete type 'struct AST_nil'
   bitxor_assign obj = ralloc(r, struct AST_nil);
                                 ^
./libcompat/regions.h:68:129: note: in definition of macro 'ralloc'
 #define ralloc(r, type) (sizeof(type) < (1 << (RPAGELOG - 3)) ? __rcralloc_small0((r), sizeof(type)) : typed_ralloc((r), sizeof(type), rctypeof(type)))
                                                                                                                                 ^~~~
In file included from AST.c:107:0:
AST_defs.c:476:6: error: dereferencing pointer to incomplete type 'struct AST_binary'
   obj->kind = kind_bitxor_assign;
      ^~
In file included from parser.h:32:0,
                 from AST.c:19:
AST_defs.c: In function 'error_decl_chain':
AST_defs.c:484:27: warning: implicit declaration of function 'ast_chain'; did you mean 'gt_chain'? [-Wimplicit-function-declaration]
 { return CAST(error_decl, ast_chain(CAST(node, l1), CAST(node, l2))); }
                           ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST.h:53:87: warning: implicit declaration of function 'is_node'; did you mean 'is_ne'? [-Wimplicit-function-declaration]
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                                                       ^
AST_defs.c:484:10: note: in expansion of macro 'CAST'
 { return CAST(error_decl, ast_chain(CAST(node, l1), CAST(node, l2))); }
          ^~~~
AST_defs.c:484:37: note: in expansion of macro 'CAST'
 { return CAST(error_decl, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                     ^~~~
AST_defs.c:484:42: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(error_decl, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                          ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:484:37: note: in expansion of macro 'CAST'
 { return CAST(error_decl, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                     ^~~~
AST_defs.c: In function 'struct_ref_chain':
AST_defs.c:487:42: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(struct_ref, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                          ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:487:37: note: in expansion of macro 'CAST'
 { return CAST(struct_ref, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                     ^~~~
AST_defs.c: In function 'union_ref_chain':
AST_defs.c:490:41: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(union_ref, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                         ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:490:36: note: in expansion of macro 'CAST'
 { return CAST(union_ref, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                    ^~~~
AST_defs.c: In function 'enum_ref_chain':
AST_defs.c:493:40: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(enum_ref, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                        ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:493:35: note: in expansion of macro 'CAST'
 { return CAST(enum_ref, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                   ^~~~
AST_defs.c: In function 'error_stmt_chain':
AST_defs.c:496:42: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(error_stmt, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                          ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:496:37: note: in expansion of macro 'CAST'
 { return CAST(error_stmt, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                     ^~~~
AST_defs.c: In function 'while_stmt_chain':
AST_defs.c:499:42: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(while_stmt, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                          ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:499:37: note: in expansion of macro 'CAST'
 { return CAST(while_stmt, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                     ^~~~
AST_defs.c: In function 'dowhile_stmt_chain':
AST_defs.c:502:44: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(dowhile_stmt, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                            ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:502:39: note: in expansion of macro 'CAST'
 { return CAST(dowhile_stmt, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                       ^~~~
AST_defs.c: In function 'error_expr_chain':
AST_defs.c:505:42: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(error_expr, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                          ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:505:37: note: in expansion of macro 'CAST'
 { return CAST(error_expr, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                     ^~~~
AST_defs.c: In function 'dereference_chain':
AST_defs.c:508:43: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(dereference, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                           ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:508:38: note: in expansion of macro 'CAST'
 { return CAST(dereference, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                      ^~~~
AST_defs.c: In function 'extension_expr_chain':
AST_defs.c:511:46: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(extension_expr, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                              ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:511:41: note: in expansion of macro 'CAST'
 { return CAST(extension_expr, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                         ^~~~
AST_defs.c: In function 'sizeof_expr_chain':
AST_defs.c:514:43: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(sizeof_expr, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                           ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:514:38: note: in expansion of macro 'CAST'
 { return CAST(sizeof_expr, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                      ^~~~
AST_defs.c: In function 'alignof_expr_chain':
AST_defs.c:517:44: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(alignof_expr, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                            ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:517:39: note: in expansion of macro 'CAST'
 { return CAST(alignof_expr, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                       ^~~~
AST_defs.c: In function 'realpart_chain':
AST_defs.c:520:40: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(realpart, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                        ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:520:35: note: in expansion of macro 'CAST'
 { return CAST(realpart, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                   ^~~~
AST_defs.c: In function 'imagpart_chain':
AST_defs.c:523:40: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(imagpart, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                        ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:523:35: note: in expansion of macro 'CAST'
 { return CAST(imagpart, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                   ^~~~
AST_defs.c: In function 'address_of_chain':
AST_defs.c:526:42: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(address_of, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                          ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:526:37: note: in expansion of macro 'CAST'
 { return CAST(address_of, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                     ^~~~
AST_defs.c: In function 'unary_minus_chain':
AST_defs.c:529:43: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(unary_minus, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                           ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:529:38: note: in expansion of macro 'CAST'
 { return CAST(unary_minus, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                      ^~~~
AST_defs.c: In function 'unary_plus_chain':
AST_defs.c:532:42: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(unary_plus, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                          ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:532:37: note: in expansion of macro 'CAST'
 { return CAST(unary_plus, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                     ^~~~
AST_defs.c: In function 'conjugate_chain':
AST_defs.c:535:41: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(conjugate, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                         ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:535:36: note: in expansion of macro 'CAST'
 { return CAST(conjugate, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                    ^~~~
AST_defs.c: In function 'preincrement_chain':
AST_defs.c:538:44: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(preincrement, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                            ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:538:39: note: in expansion of macro 'CAST'
 { return CAST(preincrement, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                       ^~~~
AST_defs.c: In function 'predecrement_chain':
AST_defs.c:541:44: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(predecrement, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                            ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:541:39: note: in expansion of macro 'CAST'
 { return CAST(predecrement, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                       ^~~~
AST_defs.c: In function 'postincrement_chain':
AST_defs.c:544:45: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(postincrement, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                             ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:544:40: note: in expansion of macro 'CAST'
 { return CAST(postincrement, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                        ^~~~
AST_defs.c: In function 'postdecrement_chain':
AST_defs.c:547:45: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(postdecrement, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                             ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:547:40: note: in expansion of macro 'CAST'
 { return CAST(postdecrement, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                        ^~~~
AST_defs.c: In function 'bitnot_chain':
AST_defs.c:550:38: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(bitnot, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                      ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:550:33: note: in expansion of macro 'CAST'
 { return CAST(bitnot, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                 ^~~~
AST_defs.c: In function 'not_chain':
AST_defs.c:553:35: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(not, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                   ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:553:30: note: in expansion of macro 'CAST'
 { return CAST(not, ast_chain(CAST(node, l1), CAST(node, l2))); }
                              ^~~~
AST_defs.c: In function 'plus_chain':
AST_defs.c:556:36: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(plus, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                    ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:556:31: note: in expansion of macro 'CAST'
 { return CAST(plus, ast_chain(CAST(node, l1), CAST(node, l2))); }
                               ^~~~
AST_defs.c: In function 'minus_chain':
AST_defs.c:559:37: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(minus, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                     ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:559:32: note: in expansion of macro 'CAST'
 { return CAST(minus, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                ^~~~
AST_defs.c: In function 'times_chain':
AST_defs.c:562:37: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(times, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                     ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:562:32: note: in expansion of macro 'CAST'
 { return CAST(times, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                ^~~~
AST_defs.c: In function 'divide_chain':
AST_defs.c:565:38: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(divide, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                      ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:565:33: note: in expansion of macro 'CAST'
 { return CAST(divide, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                 ^~~~
AST_defs.c: In function 'modulo_chain':
AST_defs.c:568:38: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(modulo, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                      ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:568:33: note: in expansion of macro 'CAST'
 { return CAST(modulo, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                 ^~~~
AST_defs.c: In function 'lshift_chain':
AST_defs.c:571:38: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(lshift, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                      ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:571:33: note: in expansion of macro 'CAST'
 { return CAST(lshift, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                 ^~~~
AST_defs.c: In function 'rshift_chain':
AST_defs.c:574:38: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(rshift, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                      ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:574:33: note: in expansion of macro 'CAST'
 { return CAST(rshift, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                 ^~~~
AST_defs.c: In function 'leq_chain':
AST_defs.c:577:35: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(leq, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                   ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:577:30: note: in expansion of macro 'CAST'
 { return CAST(leq, ast_chain(CAST(node, l1), CAST(node, l2))); }
                              ^~~~
AST_defs.c: In function 'geq_chain':
AST_defs.c:580:35: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(geq, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                   ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:580:30: note: in expansion of macro 'CAST'
 { return CAST(geq, ast_chain(CAST(node, l1), CAST(node, l2))); }
                              ^~~~
AST_defs.c: In function 'lt_chain':
AST_defs.c:583:34: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(lt, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                  ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:583:29: note: in expansion of macro 'CAST'
 { return CAST(lt, ast_chain(CAST(node, l1), CAST(node, l2))); }
                             ^~~~
AST_defs.c: In function 'gt_chain':
AST_defs.c:586:34: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(gt, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                  ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:586:29: note: in expansion of macro 'CAST'
 { return CAST(gt, ast_chain(CAST(node, l1), CAST(node, l2))); }
                             ^~~~
AST_defs.c: In function 'eq_chain':
AST_defs.c:589:34: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(eq, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                  ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:589:29: note: in expansion of macro 'CAST'
 { return CAST(eq, ast_chain(CAST(node, l1), CAST(node, l2))); }
                             ^~~~
AST_defs.c: In function 'ne_chain':
AST_defs.c:592:34: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(ne, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                  ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:592:29: note: in expansion of macro 'CAST'
 { return CAST(ne, ast_chain(CAST(node, l1), CAST(node, l2))); }
                             ^~~~
AST_defs.c: In function 'bitand_chain':
AST_defs.c:595:38: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(bitand, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                      ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:595:33: note: in expansion of macro 'CAST'
 { return CAST(bitand, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                 ^~~~
AST_defs.c: In function 'bitor_chain':
AST_defs.c:598:37: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(bitor, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                     ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:598:32: note: in expansion of macro 'CAST'
 { return CAST(bitor, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                ^~~~
AST_defs.c: In function 'bitxor_chain':
AST_defs.c:601:38: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(bitxor, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                      ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:601:33: note: in expansion of macro 'CAST'
 { return CAST(bitxor, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                 ^~~~
AST_defs.c: In function 'andand_chain':
AST_defs.c:604:38: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(andand, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                      ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:604:33: note: in expansion of macro 'CAST'
 { return CAST(andand, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                 ^~~~
AST_defs.c: In function 'oror_chain':
AST_defs.c:607:36: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(oror, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                    ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:607:31: note: in expansion of macro 'CAST'
 { return CAST(oror, ast_chain(CAST(node, l1), CAST(node, l2))); }
                               ^~~~
AST_defs.c: In function 'assign_chain':
AST_defs.c:610:38: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(assign, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                      ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:610:33: note: in expansion of macro 'CAST'
 { return CAST(assign, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                 ^~~~
AST_defs.c: In function 'plus_assign_chain':
AST_defs.c:613:43: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(plus_assign, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                           ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:613:38: note: in expansion of macro 'CAST'
 { return CAST(plus_assign, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                      ^~~~
AST_defs.c: In function 'minus_assign_chain':
AST_defs.c:616:44: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(minus_assign, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                            ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:616:39: note: in expansion of macro 'CAST'
 { return CAST(minus_assign, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                       ^~~~
AST_defs.c: In function 'times_assign_chain':
AST_defs.c:619:44: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(times_assign, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                            ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:619:39: note: in expansion of macro 'CAST'
 { return CAST(times_assign, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                       ^~~~
AST_defs.c: In function 'divide_assign_chain':
AST_defs.c:622:45: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(divide_assign, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                             ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:622:40: note: in expansion of macro 'CAST'
 { return CAST(divide_assign, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                        ^~~~
AST_defs.c: In function 'modulo_assign_chain':
AST_defs.c:625:45: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(modulo_assign, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                             ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:625:40: note: in expansion of macro 'CAST'
 { return CAST(modulo_assign, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                        ^~~~
AST_defs.c: In function 'lshift_assign_chain':
AST_defs.c:628:45: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(lshift_assign, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                             ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:628:40: note: in expansion of macro 'CAST'
 { return CAST(lshift_assign, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                        ^~~~
AST_defs.c: In function 'rshift_assign_chain':
AST_defs.c:631:45: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(rshift_assign, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                             ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:631:40: note: in expansion of macro 'CAST'
 { return CAST(rshift_assign, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                        ^~~~
AST_defs.c: In function 'bitand_assign_chain':
AST_defs.c:634:45: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(bitand_assign, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                             ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:634:40: note: in expansion of macro 'CAST'
 { return CAST(bitand_assign, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                        ^~~~
AST_defs.c: In function 'bitor_assign_chain':
AST_defs.c:637:44: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(bitor_assign, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                            ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:637:39: note: in expansion of macro 'CAST'
 { return CAST(bitor_assign, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                       ^~~~
AST_defs.c: In function 'bitxor_assign_chain':
AST_defs.c:640:45: error: 'node' undeclared (first use in this function); did you mean 'ne'?
 { return CAST(bitxor_assign, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                             ^
AST.h:53:62: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                              ^
AST_defs.c:640:40: note: in expansion of macro 'CAST'
 { return CAST(bitxor_assign, ast_chain(CAST(node, l1), CAST(node, l2))); }
                                        ^~~~
AST.c: At top level:
AST.c:111:28: error: unknown type name 'node'; did you mean 'ne'?
 static void AST_set_parent(node sameregion *nptr, node parent)
                            ^~~~
                            ne
AST.c:111:51: error: unknown type name 'node'; did you mean 'ne'?
 static void AST_set_parent(node sameregion *nptr, node parent)
                                                   ^~~~
                                                   ne
AST.c:116:17: error: unknown type name 'node'; did you mean 'ne'?
 void set_parent(node sameregion *nptr, node parent)
                 ^~~~
                 ne
AST.c:116:40: error: unknown type name 'node'; did you mean 'ne'?
 void set_parent(node sameregion *nptr, node parent)
                                        ^~~~
                                        ne
AST.c:121:22: error: unknown type name 'node'; did you mean 'ne'?
 void set_parent_list(node sameregion *list, node parent)
                      ^~~~
                      ne
AST.c:121:45: error: unknown type name 'node'; did you mean 'ne'?
 void set_parent_list(node sameregion *list, node parent)
                                             ^~~~
                                             ne
AST.c:130:46: error: unknown type name 'node'; did you mean 'ne'?
 static void AST_set_parent_list(void *vnptr, node parent);
                                              ^~~~
                                              ne
AST.c:132:29: error: unknown type name 'node'; did you mean 'ne'?
 static void AST_set_parent1(node sameregion *nptr, node parent)
                             ^~~~
                             ne
AST.c:132:52: error: unknown type name 'node'; did you mean 'ne'?
 static void AST_set_parent1(node sameregion *nptr, node parent)
                                                    ^~~~
                                                    ne
AST.c:156:46: error: unknown type name 'node'; did you mean 'ne'?
 static void AST_set_parent_list(void *vnptr, node parent)
                                              ^~~~
                                              ne
AST.c:167:22: error: unknown type name 'node'; did you mean 'ne'?
 void AST_set_parents(node n)
                      ^~~~
                      ne
AST.c:183:36: error: unknown type name 'node'; did you mean 'ne'?
 static void AST_print1(int indent, node n)
                                    ^~~~
                                    ne
AST.c: In function 'AST_print_list':
AST.c:257:3: error: unknown type name 'node'; did you mean 'ne'?
   node n = CAST(node, vn);
   ^~~~
   ne
In file included from parser.h:32:0,
                 from AST.c:19:
AST.c:257:17: error: 'node' undeclared (first use in this function); did you mean 'ne'?
   node n = CAST(node, vn);
                 ^
AST.h:53:112: note: in definition of macro 'CAST'
 #define CAST(type, x) ({ast_generic tEmPcast = (ast_generic)(x); if (tEmPcast) assert(is_ ## type(tEmPcast)); (type)(tEmPcast); })
                                                                                                                ^~~~
AST.c:261:7: warning: implicit declaration of function 'AST_print1'; did you mean 'AST_print_list'? [-Wimplicit-function-declaration]
       AST_print1(indent, n);
       ^~~~~~~~~~
       AST_print_list
AST.c:262:12: error: invalid type argument of '->' (have 'int')
       n = n->next;
            ^~
AST.c: At top level:
AST.c:266:16: error: unknown type name 'node'; did you mean 'ne'?
 void AST_print(node n)
                ^~~~
                ne
AST.c:255:13: warning: 'AST_print_list' defined but not used [-Wunused-function]
 static void AST_print_list(int indent, void *vn)
             ^~~~~~~~~~~~~~
AST.c:175:13: warning: 'pindent' defined but not used [-Wunused-function]
 static void pindent(int by)
             ^~~~~~~
cc1: warning: unrecognized command line option '-Wno-long-double'
cc1: warning: unrecognized command line option '-Wno-long-double'
distcc[16830] ERROR: compile AST.c on localhost failed
gmake[3]: *** [Makefile:788: AST.o] Error 1
gmake[3]: Leaving directory '/tmp/pkgbuild/devel/cqual/work.powerpc/cqual-0.991/src'
gmake[2]: *** [Makefile:817: all-recursive] Error 1
gmake[2]: Leaving directory '/tmp/pkgbuild/devel/cqual/work.powerpc/cqual-0.991/src'
gmake[1]: *** [Makefile:655: all] Error 2
gmake[1]: Leaving directory '/tmp/pkgbuild/devel/cqual/work.powerpc/cqual-0.991/src'
gmake: *** [Makefile:278: all-recursive] Error 1
*** Error code 2

Stop.
make[1]: stopped in /usr/pkgsrc/devel/cqual
*** Error code 1

Stop.
make: stopped in /usr/pkgsrc/devel/cqual