www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - How can I report what I think a compiler's frontend bug

reply Vincent R <lol dlang.org> writes:
Hi,

I would like to start a new project (a bonjour/zeroconf wrapper 
and a gui browser using it).
For the gui part I would like to use my existing skills using 
wxWidgets wrapper (wxD).
So I have started to report a problem a few months ago:
https://forum.dlang.org/post/rtarlodeojnmedgsnscb forum.dlang.org

But so far(DMD32 D Compiler v2.070.2) it's still not fixed.
Do you think it will be fixed one day ?

Thanks
Mar 20 2016
parent reply Marco Leise <Marco.Leise gmx.de> writes:
Am Sun, 20 Mar 2016 11:28:19 +0000
schrieb Vincent R <lol dlang.org>:

 Hi,
 
 I would like to start a new project (a bonjour/zeroconf wrapper 
 and a gui browser using it).
 For the gui part I would like to use my existing skills using 
 wxWidgets wrapper (wxD).
 So I have started to report a problem a few months ago:
 https://forum.dlang.org/post/rtarlodeojnmedgsnscb forum.dlang.org
 
 But so far(DMD32 D Compiler v2.070.2) it's still not fixed.
 Do you think it will be fixed one day ?
 
 Thanks
Yes, I think it will be fixed one day, since - as you know by reading the very thread you linked - it is already reported and the GDC developers chimed in and considered it critical. There are also 118 open critical/blocker bugs that were reported before yours. Most of them by people here on the forums and you would need to explain to us why your bug deserves higher attention than the others (154 in total). Dlang is free open-source software and there is only a hand full of people who are fixing bugs in the compiler just for the sake of improving it. Most people contribute occasionally when they are interested in a solution to a particular problem. If you really need this fixed now ... you know the drill. I suggest you analyze the problem and start a discussion about it. Honestly asking why the compiler emits duplicate symbols in a reduced test case might have yielded you some good responses from the people who wrote the code. -- Marco
Mar 20 2016
parent reply Vincent R <lol dlang.org> writes:
On Sunday, 20 March 2016 at 16:16:18 UTC, Marco Leise wrote:
 Am Sun, 20 Mar 2016 11:28:19 +0000
 schrieb Vincent R <lol dlang.org>:

 Hi,
 
 I would like to start a new project (a bonjour/zeroconf wrapper
 and a gui browser using it).
 For the gui part I would like to use my existing skills using
 wxWidgets wrapper (wxD).
 So I have started to report a problem a few months ago:
 https://forum.dlang.org/post/rtarlodeojnmedgsnscb forum.dlang.org
 
 But so far(DMD32 D Compiler v2.070.2) it's still not fixed.
 Do you think it will be fixed one day ?
 
 Thanks
Yes, I think it will be fixed one day, since - as you know by reading the very thread you linked - it is already reported and the GDC developers chimed in and considered it critical. There are also 118 open critical/blocker bugs that were reported before yours. Most of them by people here on the forums and you would need to explain to us why your bug deserves higher attention than the others (154 in total). Dlang is free open-source software and there is only a hand full of people who are fixing bugs in the compiler just for the sake of improving it. Most people contribute occasionally when they are interested in a solution to a particular problem. If you really need this fixed now ... you know the drill. I suggest you analyze the problem and start a discussion about it. Honestly asking why the compiler emits duplicate symbols in a reduced test case might have yielded you some good responses from the people who wrote the code.
Ok first maybe it's already reported to GDC but to me it's not only a gdc bug since it also happens with dmd. So I don't know how bugs are fixed in the differents compilers but I suppose they share the same frontend (maybe I am mistaken) and in this case I prefer not to wait for gdc developers to fix it but to see if for instance some dmd developers have some time to fix it. I just want to use the language and don't have time to dig inside its inner workings, so I think D is not for me. This project was the opportunity to learn the language by fixing an unmaintained library (wxD) but it's not as easy as I thought. Cheers
Mar 20 2016
parent reply Johan Engelen <j j.nl> writes:
On Sunday, 20 March 2016 at 17:57:12 UTC, Vincent R wrote:
 On Sunday, 20 March 2016 at 16:16:18 UTC, Marco Leise wrote:
 Am Sun, 20 Mar 2016 11:28:19 +0000
 schrieb Vincent R <lol dlang.org>:

 Hi,
 
 I would like to start a new project (a bonjour/zeroconf 
 wrapper
 and a gui browser using it).
 For the gui part I would like to use my existing skills using
 wxWidgets wrapper (wxD).
 So I have started to report a problem a few months ago:
 https://forum.dlang.org/post/rtarlodeojnmedgsnscb forum.dlang.org
 
 But so far(DMD32 D Compiler v2.070.2) it's still not fixed.
 Do you think it will be fixed one day ?
 
 Thanks
