This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/34090] New: -O3 wrong code, -O2 OK


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]