Jump to page: 1 2
Thread overview
LDC 0.15.0 beta1 released! Please help test!
Nov 14, 2014
Kai Nacke
Nov 15, 2014
Daniel N
Nov 16, 2014
David Nadlinger
Nov 17, 2014
Daniel N
Nov 17, 2014
Daniel N
Nov 19, 2014
bearophile
Nov 19, 2014
Kai Nacke
Nov 19, 2014
bearophile
Nov 20, 2014
drug
Nov 24, 2014
Kai Nacke
Nov 24, 2014
David Nadlinger
Nov 25, 2014
Russel Winder
Nov 24, 2014
Daniel N
Nov 24, 2014
Kai Nacke
Nov 25, 2014
David Nadlinger
November 14, 2014
Hi everyone!

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

This is a really exciting release!

Support for the PowerPC architecture has grown. Linux/PPC64 Little Endian is now usable, including garbage collector support. Linux/PPC32 compiles out of the box and can run simple application. There is still lot to do, though.

Even more exciting this release comes with the first official development snapshot(!) of a Win64 compiler targetting the MS C Runtime. Thanks to Trass3r and kinke for their active development! Please note that this version requires LLVM 3.6 (current development version).

This beta release also includes the mingw binaries missing from the alpha release. The mingw binaries are build with i686-4.9.1-release-posix-dwarf-rt_v3-rev1 downloaded with the mingw installer.

Be sure to read the preliminary change log at the GitHub release page which also has the package download links:
https://github.com/ldc-developers/ldc/releases/tag/v0.15.0-beta1

MD5 checksums for the release packages:

55da6d4c4cdde7c2b3e8bbd3c7779c13 ldc-0.15.0-beta1-src.tar.gz
94bffe3d1abc01a869ac23636401cb33 ldc2-0.15.0-beta1-linux-x86.tar.gz
47ee47bcc5236d5140b724a6c6511d52 ldc2-0.15.0-beta1-linux-x86.tar.xz
ca448c178807dafc96c02c65b386060c ldc2-0.15.0-beta1-linux-x86_64.tar.gz
3322634a9958e6c959c8a70614d09818 ldc2-0.15.0-beta1-linux-x86_64.tar.xz
b3b0010c3f4da6ea01cf6230b030cd9b ldc2-0.15.0-beta1-mingw-x86.7z
0a452f03f3fdfc1d992c36c382c27ca5 ldc2-0.15.0-beta1-mingw-x86.zip
431b48bba23d5c7925255e23cf72fbc0 ldc2-0.15.0-beta1-osx-x86_64.tar.gz
f04a3d0ea38312be917915161c1a8b73 ldc2-0.15.0-beta1-osx-x86_64.tar.xz
f0443bed76639d943d3499fb3648a2ef ldc2-0.15.0-beta1-win64-msvc.zip

As always, the Win32/MinGW packages require a recent version of the mingw-w64 toolchain, see http://wiki.dlang.org/Building_LDC_on_MinGW_x86 for details.

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
November 15, 2014
On Friday, 14 November 2014 at 22:05:29 UTC, Kai Nacke wrote:
> Please be sure to report any bugs at
> https://github.com/ldc-developers/ldc/issues, and feel free to
>
> Thanks to everybody involved in making this happen!
>
> Regards,
> Kai

Dear Kai,

indeed this release has amazing improvements, both in platform support and codegen, I saw some nice improvements in the assembly of one of my programs... thanks!

I'll make a proper bug reporting account later, but I'm short on time right now, so I only quickly wanted to share that I found a potential blocker(?)

When compiling the unittest for Peter's graph lib... (on OSX)
https://github.com/Poita/stdex/blob/master/graph.d

I was greeted by the following:
"Stored value type does not match pointer operand type!
  store [2 x i32]* %7, [2 x i32]* %11
 [2 x i32]LLVM ERROR: Broken function found, compilation aborted!"

I hope this is sufficient info for you to reproduce, else I'll help more next week.

Regards,
Daniel N
November 16, 2014
On 15 Nov 2014, at 21:35, Daniel N via digitalmars-d-ldc wrote:
> I hope this is sufficient info for you to reproduce, else I'll help more next week

Issue on the GitHub tracker: https://github.com/ldc-developers/ldc/issues/797
Bug fix: https://github.com/ldc-developers/ldc/pull/798

A minimal test case would still be nice.

Cheers,
David
November 17, 2014
On Sunday, 16 November 2014 at 22:37:43 UTC, David Nadlinger via digitalmars-d-ldc wrote:
> On 15 Nov 2014, at 21:35, Daniel N via digitalmars-d-ldc wrote:
>> I hope this is sufficient info for you to reproduce, else I'll help more next week
>
> Issue on the GitHub tracker: https://github.com/ldc-developers/ldc/issues/797
> Bug fix: https://github.com/ldc-developers/ldc/pull/798
>
> A minimal test case would still be nice.
>
> Cheers,
> David

