[Issue 14147] Compiler crash on identical functions in a single module

d-bugmail at puremagic.com d-bugmail at puremagic.com
Wed Jan 24 11:39:20 UTC 2018


https://issues.dlang.org/show_bug.cgi?id=14147

--- Comment #4 from github-bugzilla at puremagic.com ---
Commit pushed to master at https://github.com/dlang/dmd

https://github.com/dlang/dmd/commit/ab47b8b0cf18d14c1ffbc97df6c8fb299971170a
Issue 14147 - Compiler crash on identical functions in a single module (#7577)

* fix Issue 2789 - Functions overloads are not checked for conflicts

* Allow an overload declaration hack, which is actually used in druntime

If two extern (C) functions are just declared with different signatures,
they don't conflict.

 extern(C):
 alias sigfn_t  = void function(int);
 alias sigfn_t2 = void function(int) nothrow @nogc;
 sigfn_t  bsd_signal(int sig, sigfn_t  func);
 sigfn_t2 bsd_signal(int sig, sigfn_t2 func) nothrow @nogc;  // no error

This behavior must be reconsidered in the future.

* fix Issue 14147 - Compiler crash on identical functions in a single module

*  Allow an overload declaration hack, which is actually used in druntime

* Fix the testsuite

* PR 4396 Fixup

* Remove duplicate definition in the DMD backend

--


More information about the Digitalmars-d-bugs mailing list