August 10, 2008
Hi,

I still have a compilation issue when generating a cross-compiler from cegcc(gcc for wince) compiler (http://d.puremagic.com/issues/show_bug.cgi?id=2213).

GNU D version 4.1.0 20060228 ( gdc 0.24, using dmd 2.014) (arm-mingw32ce)
         compiled by GNU C version 3.4.4 (cygming special, gdc 0.12,
using dmd 0.125).
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
/home/Vincent/cegdc/src/gcc/libphobos/std/c/windows/com.d: In member
function 'AddRef':
/home/Vincent/cegdc/src/gcc/libphobos/std/c/windows/com.d:224: error:
unrecognizable insn:
(call_insn/j 13 12 14 0
/home/Vincent/cegdc/src/gcc/libphobos/std/c/windows/com.d:223 (parallel [
             (set (reg:SI 0 r0)
                 (call (mem:SI (reg/f:SI 105) [0 S4 A32])
                     (const_int 0 [0x0])))
             (return)
             (use (const_int 0 [0x0]))
         ]) -1 (nil)
     (nil)
     (expr_list:REG_DEP_TRUE (use (reg:SI 0 r0))
         (nil)))
/home/Vincent/cegdc/src/gcc/libphobos/std/c/windows/com.d:224: internal
compiler error: in extract_insn, at recog.c:2084

I would like to know if it's a GCC bug OR a CEGCC bug OR a D bug .....

I have fixed it by passing a -fno-sibling-call but it's just a workaround.