www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.ldc - LDC 0.13.0 has been released!

reply "Kai Nacke" <kai redstar.de> writes:
Hi everyone!

The first release of LDC 0.13.0 is here! It is based on the 
2.064.2 front-end and LLVM 3.1-3.4.2 (OS X: LLVM 3.2/3.4.x 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

MD5 checksums for the release packages:

8a6ef1ec9f7e332c57b872277c4fd548  ldc-0.13.0-src.tar.gz
3cc3bc0567b117fbbad1a3f305b14287  ldc2-0.13.0-linux-x86.tar.gz
0e519968ded1751e9bd1f91a12e55ea2  ldc2-0.13.0-linux-x86.tar.xz
b83e31d823b5628a66b181a437f1db84  ldc2-0.13.0-linux-x86_64.tar.gz
9d16bf4c0b5111e9cb1e745d5eda2dc7  ldc2-0.13.0-linux-x86_64.tar.xz
13b35fd089eb8804b4f5d7a3b579ba0c  ldc2-0.13.0-mingw-x86.7z
bb20d76ecfcb6c757dbcd3d6683b3cce  ldc2-0.13.0-mingw-x86.zip
cfc25af995e1c196ce90f2f318e80ff8  ldc2-0.13.0-osx-x86_64.tar.gz
b0d7008af942c5026339a3922b8c463a  ldc2-0.13.0-osx-x86_64.tar.xz

As always, the Win32/MinGW packages require a recent version of 
the mingw-w64 toolchain, see the README file 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
Jun 23 2014
next sibling parent reply "bearophile" <bearophileHUGS lycos.com> writes:
Kai Nacke:

 The first release of LDC 0.13.0 is here!
I'll try this version soon. I'd like switches to increase the inlining threshold and to use unsafe floating point optimizations (similar to -ffast-math of GCC). Bye, bearophile
Jun 24 2014
parent reply "Kai Nacke" <kai redstar.de> writes:
Hi bearophile!

On Tuesday, 24 June 2014 at 08:42:50 UTC, bearophile wrote:
 Kai Nacke:

 The first release of LDC 0.13.0 is here!
I'll try this version soon. I'd like switches to increase the inlining threshold and to use unsafe floating point optimizations (similar to -ffast-math of GCC). Bye, bearophile
I'll try to implement some new functionality soon. (I have a long list of things I like to do - this is one of them.) Regards, Kai
Jun 24 2014
parent reply "John Colvin" <john.loughran.colvin gmail.com> writes:
On Tuesday, 24 June 2014 at 10:35:06 UTC, Kai Nacke wrote:
 Hi bearophile!

 On Tuesday, 24 June 2014 at 08:42:50 UTC, bearophile wrote:
 Kai Nacke:

 The first release of LDC 0.13.0 is here!
I'll try this version soon. I'd like switches to increase the inlining threshold and to use unsafe floating point optimizations (similar to -ffast-math of GCC). Bye, bearophile
I'll try to implement some new functionality soon. (I have a long list of things I like to do - this is one of them.) Regards, Kai
I'd love to see -ffast-math in ldc. Some timings on a 1st gen corei7 for floating-point heavy code (doubles): gdc -frelease -fno-bounds-check -O3 -march=native 27171ms gdc -frelease -fno-bounds-check -Ofast -march=native 16786ms ldc2 -release -O5 -disable-boundscheck -mcpu=native 35523ms ldc2 -release -O5 -disable-boundscheck 34864ms ldc2 -release -O2 -disable-boundscheck 34724ms ldc2 -release -O1 -disable-boundscheck 42365ms ldmd2 -release -inline -noboundscheck -O 31982ms P.S. there's an overhead of about 4000ms in there from allocating memory and calls to fftw.
Jul 01 2014
next sibling parent David Nadlinger via digitalmars-d-ldc <digitalmars-d-ldc puremagic.com> writes:
On 1 Jul 2014, at 15:29, John Colvin via digitalmars-d-ldc wrote:
 I'd love to see -ffast-math in ldc.
This shouldn't be hard to add at all. We need a few new command line switches (like [1], but probably using FlagParser like [2] for uniformity), and adapt our TargetMachine creation code [3] to respect them (like in [4]). Would be great if you could cook up a pull request or otherwise open an issue on the tracker. I'd suggest going for the LLVM-style names like in [1], as the GCC semantics of -ffast-math and friends are a bit strange. Best, David [1] https://github.com/llvm-mirror/llvm/blob/36019bbc3ad87a66e3555e09fc579781a84a96f9/include/llvm/CodeGen/CommandFlags.h#L90-L119 [2] https://github.com/ldc-developers/ldc/blob/69442a2dd85d147eadc68b53a7a1c346dbf579f3/driver/cl_options.cpp#L346 [3] https://github.com/ldc-developers/ldc/blob/69442a2dd85d147eadc68b53a7a1c346dbf579f3/driver/targetmachine.cpp#L417 [4] https://github.com/llvm-mirror/llvm/blob/36019bbc3ad87a66e3555e09fc579781a84a96f9/include/llvm/CodeGen/CommandFlags.h#L226-L231
Jul 06 2014
prev sibling parent reply David Nadlinger via digitalmars-d-ldc <digitalmars-d-ldc puremagic.com> writes:
On 1 Jul 2014, at 15:29, John Colvin via digitalmars-d-ldc wrote:
 ldmd2 -release -inline -noboundscheck -O
  31982ms
Oh, and you can use the -singleobj option with the ldc2 driver to get the same (good) timings as with ldmd. It enables cross-module optimizations like inlining and arguably should be the default for ldc2 too. Cheers, David
Jul 06 2014
parent reply "John Colvin" <john.loughran.colvin gmail.com> writes:
On Sunday, 6 July 2014 at 23:40:01 UTC, David Nadlinger via 
digitalmars-d-ldc wrote:
 On 1 Jul 2014, at 15:29, John Colvin via digitalmars-d-ldc 
 wrote:
 ldmd2 -release -inline -noboundscheck -O
 31982ms
Oh, and you can use the -singleobj option with the ldc2 driver to get the same (good) timings as with ldmd. It enables cross-module optimizations like inlining and arguably should be the default for ldc2 too. Cheers, David
It should definitely be the default for optimised builds. What are the disadvantages?
Jul 07 2014
parent reply David Nadlinger via digitalmars-d-ldc <digitalmars-d-ldc puremagic.com> writes:
On 8 Jul 2014, at 1:40, John Colvin via digitalmars-d-ldc wrote:
 It should definitely be the default for optimised builds. What are the 
 disadvantages?
I agree. The downside to making -singleobj the default is mainly breaking backwards compatibility at this point, as it – nomen est omen – causes LDC to only emit a single object file, which might affect some build systems. As to why it hasn't been the default in the first place, I am not sure (Christian, do you remember any details?). The decision might have been made with flexibility in terms of incremental compilation in mind, which would maybe depend on having one object file per module. However, it has since been established that Walter is not interested in making the frontend support reusing an object file as part of a compilation with different parameters (e.g. first run ldc2 -c foo.d bar.d baz.d, and later run only ldc2 -c foo.d if foo has changed, cf. issue 3274 and others). Thus, emitting only one object file wouldn't break "correct" incremental compilation setups either. Cheers, David
Jul 10 2014
parent reply "Trass3r" <un known.com> writes:
Hmm now with git master I get
import\core\stdc\stdio.d(644): error : Function type does not 
match previously declared function with the same mangled name: 
_get_osfhandle
Jul 12 2014
parent "Trass3r" <un known.com> writes:
Cause std.process has to redefine _get_osfhandle -.-
Jul 13 2014
prev sibling next sibling parent Konstantinos Margaritis via digitalmars-d-ldc writes:
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Tue, 24 Jun 2014 04:48:14 +0000
Kai Nacke via digitalmars-d-ldc <digitalmars-d-ldc puremagic.com> wrote:

 Hi everyone!
Hi Kai,
=20
 The first release of LDC 0.13.0 is here! It is based on the=20
 2.064.2 front-end and LLVM 3.1-3.4.2 (OS X: LLVM 3.2/3.4.x only).
The Debian packages have been updated accordingly: https://buildd.debian.org/status/package.php?p=3Dldc&suite=3Dsid (using llvm-3.4)
 Thanks to everybody involved in making this happen!
Thanks to you guys for a great job! Konstantinos
Jun 24 2014
prev sibling next sibling parent reply "Dicebot" <public dicebot.lv> writes:
..and Arch Linux has just joined the celebration :)
Jun 24 2014
next sibling parent "Marc =?UTF-8?B?U2Now7x0eiI=?= <schuetzm gmx.net> writes:
For openSUSE:

