public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* Re: c++/8205: [3.2 regression] using declaration & mulitiple inheritance
@ 2003-04-25 21:00 jbuck
  0 siblings, 0 replies; 3+ messages in thread
From: jbuck @ 2003-04-25 21:00 UTC (permalink / raw)
  To: chicares, gcc-bugs, gcc-prs, hou_zhenyu, nobody

Synopsis: [3.2 regression] using declaration & mulitiple inheritance

State-Changed-From-To: analyzed->closed
State-Changed-By: jbuck
State-Changed-When: Fri Apr 25 21:00:30 2003
State-Changed-Why:
    Fixed for 3.3.

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=8205


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: c++/8205: [3.2 regression] using declaration & mulitiple inheritance
@ 2002-12-23  9:46 Janis Johnson
  0 siblings, 0 replies; 3+ messages in thread
From: Janis Johnson @ 2002-12-23  9:46 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

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

From: Janis Johnson <janis187@us.ibm.com>
To: hou_zhenyu@hotmail.com, gcc-gnats@gcc.gnu.org, gcc-prs@gcc.gnu.org,
   chicares@mindspring.com, gcc-bugs@gcc.gnu.org, nobody@gcc.gnu.org
Cc:  
Subject: Re: c++/8205: [3.2 regression] using declaration & mulitiple inheritance
Date: Mon, 23 Dec 2002 09:44:31 -0800

 The regression reported in PR c++/8205 still exists on the
 3.2 branch.  The patch that caused the bug to show up, and
 the patch that caused it to go away on the mainline, are
 shown here.  They are both very large so it's quite likely
 that this information isn't very useful.
 
 Here's the patch that caused the regression to show up:
 
 2001-11-25  Nathan Sidwell  <nathan@codesourcery.com>
 
         PR g++/3145
         * class.c
         * cp-tree.h
         * call.c
         * cvt.c
         * init.c
         * rtti.c
         * search.c
         * typeck.c
         * typeck2.c
 
 Here's the patch that caused it to go away on the mainline:
 
 2002-08-07  Mark Mitchell  <mark@codesourcery.com>
 
         Rework build_component_ref.
         * call.c
         * class.c
         * cp-tree.def
         * cp-tree.h
         * decl.c
         * decl2
         * error.c
         * except.c
         * init.c
         * method.c
         * parse.y
         * pt.c
         * search.c
         * semantics.c
         * spew.c
         * tree.c
         * typeck.c
         * typeck2.c
 
 Here's a small test case that causes the compiler to
 complain about valid code on i686-linux with the 3.2
 branch cc1plus:
 
 -------------------
 class A { public: int i; };
 class B {};
 class E : A, B { public: using A::i; };
 
 int main() {
   E e;
   e.i; // "`A' is an inaccessible base of `E'"
 }
 -------------------
 
 Output from the 3.2 branch compiler:
 
 8205.C: In function `int main()':
 8205.C:7: `A' is an inaccessible base of `E'
 
 http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=8205
 
 
 


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: c++/8205: [3.2 regression] using declaration & mulitiple inheritance
@ 2002-12-13 14:06 Wolfgang Bangerth
  0 siblings, 0 replies; 3+ messages in thread
From: Wolfgang Bangerth @ 2002-12-13 14:06 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

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
 
 


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2003-04-25 21:00 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-04-25 21:00 c++/8205: [3.2 regression] using declaration & mulitiple inheritance jbuck
  -- strict thread matches above, loose matches on Subject: below --
2002-12-23  9:46 Janis Johnson
2002-12-13 14:06 Wolfgang Bangerth

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).