diff options
author | nathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-06-08 11:49:23 +0000 |
---|---|---|
committer | nathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-06-08 11:49:23 +0000 |
commit | 094fb0d899aee3cbc8219bb030398ab86ee9f726 (patch) | |
tree | 33d1230b127cd93152bb163e84c576691088bbac /gcc/cp/search.c | |
parent | f7d1c2eaa5f2ac6b0e3de2a2a03c7bbd47ab2a59 (diff) | |
download | gcc-094fb0d899aee3cbc8219bb030398ab86ee9f726.tar.gz |
cp:
PR c++/19497
* cp-tree.def (USING_DECL): Update documentation.
* cp-tree.h (DECL_DEPENDENT_P): New.
(USING_DECL_DECLS, USING_DECL_SCOPE): New.
* class.c (handle_using_decl): Move most of the processing to ...
* name-lookup.c (do_class_using_decl): ... here. Make stricter.
(push_using_decl): Use USING_DECL_SCOPE.
(cp_emit_debug_info_for_using): Make extern.
* cxx-pretty-print.c (pp_cxx_statement) <USING_DECL case>: Adjust.
* name-lookup.h (cp_emit_debug_info_for_using): Declare.
* pt.c (tsubst_decl) <USING_DECL case>: Use do_class_using_decl
when tsubsting.
(tsubst_expr): Use USING_DECL_SCOPE.
* search.c (lookup_field_1): Use DECL_DEPENDENT_P.
* semantics.c (finish_member_declaration): Likewise.
testsuite:
PR c++/19497
* g++.dg/inherit/using5.C: New.
* g++.dg/inherit/using6.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100757 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp/search.c')
-rw-r--r-- | gcc/cp/search.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/gcc/cp/search.c b/gcc/cp/search.c index 45668a14a94..8dec18e7743 100644 --- a/gcc/cp/search.c +++ b/gcc/cp/search.c @@ -471,9 +471,8 @@ lookup_field_1 (tree type, tree name, bool want_type) defined, USING_DECLs are purged from TYPE_FIELDS; see handle_using_decl. However, we make special efforts to make using-declarations in class templates and class - template partial specializations work correctly noticing - that dependent USING_DECL's do not have TREE_TYPE set. */ - if (TREE_TYPE (field)) + template partial specializations work correctly. */ + if (!DECL_DEPENDENT_P (field)) continue; } |