Am 08.11.2013 20:32, schrieb Walter Bright:
> It looks pretty good, except I have serious reservations about the -lib switch proposed behavior:
>
> 1. It's too blunt. A user could conceivably want to export some symbols and not others. This is all or nothing.
>
> 2. It requires the compiler to rewrite the .obj files, even ones that dmd did not create. I would consider this very surprising behavior. The user will be "WTF the object files in the lib are different from on my disk! D sux!" -lib is a simple-minded creature that currently does exactly what one would expect it to.
>
> 3. I've never heard anyone complain about the issue of a DLL referencing another DLL and the combined list of exports being the concatenation of both. It can be annoying, but it would be a minor issue. If it really is one, we can write a separate simple tool that strips exports from object files.
>
> And:
>
> Exporting of TLS variables is a minor issue. Frankly, I think people who export global variables should be burned at the stake anyway, why should we make it even easier? :-) Anyhow, if the user really, really wants to get himself immolated and export a TLS variable, he can always manually write the thunk (it is, after all, trivial).
>
> (Perhaps we could take this one step further - export doesn't apply to global variables, either, unless they are extern(C)?)
>
> I do like the idea that this proposal enables better code performance on Linux - better than C!

Reply via email to