https://build.opensuse.org/package/show/home:marc_schuetz:branches:home:dmacvicar/ldc
Jun 24 2014
prev sibling parent reply "Kai Nacke" <kai redstar.de> writes:
The Gentoo overlay contains an ebuild for 0.13.0, too.
I update the dlang overlay soon.

Regards,
Kai
Jun 24 2014
parent "FrankLike" <1150015857 qq.com> writes:
On Tuesday, 24 June 2014 at 16:11:13 UTC, Kai Nacke wrote:
 The Gentoo overlay contains an ebuild for 0.13.0, too.
 I update the dlang overlay soon.

 Regards,
 Kai
Good job,I will try it. Thank you.
Jun 25 2014
prev sibling parent reply Russel Winder via digitalmars-d-ldc <digitalmars-d-ldc puremagic.com> writes:
On Tue, 2014-06-24 at 04:48 +0000, Kai Nacke via digitalmars-d-ldc
wrote:
 Hi everyone!
=20
 The first release of LDC 0.13.0 is here! It is based on the=20
 2.064.2 front-end and LLVM 3.1-3.4.2 (OS X: LLVM 3.2/3.4.x only).
It is splendid for LDC and D in general that this release has made it into the wild. The sooner it makes it to Debian Sid, Fedora 20/21, MacPorts, HomeBrew, Chocolatey, etc. the better! I shall probably still use merge-2.065 though. :-) --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 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
Jun 25 2014
next sibling parent reply "Kai Nacke" <kai redstar.de> writes:
Hi Russel!

