<p dir="ltr">On 26 Dec 2014 09:45, "Rikki Cattermole via Digitalmars-d" <<a href="mailto:digitalmars-d@puremagic.com">digitalmars-d@puremagic.com</a>> wrote:<br>
><br>
> On 26/12/2014 10:30 p.m., Iain Buclaw via Digitalmars-d wrote:<br>
>><br>
>> On 26 Dec 2014 07:25, "Rikki Cattermole via Digitalmars-d"<br>
>> <<a href="mailto:digitalmars-d@puremagic.com">digitalmars-d@puremagic.com</a> <mailto:<a href="mailto:digitalmars-d@puremagic.com">digitalmars-d@puremagic.com</a>>> wrote:<br>
>>  ><br>
>>  > On Monday, 15 December 2014 at 08:25:16 UTC, Rikki Cattermole wrote:<br>
>>  >><br>
>>  >> I found a little interesting difference between ldc, dmd and gdc today.<br>
>>  >> Summarized in ldc it does not allow you to have multiple extern c'd<br>
>> function prototypes with different parameters but same mangling aka name.<br>
>>  >><br>
>>  >> In dmd and gdc it compiles fine. I believe this is actually wrong.<br>
>>  >> As c abi does not support overloading of functions, shouldn't the<br>
>> compilers at the very least report a warning of this?<br>
>>  >><br>
>>  >> [0] <a href="https://github.com/nomad-software/x11/issues/6#issuecomment-66959937">https://github.com/nomad-software/x11/issues/6#issuecomment-66959937</a><br>
>>  >> [1]<br>
>> <a href="https://github.com/nomad-software/x11/blob/160f5109cb9f09ab69f9a16c685c5a6b39179db6/source/x11/Xlib.d#L1534">https://github.com/nomad-software/x11/blob/160f5109cb9f09ab69f9a16c685c5a6b39179db6/source/x11/Xlib.d#L1534</a><br>
>>  >> [2]<br>
>> <a href="https://github.com/nomad-software/x11/blob/160f5109cb9f09ab69f9a16c685c5a6b39179db6/source/x11/Xlib.d#L1554">https://github.com/nomad-software/x11/blob/160f5109cb9f09ab69f9a16c685c5a6b39179db6/source/x11/Xlib.d#L1554</a><br>
>>  ><br>
>>  ><br>
>>  > Could really use an answer to this.<br>
>>  > Another person discovered this in the wild.<br>
>>  > <a href="http://forum.dlang.org/post/gpfxidqvrseuhxpnckzu@forum.dlang.org">http://forum.dlang.org/post/gpfxidqvrseuhxpnckzu@forum.dlang.org</a><br>
>><br>
>> I would raise a bug if there isn't already one.  The frontend should at<br>
>> least disallow conflicting extern(C) prototypes.<br>
><br>
><br>
> This is the answer I was looking for thank you. Just needed somebody to confirm.<br>
></p>
<p dir="ltr">You don't need confirmation to raise a bug.  Just do it.  There's no wrongs or rights here.</p>
<p dir="ltr">Iain.</p>