June 10, 2018
https://issues.dlang.org/show_bug.cgi?id=18964

          Issue ID: 18964
           Summary: -m32 should mean COFF, default is not useful
           Product: D
           Version: D2
          Hardware: x86
                OS: Windows
            Status: NEW
          Severity: enhancement
          Priority: P1
         Component: dmd
          Assignee: nobody@puremagic.com
          Reporter: turkeyman@gmail.com

`-m32` should be changed to `-m32omf`, and mscoff should be default. They need to match and nobody should experience nasty surprises about object format mismatches when trying to do 32bit builds.

The default (no -m arg given) current emits 32bit OMF. This isn't generally
helpful.
Personally, I think it's also time that DMD chose -m64 by default when no
argument is given; it's 2018, it's been over a decade since it was possible to
buy a 32bit x86.

I had to pacify a frustrated colleague who wasted their time trying to work out why the x86 build wouldn't link, and explain the back-story. They were not at all satisfied with my explanation >_<

--