On Wednesday, 25 June 2014 at 17:56:53 UTC, Russel Winder via 
digitalmars-d-ldc wrote:
 I shall probably still use merge-2.065 though. :-)
No. I merged merge-2.065 into master. :-) Regards, Kai
Jun 25 2014
parent reply Russel Winder via digitalmars-d-ldc <digitalmars-d-ldc puremagic.com> writes:
On Wed, 2014-06-25 at 18:21 +0000, Kai Nacke via digitalmars-d-ldc
wrote:
 Hi Russel!
=20
 On Wednesday, 25 June 2014 at 17:56:53 UTC, Russel Winder via=20
 digitalmars-d-ldc wrote:
 I shall probably still use merge-2.065 though. :-)
=20 No. I merged merge-2.065 into master. :-)
Sadly master fails to compile for me on Debian Sid. Could this be a local issue or is it an issue with the source itself? [ 20%] Generating src/core/stdc/wctype.o [ 20%] Generating src/ldc/eh.o 0 ldc2 0x000000000143f4a2 llvm::sys::PrintStackTrace(_IO_FILE*) + 34 1 ldc2 0x000000000143ef4c 2 libpthread.so.0 0x00007f365a99b8f0 3 ldc2 0x0000000000700ce0 stripModifiers(Type*) + 0 4 ldc2 0x000000000072c24f DtoType(Type*) + 15 5 ldc2 0x00000000006fe995 DtoAlloca(Type*, char const*) + 21 6 ldc2 0x00000000006ee2dc CallExp::toElem(IRState*) + 4668 7 ldc2 0x00000000006e0387 Expression::toElemDtor(IRState*) + 583 8 ldc2 0x0000000000707e0e 9 ldc2 0x0000000000707f04 10 ldc2 0x0000000000707f04 11 ldc2 0x0000000000707d04 Statement_toIR(Statement*, IRState*) + 36 12 ldc2 0x00000000006dddd4 DtoDefineFunction(FuncDeclaration*) + 2196 13 ldc2 0x0000000000799163 14 ldc2 0x0000000000799163 15 ldc2 0x00000000007990de Declaration_codegen(Dsymbol*) + 46 16 ldc2 0x00000000006cfb4d Module::genLLVMModule(llvm::LLVMContext&) + 669 17 ldc2 0x00000000005f10bf main + 7455 18 libc.so.6 0x00007f36597acb45 __libc_start_main + 245 19 ldc2 0x00000000006145bf Segmentation fault --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 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
Jun 28 2014
next sibling parent "Trass3r" <un known.com> writes:
https://github.com/ldc-developers/ldc/issues/646
Jun 28 2014
prev sibling parent reply "Kai Nacke" <kai redstar.de> writes:
On Saturday, 28 June 2014 at 11:24:06 UTC, Russel Winder via 
digitalmars-d-ldc wrote:
 On Wed, 2014-06-25 at 18:21 +0000, Kai Nacke via 
 digitalmars-d-ldc
 wrote:
 Hi Russel!
 
 On Wednesday, 25 June 2014 at 17:56:53 UTC, Russel Winder via 
 digitalmars-d-ldc wrote:
 I shall probably still use merge-2.065 though. :-)
