gcc/cp/
commit475205a09e579c1dda13207071aba7e90baf3bde
authornathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 25 May 2017 18:52:47 +0000 (25 18:52 +0000)
committernathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 25 May 2017 18:52:47 +0000 (25 18:52 +0000)
tree46ae0e24e642ec27a2a21ca827419c7f58cb282a
parent6c5472114ad68f7a138327d874156cadd3c047ab
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248467 138bc75d-0d04-0410-961f-82ee72b054a4
12 files changed:
gcc/cp/ChangeLog
gcc/cp/cp-tree.h
gcc/cp/name-lookup.c
gcc/cp/name-lookup.h
gcc/cp/tree.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/lookup/using56.C [new file with mode: 0644]
gcc/testsuite/g++.dg/lookup/using57.C [new file with mode: 0644]
gcc/testsuite/g++.dg/lookup/using58.C [new file with mode: 0644]
gcc/testsuite/g++.dg/lookup/using59.C [new file with mode: 0644]
libcc1/ChangeLog
libcc1/libcp1plugin.cc