diff options
author | Nathan Sidwell <nathan@acm.org> | 2017-05-23 10:58:57 +0000 |
---|---|---|
committer | Nathan Sidwell <nathan@gcc.gnu.org> | 2017-05-23 10:58:57 +0000 |
commit | 9d029ddfdadd3a469a8069ff498a29df8cdb5393 (patch) | |
tree | f7cd3c7126e3fea6faa455d363ecf982e14ca211 /libcc1 | |
parent | 92fa0f9e09a21f560100dbc1864ed9b576d41d0c (diff) |
cp-tree.h (OVL_P): New.
gcc/cp
* cp-tree.h (OVL_P): New.
* name-lookup.h (push_local_binding): Delete.
(do_toplevel_using_decl, do_local_using_decl): Rename to ...
(finish_namespace_using_decl, finish_local_using_decl): ... here
* name-lookup.c (add_decl_to_level): Swap args.
(pop_bindings_and_leave_scope): Look inside TREE_LIST.
(diagnose_name_conflict): Check contexts are same for redecl.
(update_local_overload): New.
(compparms_for_decl_and_using): Rename to ...
(matching_fn_p): ... here.
(pushdecl_maybe_friend_1): Adjust add_decl_to_level,
push_local_bindings call.
(push_local_binding): Make static, replace FLAGS arg with
IS_USING.
(validate_nonmember_using_decl): Use OVL_FIRST.
(do_nonmember_using_decl): Use in/out parameters. Use
lkp_iterator and simplify.
(do_toplevel_using_decl, do_local_using_decl): Rename to ...
(finish_namespace_using_decl, finish_local_using_decl): ... here.
Adjust.
(lookup_type_current_level): Delete.
* parser.c (cp_parser_using_declaration): Adjust.
* pt.c (tsubst_expr): Adjust.
libcc1/
* libcp1plugin.cc (plugin_add_using_decl): Call
finish_namespace_using_decl. Use assert not unreachable.
gcc/testsuite/
* g++.dg/lookup/using13.C: Adjust expected error.
From-SVN: r248364
Diffstat (limited to 'libcc1')
-rw-r--r-- | libcc1/ChangeLog | 5 | ||||
-rw-r--r-- | libcc1/libcp1plugin.cc | 9 |
2 files changed, 9 insertions, 5 deletions
diff --git a/libcc1/ChangeLog b/libcc1/ChangeLog index 0a66c21f546..1969873a1fd 100644 --- a/libcc1/ChangeLog +++ b/libcc1/ChangeLog @@ -1,3 +1,8 @@ +2017-05-23 Nathan Sidwell <nathan@acm.org> + + * libcp1plugin.cc (plugin_add_using_decl): Call + finish_namespace_using_decl. Use assert not unreachable. + 2017-05-11 Nathan Sidwell <nathan@acm.org> * libcp1plugin.cc (safe_pushdecl_maybe_friend): Call pushdecl. diff --git a/libcc1/libcp1plugin.cc b/libcc1/libcp1plugin.cc index 7e308620b56..7db74c737a0 100644 --- a/libcc1/libcp1plugin.cc +++ b/libcc1/libcp1plugin.cc @@ -1030,13 +1030,12 @@ plugin_add_using_decl (cc1_plugin::connection *, finish_member_declaration (decl); } - else if (!at_namespace_scope_p ()) + else { - gcc_unreachable (); - do_local_using_decl (target, tcontext, identifier); + /* We can't be at local scope. */ + gcc_assert (at_namespace_scope_p ()); + finish_namespace_using_decl (target, tcontext, identifier); } - else - do_toplevel_using_decl (target, tcontext, identifier); return 1; } |