Article View: gnu.g++.bug
Article #71Multiple inheritance bug in G++ 1.35.1-
From: Bryan Boreham
Date: Mon, 19 Jun 1989 20:35
Date: Mon, 19 Jun 1989 20:35
44 lines
1368 bytes
1368 bytes
Example:
kewill% cat mibug.C
class Object {};
class VObject : public Object {};
class View: public VObject {};
class LineItem : public VObject {
public:
void Enable();
};
class CollectionView: public View {
public:
int selection;
};
class Menu : public CollectionView {
int selection;
public:
void Init();
void GetTitle() {}
};
void LineItem::Enable() {}
void Menu::Init()
{
selection= -1;
}
kewill% /usr/local/lib/gcc-cc1plus -version mibug.C -quiet -noreg -o /dev/null
GNU C++ version 1.35.1- (68k, MIT syntax) compiled by GNU C version 1.35.
In method void Menu::Init ():
mibug.C:26: request for member `selection' is ambiguous in multiple inheritance
lattice
I pared this down from 96K of code; the bug goes away if you change
almost anything in the above. It does catch G++ out in three files
of ET++. The temporary work-round is to replace "selection" with
"this->selection".
Bryan.
Technical Details
Message-ID:
<8906192035.AA23201@kewill.uucp>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!UUNET.UU.NET!kewill!bryanShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!UUNET.UU.NET!kewill!bryan From: kewill!bryan@UUNET.UU.NET (Bryan Boreham) Newsgroups: gnu.g++.bug Subject: Multiple inheritance bug in G++ 1.35.1- Message-ID: <8906192035.AA23201@kewill.uucp> Date: 19 Jun 89 20:35:48 GMT Sender: daemon@tut.cis.ohio-state.edu Distribution: gnu Organization: GNUs Not Usenet Lines: 44