re PR c++/7584 (Erroneous ambiguous base error on using declaration)
PR c++/7584 * class.c (handle_using_decl): Allow the declaration used to be from an ambiguous base. PR c++/7584 * g++.dg/inherit/using3.C: New test. From-SVN: r58262
This commit is contained in:
parent
2d05cd9641
commit
982216be8c
|
@ -1,5 +1,9 @@
|
|||
2002-10-17 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
PR c++/7584
|
||||
* class.c (handle_using_decl): Allow the declaration used to be
|
||||
from an ambiguous base.
|
||||
|
||||
* pt.c (convert_template_argument): Revert this change:
|
||||
2002-10-16 Mark Mitchell <mark@codesourcery.com>
|
||||
* pt.c (convert_template_argument): Do not fold non-type
|
||||
|
|
|
@ -1155,9 +1155,12 @@ handle_using_decl (using_decl, t)
|
|||
tree flist = NULL_TREE;
|
||||
tree old_value;
|
||||
|
||||
binfo = binfo_or_else (ctype, t);
|
||||
binfo = lookup_base (t, ctype, ba_any, NULL);
|
||||
if (! binfo)
|
||||
return;
|
||||
{
|
||||
error_not_base_type (t, ctype);
|
||||
return;
|
||||
}
|
||||
|
||||
if (constructor_name_p (name, ctype))
|
||||
{
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2002-10-17 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
PR c++/7584
|
||||
* g++.dg/inherit/using3.C: New test.
|
||||
|
||||
Thu Oct 17 19:12:58 CEST 2002 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
* gcc.dg/20021017-2.c: New test.
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
class A
|
||||
{
|
||||
public:
|
||||
typedef int T;
|
||||
int a;
|
||||
};
|
||||
|
||||
class B : virtual private A
|
||||
{
|
||||
};
|
||||
|
||||
class C : virtual private A, public B
|
||||
{
|
||||
public:
|
||||
using A::a;
|
||||
using A::T;
|
||||
};
|
||||
|
||||
C::T x;
|
Loading…
Reference in New Issue