This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/34090] New: -O3 wrong code, -O2 OK
- From: "rwgk at yahoo dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 14 Nov 2007 03:14:55 -0000
- Subject: [Bug c++/34090] New: -O3 wrong code, -O2 OK
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
Platform:
Fedora release 7 (Moonshine)
Linux idle.lbl.gov 2.6.22.9-91.fc7 #1 SMP Thu Sep 27 20:47:39 EDT 2007 x86_64
x86_64 x86_64 GNU/Linux
% g++ -v
Using built-in specs.
Target: x86_64-unknown-linux-gnu
Configured with: /net/rosie/scratch2/rwgk/gcc_trunk/configure
--prefix=/net/cci-filer1/vol1/tmp/rwgk/gcc_trunk_130159_x86_64_fc7
--enable-languages=c,c++,fortran --with-mpfr=/usr
Thread model: posix
gcc version 4.3.0 20071113 (experimental) (GCC)
I'll attach a tiny reproducer.
To reproduce the problem:
% ./demo.csh
123
Traceback (most recent call last):
File "run.py", line 2, in <module>
print foo(start=1, stop=3)
Boost.Python.ArgumentError: Python argument types in
demo.foo()
did not match C++ signature:
foo(int None, int stop)
The "123" is the correct result as obtained when compiling with -O2.
The Python traceback is due to wrong code produced with -O3.
Sorry, I know the reproducer isn't minimal at all, even though it
is tiny. It is a hell to reduce. I'm hoping for some kind of
miracle... or at least suggestions for reducing this with a reasonable
amount of effort.
Ralf
--
Summary: -O3 wrong code, -O2 OK
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rwgk at yahoo dot com
GCC build triplet: x86_64-unknown-linux-gnu
GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: x86_64-unknown-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34090