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 target/35100] [4.1/4.2/4.3 regression] internal compiler error: in extract_insn, at recog.c:1990



------- Comment #6 from manus at eiffel dot com  2008-04-28 22:34 -------
I can reproduce this problem with gcc 4.2.3 that comes with Ubuntu 8.04 on
PowerPC with the following command line:

  gcc -Wall -mlongcall -fPIC -c foo.c

Removing either `-fPIC' or `-mlongcall' succeeds, it is when used together that
it fails with:

lisbon [Manu] : gcc -Wall -mlongcall -fPIC -c foo.c
foo.c: In function 'idrf_reset_pos':
foo.c:23: error: unrecognizable insn:
(call_insn 10 9 12 3 (parallel [
            (call (mem:SI (symbol_ref:SI ("idr_setpos") [flags 0x1]
<function_decl 0x48169700 idr_setpos>) [0 S4 A8])
                (const_int 0 [0x0]))
            (use (const_int 8 [0x8]))
            (clobber (scratch:SI))
        ]) -1 (nil)
    (nil)
    (expr_list:REG_DEP_TRUE (use (reg:SI 30 30))
        (expr_list:REG_DEP_TRUE (use (reg:SI 4 4))
            (expr_list:REG_DEP_TRUE (use (reg:SI 3 3))
                (nil)))))
foo.c:23: internal compiler error: in extract_insn, at recog.c:2077
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
For Debian GNU/Linux specific bug reporting instructions,
see <URL:file:///usr/share/doc/gcc-4.2/README.Bugs>.


where foo.c is simply:
#include <stdlib.h>

typedef struct idr {
 int i_op;
 size_t i_size;
 char *i_buf;
 char *i_ptr;
} IDR;

typedef struct idrs {
 IDR i_encode;
 IDR i_decode;
} IDRF;

void idr_setpos(IDR *idrs, size_t pos)
{
}

void idrf_reset_pos(IDRF *idrf)
{
    idr_setpos(&idrf->i_encode, 0);
    idr_setpos(&idrf->i_decode, 0);
}


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35100


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