Am 25.04.19 um 20:05 schrieb Rainer Emrich:
Does anybody knows what's the plans for D on mingw.

AFAIS the frontend builds and is enabled for mingw. But the D runtime is
disabled for mingw and doesn't build.

A quick dive into the source showed that there is code for mingw target.
But it looks like the wrong configuration is selected.

Any ideas?


Hi Rainer,

it is correct that there are a few leftovers of previous MinGW support in druntime. That code is quite old: Back then upstream did only support the custom Digitalmars 32bit C library on Windows and MinGW was the only compiler targeting the msvcrt runtime. Then at some point upstream added support for msvcrt (CRuntime_Microsoft versioned code) but also broke MinGW code. We therefore did not push the MinGW config code when merging into GCC, as we knew MinGW was broken anyway.

I've did some work on fixing MinGW, but progress there has been delayed by proper emutls support (integration of GCC emutls with the D garbage collector). Without such GC support, most things would seem to work, but you get random crashes once the GC starts to collect live data. We actually never had proper emutls GC support in MinGW/GDC (I think someone had patches to implement native TLS in GCC and binutils though).

As we pushed emutls GC support a few days ago, I now revived my work-in-progress MinGW changes here: https://github.com/D-Programming-GDC/gcc/pull/14

This likely won't make it into GCC 9.1 anymore though, so it's probably up for 9.2.

Bet regards,
Johannes

Reply via email to