re PR c++/2294 (using declaration confusion)
PR c++/2294 * name-lookup.c (push_overloaded_decl): always construct an OVERLOAD if the declaration comes from an using declaration. From-SVN: r74667
This commit is contained in:
parent
75e0d03a94
commit
f31620006c
@ -1,3 +1,9 @@
|
||||
2003-12-16 Giovanni Bajo <giovannibajo@gcc.gnu.org>
|
||||
|
||||
PR c++/2294
|
||||
* name-lookup.c (push_overloaded_decl): always construct an OVERLOAD
|
||||
if the declaration comes from an using declaration.
|
||||
|
||||
2003-12-15 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
PR c++/10926
|
||||
|
@ -2006,7 +2006,11 @@ push_overloaded_decl (tree decl, int flags)
|
||||
}
|
||||
}
|
||||
|
||||
if (old || TREE_CODE (decl) == TEMPLATE_DECL)
|
||||
if (old || TREE_CODE (decl) == TEMPLATE_DECL
|
||||
/* If it's a using declaration, we always need to build an OVERLOAD,
|
||||
because it's the only way to remember that the declaration comes
|
||||
from 'using', and have the lookup behave correctly. */
|
||||
|| (flags & PUSH_USING))
|
||||
{
|
||||
if (old && TREE_CODE (old) != OVERLOAD)
|
||||
new_binding = ovl_cons (decl, ovl_cons (old, NULL_TREE));
|
||||
|
Loading…
Reference in New Issue
Block a user