[Bug target/27858] [4.2 Regression] ICE in spill_failure, at reload1.c:1911while bootstrapping 4.2 on alpha

pinskia at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Thu Jun 1 17:14:00 GMT 2006



------- Comment #4 from pinskia at gcc dot gnu dot org  2006-06-01 17:14 -------
Confirmed, a little more reduced testcase:
typedef unsigned int uint32_t;
union double_union
{
    double d;
    uint32_t i[2];
};
int *_Jv_s2b (void);
int *_Jv_Balloc (int);
double _Jv_strtod_r (int *ptr, char *se, int e1, union double_union rv0, int
sign, long y)
{
    union double_union rv;
    int *bd = 0 , *bd0 = 0;
    if (e1 > 308)
    {
ovfl:
        (rv.i[1]) = 0x7ff00000L;
        (rv.i[0]) = 0;
        if (bd0)
            goto retfree;
        goto ret;
    }
    if (!rv.d)
        rv.d = 0.;
    bd0 = _Jv_s2b ();
    for (;;)
    {
        bd = _Jv_Balloc (*bd0);
        if (!rv.d)
            goto retfree;
        if (y == ((uint32_t) 0x100000L) )
            if (((rv.i[1]) & ((uint32_t) 0x7ff00000L))
                 >= ((uint32_t) 0x100000L) * (1994))
                if ((rv0.i[1]) ==  (((uint32_t) 0xfffffL) | ((uint32_t)
0x100000L) * (2046))
                    && (rv0.i[0]) == ((uint32_t) 0xffffffffL))
                    goto ovfl;
        _Jv_Bfree1 ();
    }
retfree:
        _Jv_Bfree (ptr);
ret:
        *se = 0;
    return sign ? -rv.d : rv.d;
}


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2006-06-01 17:14:11
               date|                            |


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



More information about the Gcc-bugs mailing list