Yes, I think it will be fixed one day, since - as you know by reading the very thread you linked - it is already reported and the GDC developers chimed in and considered it critical. There are also 118 open critical/blocker bugs that were reported before yours. Most of them by people here on the forums and you would need to explain to us why your bug deserves higher attention than the others (154 in total). Dlang is free open-source software and there is only a hand full of people who are fixing bugs in the compiler just for the sake of improving it. Most people contribute occasionally when they are interested in a solution to a particular problem. If you really need this fixed now ... you know the drill. I suggest you analyze the problem and start a discussion about it. Honestly asking why the compiler emits duplicate symbols in a reduced test case might have yielded you some good responses from the people who wrote the code.
Ok first maybe it's already reported to GDC but to me it's not only a gdc bug since it also happens with dmd. So I don't know how bugs are fixed in the differents compilers but I suppose they share the same frontend (maybe I am mistaken) and in this case I prefer not to wait for gdc developers to fix it but to see if for instance some dmd developers have some time to fix it. I just want to use the language and don't have time to dig inside its inner workings, so I think D is not for me. This project was the opportunity to learn the language by fixing an unmaintained library (wxD) but it's not as easy as I thought.
What may speed-up bug fixing a lot is preparing a nice testcase that is *as small as possible*. As you can see in the bug report [1], there is already a testcase. It is a good start, but it is not very minimal: contains a lot of comments etc. That is a lot of distraction / bother (for me at least). One way to help here is to minimize it further, and distill it down to the essential thing that appears to trigger the bug. You can do that without knowing any compiler internals. It can be very time consuming to make such a testcase, which may discourage developers fixing of your bug. [1] https://issues.dlang.org/show_bug.cgi?id=15324
Mar 20 2016
next sibling parent Iain Buclaw via Digitalmars-d <digitalmars-d puremagic.com> writes:
On 20 March 2016 at 20:06, Johan Engelen via Digitalmars-d <
digitalmars-d puremagic.com> wrote:

 On Sunday, 20 March 2016 at 17:57:12 UTC, Vincent R wrote:

 On Sunday, 20 March 2016 at 16:16:18 UTC, Marco Leise wrote:

 Am Sun, 20 Mar 2016 11:28:19 +0000
 schrieb Vincent R <lol dlang.org>:

 Hi,
 I would like to start a new project (a bonjour/zeroconf wrapper
 and a gui browser using it).
 For the gui part I would like to use my existing skills using
 wxWidgets wrapper (wxD).
 So I have started to report a problem a few months ago:
 https://forum.dlang.org/post/rtarlodeojnmedgsnscb forum.dlang.org

 But so far(DMD32 D Compiler v2.070.2) it's still not fixed.
 Do you think it will be fixed one day ?

 Thanks
