On Monday, 10 April 2017 at 23:27:35 UTC, Walter Bright wrote:
The next problem is that dmd occasionally changes the interface to the D runtime. […] I also do not know how the gdc/lds druntime
interfaces differ.

Just to make this very clear to everybody reading this thread: It's not even just that, but also the fact that we guarantee API-, but not ABI-stability for Phobos. Every time we continue to improve the pure/nothrow/@nogc situation by marking up some more code, we are breaking the ABI, because the mangled names of the involved symbols change. The ongoing work on `scope` also breaks the ABI when enabled.

Yes, there are also some differences between the DMD/GDC/LDC runtime interfaces, but this is a comparatively very minor issue that doesn't make sense worrying too much about as long as ABI compatibility between releases isn't going to happen for other reasons such as the above. [1]

 — David


[1] In fact, it looks like – for example with DMD moving to libunwind-based EH as well – the issue is slowly resolving itself anyway and at some point we'll merely have to sit down for a week and iron out the last few kinks.

Reply via email to