diff options
| author | austern <austern@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-06-02 21:12:54 +0000 |
|---|---|---|
| committer | austern <austern@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-06-02 21:12:54 +0000 |
| commit | e4959831a5291ada12e9e9c4c10943f0d3b2ef5c (patch) | |
| tree | 3b859606ef88c37bd6602afa96859aa9f1f0cfbe /libjava/gnu/java | |
| parent | 44e413b313877ca7094668f0cfff59f9ebaf0486 (diff) | |
| download | ppe42-gcc-e4959831a5291ada12e9e9c4c10943f0d3b2ef5c.tar.gz ppe42-gcc-e4959831a5291ada12e9e9c4c10943f0d3b2ef5c.zip | |
When a class template is explicitly instantiated, its member should be too.
* cp-tree.h (instantiate_decl): new boolean parameter,
undefined_ok. Current behavior is equivalent to its being 0.
* decl2.c (mark_used): Add new argument when calling instantiate_decl
* pt.c (mark_decl_instantiated): Unconditionally make
instantiations explicit unconditionally
(do_decl_instantiation): Don't call SET_DECL_EXPLICIT_INSTANTIATION,
since mark_decl_instantiated now does it.
(instantiate_class_member): New. Instantiate a member of an
explicitly instantiated class template.
(do_type_instantiation): Explicitly instantiate members of an
explicitly instantiated class template.
(instantiate_decl): if undefined_ok is nonzero, and if we're
trying to explicitly instantiated a template with no definition,
change it to an implicit instantiation.
(instantiate_pending_templates): Add new argument to instantiate_decl.
* tree.c (cp_cannot_inline_tree_fn): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@82585 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/gnu/java')
0 files changed, 0 insertions, 0 deletions

