On 26 Dec 2014 07:25, "Rikki Cattermole via Digitalmars-d" < [email protected]> 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/[email protected]
I would raise a bug if there isn't already one. The frontend should at least disallow conflicting extern(C) prototypes.
