https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98427
--- Comment #1 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Iain Buclaw <ibuc...@gcc.gnu.org>: https://gcc.gnu.org/g:feb3c40c8ee043cc893410c9985926439292caee commit r11-6317-gfeb3c40c8ee043cc893410c9985926439292caee Author: Iain Buclaw <ibuc...@gdcproject.org> Date: Tue Dec 22 09:47:22 2020 +0100 d: Force TYPE_MODE of classes and non-POD structs as BLKmode Without this being forced, the optimizer could still make decisions that require objects of the non-POD types to need a temporary, which would result in an ICE during the expand to RTL passes. gcc/d/ChangeLog: PR d/98427 * types.cc (TypeVisitor::visit (TypeStruct *)): Set TYPE_MODE of all non-trivial types as BLKmode. (TypeVisitor::visit (TypeClass *)): Likewise. gcc/testsuite/ChangeLog: PR d/98427 * gdc.dg/pr98427.d: New test.