https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80891

--- Comment #10 from Nathan Sidwell <nathan at gcc dot gnu.org> ---
Author: nathan
Date: Mon May 29 19:45:42 2017
New Revision: 248578

URL: https://gcc.gnu.org/viewcvs?rev=248578&root=gcc&view=rev
Log:
        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.

Added:
    trunk/gcc/testsuite/g++.dg/lookup/pr80891-5.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/cp-tree.h
    trunk/gcc/cp/name-lookup.c
    trunk/gcc/cp/pt.c
    trunk/gcc/cp/tree.c
    trunk/gcc/testsuite/ChangeLog

Reply via email to