https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124157
--- Comment #7 from Iain Buclaw <ibuclaw at gcc dot gnu.org> ---
I think I can fix this on the gdc side, by partially reverting some of the
lowering that got removed.
/* Generate: _d_assocarrayliteralTX (ti, keys, vals); */
gcc_assert (e->lowering);
- this->result_ = build_expr (e->lowering);
+ tree mem = build_expr (e->lowering);
+
+ /* Return an associative array pointed to by MEM. */
+ tree type = build_ctype (e->type);
+ vec <constructor_elt, va_gc> *ce = NULL;
+ CONSTRUCTOR_APPEND_ELT (ce, TYPE_FIELDS (type), mem);
+
+ tree result = build_padded_constructor (type, ce));
}