From mboxrd@z Thu Jan 1 00:00:00 1970 From: peter@empeg.com To: gcc-gnats@gcc.gnu.org Subject: c++/3187: gcc-3.0 prerelease lays down two copies of constructors Date: Thu, 14 Jun 2001 11:46:00 -0000 Message-id: <20010614183839.26949.qmail@sourceware.cygnus.com> X-SW-Source: 2001-06/msg00632.html List-Id: >Number: 3187 >Category: c++ >Synopsis: gcc-3.0 prerelease lays down two copies of constructors >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: wrong-code >Submitter-Id: net >Arrival-Date: Thu Jun 14 11:46:02 PDT 2001 >Closed-Date: >Last-Modified: >Originator: Peter Hartley >Release: gcc version 3.0 20010614 (prerelease) >Organization: >Environment: PC Linux host, ARM Linux cross-compiler Configured with: ../gcc/configure --prefix=/home/peter --host=i686-linux --build=i686-linux --target=arm-cvs-linux --enable-languages=c,c++ --enable-static >Description: Two (sometimes three) identical copies of constructors and destructors are laid down. The linker doesn't fail this, but the binaries produced are 20% bigger (on our real-world example) than necessary. >How-To-Repeat: arm-cvs-linux-g++ -S aubergine.cpp -o aubergine2.s The aubergine2.s file clearly contains two identical constructors and two identical destructors. >Fix: >Release-Note: >Audit-Trail: >Unformatted: