This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/12751] New: [tree-ssa] wrong code: double destruction
- From: "stefaandr at hotmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 23 Oct 2003 23:45:46 -0000
- Subject: [Bug c++/12751] New: [tree-ssa] wrong code: double destruction
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12751
Summary: [tree-ssa] wrong code: double destruction
Product: gcc
Version: tree-ssa
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: stefaandr at hotmail dot com
CC: gcc-bugs at gcc dot gnu dot org
GCC build triplet: i686-pc-linux-gnu
GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu
I get the output:
Construct
Destruct
Destruct
when running this code (sorry, couldn't get it smaller):
#include <iostream>
struct a {
a() { std::cout << "Construct" << std::endl; };
~a() { std::cout << "Destruct" << std::endl; };
};
int main() {
a a1;
std::string x;
switch(0) {
case 1:
{
a a2;
return 0;
}
};
};
Reading specs from /esat/firenze/install/lib/gcc/
i686-pc-linux-gnu/3.5-tree-ssa/specs
Configured with: ../../gcc/ssa/configure --prefix=/esat/firenze/install
--program-suffix=-ssa --enable-languages=c,c++ : (reconfigured) :
(reconfigured)
Thread model: posix
gcc version 3.5-tree-ssa 20031023 (merged 20031017)
/esat/firenze/install/libexec/gcc/i686-pc-linux-gnu/3.5-tree-ssa/cc1plus
-quiet -v -D_GNU_SOURCE test6.cpp -quiet -dumpbase test6.cpp -mtune=pentiumpro
-auxbase test6 -version -o /tmp/ccPznGwZ.s
ignoring nonexistent directory "/esat/firenze/install/lib/gcc/
i686-pc-linux-gnu/3.5-tree-ssa/../../../../i686-pc-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
/esat/firenze/install/lib/gcc/i686-pc-linux-gnu/3.5-tree-ssa/../../../../
include/c++/3.5-tree-ssa
/esat/firenze/install/lib/gcc/i686-pc-linux-gnu/3.5-tree-ssa/../../../../
include/c++/3.5-tree-ssa/i686-pc-linux-gnu
/esat/firenze/install/lib/gcc/i686-pc-linux-gnu/3.5-tree-ssa/../../../../
include/c++/3.5-tree-ssa/backward
/usr/local/include
/esat/firenze/install/include
/esat/firenze/install/lib/gcc/i686-pc-linux-gnu/3.5-tree-ssa/include
/usr/include
End of search list.
GNU C++ version 3.5-tree-ssa 20031023 (merged 20031017) (i686-pc-linux-gnu)
compiled by GNU C version 3.3.1.
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
as -V -Qy -o /tmp/ccRkDD1N.o /tmp/ccPznGwZ.s
GNU assembler version 2.14 (i686-pc-linux-gnu) using BFD version 2.14 20030612
/esat/firenze/install/libexec/gcc/i686-pc-linux-gnu/3.5-tree-ssa/collect2
--eh-frame-hdr -m elf_i386 -dynamic-linker /lib/ld-linux.so.2 -o test6 /usr/
lib/crt1.o /usr/lib/crti.o /esat/firenze/install/lib/gcc/
i686-pc-linux-gnu/3.5-tree-ssa/crtbegin.o -L/esat/firenze/install/lib/gcc/
i686-pc-linux-gnu/3.5-tree-ssa -L/esat/firenze/install/lib/gcc/
i686-pc-linux-gnu/3.5-tree-ssa/../../.. /tmp/ccRkDD1N.o -lstdc++ -lm -lgcc_s
-lgcc -lc -lgcc_s -lgcc /esat/firenze/install/lib/gcc/
i686-pc-linux-gnu/3.5-tree-ssa/crtend.o /usr/lib/crtn.o