Thread overview
LDC 0.14.0 released!
Aug 15, 2014
Kai Nacke
Aug 15, 2014
John
Aug 15, 2014
Dicebot
Aug 15, 2014
Dicebot
Aug 15, 2014
bearophile
Aug 15, 2014
David Nadlinger
Aug 18, 2014
Kai Nacke
Aug 15, 2014
Marc Schütz
August 15, 2014
Hi everyone!

The LDC release 0.14.0 is here! It is based on the 2.065.0 front-end and LLVM 3.1-3.4.2 (OS X: LLVM 3.2/3.4.2 only).

This release contains some exciting new features like shared libraries and link-time stripping of dead code on Linux!
Be sure to read the change log at the GitHub release page which also has the package download links:
https://github.com/ldc-developers/ldc/releases/tag/v0.14.0

MD5 checksums for the release packages:

00000c3dcd2ae9aa4d02c754e2e68b6b ldc-0.14.0-src.tar.gz
f4f74d80c8e086a67ccd64097c8ced6d ldc2-0.14.0-linux-x86_64.tar.gz
0c0dbe062fbb2bbc6bcf0e05fa64781a ldc2-0.14.0-linux-x86_64.tar.xz
c7cfff216a10a9c76efb6b859394af4c ldc2-0.14.0-linux-x86.tar.gz
0456bf4fec7ad693d0a99d52ede22f87 ldc2-0.14.0-linux-x86.tar.xz
8fcada15be800679890117b3e9fb8c73 ldc2-0.14.0-mingw-x86.7z
1aeb695a540bdc38fddbcbde0077e551 ldc2-0.14.0-mingw-x86.zip
500af22966095164a6ed029c1734219f ldc2-0.14.0-osx-x86_64.tar.gz
8e73cc81b2d6ce540214009305d6e227 ldc2-0.14.0-osx-x86_64.tar.xz

As always, the Win32/MinGW packages require a recent version of the mingw-w64 toolchain, see the (new) README file for details.

There is no Win64/MSVC package yet. Nevertheless the implementation had made a huge step forward thanks to the help from Trass3r. He also provides an experimental version Win64 MSVC version at https://github.com/Trass3r/ldc/releases.

