LDC 0.11.0 Beta 3

David Nadlinger code at klickverbot.at
Wed Jun 5 16:31:46 PDT 2013


Here is the third round of beta packages for LDC 0.11.0. We are still 
missing a proper release announcement, but here is a quick overview of 
the most important facts:

  - Based on the DMD 2.062 frontend.
  - D1 is no longer supported.
  - The GC to stack promotion optimizer pass is enabled by default on 
-O2 and higher. Still *very* conservative, though, due to a change in 
the signature of the relevant druntime functions.
  - The LDC_global_crt_ctor/LDC_global_crt_dtor pragmas allow 
registering functions to be run during C runtime startup/shutdown. This 
is mostly helpful for implementing druntime itself.
  - The LDC_never_inline pragma can now be used to mark functions that 
should never be inlined.
  - As with recent versions of DMD, .di file generation now strips 
functions bodies. The '-Hkeep-all-bodies' command line has been added to 
disable this, like '-inline' does for DMD.
  - '-O' now is equivalent to '-O3' (instead of '-O2').
  - LDMD now correctly parses extra arguments for -run and no longer 
drops -deps.
  - Passing large static arrays by value no longer leads to horribly 
inefficient code and long compile times.
  - A large number of code generation bugs has been fixed, see the 
GitHub issue tracker [we are missing a nice overview].


Platform support
---
  - Linux x86/x86_64: Stable
  - OS X 10.7+: Stable (does *not* work on Snow Leopard and below)
  - Win32/MinGW: An alpha-quality version is available as part of this 
release. For use together with [1], see [2] for an overview of the 
current state.
  - Win64/MSVC: Not officially part of this release yet, a preview 
version is available here: 
http://forum.dlang.org/post/vscpokspiejlckivqsuq@forum.dlang.org

For the current state on other platforms such as Linux/PPC64 and ARM, 
please refer to the LDC wiki. [3]


Package download
---

http://d32gngvpvl2pi1.cloudfront.net/ldc2-0.11.0-beta3-linux-x86.tar.gz
http://d32gngvpvl2pi1.cloudfront.net/ldc2-0.11.0-beta3-linux-x86.tar.xz
http://d32gngvpvl2pi1.cloudfront.net/ldc2-0.11.0-beta3-linux-x86_64.tar.gz
http://d32gngvpvl2pi1.cloudfront.net/ldc2-0.11.0-beta3-linux-x86_64.tar.xz
http://d32gngvpvl2pi1.cloudfront.net/ldc2-0.11.0-beta3-mingw-x86.7z
http://d32gngvpvl2pi1.cloudfront.net/ldc2-0.11.0-beta3-osx-x86_64.tar.gz
http://d32gngvpvl2pi1.cloudfront.net/ldc2-0.11.0-beta3-osx-x86_64.tar.xz
http://d32gngvpvl2pi1.cloudfront.net/ldc-0.11.0-beta3-src.tar.gz

MD5 checksums:

efc5863f6e5378849ff3d5b3b094bfc4  ldc2-0.11.0-beta3-linux-x86.tar.gz
36b78ff5d788a1eb1dc875910cd5fd25  ldc2-0.11.0-beta3-linux-x86.tar.xz
041679f78109876074c8cf11a151a2f2  ldc2-0.11.0-beta3-linux-x86_64.tar.gz
1768b0e4695256f6c18e908390edf2f2  ldc2-0.11.0-beta3-linux-x86_64.tar.xz
f70b31ae997bbf3d4505a26d1f5fa8ce  ldc2-0.11.0-beta3-mingw-x86.7z
fc0fe396d20a735b00c070c07da79906  ldc2-0.11.0-beta3-osx-x86_64.tar.gz
0fe50724975df55ee0e6b0094fc05acb  ldc2-0.11.0-beta3-osx-x86_64.tar.xz
e9d14e674a68a5ca688140e845105046  ldc-0.11.0-beta3-src.tar.gz


There are virtually no differences to beta 2, except for a tweak to how 
the build system locates LLVM, a cosmetic fix to the debug info compiler 
info field, and a few MinGW-specific fixes which were erroneously 
omitted from the last version.

If no unexpected major issues crop up, I'd propose to make this the 
final release (except for the file names, that is) – in hindsight, I 
should have gone for "-rc1" instead of "-beta3". Any other regressions 
and big issues would be fixed in 0.11.1, which I hope we can release in 
another week or so. This upcoming release would also be built against 
LLVM 3.3 to work around the exception-related crashes on OS X (see 
below), and thus necessarily include the bool i1->i8 transition.

Sounds good?

  — David



[1] 
http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/rubenvb/gcc-4.8-dw2-release/i686-w64-mingw32-gcc-dw2-4.8.0-win32_rubenvb.7z/download
[2] http://klickverbot.at/blog/2013/05/the-state-of-ldc-on-windows/
[3] http://wiki.dlang.org/LDC


More information about the digitalmars-d-ldc mailing list