Ldc vs dmd vs gdc

Iain Buclaw via Digitalmars-d digitalmars-d at puremagic.com
Fri Dec 26 01:30:48 PST 2014


On 26 Dec 2014 07:25, "Rikki Cattermole via Digitalmars-d" <
digitalmars-d at puremagic.com> wrote:
>
> On Monday, 15 December 2014 at 08:25:16 UTC, Rikki Cattermole wrote:
>>
>> I found a little interesting difference between ldc, dmd and gdc today.
>> Summarized in ldc it does not allow you to have multiple extern c'd
function prototypes with different parameters but same mangling aka name.
>>
>> In dmd and gdc it compiles fine. I believe this is actually wrong.
>> As c abi does not support overloading of functions, shouldn't the
compilers at the very least report a warning of this?
>>
>> [0] https://github.com/nomad-software/x11/issues/6#issuecomment-66959937
>> [1]
https://github.com/nomad-software/x11/blob/160f5109cb9f09ab69f9a16c685c5a6b39179db6/source/x11/Xlib.d#L1534
>> [2]
https://github.com/nomad-software/x11/blob/160f5109cb9f09ab69f9a16c685c5a6b39179db6/source/x11/Xlib.d#L1554
>
>
> Could really use an answer to this.
> Another person discovered this in the wild.
> http://forum.dlang.org/post/gpfxidqvrseuhxpnckzu@forum.dlang.org

I would raise a bug if there isn't already one.  The frontend should at
least disallow conflicting extern(C) prototypes.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20141226/0c46ebd0/attachment.html>


More information about the Digitalmars-d mailing list