Big news
- Frontend, druntime and Phobos are at version 2.076.1 (#2362), including
-betterC
semantics (#2365). - Experimental support for dynamic codegen at runtime (JIT-style) to tune performance-critical parts for the used CPU and/or treat special runtime variables as constants. See UDAs
@dynamicCompile
,@dynamicCompileConst
inldc.attributes
; compile with command-line option-enable-dynamic-compile
and use theldc.dynamic_compile
module to generate the code at runtime before invoking it. Congratulations to Ivan Butygin for implementing this non-trivial feature! (#2293) - Many
std.math
functions are now CTFE-able. (#2259)
Platform support
- Supports LLVM 3.7 - 5.0.
- Windows: Supports Visual Studio/C++ Build Tools 2015 and 2017.
- Android: A native 32-bit ARM package for the Termux app is included, install it with
dpkg -i ldc-beta_1.6.0_arm.deb
. To cross-compile, see the wiki.
Bug fixes
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.
- ThinLTO may not work well with the
ld.bfd
linker, useld.gold
instead (-linker=gold
).