diff options
author | Nathan Sidwell <nathan@acm.org> | 2017-05-25 18:52:47 +0000 |
---|---|---|
committer | Nathan Sidwell <nathan@gcc.gnu.org> | 2017-05-25 18:52:47 +0000 |
commit | 44e00a7a1b398940c31b260b27a5f1f93d8017ed (patch) | |
tree | 46ae0e24e642ec27a2a21ca827419c7f58cb282a /gcc/cp/cp-tree.h | |
parent | 63dbcd13e93578e21e0717d4990c1701d6957e3e (diff) | |
download | gcc-44e00a7a1b398940c31b260b27a5f1f93d8017ed.zip gcc-44e00a7a1b398940c31b260b27a5f1f93d8017ed.tar.gz gcc-44e00a7a1b398940c31b260b27a5f1f93d8017ed.tar.bz2 |
Kill DECL_NAMESPACE_USERS, DECL_NAMESPACE_ASSOCIATIONS.
gcc/cp/
Kill DECL_NAMESPACE_USERS, DECL_NAMESPACE_ASSOCIATIONS.
* cp-tree.h (lang_decl_ns): Remove ns_users field.
(DECL_NAMESPACE_USERS, DECL_NAMESPACE_ASSOCIATIONS): Delete.
(TREE_INDIRECT_USING): Delete.
* name-lookup.h (is_associated_namespace): Delete.
* name-lookup.c (name_lookup::search_usings
name_lookup::do_queue_usings): Usings are always direct.
(is_associated_namespace): Delete.
(handle_namespace_attrs): Use DECL_NAMESPACE_INLINE_P.
(namespace_ancestor_1, namespace_ancestor): Delete.
(push_using_directive_1, push_using_directive): Delete.
(add_using_namespace_1): Delete.
(add_using_namespace): Reimplement.
(emit_debug_info_using_namespace): New.
(finish_namespace_using_directive, finish_local_using_directive
push_namespace): Adjust.
* tree.c (cp_free_lang_data): Remove DECL_NAMESPACE_USERS
handling.
libcc1/
* libcp1plugin.cc (plugin_make_namespace_inline): Check and set
DECL_NAMESPACE_INLINE_P.
gcc/testsuite/
* g++.dg/lookup/using56.C: New.
* g++.dg/lookup/using57.C: New.
* g++.dg/lookup/using58.C: New.
* g++.dg/lookup/using59.C: New.
From-SVN: r248467
Diffstat (limited to 'gcc/cp/cp-tree.h')
-rw-r--r-- | gcc/cp/cp-tree.h | 15 |
1 files changed, 0 insertions, 15 deletions
diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h index 66bf376..11f8d01 100644 --- a/gcc/cp/cp-tree.h +++ b/gcc/cp/cp-tree.h @@ -328,7 +328,6 @@ extern GTY(()) tree cp_global_trees[CPTI_MAX]; BASELINK_QUALIFIED_P (in BASELINK) TARGET_EXPR_IMPLICIT_P (in TARGET_EXPR) TEMPLATE_PARM_PARAMETER_PACK (in TEMPLATE_PARM_INDEX) - TREE_INDIRECT_USING (in a TREE_LIST of using-directives) ATTR_IS_DEPENDENT (in the TREE_LIST for an attribute) ABI_TAG_IMPLICIT (in the TREE_LIST for the argument of abi_tag) CONSTRUCTOR_IS_DIRECT_INIT (in CONSTRUCTOR) @@ -2513,7 +2512,6 @@ struct GTY(()) lang_decl_ns { struct lang_decl_base base; cp_binding_level *level; tree ns_using; - tree ns_users; }; /* DECL_LANG_SPECIFIC for parameters. */ @@ -3085,15 +3083,6 @@ struct GTY(()) lang_decl { that is the common ancestor. */ #define DECL_NAMESPACE_USING(NODE) (LANG_DECL_NS_CHECK (NODE)->ns_using) -/* In a NAMESPACE_DECL, the DECL_INITIAL is used to record all users - of a namespace, to record the transitive closure of using namespace. */ -#define DECL_NAMESPACE_USERS(NODE) (LANG_DECL_NS_CHECK (NODE)->ns_users) - -/* In a NAMESPACE_DECL, the list of namespaces which have associated - themselves with this one. */ -#define DECL_NAMESPACE_ASSOCIATIONS(NODE) \ - DECL_INITIAL (NAMESPACE_DECL_CHECK (NODE)) - /* In a NAMESPACE_DECL, points to the original namespace if this is a namespace alias. */ #define DECL_NAMESPACE_ALIAS(NODE) \ @@ -3107,10 +3096,6 @@ struct GTY(()) lang_decl { && CP_DECL_CONTEXT (NODE) == global_namespace \ && DECL_NAME (NODE) == std_identifier) -/* In a TREE_LIST concatenating using directives, indicate indirect - directives */ -#define TREE_INDIRECT_USING(NODE) TREE_LANG_FLAG_0 (TREE_LIST_CHECK (NODE)) - /* In a TREE_LIST in an attribute list, indicates that the attribute must be applied at instantiation time. */ #define ATTR_IS_DEPENDENT(NODE) TREE_LANG_FLAG_0 (TREE_LIST_CHECK (NODE)) |