> 2012-11-15 Diego Novillo <dnovi...@google.com> > > * gengtype-lex.l (VEC): Remove. > Add characters in the set [\!\>\.-]. > * gengtype-parse.c (token_names): Remove "VEC". > (require_template_declaration): Remove handling of VEC_TOKEN. > (type): Likewise. > Call create_user_defined_type when parsing GTY((user)). > * gengtype-state.c (type_lineloc): handle TYPE_UNDEFINED. > (write_state_undefined_type): New. > (write_state_type): Call write_state_undefined_type for > TYPE_UNDEFINED. > (read_state_type): Call read_state_undefined_type for > TYPE_UNDEFINED. > * gengtype.c (dbgprint_count_type_at): Handle TYPE_UNDEFINED. > (create_user_defined_type): Make extern. > (type_for_name): Factor out of resolve_typedef. > (create_undefined_type): New > (resolve_typedef): Call it when we cannot find a previous > typedef and the type is not a template. > (find_structure): Accept TYPE_UNDEFINED. > (set_gc_used_type): Add argument ALLOWED_UNDEFINED_TYPES, > default to false. > Emit an error for TYPE_UNDEFINED unless LEVEL is GC_UNUSED or > ALLOWED_UNDEFINED_TYPES is set. > Set ALLOWED_UNDEFINED_TYPES to true for TYPE_USER_STRUCT. > (filter_type_name): Accept templates with more than one > argument. > (output_mangled_typename): Handle TYPE_UNDEFINED > (walk_type): Likewise. > (write_types_process_field): Likewise. > (write_func_for_structure): If CHAIN_NEXT is set, ORIG_S > should not be a user-defined type. > (write_types_local_user_process_field): Handle TYPE_ARRAY, > TYPE_NONE and TYPE_UNDEFINED. > (write_types_local_process_field): Likewise. > (contains_scalar_p): Return 0 for TYPE_USER_STRUCT. > (write_root): Reject user-defined types that are not pointers. > Handle TYPE_NONE, TYPE_UNDEFINED, TYPE_UNION, TYPE_LANG_STRUCT > and TYPE_PARAM_STRUCT. > (output_typename): Handle TYPE_NONE, TYPE_UNDEFINED, and > TYPE_ARRAY. > (dump_typekind): Handle TYPE_UNDEFINED. > * gengtype.h (enum typekind): Add TYPE_UNDEFINED. > (create_user_defined_type): Declare. > (enum gty_token): Remove VEC_TOKEN.
OK. Thanks, -- Laurynas