Please be sure to report any bugs at
https://github.com/ldc-developers/ldc/issues, and feel free to drop by
at the digitalmars.D.ldc forums
(http://forum.dlang.org/group/digitalmars.D.ldc) for any questions or
comments.

Thanks to everybody involved in making this happen!

Regards,
Kai
August 15, 2014
On Friday, 15 August 2014 at 14:48:41 UTC, Kai Nacke wrote:
> Hi everyone!
>
> The LDC release 0.14.0 is here! It is based on the 2.065.0 front-end and LLVM 3.1-3.4.2 (OS X: LLVM 3.2/3.4.2 only).
>
> This release contains some exciting new features like shared libraries and link-time stripping of dead code on Linux!
> Be sure to read the change log at the GitHub release page which also has the package download links:
> https://github.com/ldc-developers/ldc/releases/tag/v0.14.0
>
> MD5 checksums for the release packages:
>
> 00000c3dcd2ae9aa4d02c754e2e68b6b ldc-0.14.0-src.tar.gz
> f4f74d80c8e086a67ccd64097c8ced6d ldc2-0.14.0-linux-x86_64.tar.gz
> 0c0dbe062fbb2bbc6bcf0e05fa64781a ldc2-0.14.0-linux-x86_64.tar.xz
> c7cfff216a10a9c76efb6b859394af4c ldc2-0.14.0-linux-x86.tar.gz
> 0456bf4fec7ad693d0a99d52ede22f87 ldc2-0.14.0-linux-x86.tar.xz
> 8fcada15be800679890117b3e9fb8c73 ldc2-0.14.0-mingw-x86.7z
> 1aeb695a540bdc38fddbcbde0077e551 ldc2-0.14.0-mingw-x86.zip
> 500af22966095164a6ed029c1734219f ldc2-0.14.0-osx-x86_64.tar.gz
> 8e73cc81b2d6ce540214009305d6e227 ldc2-0.14.0-osx-x86_64.tar.xz
>
> As always, the Win32/MinGW packages require a recent version of the mingw-w64 toolchain, see the (new) README file for details.
>
> There is no Win64/MSVC package yet. Nevertheless the implementation had made a huge step forward thanks to the help from Trass3r. He also provides an experimental version Win64 MSVC version at https://github.com/Trass3r/ldc/releases.
>
> Please be sure to report any bugs at
> https://github.com/ldc-developers/ldc/issues, and feel free to drop by
> at the digitalmars.D.ldc forums
> (http://forum.dlang.org/group/digitalmars.D.ldc) for any questions or
> comments.
>
> Thanks to everybody involved in making this happen!
>
> Regards,
> Kai


Wow! Congratulations!
Can't wait to try it, thanks!
August 15, 2014
Arch Linux packages updated. Those will still use static Phobos library for now, shared library version is available for testing via https://aur.archlinux.org/pkgbase/ldc-alpha

I am evaluating option to switch to shared libraries with next release as well as make LDC default D compiler on Arch Linux (and phobos2-ldc.so default shared phobos library) but that depends on how reliably those will behave in tests.
August 15, 2014
On Friday, 15 August 2014 at 16:06:01 UTC, Dicebot wrote:
> Arch Linux packages updated.

P.S. it will take a bit of time until it actually propagates to
mirrors
August 15, 2014
Kai Nacke:

> 8fcada15be800679890117b3e9fb8c73 ldc2-0.14.0-mingw-x86.7z

It seems to work.

>LLVM intrinsics llvm.bswap.i#, llvm.ctpop.i#, llvm.ctlz.i# and llvm.cttz.i# are now builtins and can be used with CTFE. (#648) (new)<

I try to write code that compiles with both ldc and dmd, so LDC-specific stuff is less important. Are the bswap and other functions of core.bitop usable in CTFE? If the answer is negative, isn't it better to improve those in dmd too to make them usable in CFFE on all D compilers?


>Fixed the signature of intrinsic llvm.prefetch and added new intrinsic llvm.clear_cache (from LLVM 3.5). (new)<

Where do I find information and usage examples of llvm.prefetch and llvm.clear_cache?

Bye,
bearophile
August 15, 2014
On 15 Aug 2014, at 20:25, bearophile via digitalmars-d-ldc wrote:
> Where do I find information and usage examples of llvm.prefetch and llvm.clear_cache?

The best thing usually is to just search the LLVM language reference page (http://llvm.org/docs/LangRef.html) for the intrinsic name. Some of the intrinsics are not documented all too well, but these are mostly the ones that just mirror well-known C builtins from other compilers, so it's not too bad.

Best,
David
August 15, 2014
RPMs for openSUSE 13.1:

http://download.opensuse.org/repositories/home:/marc_schuetz:/branches:/home:/dmacvicar/openSUSE_13.1/
August 18, 2014
Hi bearophile!

On Friday, 15 August 2014 at 18:25:08 UTC, bearophile wrote:
> Kai Nacke:
>
>> 8fcada15be800679890117b3e9fb8c73 ldc2-0.14.0-mingw-x86.7z
>
> It seems to work.
>
>>LLVM intrinsics llvm.bswap.i#, llvm.ctpop.i#, llvm.ctlz.i# and llvm.cttz.i# are now builtins and can be used with CTFE. (#648) (new)<
>
> I try to write code that compiles with both ldc and dmd, so LDC-specific stuff is less important. Are the bswap and other functions of core.bitop usable in CTFE? If the answer is negative, isn't it better to improve those in dmd too to make them usable in CFFE on all D compilers?

The core.bitop functions are implemented in terms of the LLVM intrinsics. They are threfore CTFE-enabled, too. There should be no visible change to users except that the mentioned intrinsics are now usable in CTFE.

Regards,
Kai