Long symbol names (Was: demangle doesn't work with...)
Steven Schveighoffer
schveiguy at yahoo.com
Tue May 28 15:26:08 PDT 2013
On Tue, 28 May 2013 17:13:59 -0400, David Nadlinger <see at klickverbot.at>
wrote:
> On Tuesday, 28 May 2013 at 19:01:00 UTC, Steven Schveighoffer wrote:
>> Nothing is breakage before shared library support is ready. And it's
>> almost ready...
>
> This comment makes me slightly nervous, as I think even then, we
> shouldn't be too quick to commit to ABI stability. Quite on the
> contrary, we need to make sure to aggressively tell users that they
> can't expect two pieces D code that were not compiled with the exact
> same compiler version to interoperate.
Like it or not, dynamic library support means we need to pay more
attention to ABI breakage. People will complain about what largely is not
really a problem (since code is statically compiled, you essentially build
it every time anyway).
This isn't to say we can't put a big fat warning, but we will have to
resist a new onslaught of "please don't release this compiler, it breaks
all my customer's installations!" complaints.
> One of the reasons is that we keep breaking ABI compatibility in Phobos
> with just about every single release.
Again, this isn't a huge issue when everything is static. When things are
dynamic, you can't even be sure what the target system HAS on it,
stability is really important.
> And the more important and fundamental one is that we don't actually
> have a well-defined ABI right now (i.e. that is actually documented in
> the spec), which would also need to be actually implementable by all of
> DMD, GDC and LDC. Not to mention the many quirks and bugs in the current
> implementation.
That has to be resolved too, but it may not be as interesting to someone
who wants to fix mangling. We can accept both fixes simultaneously :)
-Steve
More information about the Digitalmars-d
mailing list