Yes, I think it will be fixed one day, since - as you know by reading the very thread you linked - it is already reported and the GDC developers chimed in and considered it critical. There are also 118 open critical/blocker bugs that were reported before yours. Most of them by people here on the forums and you would need to explain to us why your bug deserves higher attention than the others (154 in total). Dlang is free open-source software and there is only a hand full of people who are fixing bugs in the compiler just for the sake of improving it. Most people contribute occasionally when they are interested in a solution to a particular problem. If you really need this fixed now ... you know the drill. I suggest you analyze the problem and start a discussion about it. Honestly asking why the compiler emits duplicate symbols in a reduced test case might have yielded you some good responses from the people who wrote the code.
Ok first maybe it's already reported to GDC but to me it's not only a gdc bug since it also happens with dmd. So I don't know how bugs are fixed in the differents compilers but I suppose they share the same frontend (maybe I am mistaken) and in this case I prefer not to wait for gdc developers to fix it but to see if for instance some dmd developers have some time to fix it. I just want to use the language and don't have time to dig inside its inner workings, so I think D is not for me. This project was the opportunity to learn the language by fixing an unmaintained library (wxD) but it's not as easy as I thought.
What may speed-up bug fixing a lot is preparing a nice testcase that is *as small as possible*. As you can see in the bug report [1], there is already a testcase. It is a good start, but it is not very minimal: contains a lot of comments etc. That is a lot of distraction / bother (for me at least). One way to help here is to minimize it further, and distill it down to the essential thing that appears to trigger the bug. You can do that without knowing any compiler internals. It can be very time consuming to make such a testcase, which may discourage developers fixing of your bug. [1] https://issues.dlang.org/show_bug.cgi?id=15324
I don't think it's a compiler bug, but it would help indefinitely if only the compiler semantic passes checked for conflicting function overrides upon declaration, rather than when they are called. I can distil test case down to: --- struct MultiIndexContainer() { bool contains(int k) const { auto r = true; return r; } bool contains(int k) const { return false; } } void main() { MultiIndexContainer!() m; } --- If these were not templates, you'd get multiple definition errors. But as that is not the case, these instead get put on comdat and merged. This as you've discovered gives you an entirely different kind of linker error, but it's simply a different side of the same coin. The real bug is in the program logic. Somehow, you have done the following (abridged) --- alias Value ValueView; alias typeof(Value.init) KeyType; bool contains(ValueView value) const { ... } bool contains(KeyType k) const { ... } --- You should add a constraint to ensure that ValueView != KeyType, or rename the methods so as they don't conflict, such as containsValue() and containsKey(). I'll post this in the bug report too. Regards, Iain.
Mar 20 2016
prev sibling parent reply Vincent R <lol dlang.org> writes:
On Sunday, 20 March 2016 at 19:06:32 UTC, Johan Engelen wrote:
 On Sunday, 20 March 2016 at 17:57:12 UTC, Vincent R wrote:
 On Sunday, 20 March 2016 at 16:16:18 UTC, Marco Leise wrote:
 Am Sun, 20 Mar 2016 11:28:19 +0000
 schrieb Vincent R <lol dlang.org>:

 Hi,
 
 I would like to start a new project (a bonjour/zeroconf 
 wrapper
 and a gui browser using it).
 For the gui part I would like to use my existing skills using
 wxWidgets wrapper (wxD).
 So I have started to report a problem a few months ago:
 https://forum.dlang.org/post/rtarlodeojnmedgsnscb forum.dlang.org
 
 But so far(DMD32 D Compiler v2.070.2) it's still not fixed.
 Do you think it will be fixed one day ?
 
 Thanks
