PR c++/80891 (#1,#5)
authorNathan Sidwell <nathan@acm.org>
Mon, 29 May 2017 19:45:42 +0000 (19:45 +0000)
committerNathan Sidwell <nathan@gcc.gnu.org>
Mon, 29 May 2017 19:45:42 +0000 (19:45 +0000)
commit3d7ff7286de5a44da1b843ace99262c777079714
tree2d31b8b170e163b02c6de6c2a30672f5d6e24eab
parentfd262197d74626579a784ee1cc0f3f3a0e3f33e9
PR c++/80891 (#1,#5)

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.

From-SVN: r248578
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]