Skip to content

LDC 1.17.0-beta1

Pre-release
Pre-release
Compare
Choose a tag to compare
@kinke kinke released this 10 Aug 14:35
3044e5c

Big news

Platform support

  • Supports LLVM 3.9 - 8.0.

Bug fixes

  • Fix for v1.16.0 regression when returning void expressions. (#3094, #3095)
  • -lowmem (and on Windows, --DRT-* options) in response files (e.g., used by dub) aren't ignored anymore. (#3086)
  • Windows: LDC and LDMD now internally use UTF-8 strings only, incl. command-line options and environment variables. The LDC install dir, source file names etc. can now contain non-ASCII chars. For proper console output, especially to stderr, you'll need Windows 10 v1809+ and may need to set a Unicode console font (e.g., Consolas). (#611, #3086)
  • Android: Linker errors when building LDC/LDMD should be fixed. (#3128)
  • Support for recent gdmd as D host compiler. Thanks Moritz! (#3087)
  • Do not require gold plugin when linking with LLD. (#3105)
  • Some JIT bind fixes. (#3099, #3100)

Known issues

  • NEW: If you encounter segfaults in GC worker threads with shared druntime on Linux that are fixed by disabling new parallel GC marking (e.g., via --DRT-gcopt=parallel:0 in executable cmdline), please let us know about it: #3127
  • Buggy older ld.bfd linker versions may wrongly strip out required symbols, e.g., ModuleInfos (so that e.g. no module ctors/dtors are run). LDC defaults to ld.gold on Linux.
  • 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.