https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124157
--- Comment #2 from Iain Buclaw <ibuclaw at gcc dot gnu.org> ---
Generation gimple, haven't decoded it yet.
```
int D main ()
{
struct D.2371;
void * D.2372;
int D.2373[1];
struct D.2374;
void * D.2375;
struct D.2376[1];
int D.2377;
struct a;
try
{
D.2371.length = 1;
D.2372 = _d_arrayliteralTX (1);
D.2373[0] = 5;
_1 = &D.2373;
__builtin_memcpy (D.2372, _1, 4);
__builtin_clear_padding (D.2372, 0B);
D.2371.ptr = D.2372;
D.2374.length = 1;
D.2375 = _d_arrayliteralTX (1);
D.2376[0].length = 5;
D.2376[0].ptr = "hello";
_2 = &D.2376;
__builtin_memcpy (D.2375, _2, 8);
__builtin_clear_padding (D.2375, 0B);
D.2374.ptr = D.2375;
_3 = _d_assocarrayliteralTX (D.2371, D.2374);
a = values (_3); [return slot optimization]
D.2377 = 0;
return D.2377;
}
finally
{
a = {CLOBBER(eos)};
}
}
```