These tests are currently failing: ---- version(X86) assert(a.classinfo.init.length == 28); else version(X86_64) assert(a.classinfo.init.length == 36); else assert(0); ---- ---- version(X86) { assert(Qwert32.yuiop.offsetof == 8); assert(Qwert32.asdfg.offsetof == 12); } else version (X86_64) { assert(Qwert32.yuiop.offsetof == 16); assert(Qwert32.asdfg.offsetof == 20); } else assert(0); ---- we could of course just add ---- else version(ARM) assert(a.classinfo.init.length == 28); ---- and ---- else version (ARM) { assert(Qwert32.yuiop.offsetof == 8); assert(Qwert32.asdfg.offsetof == 12); } ---- but I wonder whether this should use D_LP64 instead?
This is again a problem solved by using D_LP64. :^)
https://github.com/D-Programming-Language/dmd/pull/1143/files
Fixed upstream in dmd 2.061 https://github.com/D-Programming-Language/dmd/commit/375855698cd4de3c74f9840941daf37b9ae36dcf