https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124608

Iain Buclaw <ibuclaw at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ibuclaw at gcc dot gnu.org

--- Comment #18 from Iain Buclaw <ibuclaw at gcc dot gnu.org> ---
Reduced conservative/gc.d, translated to equivalent C.

```
struct S
{
    __UINT64_TYPE__ a;
    __UINT8_TYPE__ b;
    __UINT64_TYPE__ c;
    __UINT8_TYPE__ d;
    __UINT64_TYPE__ e;
    __UINT8_TYPE__ f;
    __UINT64_TYPE__ g[1];
    float h;
    __UINT64_TYPE__ i;
};

int opEquals (struct S* t, struct S* p)
{
    return t->a == p->a && t->b == p->b
            && t->c == p->c && t->d == p->d
            && t->e == p->e && t->f == p->f
            && __builtin_memcmp(t->g, p->g, 8) == 0          
            && t->h == p->h && t->i == p->i;
}
```

$ /aarch64/gcc/build/./gcc/xgcc -B/aarch64/gcc/build/./gcc/ -nostdinc gc.c -O1
xgcc: internal compiler error: Segmentation fault signal terminated program cc1
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
See <https://gcc.gnu.org/bugs/> for instructions.


gdb

Program received signal SIGSEGV, Segmentation fault.
0x0000000000c6ccd4 in wi::mul_internal (val=0xfffffc000650,
op1val=0xfffffc000610, op1len=1, 
    op2val=0xfffffc000660, op2len=1, prec=128, sgn=UNSIGNED, overflow=0x0,
high=false)
    at ../../gcc/wide-int.cc:1310

Reply via email to