Re: How can I report what I think a compiler's frontend bug

2016-03-21 Thread Vincent R via Digitalmars-d

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 +
schrieb Vincent R :

[...]


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:

1000@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/1000/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxbase28d.lib  C:/DEV/msys64/home/1000/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxbase28d_xml.lib  C:/DEV/msys64/home/1000/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxmsw28d_core.lib  C:/DEV/msys64/home/1000/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxmsw28d_adv.lib  C:/DEV/msys64/home/1000/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxmsw28d_html.lib  C:/DEV/msys64/home/1000/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxmsw28d_xrc.lib  C:/DEV/msys64/home/1000/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxtiffd.lib  C:/DEV/msys64/home/1000/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxjpegd.lib  C:/DEV/msys64/home/1000/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxpngd.lib  C:/DEV/msys64/home/1000/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxzlibd.lib  C:/DEV/msys64/home/1000/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxregexd.lib  C:/DEV/msys64/home/1000/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxexpatd.lib   kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.l!

ib 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\1000\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.




Re: How can I report what I think a compiler's frontend bug

2016-03-21 Thread Vincent R via Digitalmars-d

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 +
schrieb Vincent R :

[...]


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:

1000@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/1000/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxbase28d.lib  C:/DEV/msys64/home/1000/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxbase28d_xml.lib  C:/DEV/msys64/home/1000/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxmsw28d_core.lib  C:/DEV/msys64/home/1000/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxmsw28d_adv.lib  C:/DEV/msys64/home/1000/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxmsw28d_html.lib  C:/DEV/msys64/home/1000/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxmsw28d_xrc.lib  C:/DEV/msys64/home/1000/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxtiffd.lib  C:/DEV/msys64/home/1000/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxjpegd.lib  C:/DEV/msys64/home/1000/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxpngd.lib  C:/DEV/msys64/home/1000/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxzlibd.lib  C:/DEV/msys64/home/1000/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxregexd.lib  C:/DEV/msys64/home/1000/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\1000\tmp\wxWidgets-2.8.12\lib\dmc_lib\wxexpatd.lib(xmlrole)
 Error 168: >64K Global Types


Re: How can I report what I think a compiler's frontend bug

2016-03-21 Thread Vincent R via Digitalmars-d

On Monday, 21 March 2016 at 01:51:09 UTC, Marco Leise wrote:

Am Sun, 20 Mar 2016 22:37:37 +
schrieb Vincent R :

[...]


Thanks and you see I was right to post here since I finally found 
the problem and got an answer :-)


Re: How can I report what I think a compiler's frontend bug

2016-03-20 Thread Marco Leise via Digitalmars-d
Am Sun, 20 Mar 2016 22:37:37 +
schrieb Vincent R :

> 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



Re: How can I report what I think a compiler's frontend bug

2016-03-20 Thread Mike Wey via Digitalmars-d

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 +
schrieb Vincent R :


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/rtarlodeojnmedgsn...@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


Re: How can I report what I think a compiler's frontend bug

2016-03-20 Thread Vincent R via Digitalmars-d

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 +
schrieb Vincent R :


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/rtarlodeojnmedgsn...@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.




Re: How can I report what I think a compiler's frontend bug

2016-03-20 Thread Iain Buclaw via Digitalmars-d
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 +
>>> schrieb Vincent R :
>>>
>>> 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/rtarlodeojnmedgsn...@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.


Re: How can I report what I think a compiler's frontend bug

2016-03-20 Thread Johan Engelen via Digitalmars-d

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 +
schrieb Vincent R :


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/rtarlodeojnmedgsn...@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


Re: How can I report what I think a compiler's frontend bug

2016-03-20 Thread Vincent R via Digitalmars-d

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

Am Sun, 20 Mar 2016 11:28:19 +
schrieb Vincent R :


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/rtarlodeojnmedgsn...@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






Re: How can I report what I think a compiler's frontend bug

2016-03-20 Thread Marco Leise via Digitalmars-d
Am Sun, 20 Mar 2016 11:28:19 +
schrieb Vincent R :

> 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/rtarlodeojnmedgsn...@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