https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103040
--- Comment #7 from Iain Buclaw <ibuclaw at gdcproject dot org> ---
(In reply to Jakub Jelinek from comment #6)
> One quite visible change is that D has those stmts that clear the vars
> before it is constructed, so e.g. in main:
> SR.11_24 = 0;
> _12 = SR.11_24;
> MEM <uint128_t> [(unsigned char * {ref-all})&nrvo] = _12;
> nrvo = nrvo101273 (); [return slot optimization]
> instead of C++
> nrvo = nrvo101273 (); [return slot optimization]
The "this" pointer in D constructors are a reference rather than a pointer,
would that be enough to throw it off?
Haven't gotten round to finishing build on
a11c53985a7080f9bf6143788ccb455dc9b0da21 just yet to see.