Re: LDC 1.4.0-beta1
On Monday, 11 September 2017 at 14:49:44 UTC, kinke wrote: There's a difference between "doesn't compile" and "asserts". Please always compare to the matching DMD version, 2.074.1 in this case, which produces an empty string as well, I guess because the writer was taken by value in Phobos 2.074.1. Fair point on the DMD versioning. I think I was only using the most recent DMD. I had thought this capability was added in 2.074.0 when the CT string feature was added, but the changelogs only reference formattedRead, not formattedWrite. https://dlang.org/changelog/2.074.0.html#std-format-formattedRead I don't know when it was actually added.
Re: LDC 1.4.0-beta1
On Sunday, 10 September 2017 at 16:25:52 UTC, jmh530 wrote: The following code compiles on DMD, but not on LDC (tested versions 1.3.0 and the 1.4.0 beta). unittest { import std.array : appender; import std.format : formattedWrite; auto x = appender!(string); typeof(x) y; formattedWrite(y, "%2s", [0, 1]); assert(y.data == "[ 0, 1]"); } There's a difference between "doesn't compile" and "asserts". Please always compare to the matching DMD version, 2.074.1 in this case, which produces an empty string as well, I guess because the writer was taken by value in Phobos 2.074.1.
Re: LDC 1.4.0-beta1
On Saturday, 26 August 2017 at 22:35:11 UTC, kinke wrote: Hi everyone, on behalf of the LDC team, I'm glad to announce LDC 1.4.0-beta1. The highlights of version 1.4 in a nutshell: The following code compiles on DMD, but not on LDC (tested versions 1.3.0 and the 1.4.0 beta). unittest { import std.array : appender; import std.format : formattedWrite; auto x = appender!(string); typeof(x) y; formattedWrite(y, "%2s", [0, 1]); assert(y.data == "[ 0, 1]"); }
Re: LDC 1.4.0-beta1
On Saturday, 2 September 2017 at 09:59:42 UTC, Igor Shirkalin wrote: On Saturday, 26 August 2017 at 22:35:11 UTC, kinke wrote: Hello! Hi everyone, on behalf of the LDC team, I'm glad to announce LDC 1.4.0-beta1. The highlights of version 1.4 in a nutshell: * Based on D 2.074.1. Is it possible to build LDC based on D 2.076 with latest -betterC feature? No, we're still ironing out 2.075. https://github.com/ldc-developers/ldc/pull/2252 https://github.com/ldc-developers/ldc/pull/2273
Re: LDC 1.4.0-beta1
On Saturday, 26 August 2017 at 22:35:11 UTC, kinke wrote: Hello! Hi everyone, on behalf of the LDC team, I'm glad to announce LDC 1.4.0-beta1. The highlights of version 1.4 in a nutshell: * Based on D 2.074.1. Is it possible to build LDC based on D 2.076 with latest -betterC feature?
Re: LDC 1.4.0-beta1
On Tuesday, 29 August 2017 at 13:11:44 UTC, kinke wrote: On Tuesday, 29 August 2017 at 12:46:16 UTC, Andrea Fontana wrote: On Saturday, 26 August 2017 at 22:35:11 UTC, kinke wrote: * Shipping with ldc-build-runtime, a small D tool to easily (cross-)compile the runtime libraries yourself. Have anyone ever tried to compile a linux version of ldc that generates windows executables? Andrea Yep, I even mentioned it prominently in the 1.3 release log. See https://github.com/ldc-developers/ldc/pull/2142#issuecomment-304472412. That was before ldc-build-runtime though; I simply used druntime/Phobos from the prebuilt Win64 package. Ooh, sweet! I might try this if I can't get LDC to build on windows and just build the libs from my mac instead.
Re: LDC 1.4.0-beta1
On Tuesday, 29 August 2017 at 13:11:44 UTC, kinke wrote: On Tuesday, 29 August 2017 at 12:46:16 UTC, Andrea Fontana wrote: On Saturday, 26 August 2017 at 22:35:11 UTC, kinke wrote: * Shipping with ldc-build-runtime, a small D tool to easily (cross-)compile the runtime libraries yourself. Have anyone ever tried to compile a linux version of ldc that generates windows executables? Andrea Yep, I even mentioned it prominently in the 1.3 release log. See https://github.com/ldc-developers/ldc/pull/2142#issuecomment-304472412. That was before ldc-build-runtime though; I simply used druntime/Phobos from the prebuilt Win64 package. Is there also a wiki page about this?
Re: LDC 1.4.0-beta1
On Tuesday, 29 August 2017 at 12:46:16 UTC, Andrea Fontana wrote: On Saturday, 26 August 2017 at 22:35:11 UTC, kinke wrote: * Shipping with ldc-build-runtime, a small D tool to easily (cross-)compile the runtime libraries yourself. Have anyone ever tried to compile a linux version of ldc that generates windows executables? Andrea Yep, I even mentioned it prominently in the 1.3 release log. See https://github.com/ldc-developers/ldc/pull/2142#issuecomment-304472412. That was before ldc-build-runtime though; I simply used druntime/Phobos from the prebuilt Win64 package.
Re: LDC 1.4.0-beta1
On Saturday, 26 August 2017 at 22:35:11 UTC, kinke wrote: * Shipping with ldc-build-runtime, a small D tool to easily (cross-)compile the runtime libraries yourself. Have anyone ever tried to compile a linux version of ldc that generates windows executables? Andrea
Re: LDC 1.4.0-beta1
On Sunday, 27 August 2017 at 18:30:36 UTC, Joakim wrote: Yes. [...] This is awesome. I appreciate all the hard work. As far as testing, it will be a while before my current project is ready for an android port.
Re: LDC 1.4.0-beta1
On Sunday, 27 August 2017 at 15:45:00 UTC, bitwise wrote: On Saturday, 26 August 2017 at 22:35:11 UTC, kinke wrote: * Shipping with ldc-build-runtime, a small D tool to easily (cross-)compile the runtime libraries yourself. * Full Android support, incl. emulated TLS. Does this mean I can actually build D static libraries, link them into an NDK shared lib, and use it in a phone app that I can submit to Google Play? Yes. Just follow these instructions to generate the standard library for Android/ARM; https://wiki.dlang.org/Building_LDC_runtime_libraries We're still cleaning up loose ends and refining the process though. I forgot that you need to disable building one module when cross-compiling the stdlib, as mentioned here: http://forum.dlang.org/post/jmucnjekkcmiszpag...@forum.dlang.org Then, you can use a variation of these instructions to build D code: https://wiki.dlang.org/Build_D_for_Android The problem is those instructions assume you have a ldc2.conf set up properly, whereas the new ldc 1.4 beta won't do that for you. I'm looking into adding that. Basically, you can do what you asked now, but while all the functionality is there, we're refining the build setup with this ldc beta process. By the final 1.4 release, it should be really easy to cross-compile the stdlib and use it, but we're not quite there yet. If you're adventurous, try it out know and let us know what you think. Otherwise, it will get even simpler soon.
Re: LDC 1.4.0-beta1
On Saturday, 26 August 2017 at 22:35:11 UTC, kinke wrote: * Shipping with ldc-build-runtime, a small D tool to easily (cross-)compile the runtime libraries yourself. * Full Android support, incl. emulated TLS. Does this mean I can actually build D static libraries, link them into an NDK shared lib, and use it in a phone app that I can submit to Google Play?
Re: LDC 1.4.0-beta1
On Saturday, 26 August 2017 at 22:35:11 UTC, kinke wrote: Hi everyone, on behalf of the LDC team, I'm glad to announce LDC 1.4.0-beta1. The highlights of version 1.4 in a nutshell: * Based on D 2.074.1. * Shipping with ldc-build-runtime, a small D tool to easily (cross-)compile the runtime libraries yourself. * Full Android support, incl. emulated TLS. * Improved support for AddressSanitizer and libFuzzer. The libraries are shipped with the prebuilt Linux x86_64 and OSX packages. * Prebuilt Linux x86_64 package shipping with LTO plugin, catching up with the OSX package. Full release log and downloads: https://github.com/ldc-developers/ldc/releases/tag/v1.4.0-beta1 Thanks to everybody contributing! Wow, this looks fantastic, congrats! --Jon
Re: LDC 1.4.0-beta1
On Saturday, 26 August 2017 at 22:35:11 UTC, kinke wrote: Hi everyone, on behalf of the LDC team, I'm glad to announce LDC 1.4.0-beta1. The highlights of version 1.4 in a nutshell: * Based on D 2.074.1. * Shipping with ldc-build-runtime, a small D tool to easily (cross-)compile the runtime libraries yourself. * Full Android support, incl. emulated TLS. * Improved support for AddressSanitizer and libFuzzer. The libraries are shipped with the prebuilt Linux x86_64 and OSX packages. * Prebuilt Linux x86_64 package shipping with LTO plugin, catching up with the OSX package. Full release log and downloads: https://github.com/ldc-developers/ldc/releases/tag/v1.4.0-beta1 Thanks to everybody contributing! Well done! It's great work you all are doing! Regards, Kai
LDC 1.4.0-beta1
Hi everyone, on behalf of the LDC team, I'm glad to announce LDC 1.4.0-beta1. The highlights of version 1.4 in a nutshell: * Based on D 2.074.1. * Shipping with ldc-build-runtime, a small D tool to easily (cross-)compile the runtime libraries yourself. * Full Android support, incl. emulated TLS. * Improved support for AddressSanitizer and libFuzzer. The libraries are shipped with the prebuilt Linux x86_64 and OSX packages. * Prebuilt Linux x86_64 package shipping with LTO plugin, catching up with the OSX package. Full release log and downloads: https://github.com/ldc-developers/ldc/releases/tag/v1.4.0-beta1 Thanks to everybody contributing!