Re: Error : Unrecognizable insn

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Mosfet wrote:

> We are trying to build a language D cross compiler for arm smartphone
> running under Windows Ce. It is based on gcc 4.1.x and we have used a patch
> to add the D front end (http://dgcc.sourceforge.net/). It seems that we
> successed in building the D cross compiler, but we have troubles with the
> phobos library, which is the basic library of the D language. Here is the
> first error that we got :
> 
> /home/baptiste/cegcc/src/gcc/libphobos/std/c/windows/com.d: In member
> function 'AddRef':
> /home/baptiste/cegcc/src/gcc/libphobos/std/c/windows/com.d:225: error:
> unrecognizable insn:
> (call_insn/j 13 12 14 0
> /home/baptiste/cegcc/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/baptiste/cegcc/src/gcc/libphobos/std/c/windows/com.d:225: internal
> compiler error: in extract_insn, at recog.c:2084
> 
> We have tried to comment the line 225, of course it temporary solved this
> problem but we got similar errors at other lines.
> 
> Can anybody explains me what means the "unrecognizable insn" error ?

It simply means that this pattern doesn't correspond to a machine
instruction.  It's a call in parallel with a return, which for ARM
corresponds to a sibcall.

However, it is very weird in that the return value of the function is
written to register zero even though it isn't used.  Is this a
constructor, by any chance?

Try -fno-optimize-sibling-calls

Andrew.

[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux