diff options
author | mmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-04-05 12:34:20 +0000 |
---|---|---|
committer | mmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-04-05 12:34:20 +0000 |
commit | 185ee0b4cf1bb83e8d285f30de81fec8ecfcb252 (patch) | |
tree | 381160cbe87945a2d68fddb5e59d42f2fd66730b /gcc/cp/search.c | |
parent | 5944eb82c108b03f91b25c44c2d70d12cd1fc37a (diff) | |
download | gcc-185ee0b4cf1bb83e8d285f30de81fec8ecfcb252.tar.gz |
* class.c (maybe_fixup_vptrs): Remove declaration.
(build_class_init_list): Likewise.
* decl.c (pushdecl_class_level): Call check_template_shadow here
...
(push_class_level_binding): ... not here.
* search.c (dfs_push_type_decls): Only avoid
template-self-reference TYPE_DECLs if they are from base classes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@26202 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp/search.c')
-rw-r--r-- | gcc/cp/search.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/cp/search.c b/gcc/cp/search.c index 5f4a76fe6cc..99e25a84a15 100644 --- a/gcc/cp/search.c +++ b/gcc/cp/search.c @@ -2943,7 +2943,8 @@ dfs_push_type_decls (binfo, data) type = BINFO_TYPE (binfo); for (fields = TYPE_FIELDS (type); fields; fields = TREE_CHAIN (fields)) if (DECL_NAME (fields) && TREE_CODE (fields) == TYPE_DECL - && !template_self_reference_p (type, fields)) + && !(!same_type_p (type, current_class_type) + && template_self_reference_p (type, fields))) setup_class_bindings (DECL_NAME (fields), /*type_binding_p=*/1); /* We can't just use BINFO_MARKED because envelope_add_decl uses |