aboutsummaryrefslogtreecommitdiff
path: root/gcc/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ChangeLog')
-rw-r--r--gcc/ChangeLog28
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.