🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.g++.bug
Article #71

Multiple inheritance bug in G++ 1.35.1-

#71
From: Bryan Boreham
Date: Mon, 19 Jun 1989 20:35
44 lines
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!bryan

Show 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