cp-tree.h (OVL_CHAIN): Check looking at OVERLOAD.
authorNathan Sidwell <nathan@acm.org>
Fri, 26 May 2017 15:01:07 +0000 (15:01 +0000)
committerNathan Sidwell <nathan@gcc.gnu.org>
Fri, 26 May 2017 15:01:07 +0000 (15:01 +0000)
commit32196b873a1ba319e9b3fc4cccb910d8cc4d6b31
treeb5d1722f7346122ff6f56ed689c65ce9caf9c0fd
parent262149f536cdfbe64ebce8fd80958d10b7a47f2e
cp-tree.h (OVL_CHAIN): Check looking at OVERLOAD.

* cp-tree.h (OVL_CHAIN): Check looking at OVERLOAD.
(ovl_iterator): Add allow_inner field.  Adjust ctor.  Make
unduplicatable.
(ovl_iterator::maybe_push, ovl_iterator::pop): New.
(lkp_iterator): Add outer field.  Adjust ctor.
(lkp_iterator::operator++): New.
(lookup_mark, lookup_maybe_add): Declare.
* name-lookup.c (name_lookup): Delete fn_set member.
(name_lookup::preserve_state, name_lookup::restore_state): Unmark
and mark lookup.
(name_lookup::add_value): Use lookup_add directly.
(name_lookup::add_fns: Use lookup_maybe_add.
(name_lookup::search_adl): Mark and unmark fns.
(pushdecl): Adjust.
* pt.c (check_explicit_specialization): Use lookup_add directly.
* ptree.c (cxx_print_xnode): Show complete overload structure.
* tree.c (lookup_mark, lookup_maybe_add): New.

From-SVN: r248517
gcc/cp/ChangeLog
gcc/cp/cp-tree.h
gcc/cp/name-lookup.c
gcc/cp/pt.c
gcc/cp/ptree.c
gcc/cp/tree.c