aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/ChangeLog
diff options
context:
space:
mode:
authorMatt Austern <austern@apple.com>2003-01-03 19:48:55 +0000
committerMatt Austern <austern@gcc.gnu.org>2003-01-03 19:48:55 +0000
commit9aad8f83a8c33f5af53fa712234677766716659d (patch)
treefcf7fb52bf769a2736649a456198023537d5a286 /gcc/cp/ChangeLog
parent6cce57b0d073bc545a9a2855885e65a4ca43ce4d (diff)
downloadgcc-9aad8f83a8c33f5af53fa712234677766716659d.zip
gcc-9aad8f83a8c33f5af53fa712234677766716659d.tar.gz
gcc-9aad8f83a8c33f5af53fa712234677766716659d.tar.bz2
cp-tree.h (struct lang_type_class): add field for key method
* cp-tree.h (struct lang_type_class): add field for key method (cp_global_trees): rename dynamic_classes to keyed_classes (key_method): add definition * class.c (finish_struct_1): compute class's key method, and add the class to keyed_classes list if there is no key method. * decl.c (finish_function): add class to keyed_classes list if we see a definition of the class's key method. * pt.c (instantiate_class_template): add template specialization of a dynamic class to keyed_classes list. * decl2.c (key_method): remove (finish_file): iterate only through keyed_classes list when deciding whether to emit vtables, remove class from its list after we do the emission. From-SVN: r60850
Diffstat (limited to 'gcc/cp/ChangeLog')
-rw-r--r--gcc/cp/ChangeLog16
1 files changed, 16 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index dad9680..344630d 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,19 @@
+2003-01-03 Matt Austern <austern@apple.com>
+
+ * cp-tree.h (struct lang_type_class): add field for key method
+ (cp_global_trees): rename dynamic_classes to keyed_classes
+ (key_method): add definition
+ * class.c (finish_struct_1): compute class's key method, and add
+ the class to keyed_classes list if there is no key method.
+ * decl.c (finish_function): add class to keyed_classes list if we
+ see a definition of the class's key method.
+ * pt.c (instantiate_class_template): add template specialization
+ of a dynamic class to keyed_classes list.
+ * decl2.c (key_method): remove
+ (finish_file): iterate only through keyed_classes list when
+ deciding whether to emit vtables, remove class from its list after
+ we do the emission.
+
2003-01-02 Jason Merrill <jason@redhat.com>
* decl.c (cp_make_fname_decl): Push the decls inside the