digitalmars.D.ldc - LDC 0.13.0 alpha 2 released! Please help test!
- Kai Nacke (50/50) Mar 29 2014 Hi everyone!
- bearophile (5/12) Mar 29 2014 This second program still crashes at run-time (Windows 32 bit):
- Joakim (7/19) Mar 31 2014 I wonder if it'd be worthwhile to use the D Rosetta code
- bearophile (7/9) Mar 31 2014 I am using those programs also as regression/performance testing
- Kai Nacke (12/14) Apr 13 2014 I identified the problem. The program declares a static array
- bearophile (13/15) Apr 14 2014 Yes, recently zero-length arrays were improved in DMD right to
- David Nadlinger (5/9) Apr 14 2014 I added a link to the upstream bug to the GitHub ticket. Don't have a
- bearophile (5/8) Apr 14 2014 So it was not a LDC2 bug, it's just not yet updated to 2.065.
- David Nadlinger (5/11) Apr 14 2014 No worries! It's easy to mix up the different versions right now,
- bearophile (15/15) Mar 30 2014 I am also seeing problems with this in the latest two betas (but
- Kai Nacke (5/8) Mar 31 2014 I can reproduce this on mingw but not on Linux. Strange.
- bearophile (4/5) Mar 31 2014 OK. There is also the other problem with the second Sokoban :-)
- Kai Nacke (7/8) Mar 31 2014 I am doing something wrong here. The code produce a compile error
- Kai Nacke (5/15) Mar 31 2014 Somewhere in the code, an additional _ is added to the mangled
- David Nadlinger (5/12) Mar 31 2014 Without having looked into the issue at all, my first guess would be
- Kai Nacke (6/20) Apr 12 2014 weak symbols are not really supported on mingw. I changed the
- Martin Krejcirik (4/5) Mar 30 2014 Could this be compiled with glibc 2.13 ? It doesn't work on Debian wheez...
Hi everyone! The second alpha release of LDC release 0.13.0 is here! It is based on the 2.064.2 front-end and LLVM 3.1-3.4 (OS X: LLVM 3.2/3.4 only). Please refer to the GitHub release page for the preliminary change log and the package download links: https://github.com/ldc-developers/ldc/releases/tag/v0.13.0-alpha2 There was an overwhelming feedback on the first alpha release. I was able to integrate most of the suggestions made. But I also decided to postpone some of them to release 0.14.0: - Add line numbers to the error messages produced by -nogc. - Provide a binary which can compile for ARM targets. (This makes only sense if The rdmd tool is only included in the Debian package. I will integrate it soon, too. Important: This is an alpha version and contains known bugs. Be sure to read the section "Known bugs (release blocker)" in the preliminary change log. MD5 checksums for the release packages: 49777584981249e79d053136dadd7883 ldc-0.13.0-alpha2-src.tar.gz ec732a2631d10bffad3585c15d73785f ldc2-0.13.0-alpha2-linux-x86.tar.gz 4144fcc98ad251d62bece61f51122672 ldc2-0.13.0-alpha2-linux-x86.tar.xz 6a4b6174bf3d96490be2d6159ca1ec1f ldc2-0.13.0-alpha2-linux-x86_64.tar.gz 8e5fe8b7f2abd6bea349cad4fff36a52 ldc2-0.13.0-alpha2-linux-x86_64.tar.xz 9ce18d8735994af9babcbcbf1cefb8f7 ldc2-0.13.0-alpha2-mingw-x86.7z c81a6a2999ab6b72f0ea5115d0caf1e8 ldc2-0.13.0-alpha2-mingw-x86.zip 52c6fd91e24a77bef3ff2955b306a197 ldc2-0.13.0-alpha2-osx-x86_64.tar.gz 3c4609a235238611118d63fa7bb946f9 ldc2-0.13.0-alpha2-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 because I found a severe bug in the Win64/MSVC port. I hope to have this fixed for the beta1 release. 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
Mar 29 2014
Kai Nacke:ldc2-0.13.0-alpha2-mingw-x86.7zPlease 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.This second program still crashes at run-time (Windows 32 bit): http://rosettacode.org/wiki/Sokoban#Faster_Version Bye, bearophile
Mar 29 2014
On Saturday, 29 March 2014 at 18:59:43 UTC, bearophile wrote:Kai Nacke:I wonder if it'd be worthwhile to use the D Rosetta code implementations as a continuous build test for all 3 compilers, as some have suggested D do with as many open source D libraries as it can. You'd think the Rosetta code would do a good job of exercising many parts of D. These could be useful for not just regressions but tracking performance over time.ldc2-0.13.0-alpha2-mingw-x86.7zPlease 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.This second program still crashes at run-time (Windows 32 bit): http://rosettacode.org/wiki/Sokoban#Faster_Version Bye, bearophile
Mar 31 2014
Joakim:I wonder if it'd be worthwhile to use the D Rosetta code implementations as a continuous build test for all 3 compilers,I am using those programs also as regression/performance testing for dmd/ldc2, but I run those tests once in a while (using Python scripts that try to compile all the Rosettacode entries kept in a directory), and it's not "continuous". Bye, bearophile
Mar 31 2014
Hi bearophile! On Saturday, 29 March 2014 at 18:59:43 UTC, bearophile wrote:This second program still crashes at run-time (Windows 32 bit): http://rosettacode.org/wiki/Sokoban#Faster_VersionI identified the problem. The program declares a static array with zero elements. Using the ptr property of this member leads to the crash. If you change CellIndex[0] c_; to CellIndex[1] c_; then the crash is gone. With this reduced test case I know need to figure out whats going (https://github.com/ldc-developers/ldc/issues/598) to track this problem. Regards, Kai
Apr 13 2014
Kai Nacke:I identified the problem. The program declares a static array with zero elements.Yes, recently zero-length arrays were improved in DMD right to allow that better kind of usage in variable length structs. Past versions (visible in the Revision History in that Rosettacode site) used more awkward code, like: (cast(CellIndex*)&state.c_)[i] = x; because until recently the .ptr field of a zero length array was null. Recently this was fixed and now it's not null any more. It returns the start address. So you can use (you still need to use .ptr because the length is zero): c_.ptr[i] = x; Bye, bearophile
Apr 14 2014
On 14 Apr 2014, at 7:57, Kai Nacke wrote:With this reduced test case I know need to figure out whats going on (https://github.com/ldc-developers/ldc/issues/598) to track this problem.I added a link to the upstream bug to the GitHub ticket. Don't have a build of the 2.065 branch handy on this machine, though, so I didn't close the issue yet. David
Apr 14 2014
David Nadlinger:I added a link to the upstream bug to the GitHub ticket. Don't have a build of the 2.065 branch handy on this machine, though, so I didn't close the issue yet.So it was not a LDC2 bug, it's just not yet updated to 2.065. Sorry for my wrong report. Bye, bearophile
Apr 14 2014
On 14 Apr 2014, at 14:40, bearophile wrote:David Nadlinger:No worries! It's easy to mix up the different versions right now, especially since LDC master is not even on 2.064 yet, but the current alpha release is based on 2.064.2. DavidI added a link to the upstream bug to the GitHub ticket. Don't have a build of the 2.065 branch handy on this machine, though, so I didn't close the issue yet.So it was not a LDC2 bug, it's just not yet updated to 2.065. Sorry for my wrong report.
Apr 14 2014
I am also seeing problems with this in the latest two betas (but not in the precedent ldc2 version): http://rosettacode.org/wiki/Left_factorials#D ....>ldmd2 -O -release -inline -noboundscheck left_factorials.d left_factorials.obj:fake:(.text$__D3std8internal4math11biguintcore7BigUint13__T6mulIntTmZ6mulIntFNaS3std8internal4math11biguintcore7BigUintmZS3std8internal4math 11biguintcore7BigUint+0xfd): undefined reference to `_D3std8internal4math10biguintx8625__T15multibyteMulAddVa43Z15multibyteMulAddFNaAkxAkkkZk' ...\ldc2\bin/../lib/libphobos-ldc.a(biguintx86.obj):fake:(.text+0xad9): undefined reference to `_D3std8internal4math10biguintx8625__T15multi byteMulAddVa43Z15multibyteMulAddFNaAkxAkkkZk' collect2.exe: error: ld returned 1 exit status Error: ...\MinGW\bin\gcc.exe failed with status: 1 Bye, bearophile
Mar 30 2014
Hi bearophile! On Sunday, 30 March 2014 at 07:53:33 UTC, bearophile wrote:I am also seeing problems with this in the latest two betas (but not in the precedent ldc2 version): http://rosettacode.org/wiki/Left_factorials#DI can reproduce this on mingw but not on Linux. Strange. Regards, Kai
Mar 31 2014
Kai Nacke:I can reproduce this on mingw but not on Linux. Strange.OK. There is also the other problem with the second Sokoban :-) Bye, bearophile
Mar 31 2014
Hi bearophile! On Monday, 31 March 2014 at 16:38:11 UTC, bearophile wrote:OK. There is also the other problem with the second Sokoban :-)I am doing something wrong here. The code produce a compile error on Linux (around line 235 / 239) but compiles on mingw. And yes, it crashes then at runtime. Regards, Kai
Mar 31 2014
On Monday, 31 March 2014 at 15:47:20 UTC, Kai Nacke wrote:Hi bearophile! On Sunday, 30 March 2014 at 07:53:33 UTC, bearophile wrote:Somewhere in the code, an additional _ is added to the mangled name. Therefore the link error... Regards, KaiI am also seeing problems with this in the latest two betas (but not in the precedent ldc2 version): http://rosettacode.org/wiki/Left_factorials#DI can reproduce this on mingw but not on Linux. Strange. Regards, Kai
Mar 31 2014
On 31 Mar 2014, at 17:47, Kai Nacke wrote:On Sunday, 30 March 2014 at 07:53:33 UTC, bearophile wrote:Without having looked into the issue at all, my first guess would be that this might be a name mangling issue with the Win32 calling convention (either prepended underscore or an extra <n> suffix). DavidI am also seeing problems with this in the latest two betas (but not in the precedent ldc2 version): http://rosettacode.org/wiki/Left_factorials#DI can reproduce this on mingw but not on Linux. Strange.
Mar 31 2014
On Monday, 31 March 2014 at 17:13:05 UTC, David Nadlinger wrote:On 31 Mar 2014, at 17:47, Kai Nacke wrote:weak symbols are not really supported on mingw. I changed the assembler output to look like code generated from D templates (using .linkonce discard). Now it links & runs. Regards, KaiOn Sunday, 30 March 2014 at 07:53:33 UTC, bearophile wrote:Without having looked into the issue at all, my first guess would be that this might be a name mangling issue with the Win32 calling convention (either prepended underscore or an extra <n> suffix). DavidI am also seeing problems with this in the latest two betas (but not in the precedent ldc2 version): http://rosettacode.org/wiki/Left_factorials#DI can reproduce this on mingw but not on Linux. Strange.
Apr 12 2014
On 29.3.2014 19:32, Kai Nacke wrote:4144fcc98ad251d62bece61f51122672 ldc2-0.13.0-alpha2-linux-x86.tar.xzCould this be compiled with glibc 2.13 ? It doesn't work on Debian wheezy. -- mk
Mar 30 2014
On Sunday, 30 March 2014 at 16:53:37 UTC, Martin Krejcirik wrote:On 29.3.2014 19:32, Kai Nacke wrote:It is compiled on Ubuntu 12 TLS. It uses glibc-2.15. Regards, Kai4144fcc98ad251d62bece61f51122672 ldc2-0.13.0-alpha2-linux-x86.tar.xzCould this be compiled with glibc 2.13 ? It doesn't work on Debian wheezy.
Mar 30 2014
On Sunday, 30 March 2014 at 17:55:56 UTC, Kai Nacke wrote:Ubuntu 12 TLS.Nice pun :)
Mar 30 2014