LDC 0.13.0 has been released!

David Nadlinger via digitalmars-d-ldc digitalmars-d-ldc at puremagic.com
Thu Jul 10 07:50:02 PDT 2014


On 8 Jul 2014, at 1:40, John Colvin via digitalmars-d-ldc wrote:
> It should definitely be the default for optimised builds. What are the 
> disadvantages?

I agree.

The downside to making -singleobj the default is mainly breaking 
backwards compatibility at this point, as it – nomen est omen – 
causes LDC to only emit a single object file, which might affect some 
build systems.

As to why it hasn't been the default in the first place, I am not sure 
(Christian, do you remember any details?). The decision might have been 
made with flexibility in terms of incremental compilation in mind, which 
would maybe depend on having one object file per module. However, it has 
since been established that Walter is not interested in making the 
frontend support reusing an object file as part of a compilation with 
different parameters (e.g. first run ldc2 -c foo.d bar.d baz.d, and 
later run only ldc2 -c foo.d if foo has changed, cf. issue 3274 and 
others). Thus, emitting only one object file wouldn't break "correct" 
incremental compilation setups either.

Cheers,
David


More information about the digitalmars-d-ldc mailing list