digitalmars.D.ldc - LDC 0.15.0 beta1 released! Please help test!
- Kai Nacke (50/50) Nov 14 2014 Hi everyone!
- Daniel N (18/23) Nov 15 2014 Dear Kai,
- David Nadlinger via digitalmars-d-ldc (7/9) Nov 16 2014 Issue on the GitHub tracker:
- bearophile (11/17) Nov 19 2014 If I try to compile this code with the latest 32-bit Windows ldc2:
- Kai Nacke (6/25) Nov 19 2014 Yes. I compiled the LDC binary with the mentioned mingw gcc
- bearophile (4/7) Nov 19 2014 Now ldc2 seems to work correctly here. Nice.
- drug (2/2) Nov 20 2014 I built ldc on debian wheezy using cmake. It needed to install libconfig...
- Kai Nacke (8/10) Nov 24 2014 Hi drug!
- David Nadlinger via digitalmars-d-ldc (6/8) Nov 24 2014 I agree; as far as I'm aware, the public API should not depend on
- Russel Winder via digitalmars-d-ldc (11/13) Nov 24 2014 On Mon, 2014-11-24 at 20:15 +0000, Kai Nacke via digitalmars-d-ldc
- Daniel N (9/12) Nov 24 2014 I was curious to see the differences between MSVC and MinGW.
- Kai Nacke (6/18) Nov 24 2014 Yes, the compiler is itself a debug build. I won't change this
- David Nadlinger via digitalmars-d-ldc (4/6) Nov 24 2014 Maybe a Release+Asserts build would be a good compromise? I don't recall...
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
Nov 14 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, KaiDear 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
Nov 15 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 weekIssue 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
Nov 16 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: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 NI hope this is sufficient info for you to reproduce, else I'll help more next weekIssue 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
Nov 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:Even smaller: import std.algorithm; import std.traits; struct PrioritySearch { void adjacent(int[1]) { } alias Vertex = ParameterTypeTuple!adjacent; Tuple!(Vertex) Node; }On 15 Nov 2014, at 21:35, Daniel N via digitalmars-d-ldc wrote:Great, thanks! I dusted it down fairly good now, might not be fully minimal but at least it's small.I hope this is sufficient info for you to reproduce, else I'll help more next weekIssue 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
Nov 17 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.7zIf 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
Nov 19 2014
On Wednesday, 19 November 2014 at 15:24:31 UTC, bearophile wrote: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_v -rev1.7z/download). The link is on the wiki page, too. Regards, KaiThis 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.7zIf 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
Nov 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_v -rev1.7z/download). The link is on the wiki page, too.Now ldc2 seems to work correctly here. Nice. Thank you, bearophile
Nov 19 2014
I built ldc on debian wheezy using cmake. It needed to install libconfig and libedit but cmakefile didn't required them.
Nov 20 2014
On Thursday, 20 November 2014 at 11:20:57 UTC, drug wrote:I built ldc on debian wheezy using cmake. It needed to install libconfig and libedit but cmakefile didn't required them.Hi drug! The CMakeList.txt checks for libconfig. But this can be really improved - I'll try to add some sanity checks. libedit is a dependency from latest LLVM. I am not sure if this must be checked by the LDC files. Regards, Kai
Nov 24 2014
On 24 Nov 2014, at 21:15, Kai Nacke via digitalmars-d-ldc wrote:libedit is a dependency from latest LLVM. I am not sure if this must be checked by the LDC files.I agree; as far as I'm aware, the public API should not depend on libedit. If it really does, this might be something to alert the LLVM people know about. Cheers, David
Nov 24 2014
On Mon, 2014-11-24 at 20:15 +0000, Kai Nacke via digitalmars-d-ldc wrote: […]libedit is a dependency from latest LLVM. I am not sure if this must be checked by the LDC files.I manually added the libedit package on Debian Sid in order to get LDC to build, it wasn't going to build any other way :-( -- Russel. ============================================================================= Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.net 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Nov 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?
Nov 24 2014
On Monday, 24 November 2014 at 11:37:38 UTC, Daniel N wrote:On Friday, 14 November 2014 at 22:05:29 UTC, Kai Nacke wrote:Yes, the compiler is itself a debug build. I won't change this until LLVM 3.6 is released (this LLVM is required for the msvc build). Regards, KaiEven 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?
Nov 24 2014
On 24 Nov 2014, at 21:16, Kai Nacke via digitalmars-d-ldc wrote:Yes, the compiler is itself a debug build. I won't change this until LLVM 3.6 is released (this LLVM is required for the msvc build).Maybe a Release+Asserts build would be a good compromise? I don't recall how much of a difference it makes, though. David
Nov 24 2014