Ldc vs dmd vs gdc
Rikki Cattermole via Digitalmars-d
digitalmars-d at puremagic.com
Fri Dec 26 01:47:11 PST 2014
On 26/12/2014 10:42 p.m., Rikki Cattermole wrote:
> On 26/12/2014 10:30 p.m., Iain Buclaw via Digitalmars-d wrote:
>> On 26 Dec 2014 07:25, "Rikki Cattermole via Digitalmars-d"
>> <digitalmars-d at puremagic.com <mailto: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.
>
> This is the answer I was looking for thank you. Just needed somebody to
> confirm.
https://issues.dlang.org/show_bug.cgi?id=13896
More information about the Digitalmars-d
mailing list