github ldc-developers/ldc v1.1.0-alpha1
LDC 1.1.0 alpha 1

latest releases: v1.40.0-beta4, v1.40.0-beta3, v1.40.0-beta2...
pre-release8 years ago

Big news

  • Frontend, druntime and Phobos are at version 2.071.1.
  • Cross-module inlining (#1577, enabled from -O2, disable with -disable-cross-module-inlining)
  • Profile-guided optimization (#1219)
  • IR-to-obj caching with -ir2obj-cache=<cache dir> (#1572)
  • Accept bitcode files on commandline (#1539)
  • @ldc.attributes.fastmath for aggressive math optimization (#1472, #1438)
  • New traits __traits(targetCPU) and __traits(targetHasFeature, ) (#1434)
  • Binary distribution now bundles DUB (#1573)
  • Drastic reduction of large symbol name lengths with -hash-threshold (#1445)

Platform support

Bug fixes

  • ICE on returning struct with zero-length static array. (#1611)
  • ICE after return in the middle of a function on Win64/MSVC. (#1582)
  • Enums with referenced struct members result in floating point error. (#1581)
  • Static array initialization with single element misdetected as direct construction via sret. (#1548)
  • ICE on static typeid. (#1540)
  • super doesn't work. (#1450)
  • Sub-expression evaluation order fixes. (#1327)

Building LDC

  • LDC now requires a preinstalled D compiler.

Internals

  • optimizer: Skip adding verifier function pass if -disable-verify is given. (#1591)
  • DValue refactoring. (#1562)
  • Several improvements to generated IR. (#1528)

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 to real members inside structs etc.
  • Phobos does not compile on MinGW platform.

Don't miss a new ldc release

NewReleases is sending notifications on new releases.