Jump to page: 1 2
Thread overview
LDC 0.16.0 beta2 is out! Try out before we create the final release!
Oct 10, 2015
Kai Nacke
Oct 10, 2015
Daniel N
Oct 11, 2015
extrawurst
Oct 11, 2015
Ivan Butygin
Oct 11, 2015
Kai Nacke
Oct 11, 2015
Kai Nacke
Oct 11, 2015
anonymous
Oct 11, 2015
John Colvin
Oct 12, 2015
Ivan Butygin
Oct 13, 2015
Marco Leise
Oct 14, 2015
Mike Parker
Oct 16, 2015
bearophile
Oct 16, 2015
kinke
Oct 16, 2015
Kagamin
Oct 16, 2015
kinke
Oct 16, 2015
bearophile
Oct 16, 2015
ZombineDev
Oct 17, 2015
Paolo Invernizzi
October 10, 2015
Hi everyone!

On behalf of the LDC team I am proud to announce the LDC 0.16.0 beta2 release!
It is based on the 2.067.1 front-end and LLVM 3.1-3.7 (OS X: no support for 3.3).

If no more severe errors are reported then the next version will be the final release. The LDC team already considers this the best LDC release of all times!

Big news is that the Win64 version of the compiler reaches production quality, thanks to the hard work from kinke!

