From mboxrd@z Thu Jan 1 00:00:00 1970 From: rodrigc@gcc.gnu.org To: bcrowder@station.sony.com, gcc-bugs@gcc.gnu.org, gcc-prs@gcc.gnu.org, nobody@gcc.gnu.org, rodrigc@gcc.gnu.org Subject: Re: c++/3175: CTOR/DTOR Mismatch Error Date: Sun, 02 Sep 2001 01:22:00 -0000 Message-id: <20010902082248.5091.qmail@sourceware.cygnus.com> X-SW-Source: 2001-09/msg00018.html List-Id: Synopsis: CTOR/DTOR Mismatch Error State-Changed-From-To: open->feedback State-Changed-By: rodrigc State-Changed-When: Sun Sep 2 01:22:47 2001 State-Changed-Why: What is the correct output of your program supposed to be? I tested it with gcc 3.0.1 and got: Build an empty Bar (0x0804a280) FooRef CTOR(0) (0xbffff6f0) Foo CTOR(0) (0xbffff6f0) Bar CTOR(0) New a Bar with stuff in it (0x0804a2a0) FooRef CTOR(1234) (0x0804a290) Foo CTOR(1234) (0x0804a290) Bar CTOR(1234) PROBLEM HERE, unbalanced Foo DTOR!! (0xbffff6d0) Foo Copy CTOR(1234, count:2) (0xbffff6d0) Bar Copy CTOR(1234) (0xbffff6e0) Foo Copy CTOR(1234, count:3) (0x0804a280) FooRef DTOR(0) (0xbffff6f0) Foo OP=(1234, count:4) (0xbffff6e0) Foo DTOR(1234, count:3) (0xbffff6d0) Bar DTOR(1234) (0xbffff6d0) Foo DTOR(1234, count:2) Destroy Bar with stuff (0x0804a290) Bar DTOR(1234) (0x0804a290) Foo DTOR(1234, count:1) End stack... (0xbffff6f0) Bar DTOR(1234) (0xbffff6f0) Foo DTOR(1234, count:0) (0x0804a2a0) FooRef DTOR(1234) http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view&pr=3175&database=gcc