Yes, I think it will be fixed one day, since - as you know by reading the very thread you linked - it is already reported and the GDC developers chimed in and considered it critical. There are also 118 open critical/blocker bugs that were reported before yours. Most of them by people here on the forums and you would need to explain to us why your bug deserves higher attention than the others (154 in total). Dlang is free open-source software and there is only a hand full of people who are fixing bugs in the compiler just for the sake of improving it. Most people contribute occasionally when they are interested in a solution to a particular problem. If you really need this fixed now ... you know the drill. I suggest you analyze the problem and start a discussion about it. Honestly asking why the compiler emits duplicate symbols in a reduced test case might have yielded you some good responses from the people who wrote the code.
Ok first maybe it's already reported to GDC but to me it's not only a gdc bug since it also happens with dmd. So I don't know how bugs are fixed in the differents compilers but I suppose they share the same frontend (maybe I am mistaken) and in this case I prefer not to wait for gdc developers to fix it but to see if for instance some dmd developers have some time to fix it. I just want to use the language and don't have time to dig inside its inner workings, so I think D is not for me. This project was the opportunity to learn the language by fixing an unmaintained library (wxD) but it's not as easy as I thought.
What may speed-up bug fixing a lot is preparing a nice testcase that is *as small as possible*. As you can see in the bug report [1], there is already a testcase. It is a good start, but it is not very minimal: contains a lot of comments etc. That is a lot of distraction / bother (for me at least). One way to help here is to minimize it further, and distill it down to the essential thing that appears to trigger the bug. You can do that without knowing any compiler internals. It can be very time consuming to make such a testcase, which may discourage developers fixing of your bug. [1] https://issues.dlang.org/show_bug.cgi?id=15324
Ok I think I have found the problem, here is the testcase: alias TreeItemId wxTreeItemId; public class TreeItemId : wxObject { public this(IntPtr wxobj) { super(wxobj); } private this(IntPtr wxobj, bool memOwn) { super(wxobj); this.memOwn = memOwn; } public this() { this(wxTreeItemId_ctor(), true); } public this(void* pItem) { this(wxTreeItemId_ctor2(pItem), true); } override protected void dtor() { wxTreeItemId_dtor(wxobj); } } The problem is I think between public this(void* pItem) and public this(IntPtr wxobj) because from what I understand they are the same. If I comment one of the two constructors it seems to remove the warning about duplicated symbols. Now I need to understand what the original author wanted to do by declaring these 2 constructors.
Mar 20 2016
next sibling parent Mike Wey <mike-wey example.com> writes:
On 03/20/2016 11:37 PM, Vincent R wrote:
 On Sunday, 20 March 2016 at 19:06:32 UTC, Johan Engelen wrote:
 On Sunday, 20 March 2016 at 17:57:12 UTC, Vincent R wrote:
 On Sunday, 20 March 2016 at 16:16:18 UTC, Marco Leise wrote:
 Am Sun, 20 Mar 2016 11:28:19 +0000
 schrieb Vincent R <lol dlang.org>:

 Hi,

 I would like to start a new project (a bonjour/zeroconf wrapper
 and a gui browser using it).
 For the gui part I would like to use my existing skills using
 wxWidgets wrapper (wxD).
 So I have started to report a problem a few months ago:
 https://forum.dlang.org/post/rtarlodeojnmedgsnscb forum.dlang.org

 But so far(DMD32 D Compiler v2.070.2) it's still not fixed.
 Do you think it will be fixed one day ?

 Thanks
