aboutsummaryrefslogtreecommitdiff
path: root/libcc1
diff options
context:
space:
mode:
authorNathan Sidwell <nathan@acm.org>2017-05-26 17:19:46 +0000
committerNathan Sidwell <nathan@gcc.gnu.org>2017-05-26 17:19:46 +0000
commit3c9feefc8d6372d0e24070b53b40c2a36026e798 (patch)
tree6a5cd764e175f48eba5d5bc8790e0fb35ffd6e93 /libcc1
parent5596d26a5c2df26fc591c8dad0e2bc87ee2f88e2 (diff)
downloadgcc-3c9feefc8d6372d0e24070b53b40c2a36026e798.zip
gcc-3c9feefc8d6372d0e24070b53b40c2a36026e798.tar.gz
gcc-3c9feefc8d6372d0e24070b53b40c2a36026e798.tar.bz2
Inline and using namespace representation change.
gcc/cp/ Inline and using namespace representation change. * cp-tree.h (struct lang_decl_ns): Delete ns_using. Add usings, inlinees as vector. (DECL_NAMESPACE_USING): Adjust. (DECL_NAMESPACE_INLINEES): New. * name-lookup.h (struct cp_binding_level): Change usings representation. * name-lookup.c (name_lookup::do_queue_usings) name_lookup::queue_usings): Adjust. (name_lookup::search_namespace, name_lookup::search_usings) name_lookup::queue_namespace): Adjust. (name_lookup::adl_namespace_only): Adjust. (add_using_namespace, push_namespace): Push onto vector. (pop_namespace): Add timing logic. libcc1/ * libcp1plugin.cc (plugin_make_namespace_inline): Push onto linees. ((--This line, and those below, will be ignored-- M gcc/cp/ChangeLog M gcc/cp/cp-tree.h M gcc/cp/name-lookup.c M gcc/cp/name-lookup.h M libcc1/libcp1plugin.cc M libcc1/ChangeLog From-SVN: r248520
Diffstat (limited to 'libcc1')
-rw-r--r--libcc1/ChangeLog2
-rw-r--r--libcc1/libcp1plugin.cc1
2 files changed, 3 insertions, 0 deletions
diff --git a/libcc1/ChangeLog b/libcc1/ChangeLog
index 76b6388..14344b8 100644
--- a/libcc1/ChangeLog
+++ b/libcc1/ChangeLog
@@ -1,5 +1,7 @@
2017-05-26 Nathan Sidwell <nathan@acm.org>
+ * libcp1plugin.cc (plugin_make_namespace_inline): Push onto linees.
+
* libcp1plugin.cc (plugin_add_using_namespace): Call
finish_namespace_using_directive.
diff --git a/libcc1/libcp1plugin.cc b/libcc1/libcp1plugin.cc
index 877c264..a96ffc0 100644
--- a/libcc1/libcp1plugin.cc
+++ b/libcc1/libcp1plugin.cc
@@ -934,6 +934,7 @@ plugin_make_namespace_inline (cc1_plugin::connection *)
return 0;
DECL_NAMESPACE_INLINE_P (inline_ns) = true;
+ vec_safe_push (DECL_NAMESPACE_INLINEES (parent_ns), inline_ns);
return 1;
}