On Thursday, 10 August 2017 at 14:32:04 UTC, Adam D. Ruppe wrote:
On Wednesday, 9 August 2017 at 22:43:03 UTC, Johnson Jones
wrote:
because people cannot cut ties with the past and learn from
their mistakes. Do we even need to separate the linker and
compiler?
Like I said though, a lot of D's corporate users see this as
being a major feature for their productivity. So it isn't quite
as clear cut that one way is better than the other.
Separating compilation and linking is helpful for example for
reducing the build time of incremental builds and parallelizing
builds. A number of language semantics I personally understand in
terms of separate codegen and linking, but I am not sure if
that's strictly needed (D being a systems language, probably it
is). Separate compilation is also needed for cross-language
interop (e.g. for a mixed C++/D codebase).
But Walter has said he is interested in doing an integrated
linker and getting benefits from it, just that's a lot more
work than it sounds like and he has a lot of other things to
do...
Kinke has added LLD to LDC for MSVC, and for other platforms it
is a WIP. See https://github.com/ldc-developers/ldc/pull/2142 ,
https://github.com/ldc-developers/ldc/pull/2203 . So already LDC
running on Linux can generate a Windows executable.
-Johan