c++/8205: [3.2 regression] using declaration & mulitiple inheritance

Wolfgang Bangerth bangerth@ticam.utexas.edu
Fri Dec 13 14:06:00 GMT 2002


The following reply was made to PR c++/8205; it has been noted by GNATS.

From: Wolfgang Bangerth <bangerth@ticam.utexas.edu>
To: gcc-bugs@gcc.gnu.org
Cc: gcc-gnats@gcc.gnu.org
Subject: Re: c++/8205: [3.2 regression] using declaration & mulitiple
 inheritance
Date: Fri, 13 Dec 2002 16:04:50 -0600 (CST)

 Upon closer inspection, I believe that this high priority regression is 
 actually another manifestation of (high priority regression) c++/8117. The 
 testcase for the latter is 
 ---------------------
 struct A { virtual void foo() = 0; };
 
 struct B : A {};
 struct C : A {};
 
 struct D : B, C { virtual void foo() {} };
 
 void (D::* p)() = &D::foo;  // 'A' is an ambiguous base of 'D'
 --------------------
 while for the former
 --------------------
 struct A { int i; };
 struct B {};
 class E : A, B { public: using A::i; };
 
 void foo() { E().i; } // "`A' is an inaccessible base of `E'"
 ---------------------
 
 The theory that they are the same is also supported by the fact that both 
 started to show up somewhere between 2001-11-25 and 2001-12-01.
 
 Regards
   Wolfgang
 
 -------------------------------------------------------------------------
 Wolfgang Bangerth              email:           bangerth@ticam.utexas.edu
                                www: http://www.ticam.utexas.edu/~bangerth
 
 



More information about the Gcc-prs mailing list