Big news
- Frontend, druntime and Phobos are at version 2.073.2.
- libconfig was replaced by an ad-hoc parser (in D), getting rid of the build and runtime dependency and shrinking the license file by roughly 50%. Thanks again, Remi! (#2016)
- LDC now ships with static and shared runtime libs on supported platforms. (#1960)
- LLVM 3.9+: Static libraries are now generated by LDC (LLVM) by default, not by system
ar
orlib.exe
. This means that LDC can cross-compile and -archive static libs for all supported targets. Command-line option-ar
allows specifying an external archiver to be used. (#2030) - New command-line options
-dip1000
,-mv
and-mscrtlib
(#2041).
New features
- New function UDA
@ldc.attributes.llvmFastMathFlag("contract")
that specifically enables floating point operation fusing (fused multiply-add), previously only achievable with@fastmath
. (#2060)
Platform support
- Supports LLVM 3.5 - 4.0.
- Windows: Supports Visual Studio/Build Tools 2015 and 2017. (#2065)
- NetBSD: The 2.074 druntime patches have been cherry-picked.
Bug fixes
- Change format of predefined versions output for DMD compatibility. (#1962)
Building LDC
- Building LDC requires a preinstalled D compiler.
Internals
- LDC now features D unittests itself. Just add some to LDC's D modules and they'll be compiled and executed by CI. (#2016)
Known issues
- LDC does not zero the padding area of a
real
variable. This may lead to wrong results if the padding area is also considered. See #770. Does not apply toreal
members inside structs etc. - Phobos does not compile on MinGW platform.