Article View: gnu.g++.bug
Article #891abort in delete of virtual derived class.
From: Rech TURLAIS Tel 4216 15-01-92 M...
Date: Thu, 03 Sep 1992 20:29
Date: Thu, 03 Sep 1992 20:29
53 lines
1756 bytes
1756 bytes
The following program aborts in s2::~s2. s2 is virtualy derived
from s1 and destructor is virtual. This appears on SUN4 SUNOS 4.1.1.
Thank you.
P. Turlais.
The commands :
190 halley % gcc -g -v s.cc
Reading specs from /d/turlais/lib/gcc-lib/sun4/2.2.2/specs
gcc version 2.2.2
/d/turlais/lib/gcc-lib/sun4/2.2.2/cpp -lang-c++ -v -undef -D__GNUC__=2 -D__GNUG__=2 -D__cplusplus -Dsparc -Dsun -Dunix -D__sparc__ -D__sun__ -D__unix__ -D__sparc -D__sun -D__unix -g s.cc /usr/tmp/cca03231.i
GNU CPP version 2.2.2 (sparc)
/d/turlais/lib/gcc-lib/sun4/2.2.2/cc1plus /usr/tmp/cca03231.i -quiet -dumpbase s.cc -g -version -o /usr/tmp/cca03231.s
GNU C++ version 2.2.2 (sparc) compiled by GNU C version 2.2.2.
as -o s.o /usr/tmp/cca03231.s
/d/turlais/lib/gcc-lib/sun4/2.2.2/ld -e start -dc -dp /lib/crt0.o -L/d/turlais/lib/gcc-lib/sun4/2.2.2 -L/d/turlais/lib s.o -lgcc -lc -lg -lgcc
191 halley % a.out
IOT trap (core dumped)
The code :
class s1 {
public:
s1() {}
virtual int f(int) = 0;
virtual ~s1() = 0;
};
class s2 : virtual public s1 {
public:
s2(int i) : val(i) {}
~s2();
int f(int);
int val;
};
s2::~s2()
{}
int s2::f(int i)
{ return i + j;
}
main()
{
s1 *s = new s2(4);
delete s;
}
Technical Details
Message-ID:
<9209031629.AA16510@rechser.total.fr.recherche>Path:
arc1-ca.pugleaf.net!sparky!uunet!cis.ohio-state.edu!rechser.total.fr!turlaisShow Full Headers
Complete Article Headers
Newsgroups: gnu.g++.bug Path: arc1-ca.pugleaf.net!sparky!uunet!cis.ohio-state.edu!rechser.total.fr!turlais From: turlais@rechser.total.fr (Rech TURLAIS Tel 4216 15-01-92 MJ ) Subject: abort in delete of virtual derived class. Message-ID: <9209031629.AA16510@rechser.total.fr.recherche> Sender: gnulists@ai.mit.edu Reply-To: turlais@rechser.total.fr Organization: GNUs Not Usenet Distribution: gnu Date: Thu, 3 Sep 1992 20:29:37 GMT Approved: bug-g++@prep.ai.mit.edu Lines: 55