No. I merged merge-2.065 into master. :-)
Sadly master fails to compile for me on Debian Sid. Could this be a local issue or is it an issue with the source itself? [ 20%] Generating src/core/stdc/wctype.o [ 20%] Generating src/ldc/eh.o 0 ldc2 0x000000000143f4a2 llvm::sys::PrintStackTrace(_IO_FILE*) + 34 1 ldc2 0x000000000143ef4c 2 libpthread.so.0 0x00007f365a99b8f0 3 ldc2 0x0000000000700ce0 stripModifiers(Type*) + 0 4 ldc2 0x000000000072c24f DtoType(Type*) + 15 5 ldc2 0x00000000006fe995 DtoAlloca(Type*, char const*) + 21 6 ldc2 0x00000000006ee2dc CallExp::toElem(IRState*) + 4668 7 ldc2 0x00000000006e0387 Expression::toElemDtor(IRState*) + 583 8 ldc2 0x0000000000707e0e 9 ldc2 0x0000000000707f04 10 ldc2 0x0000000000707f04 11 ldc2 0x0000000000707d04 Statement_toIR(Statement*, IRState*) + 36 12 ldc2 0x00000000006dddd4 DtoDefineFunction(FuncDeclaration*) + 2196 13 ldc2 0x0000000000799163 14 ldc2 0x0000000000799163 15 ldc2 0x00000000007990de Declaration_codegen(Dsymbol*) + 46 16 ldc2 0x00000000006cfb4d Module::genLLVMModule(llvm::LLVMContext&) + 669 17 ldc2 0x00000000005f10bf main + 7455 18 libc.so.6 0x00007f36597acb45 __libc_start_main + 245 19 ldc2 0x00000000006145bf Segmentation fault
I committed a change too early to druntime. Should be fixed now. (Travis is still running.) Regards, Kai
Jun 28 2014
next sibling parent Russel Winder via digitalmars-d-ldc <digitalmars-d-ldc puremagic.com> writes:
On Sat, 2014-06-28 at 15:16 +0000, Kai Nacke via digitalmars-d-ldc
wrote:
[=E2=80=A6]
 I committed a change too early to druntime. Should be fixed now.=20
 (Travis is still running.)
'Tis indeed fixed. Thanks. --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 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
Jun 28 2014
prev sibling parent reply "Trass3r" <un known.com> writes:
druntime doesn't compile with Visual Studio since there's no 
version block implementing isnan and friends.
Thus druntime/src\core\stdc\math.d(665) error : undefined 
identifier isnan
Jun 28 2014
parent reply "Kai Nacke" <kai redstar.de> writes:
On Saturday, 28 June 2014 at 16:52:58 UTC, Trass3r wrote:
 druntime doesn't compile with Visual Studio since there's no 
 version block implementing isnan and friends.
 Thus druntime/src\core\stdc\math.d(665) error : undefined 
 identifier isnan
