[Bug tree-optimization/27373] [4.2 Regression] ICE: add_virtual_operand with pointers to arrays

pinskia at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Tue May 2 07:40:00 GMT 2006



------- Comment #2 from pinskia at gcc dot gnu dot org  2006-05-02 07:40 -------
And here is the C example (so this does not become not release blocking):
typedef struct atype
{
    float bg[1], cg[1];
    _Bool ant;
}atype;


void cp_assert(_Bool*, float*, int*, _Bool*);

void f(atype **rng_stream, int *error, float u)
{
    _Bool t = *rng_stream != 0;
    float routinep;
    _Bool failure;
    cp_assert ( &t, &routinep, error, &failure);
    if (failure == 0)
    {
        typedef float ty[1];
        ty *tt = &((*rng_stream)->bg);
        int i = 1;

        do 
        {
            (*tt)[i - 1] = u;
            i ++;
        }while (i > 1);
        {
            ty *tt = &(*rng_stream)->cg;
            int i = 1;

            do 
            {
                (*tt)[i - 1] = u;
                i ++;
            }while (i > 1);
        }
    }    
}


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dberlin at gcc dot gnu dot
                   |                            |org
 GCC target triplet|x86_64-unknown-linux-gnu    |
            Summary|[4.2 Regression] ICE:       |[4.2 Regression] ICE:
                   |add_virtual_operand, at     |add_virtual_operand with
                   |tree-ssa-operands.c:1284    |pointers to arrays


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



More information about the Gcc-bugs mailing list