PR c++/80891 (#1,#5)
commit6fbf0ce649536dd961b58fe55ad6b082c414955f
authornathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 29 May 2017 19:45:42 +0000 (29 19:45 +0000)
committernathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 29 May 2017 19:45:42 +0000 (29 19:45 +0000)
tree2d31b8b170e163b02c6de6c2a30672f5d6e24eab
parent18eaba0b2b49260c106dd45c191f10f7b6bf6d78
PR c++/80891 (#1,#5)
* cp-tree.h (lookup_maybe_add): Add DEDUPING argument.
* name-lookup.c (name_lookup): Add deduping field.
(name_lookup::preserve_state, name_lookup::restore_state): Deal
with deduping.
(name_lookup::add_overload): New.
(name_lookup::add_value, name_lookup::add_fns): Call add_overload.
(name_lookup::search_adl): Set deduping.  Don't unmark here.
* pt.c (most_specialized_instantiation): Revert previous change,
Assert not given duplicates.
* tree.c (lookup_mark): Just mark the underlying decls.
(lookup_maybe_add): Dedup using marked decls.

PR c++/80891 (#5)
* g++.dg/lookup/pr80891-5.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248578 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/cp/ChangeLog
gcc/cp/cp-tree.h
gcc/cp/name-lookup.c
gcc/cp/pt.c
gcc/cp/tree.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/lookup/pr80891-5.C [new file with mode: 0644]