Yes, I think it will be fixed one day, since - as you know by reading the very thread you linked - it is already reported and the GDC developers chimed in and considered it critical. There are also 118 open critical/blocker bugs that were reported before yours. Most of them by people here on the forums and you would need to explain to us why your bug deserves higher attention than the others (154 in total). Dlang is free open-source software and there is only a hand full of people who are fixing bugs in the compiler just for the sake of improving it. Most people contribute occasionally when they are interested in a solution to a particular problem. If you really need this fixed now ... you know the drill. I suggest you analyze the problem and start a discussion about it. Honestly asking why the compiler emits duplicate symbols in a reduced test case might have yielded you some good responses from the people who wrote the code.
Ok first maybe it's already reported to GDC but to me it's not only a gdc bug since it also happens with dmd. So I don't know how bugs are fixed in the differents compilers but I suppose they share the same frontend (maybe I am mistaken) and in this case I prefer not to wait for gdc developers to fix it but to see if for instance some dmd developers have some time to fix it. I just want to use the language and don't have time to dig inside its inner workings, so I think D is not for me. This project was the opportunity to learn the language by fixing an unmaintained library (wxD) but it's not as easy as I thought.
What may speed-up bug fixing a lot is preparing a nice testcase that is *as small as possible*. As you can see in the bug report [1], there is already a testcase. It is a good start, but it is not very minimal: contains a lot of comments etc. That is a lot of distraction / bother (for me at least). One way to help here is to minimize it further, and distill it down to the essential thing that appears to trigger the bug. You can do that without knowing any compiler internals. It can be very time consuming to make such a testcase, which may discourage developers fixing of your bug. [1] https://issues.dlang.org/show_bug.cgi?id=15324
Ok I think I have found the problem, here is the testcase: alias TreeItemId wxTreeItemId; public class TreeItemId : wxObject { public this(IntPtr wxobj) { super(wxobj); } private this(IntPtr wxobj, bool memOwn) { super(wxobj); this.memOwn = memOwn; } public this() { this(wxTreeItemId_ctor(), true); } public this(void* pItem) { this(wxTreeItemId_ctor2(pItem), true); } override protected void dtor() { wxTreeItemId_dtor(wxobj); } } The problem is I think between public this(void* pItem) and public this(IntPtr wxobj) because from what I understand they are the same. If I comment one of the two constructors it seems to remove the warning about duplicated symbols. Now I need to understand what the original author wanted to do by declaring these 2 constructors.
AFIAK IntPtr used to be a typedef from void*, this probably changed to an alias when typedef was deprecated. -- Mike Wey
Mar 20 2016
prev sibling parent reply Marco Leise <Marco.Leise gmx.de> writes:
Am Sun, 20 Mar 2016 22:37:37 +0000
schrieb Vincent R <lol dlang.org>:

 Now I need to understand what the original author wanted
 to do by declaring these 2 constructors.
It reminds me of what other wrappers do. The second constructor pair is the proper one and takes the regular arguments to construct the object. Sometimes though you already got an object returned from C code and you merely want to wrap it. That's what the first constructor pair is for. You can see how the second pair of constructors always forwards to the first pair with a newly created wxTreeItemId expressed as an IntPtr. Maybe IntPtr should be a pointer to an opaque struct instead: struct WxObject; alias WxObject* IntPtr; That could resolve the current issue that 2 of the constructors take the same types of arguments, (void*). If this is the only place with this error, you can probably remove the 3rd and 4th ctor. From the manual: "A wxTreeItemId is not meant to be constructed explicitly by the user; only those returned by the wxTreeCtrl functions should be used." And taking a wild guess here without looking at the code, I assume TreeCtrl calls the 2nd ctor. -- Marco
Mar 20 2016
parent reply Vincent R <lol dlang.org> writes:
On Monday, 21 March 2016 at 01:51:09 UTC, Marco Leise wrote:
 Am Sun, 20 Mar 2016 22:37:37 +0000
 schrieb Vincent R <lol dlang.org>:

 [...]
Thanks and you see I was right to post here since I finally found the problem and got an answer :-)
Mar 21 2016
parent reply Vincent R <lol dlang.org> writes:
On Monday, 21 March 2016 at 09:46:18 UTC, Vincent R wrote:
 On Monday, 21 March 2016 at 01:51:09 UTC, Marco Leise wrote:
 Am Sun, 20 Mar 2016 22:37:37 +0000
 schrieb Vincent R <lol dlang.org>:

 [...]
