* cp-tree.h (OVL_CHAIN): Check looking at OVERLOAD.
commit41ff145bfa36015e8d7d15f389d81f22cebd34f8
authornathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 26 May 2017 15:01:07 +0000 (26 15:01 +0000)
committernathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 26 May 2017 15:01:07 +0000 (26 15:01 +0000)
treeb5d1722f7346122ff6f56ed689c65ce9caf9c0fd
parentd1421c6f80cb36c0de5070ad2ecfcd6c2e7d97c4
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248517 138bc75d-0d04-0410-961f-82ee72b054a4
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