re PR c++/21784 (Using vs builtin names)
PR c++/21784 * name-lookup.c (do_nonmember_using_decl): Ignore builtin functions, even when the used name is not a function. PR c++/21784 * g++.dg/lookup/using14.C: New test. From-SVN: r100365
This commit is contained in:
parent
2a2ea37674
commit
d035c29621
|
@ -1,9 +1,20 @@
|
|||
2005-05-30 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
PR c++/21784
|
||||
* name-lookup.c (do_nonmember_using_decl): Ignore builtin
|
||||
functions, even when the used name is not a function.
|
||||
|
||||
2005-05-30 Kazu Hirata <kazu@cs.umass.edu>
|
||||
|
||||
* operators.def, optimize.c: Update copyright.
|
||||
|
||||
2005-05-28 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
PR c++/21210
|
||||
* call.c (standard_conversion): Permit conversions to complex
|
||||
types if conversion to the corresponding scalar type would be
|
||||
permitted.
|
||||
|
||||
PR c++/21340
|
||||
* method.c (implicitly_declare_fn): Clear processing_template_decl
|
||||
when generating implicit declaration.
|
||||
|
|
|
@ -2032,6 +2032,14 @@ do_nonmember_using_decl (tree scope, tree name, tree oldval, tree oldtype,
|
|||
return;
|
||||
}
|
||||
|
||||
/* It is impossible to overload a built-in function; any explicit
|
||||
declaration eliminates the built-in declaration. So, if OLDVAL
|
||||
is a built-in, then we can just pretend it isn't there. */
|
||||
if (oldval
|
||||
&& TREE_CODE (oldval) == FUNCTION_DECL
|
||||
&& DECL_ANTICIPATED (oldval))
|
||||
oldval = NULL_TREE;
|
||||
|
||||
/* Check for using functions. */
|
||||
if (decls.value && is_overloaded_fn (decls.value))
|
||||
{
|
||||
|
@ -2044,15 +2052,6 @@ do_nonmember_using_decl (tree scope, tree name, tree oldval, tree oldtype,
|
|||
oldval = NULL_TREE;
|
||||
}
|
||||
|
||||
/* It is impossible to overload a built-in function; any
|
||||
explicit declaration eliminates the built-in declaration.
|
||||
So, if OLDVAL is a built-in, then we can just pretend it
|
||||
isn't there. */
|
||||
if (oldval
|
||||
&& TREE_CODE (oldval) == FUNCTION_DECL
|
||||
&& DECL_ANTICIPATED (oldval))
|
||||
oldval = NULL_TREE;
|
||||
|
||||
*newval = oldval;
|
||||
for (tmp = decls.value; tmp; tmp = OVL_NEXT (tmp))
|
||||
{
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2005-05-30 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
PR c++/21784
|
||||
* g++.dg/lookup/using14.C: New test.
|
||||
|
||||
2005-05-30 Kazu Hirata <kazu@cs.umass.edu>
|
||||
|
||||
* gcc.dg/c99-math-double-1.c, gcc.dg/c99-math-float-1.c,
|
||||
|
@ -29,6 +34,9 @@
|
|||
|
||||
2005-05-28 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
PR c++/21210
|
||||
* g++.dg/ext/complex1.C: New test.
|
||||
|
||||
PR c++/21340
|
||||
* g++.dg/init/ctor6.C: New test.
|
||||
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
// PR c++/21784
|
||||
|
||||
namespace mine
|
||||
{
|
||||
int cpow;
|
||||
};
|
||||
|
||||
using mine::cpow;
|
Loading…
Reference in New Issue