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]

Infamous mips offs > 16 bits problem.



It's evident that nothing yet has been done about the expr.c problem
which plauges mips versions of egcs. Here is an example on how to
trig it:

typedef unsigned short  u_short;
typedef long code_int;
typedef long count_int;
struct s_zstate {
        count_int zs_htab [69001 ];
        u_short zs_codetab [69001 ];
        code_int zs_free_ent;

};

int
zwrite(cookie, wbp, num)
        void *cookie;
        const char *wbp;
        int num;
{
        register code_int i = num;
        struct s_zstate *zs;


        zs->zs_codetab[ i ]  = zs->zs_free_ent++;
}

Compiler output:

zopen.c: In function `zwrite':
zopen.c:22: internal error--unrecognizable insn:
(insn 24 22 26 (set (reg:SI 85)
        (plus:SI (reg:SI 82)
            (const_int 276004))) -1 (nil)
    (nil))
/usr/ports/lang/egcs-snapshot/work/egcs-19990221/gcc/toplev.c:1445: Internal compiler error in function fatal_insn

Environment data:
gcc version egcs-2.93.09 19990221 (gcc2 ss-980929 experimental)
OpenBSD 2.4+ arc (Mips).
egcc -c zwrite.c

I belive this problem have been reported by NetBSD developers as well.

Regards,


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