Please, could you check if this patch https://gist.github.com/redstar/5800e9dc85a1d5626e7e fixes the problem? Thanks! Regards, Kai
Jun 28 2014
parent "Trass3r" <un known.com> writes:
 Please, could you check if this patch 
 https://gist.github.com/redstar/5800e9dc85a1d5626e7e fixes the 
 problem?
Yes I already tested the DigitalMarsWin64 version successfully in the meantime.
Jun 28 2014
prev sibling parent reply "Kai Nacke" <kai redstar.de> writes:
On Wednesday, 25 June 2014 at 17:56:53 UTC, Russel Winder via 
digitalmars-d-ldc wrote:
 On Tue, 2014-06-24 at 04:48 +0000, Kai Nacke via 
 digitalmars-d-ldc
 wrote:
 Hi everyone!
 
 The first release of LDC 0.13.0 is here! It is based on the 
 2.064.2 front-end and LLVM 3.1-3.4.2 (OS X: LLVM 3.2/3.4.x 
 only).
It is splendid for LDC and D in general that this release has made it into the wild. The sooner it makes it to Debian Sid, Fedora 20/21, MacPorts, HomeBrew, Chocolatey, etc. the better!
Yes, that is really cool. Anyone here to create a FreeBSD port? Regards, Kai
Jun 25 2014
parent reply "FrankLike" <1150015857 qq.com> writes:
On Wednesday, 25 June 2014 at 18:27:26 UTC, Kai Nacke wrote:
 On Wednesday, 25 June 2014 at 17:56:53 UTC, Russel Winder via 
 digitalmars-d-ldc wrote:
 On Tue, 2014-06-24 at 04:48 +0000, Kai Nacke via 
 digitalmars-d-ldc
 wrote:
 Hi everyone!
 
 The first release of LDC 0.13.0 is here! It is based on the 
 2.064.2 front-end and LLVM 3.1-3.4.2 (OS X: LLVM 3.2/3.4.x 
 only).
It is splendid for LDC and D in general that this release has made it into the wild. The sooner it makes it to Debian Sid, Fedora 20/21, MacPorts, HomeBrew, Chocolatey, etc. the better!
Yes, that is really cool. Anyone here to create a FreeBSD port? Regards, Kai
Use the LDC2 to build,found the exe file size is big,a helloworld.exe about 3.4MB,and Memory Usage is bigger than dmd's .
Jun 27 2014
parent reply "John Colvin" <john.loughran.colvin gmail.com> writes:
On Saturday, 28 June 2014 at 06:39:57 UTC, FrankLike wrote:
 On Wednesday, 25 June 2014 at 18:27:26 UTC, Kai Nacke wrote:
 On Wednesday, 25 June 2014 at 17:56:53 UTC, Russel Winder via 
 digitalmars-d-ldc wrote:
 On Tue, 2014-06-24 at 04:48 +0000, Kai Nacke via 
 digitalmars-d-ldc
 wrote:
 Hi everyone!
 
 The first release of LDC 0.13.0 is here! It is based on the 
 2.064.2 front-end and LLVM 3.1-3.4.2 (OS X: LLVM 3.2/3.4.x 
 only).
It is splendid for LDC and D in general that this release has made it into the wild. The sooner it makes it to Debian Sid, Fedora 20/21, MacPorts, HomeBrew, Chocolatey, etc. the better!
Yes, that is really cool. Anyone here to create a FreeBSD port? Regards, Kai
Use the LDC2 to build,found the exe file size is big,a helloworld.exe about 3.4MB,and Memory Usage is bigger than dmd's .
What compiler flags did you use?
Jun 28 2014
parent "Franklike" <1150015857 qq.com> writes:
 Use the LDC2 to build,found the exe file size is big,a 
 helloworld.exe about 3.4MB,and  Memory Usage is bigger than 
 dmd's .
What compiler flags did you use?
LDC2 a.d or LDC2 -release a.d How about your exe file size?
Jun 28 2014