libfirm/cparser

cparser aborts on mildly complex float operations

GabrielRavier opened this issue · 0 comments

void foo(void);

long double a = 5;
long double b = 1;
long double c = 11;
long double d = 17;
long double e, f, g, h, i, j;

int main()
{
    h = d;
    e = a + b;
    j = g + c;
    h += f;
    f += b;
    g = j + g;
    i = c + d;
    if (e + h)
        foo();
}

This gives this message :

ir/be/ia32/x86_x87.c:877: libFirm panic in x86_sim_x87_store: TODO: out of stack spill case
Aborted (core dumped)

It's marked as a TODO but it's a pretty critical bug so I'll add it to here.