diff options
author | Matt Austern <austern@apple.com> | 2003-01-03 19:48:55 +0000 |
---|---|---|
committer | Matt Austern <austern@gcc.gnu.org> | 2003-01-03 19:48:55 +0000 |
commit | 9aad8f83a8c33f5af53fa712234677766716659d (patch) | |
tree | fcf7fb52bf769a2736649a456198023537d5a286 /gcc/cp/ChangeLog | |
parent | 6cce57b0d073bc545a9a2855885e65a4ca43ce4d (diff) | |
download | gcc-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/ChangeLog | 16 |
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 |