From 5b33cc835cfb82fee4508129bf849f40733e752f Mon Sep 17 00:00:00 2001 From: Nathan Sidwell Date: Wed, 11 Jan 2017 20:11:56 +0000 Subject: [PATCH] * name-lookup.c (push_overloaded_decl_1): Refactor OVERLOAD creation. From-SVN: r244334 --- gcc/cp/ChangeLog | 4 ++++ gcc/cp/name-lookup.c | 6 ++++-- 2 files changed, 8 insertions(+), 2 deletions(-) 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; } -- 2.30.2