Path: utzoo!attcan!uunet!oddjob!gargoyle!att!rutgers!bellcore!clyde!watmath!watcgl!ahvermeulen
From: ahvermeulen@watcgl.waterloo.edu (Al Vermeulen)
Newsgroups: comp.lang.c++
Subject: member object with a virtual dtor
Keywords: why does cfront choke on this?
Message-ID: <5164@watcgl.waterloo.edu>
Date: 13 Jul 88 02:28:41 GMT
Distribution: comp
Organization: U of Waterloo, Ontario
Lines: 31

The following piece of code produces this error when I try to compile it:

line 12: internal <> error:
		bus error (or something nasty like that)
1 error

Here's the code:

class A {
  public:
    A();
    virtual ~A();
};

class B {
  public:
    A a;
    B();
    ~B() {}
};

The problem seems to occur when cfront attempts to compile the
destructor ~B().  Apparently the presence of a member object with a
virtual descructor is the problem.  Anybody know what's wrong?  Will
this bug be fixed in the next release of cfront?  My current workaround
is to use pointers to members with virtual dtors and initialize and
destroy them explicity. Anybody have a better idea?
-- 

Al Vermeulen (al@watsup, ahvermeulen@watcgl)
al@watsup.waterloo.edu