#1339 g++ 4.4 bails on class dlllimport + fastcall constructor

OTHER
closed
nobody
gcc (462)
Bug
fixed
Known_bugs
True
2013-02-06
2009-08-22
No

Compile the attached file with

g++ -O -foptimize-sibling-calls file.cpp

to get the following output:

gcc_bug.cpp: In function '(static initializers for gcc_bug.cpp)':
gcc_bug.cpp:19: error: unable to find a register to spill in class 'CREG'
gcc_bug.cpp:19: error: this is the insn:
(call_insn/j 10 8 11 2 gcc_bug.cpp:14 (call (mem:QI (reg/f:SI 3 bx [58]) [0 S1 A8])
(const_int 0 [0x0])) 468 {*sibcall_1} (expr_list:REG_DEAD (reg/f:SI 3 bx [58])
(expr_list:REG_DEAD (reg:SI 2 cx)
(nil)))
(expr_list:REG_DEP_TRUE (use (reg:SI 2 cx))
(nil)))
gcc_bug.cpp:19: confused by earlier errors, bailing out

gcc -v reports

Using built-in specs.
Target: mingw32
Configured with: ../gcc-4.4.0/configure --enable-languages=c,ada,c++,fortran,java,objc,obj-c++ --disable-sjlj-exceptions --enable-shared --enable-libgcj --enable-libgomp --with-dwarf2 --disable-win32-registry --enable-libstdcxx-debug --enable-version-specific-runtime-libs --prefix=/mingw --with-gmp=/mingw/src/gmp/root --with-mpfr=/mingw/src/mpfr/root --build=mingw32
Thread model: win32
gcc version 4.4.0 (GCC)

Discussion

  • peter miller

    peter miller - 2009-08-22

    Source file to reproduce error.

     
    Attachments
  • Earnie Boyd

    Earnie Boyd - 2013-02-06
    • status: open --> closed
    • milestone: --> OTHER
    • type: --> Bug
    • resolution: --> fixed
    • category: --> Known_bugs
    • patch_attached: --> True
     

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks