This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug optimization/14029] New: [tree-ssa] wrong-code
- From: "stefaandr at hotmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 5 Feb 2004 12:54:19 -0000
- Subject: [Bug optimization/14029] New: [tree-ssa] wrong-code
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
Following code (sorry, still contains STL, but I did a lot of trimming
already) gives a wrong result when optimization is enabled:
#include <vector>
#include <algorithm>
struct a {
int n;
bool operator==(a const & other) const { return n == other.n; };
};
int main() {
a a1; std::vector <a> as;
a1.n = 4; for (int i=0; i<4; ++i) as.push_back(a1);
a1.n = 7; as.push_back(a1);
return std::find(as.begin(), as.end(), a1) == as.end();
};
Reading specs
from /esat/olympia/install/lib/gcc/i686-pc-linux-gnu/3.5-tree-ssa/specs
Configured with: /esat/firenze/tmp/src/gcc/ssa/configure --program-suffix=-ssa
--prefix=/esat/olympia/install --enable-languages=c,c++
Thread model: posix
gcc version 3.5-tree-ssa 20040204 (merged 20040126)
/esat/olympia/install/libexec/gcc/i686-pc-linux-gnu/3.5-tree-ssa/cc1plus
-quiet -v -D_GNU_SOURCE tst.cpp -quiet -dumpbase tst.cpp -mtune=pentiumpro
-auxbase tst -O9 -version -o /tmp/ccQc86SB.s
ignoring nonexistent directory
"/esat/olympia/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/olympia/install/lib/gcc/i686-pc-linux-gnu/3.5-tree-ssa/../../../../include/c++/3.5-tree-ssa
/esat/olympia/install/lib/gcc/i686-pc-linux-gnu/3.5-tree-ssa/../../../../include/c++/3.5-tree-ssa/i686-pc-linux-gnu
/esat/olympia/install/lib/gcc/i686-pc-linux-gnu/3.5-tree-ssa/../../../../include/c++/3.5-tree-ssa/backward
/usr/local/include
/esat/olympia/install/include
/esat/olympia/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 20040204 (merged 20040126) (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/cco9g0GA.o /tmp/ccQc86SB.s
GNU assembler version 2.14 (i686-pc-linux-gnu) using BFD version 2.14 20030612
/esat/olympia/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
tst /usr/lib/crt1.o /usr/lib/crti.o /esat/olympia/install/lib/gcc/i686-pc-linux-gnu/3.5-tree-ssa/crtbegin.o
-L/esat/olympia/install/lib/gcc/i686-pc-linux-gnu/3.5-tree-ssa
-L/esat/olympia/install/lib/gcc/i686-pc-linux-gnu/3.5-tree-ssa/../../.. /tmp/cco9g0GA.o
-lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s
-lgcc /esat/olympia/install/lib/gcc/i686-pc-linux-gnu/3.5-tree-ssa/crtend.o /usr/lib/crtn.o
--
Summary: [tree-ssa] wrong-code
Product: gcc
Version: tree-ssa
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: optimization
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
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14029