This release has been checked to work on Linux/PPC64 and OpenSolaris (x86), too. There is still a major issue on FreeBSD (x86_64) (issue #1119).
Due to a library build problem with druntime/Phobos there is no MinGW32 version (issue #1121). This is currently under investigation but we are also looking for volunteers. If you need this platform please consider helping us!!!

Big thanks to everyone who provided feedback on the last beta version! Without your feedback it would not be possible to eliminate the bugs so fast!

Most important changes are:

- Frontend is now at 2.067.1
- LLVM 3.7 is supported
- DMD-style coverage analysis is added
- ABI changes which fixes a lot of bugs in the Win64 compiler
- The ldc2 driver now only use slow -debuglib libraries if explicitly asked to

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.16.0-beta2

MD5 checksums for the release packages:

cdba4f2e043ed55409a7ba27d35f1fc9 ldc-0.16.0-beta2-src.tar.gz
9ba23d30393ad3af6bcad76c6ac347f4 ldc2-0.16.0-beta2-linux-x86.tar.gz
cbd6418b6eab0eedbe999b727dc18a61 ldc2-0.16.0-beta2-linux-x86.tar.xz
eb6a89f95446a909739ae5748335bc97 ldc2-0.16.0-beta2-linux-x86_64.tar.gz
a07a1f622eddba7419b94325d913082e ldc2-0.16.0-beta2-linux-x86_64.tar.xz
e316f5fb2e2b1df764b76b114fc0db98 ldc2-0.16.0-beta2-osx-x86_64.tar.gz
3fc6a2276b263a97398cfd28cc98641c ldc2-0.16.0-beta2-osx-x86_64.tar.xz
9f9e0d23b5a8a449159b47b715c0963d ldc2-0.16.0-beta2-win64-msvc.zip

Regarding the binaries:
The Linux binaries are built on Ubuntu 12.04 LTS with gcc 4.8.x and LLVM 3.7.0. They work on Ubuntu 12.04 LTS (or later) without installing additional software.

The OS X binaries are built with LLVM 3.6.2 on OS X 10.10.

The Win64 MSVC version is built with VS2015 using LLVM 3.7 in release mode. The distribution now contains a precompiled libcurl 7.40.0 from http://d.darktech.org/libcurl.html. For any other VisualStudio version you need to rebuild the library.
You find the build script here: https://github.com/ldc-developers/ldc-scripts/blob/master/ldc2-win64/RELEASE.proj

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

October 10, 2015
On Saturday, 10 October 2015 at 15:28:02 UTC, Kai Nacke wrote:
> Big news is that the Win64 version of the compiler reaches production quality, thanks to the hard work from kinke!
>

Fantastic, thanks! (I filed one minor issue, otherwise looks great!)
October 11, 2015
On Saturday, 10 October 2015 at 15:28:02 UTC, Kai Nacke wrote:
> Hi everyone!
>
> On behalf of the LDC team I am proud to announce the LDC 0.16.0 beta2 release!
> It is based on the 2.067.1 front-end and LLVM 3.1-3.7 (OS X: no support for 3.3).
>
> [...]

Works great in my projects! Awesome work!
October 11, 2015
On Saturday, 10 October 2015 at 15:28:02 UTC, Kai Nacke wrote:
> Hi everyone!
>
> On behalf of the LDC team I am proud to announce the LDC 0.16.0 beta2 release!
> It is based on the 2.067.1 front-end and LLVM 3.1-3.7 (OS X: no support for 3.3).
>
> [...]

Hello, I have some issues with align() attribute.
http://pastebin.com/1uCRwDfS
Assert fails if I uncomment somefun(buf) line but works otherwise.
win64 msvc build
ldc2 main.d -w -g -unittest -m64 -oq
October 11, 2015
On Sunday, 11 October 2015 at 13:35:48 UTC, Ivan Butygin wrote:
> On Saturday, 10 October 2015 at 15:28:02 UTC, Kai Nacke wrote:
>> Hi everyone!
>>
>> On behalf of the LDC team I am proud to announce the LDC 0.16.0 beta2 release!
>> It is based on the 2.067.1 front-end and LLVM 3.1-3.7 (OS X: no support for 3.3).
>>
>> [...]
>
> Hello, I have some issues with align() attribute.
> http://pastebin.com/1uCRwDfS
> Assert fails if I uncomment somefun(buf) line but works otherwise.
> win64 msvc build
> ldc2 main.d -w -g -unittest -m64 -oq

Hmm,

I see in the IR

  %_param_0 = alloca %bug.some_buf*, align 8      ; [#uses = 2, size/byte = 8]

which is consistent with the output. :-(

Regards,
Kai
October 11, 2015
On Sunday, 11 October 2015 at 14:20:44 UTC, Kai Nacke wrote:
>> Hello, I have some issues with align() attribute.
>> http://pastebin.com/1uCRwDfS
>> Assert fails if I uncomment somefun(buf) line but works otherwise.
>> win64 msvc build
>> ldc2 main.d -w -g -unittest -m64 -oq

Issue #1154 (https://github.com/ldc-developers/ldc/issues/1154)

October 11, 2015
On Saturday, 10 October 2015 at 15:28:02 UTC, Kai Nacke wrote:
> 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.


I have a vibe.d project linking to some C++ code and

dub build --compiler=/tmp/ldc2-0.16.0-beta2-linux-x86_64/bin/ldc2 --force

prints

warning: Linking two modules of different data layouts: '<string>' is '' whereas 'source/myfile.d' is 'e-m:e-i64:64-f80:128-n8:16:32:64-S128'

C++ compiler is
g++ (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4

Any guess where this comes from? A hint would help create a reduced test case / find my mistake. A similar (but smaller project) compiles fine...

dub clean does not help.

The produced binary seems to work.
October 11, 2015
On Saturday, 10 October 2015 at 15:28:02 UTC, Kai Nacke wrote:
> Hi everyone!
>
> On behalf of the LDC team I am proud to announce the LDC 0.16.0 beta2 release!
> It is based on the 2.067.1 front-end and LLVM 3.1-3.7 (OS X: no support for 3.3).
>
> If no more severe errors are reported then the next version will be the final release. The LDC team already considers this the best LDC release of all times!
>
> Big news is that the Win64 version of the compiler reaches production quality, thanks to the hard work from kinke!
>
> This release has been checked to work on Linux/PPC64 and OpenSolaris (x86), too. There is still a major issue on FreeBSD (x86_64) (issue #1119).
> Due to a library build problem with druntime/Phobos there is no MinGW32 version (issue #1121). This is currently under investigation but we are also looking for volunteers. If you need this platform please consider helping us!!!
>
> Big thanks to everyone who provided feedback on the last beta version! Without your feedback it would not be possible to eliminate the bugs so fast!
>
> Most important changes are:
>
> - Frontend is now at 2.067.1
> - LLVM 3.7 is supported
> - DMD-style coverage analysis is added
> - ABI changes which fixes a lot of bugs in the Win64 compiler
> - The ldc2 driver now only use slow -debuglib libraries if explicitly asked to
>
> 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.16.0-beta2
>
> MD5 checksums for the release packages:
>
> cdba4f2e043ed55409a7ba27d35f1fc9 ldc-0.16.0-beta2-src.tar.gz
> 9ba23d30393ad3af6bcad76c6ac347f4 ldc2-0.16.0-beta2-linux-x86.tar.gz
> cbd6418b6eab0eedbe999b727dc18a61 ldc2-0.16.0-beta2-linux-x86.tar.xz
> eb6a89f95446a909739ae5748335bc97 ldc2-0.16.0-beta2-linux-x86_64.tar.gz
> a07a1f622eddba7419b94325d913082e ldc2-0.16.0-beta2-linux-x86_64.tar.xz
> e316f5fb2e2b1df764b76b114fc0db98 ldc2-0.16.0-beta2-osx-x86_64.tar.gz
> 3fc6a2276b263a97398cfd28cc98641c ldc2-0.16.0-beta2-osx-x86_64.tar.xz
> 9f9e0d23b5a8a449159b47b715c0963d ldc2-0.16.0-beta2-win64-msvc.zip
>
> Regarding the binaries:
> The Linux binaries are built on Ubuntu 12.04 LTS with gcc 4.8.x and LLVM 3.7.0. They work on Ubuntu 12.04 LTS (or later) without installing additional software.
>
> The OS X binaries are built with LLVM 3.6.2 on OS X 10.10.
>
> The Win64 MSVC version is built with VS2015 using LLVM 3.7 in release mode. The distribution now contains a precompiled libcurl 7.40.0 from http://d.darktech.org/libcurl.html. For any other VisualStudio version you need to rebuild the library.
> You find the build script here: https://github.com/ldc-developers/ldc-scripts/blob/master/ldc2-win64/RELEASE.proj
>
> 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

brew reinstall ldc --devel

:) Thanks for all the great work
October 12, 2015
On Saturday, 10 October 2015 at 15:28:02 UTC, Kai Nacke wrote:
> Hi everyone!
>
> On behalf of the LDC team I am proud to announce the LDC 0.16.0 beta2 release!
> It is based on the 2.067.1 front-end and LLVM 3.1-3.7 (OS X: no support for 3.3).
>
> [...]

Hello again, I found another issue :)
http://pastebin.com/wD9JVX8N
Prints 0
October 13, 2015
Am Mon, 12 Oct 2015 18:04:26 +0000
schrieb Ivan Butygin <ivan.butygin@gmail.com>:

> On Saturday, 10 October 2015 at 15:28:02 UTC, Kai Nacke wrote:
> > Hi everyone!
> >
> > On behalf of the LDC team I am proud to announce the LDC 0.16.0
> > beta2 release!
> > It is based on the 2.067.1 front-end and LLVM 3.1-3.7 (OS X: no
> > support for 3.3).
> >
> > [...]
> 
> Hello again, I found another issue :)
> http://pastebin.com/wD9JVX8N
> Prints 0

I was of the impression that you need to put the initialized field of a union first, but maybe I'm wrong. There is at least this in the documentation on struct literals: "If there are anonymous unions in the struct, only the first member of the anonymous union can be initialized with a struct literal, and all subsequent non-overlapping fields are default initialized." It may or may not apply here.

-- 
Marco

« First   ‹ Prev
1 2