On 2017-04-11 02:20, Walter Bright wrote:
On 4/10/2017 4:43 PM, David Nadlinger wrote:
[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.
dmd is not moving to a libunwind-based EH, it already has moved to it!
But as an example of ABI change, the latest EH @nogc proposal changes
the layout of the Throwable object, and adds some code to the
_d_throwdwarf() function.
https://github.com/dlang/druntime/pull/1804
It is possible to solve. For example, in Objective-C they have a
non-fragile ABI where you can freely add instance variables to base
classes and the offset will be adjusted automatically at load time for
the subclasses [1]. The methods are already handled with dynamic message
dispatch.
[1]
http://www.sealiesoftware.com/blog/archive/2009/01/27/objc_explain_Non-fragile_ivars.html
--
/Jacob Carlborg