Thanks and you see I was right to post here since I finally found the problem and got an answer :-)
Unfortunately at the end I get a linker error: 10000000 MLVD0032 MINGW64 ~/tmp/wxd/src/Samples $ make del *.cached cd Controls make dmd -c -version=wx28 -version=__WXMSW__ -version=ANSI -I..\.. Controls.d ..\..\wx\common.d(153): Deprecation: function wx.common.new_Rectangle is deprecated ..\..\wx\common.d(153): Deprecation: function wx.common.new_Rectangle is deprecated dmd -g -of..\..\bin\Controls.exe Controls.obj ..\..\wxd.lib ..\..\wxc.lib C:/DEV/msys64/home/10000000/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxbase28d.lib C:/DEV/msys64/home/10000000/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxbase28d_xml.lib C:/DEV/msys64/home/10000000/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxmsw28d_core.lib C:/DEV/msys64/home/10000000/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxmsw28d_adv.lib C:/DEV/msys64/home/10000000/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxmsw28d_html.lib C:/DEV/msys64/home/10000000/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxmsw28d_xrc.lib C:/DEV/msys64/home/10000000/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxtiffd.lib C:/DEV/msys64/home/10000000/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxjpegd.lib C:/DEV/msys64/home/10000000/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxpngd.lib C:/DEV/msys64/home/10000000/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxzlibd.lib C:/DEV/msys64/home/10000000/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxregexd.lib C:/DEV/msys64/home/10000000/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib -L/EXETYPE:NT -L/SU:WINDOWS:4.0 OPTLINK (R) for Win32 Release 8.00.17 Copyright (C) Digital Mars 1989-2013 All rights reserved. http://www.digitalmars.com/ctg/optlink.html C:\DEV\msys64\home\10000000\tmp\wxWidgets-2.8.12\lib\dmc_lib\wxexpatd.lib(xmlrole) Error 168: >64K Global Types
Mar 21 2016
parent Vincent R <lol dlang.org> writes:
On Monday, 21 March 2016 at 11:00:08 UTC, Vincent R wrote:
 On Monday, 21 March 2016 at 09:46:18 UTC, Vincent R wrote:
 On Monday, 21 March 2016 at 01:51:09 UTC, Marco Leise wrote:
 Am Sun, 20 Mar 2016 22:37:37 +0000
 schrieb Vincent R <lol dlang.org>:

 [...]
Thanks and you see I was right to post here since I finally found the problem and got an answer :-)
Unfortunately at the end I get a linker error: 10000000 MLVD0032 MINGW64 ~/tmp/wxd/src/Samples $ make del *.cached cd Controls make dmd -c -version=wx28 -version=__WXMSW__ -version=ANSI -I..\.. Controls.d ..\..\wx\common.d(153): Deprecation: function wx.common.new_Rectangle is deprecated ..\..\wx\common.d(153): Deprecation: function wx.common.new_Rectangle is deprecated dmd -g -of..\..\bin\Controls.exe Controls.obj ..\..\wxd.lib ..\..\wxc.lib C:/DEV/msys64/home/10000000/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxbase28d.lib C:/DEV/msys64/home/10000000/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxbase28d_xml.lib C:/DEV/msys64/home/10000000/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxmsw28d_core.lib C:/DEV/msys64/home/10000000/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxmsw28d_adv.lib C:/DEV/msys64/home/10000000/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxmsw28d_html.lib C:/DEV/msys64/home/10000000/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxmsw28d_xrc.lib C:/DEV/msys64/home/10000000/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxtiffd.lib C:/DEV/msys64/home/10000000/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxjpegd.lib C:/DEV/msys64/home/10000000/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxpngd.lib C:/DEV/msys64/home/10000000/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxzlibd.lib C:/DEV/msys64/home/10000000/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxregexd.lib C:/DEV/msys64/home/10000000/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib -L/EXETYPE:NT -L/SU:WINDOWS:4.0 OPTLINK (R) for Win32 Release 8.00.17 Copyright (C) Digital Mars 1989-2013 All rights reserved. http://www.digitalmars.com/ctg/optlink.html C:\DEV\msys64\home\10000000\tmp\wxWidgets-2.8.12\lib\dmc_lib\wxexpatd.lib(xmlrole) Error 168: >64K Global Types
I tried with a gdc compiler compiled by myself and I was able to compile and launch my first sample application using wxWidgets-2.8. Now I have some work to do to fix all the remaining warnings and errors but I hope that wxD will be very soon an alternative to existing gui framework for D. In a perfect world I should also work on the D libraries to add support for mingwXX winpthreads because for the moment the gdc compiler is generated using --enable-threads=win32. As long as it cannot use posix thread it cannot be an official package of msys2/mingw64.
Mar 21 2016