From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17231 invoked by alias); 1 Aug 2002 16:56:01 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 17211 invoked by uid 71); 1 Aug 2002 16:56:01 -0000 Resent-Date: 1 Aug 2002 16:56:01 -0000 Resent-Message-ID: <20020801165601.17210.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-To: nobody@gcc.gnu.org Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org Resent-Reply-To: gcc-gnats@gcc.gnu.org, norbert@spice.gia.rwth-aachen.de Received: (qmail 14278 invoked by uid 61); 1 Aug 2002 16:54:23 -0000 Message-Id: <20020801165423.14274.qmail@sources.redhat.com> Date: Thu, 01 Aug 2002 09:56:00 -0000 From: norbert@spice.gia.rwth-aachen.de Reply-To: norbert@spice.gia.rwth-aachen.de To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version: gnatsweb-2.9.3 (1.1.1.1.2.31) Subject: c++/7466: gcc does not create a destructor call for a temporary X-SW-Source: 2002-08/txt/msg00003.txt.bz2 List-Id: >Number: 7466 >Category: c++ >Synopsis: gcc does not create a destructor call for a temporary >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Thu Aug 01 09:56:00 PDT 2002 >Closed-Date: >Last-Modified: >Originator: Norbert Berzen >Release: gcc version 3.1 >Organization: >Environment: Reading specs from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.1/specs Configured with: /WINEXPORT/DEVEL/gcc-x.y.z/gcc-3.1/configure --prefix=/usr Thread model: single gcc version 3.1 >Description: gcc does not create a destructor call for a temporary object which has a non-trivial destructor. When xxx.cpp is compiled using "g++ -o xxx xxx.cpp" then only C() is called, and ~C() is not called at all. But when xxx.cpp is compiled by "g++ -O3 -o xxx xxx.cpp" then C() gets called once as well as ~C() gets called once. >How-To-Repeat: Compile xxx.cpp by "g++ -o xxx xxx.cpp" and run the program. Compile it by "g++ -O3 -o xxx xxx.cpp" and run the program. >Fix: >Release-Note: >Audit-Trail: >Unformatted: ----gnatsweb-attachment---- Content-Type: application/octet-stream; name="xxx.cpp" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="xxx.cpp" LyoKICogRmlsZTogeHh4LmNwcAogKi8KCmV4dGVybiAiQyIgaW50IHByaW50ZiAoLi4uKTsKCnN0 cnVjdCBDIHsKICBDICgpIHsgcHJpbnRmICgiQyAoKVxuIik7IH0KICB+QyAoKSB7IHByaW50ZiAo In5DICgpXG4iKTsgfQp9OwoKc3RhdGljIGNvbnN0IEMgZiAodm9pZCkKewogIHJldHVybiBDKCk7 Cn0KCnN0YXRpYyB2b2lkIGcgKEMgaW5fYykKewogIC8qIGVtcHR5ICovCn0KCmludAptYWluICgp CnsKICBnIChmICgpKTsKICByZXR1cm4gMDsKfQoKCi8qCiAqIFRoaXMgcHJvZHVjZXMgd3Jvbmcg Y29kZTogICAiZysrIC1vIHh4eCB4eHguY3BwIgogKgogKiBUaGF0IHByb2R1Y2VzIGNvcnJlY3Qg Y29kZTogImcrKyAtTzMgLW8geHh4IHh4eC5jcHAiCiAqLwo=