From: Nathan Sidwell Date: Wed, 11 Jan 2017 20:11:56 +0000 (+0000) Subject: * name-lookup.c (push_overloaded_decl_1): Refactor OVERLOAD creation. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5b33cc835cfb82fee4508129bf849f40733e752f;p=gcc.git * name-lookup.c (push_overloaded_decl_1): Refactor OVERLOAD creation. From-SVN: r244334 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 6ae85ae6c7d..a6a8e8b7ff4 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,7 @@ +2017-01-11 Nathan Sidwell + + * name-lookup.c (push_overloaded_decl_1): Refactor OVERLOAD creation. + 2017-01-11 Jakub Jelinek PR c++/78341 diff --git a/gcc/cp/name-lookup.c b/gcc/cp/name-lookup.c index c422d2f0ac2..ba900cbf01f 100644 --- a/gcc/cp/name-lookup.c +++ b/gcc/cp/name-lookup.c @@ -2454,9 +2454,11 @@ push_overloaded_decl_1 (tree decl, int flags, bool is_friend) || (flags & PUSH_USING)) { if (old && TREE_CODE (old) != OVERLOAD) - new_binding = ovl_cons (decl, ovl_cons (old, NULL_TREE)); + /* Wrap the existing single decl in an overload. */ + new_binding = ovl_cons (old, NULL_TREE); else - new_binding = ovl_cons (decl, old); + new_binding = old; + new_binding = ovl_cons (decl, new_binding); if (flags & PUSH_USING) OVL_USED (new_binding) = 1; }