Great, thanks!

I dusted it down fairly good now, might not be fully minimal but at least it's small.

import std.algorithm;
import std.traits;

struct PrioritySearch(Graph)
{
    alias Vertex = ParameterTypeTuple!(Graph.adjacent);
    Tuple!(Vertex) Node;

    this(Graph graph)
    {
    }
}

unittest
{
    struct Graph
    {
        void adjacent(int[1])
        {
        }
    }

    PrioritySearch!(Graph)(Graph.init);
}

Regards,
Daniel N
November 17, 2014
On Monday, 17 November 2014 at 13:08:59 UTC, Daniel N wrote:
> On Sunday, 16 November 2014 at 22:37:43 UTC, David Nadlinger via digitalmars-d-ldc wrote:
>> On 15 Nov 2014, at 21:35, Daniel N via digitalmars-d-ldc wrote:
>>> I hope this is sufficient info for you to reproduce, else I'll help more next week
>>
>> Issue on the GitHub tracker: https://github.com/ldc-developers/ldc/issues/797
>> Bug fix: https://github.com/ldc-developers/ldc/pull/798
>>
>> A minimal test case would still be nice.
>>
>> Cheers,
>> David
>
> Great, thanks!
>
> I dusted it down fairly good now, might not be fully minimal but at least it's small.
>

Even smaller:

import std.algorithm;
import std.traits;

struct PrioritySearch
{
    void adjacent(int[1])
    {
    }

    alias Vertex = ParameterTypeTuple!adjacent;
    Tuple!(Vertex) Node;
}


November 19, 2014
Kai Nacke:

> This beta release also includes the mingw binaries missing from the alpha release. The mingw binaries are build with i686-4.9.1-release-posix-dwarf-rt_v3-rev1 downloaded with the mingw installer.
> 
> b3b0010c3f4da6ea01cf6230b030cd9b ldc2-0.15.0-beta1-mingw-x86.7z

If I try to compile this code with the latest 32-bit Windows ldc2:

void main() {
    import std.stdio;
    writeln("hello");
}

It crashes saying it can't find _ZSt24__throw_out_of_range_fmtPKcz of the library libstdc++6.dll.

Do I have to update gcc?

Bye,
bearophile
November 19, 2014
On Wednesday, 19 November 2014 at 15:24:31 UTC, bearophile wrote:
> Kai Nacke:
>
>> This beta release also includes the mingw binaries missing from the alpha release. The mingw binaries are build with i686-4.9.1-release-posix-dwarf-rt_v3-rev1 downloaded with the mingw installer.
>> 
>> b3b0010c3f4da6ea01cf6230b030cd9b ldc2-0.15.0-beta1-mingw-x86.7z
>
> If I try to compile this code with the latest 32-bit Windows ldc2:
>
> void main() {
>     import std.stdio;
>     writeln("hello");
> }
>
> It crashes saying it can't find _ZSt24__throw_out_of_range_fmtPKcz of the library libstdc++6.dll.
>
> Do I have to update gcc?
>
> Bye,
> bearophile

Yes. I compiled the LDC binary with the mentioned mingw gcc (http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/4.9.1/threads-posix/dwarf/i686-4.9.1-release-posix-dwarf-rt_v3-rev1.7z/download). The link is on the wiki page, too.

Regards,
Kai
November 19, 2014
Kai Nacke:

> Yes. I compiled the LDC binary with the mentioned mingw gcc (http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/4.9.1/threads-posix/dwarf/i686-4.9.1-release-posix-dwarf-rt_v3-rev1.7z/download). The link is on the wiki page, too.

Now ldc2 seems to work correctly here. Nice.

Thank you,
bearophile
November 20, 2014
I built ldc on debian wheezy using cmake. It needed to install libconfig and libedit but cmakefile didn't required them.
November 24, 2014
On Friday, 14 November 2014 at 22:05:29 UTC, Kai Nacke wrote:
> Even more exciting this release comes with the first official development snapshot(!) of a Win64 compiler targetting the MS C Runtime.

I was curious to see the differences between MSVC and MinGW.
(I ran strip on the MinGW binary)

Version | Size  | Compilation Time | Null-I/O | Full-I/O |
MSVC    | 715k  |    1m48.78s      | 0.234s   |   1.139  |
MinGW   | 1825k |      14.25s      | 0.296s   |   1.201  |

This is a closed source app which mainly uses regex and I/O, thus I also made a test with as little I/O as possible.

Is the msvc compiler itself a debug build?
« First   ‹ Prev
1 2