diff options
Diffstat (limited to 'gcc/ChangeLog')
-rw-r--r-- | gcc/ChangeLog | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ac7c86b..fca665b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,33 @@ 2013-10-29 David Malcolm <dmalcolm@redhat.com> + * doc/gty.texi ("Inheritance and GTY"): Make it clear that + to use autogenerated markers for a class-hierarchy, every class + must have a GTY marker. + * gengtype.h (struct type): Add linked list of subclasses to + the "s" member of the union. + (add_subclass): New decl. + * gengtype-state.c (read_state_struct_type): Set up subclass + linked list. + * gengtype.c (get_ultimate_base_class): New. + (add_subclass): New. + (new_structure): Set up subclass linked list. + (set_gc_used_type): Propagate usage information to subclasses. + (output_mangled_typename): Use get_ultimate_base_class. + (walk_subclasses): Use the subclass linked list, avoiding an + O(N^2) when writing out all types. + (walk_type): Issue an error if the base class is missing a tag, + rather than generating bogus C code. Add a gcc_unreachable + default case, in case people omit tags from concrete subclasses, + or get the values wrong. + (write_func_for_structure): Issue an error for subclasses for + which the base doesn't have a "desc", since otherwise the + autogenerated routines for the base would silently fail to visit + any subclass fields. + (write_root): Use get_ultimate_base_class, tweaking constness of + tp to match that function's signature. + +2013-10-29 David Malcolm <dmalcolm@redhat.com> + * doc/gty.texi (GTY Options): Add note about inheritance to description of desc and tag. (Inheritance and GTY): New. |