Re: LDC 1.13.0
On Sunday, 16 December 2018 at 15:57:25 UTC, kinke wrote: Glad to announce LDC 1.13: * Based on D 2.083.1. * The Windows packages are now fully self-sufficient, i.e., a Visual Studio/C++ Build Tools installation isn't required anymore. * Substantial debug info improvements. * New command-line option `-fvisibility=hidden` to hide functions/globals not marked as export, to reduce the size of shared libraries. Full release log and downloads: https://github.com/ldc-developers/ldc/releases/tag/v1.13.0 New Wiki page highlighting cross-compilation: https://wiki.dlang.org/Cross-compiling_with_LDC Thanks to all contributors! Native Android packages for the Termux app have been updated, including an Android/x64 package for the first time (with the std.variant issue from the last beta now fixed). While no Android device uses x64, many x64 and AArch64 Chromebooks support installing Android apps like Termux, so if you have a Chromebook, you can now start writing and compiling D code on there too: :) https://medium.com/@clumsycontraria/learning-to-code-on-a-bone-stock-chromebook-a7d0e75303bb An Alpine build of ldc for Docker containers and microservices is also up now.
Re: LDC 1.13.0
On Tuesday, 18 December 2018 at 10:45:13 UTC, Radu wrote: How can the old visual studio linker be enabled? I tried to specify it trough -linker but it collides with the dmd linker.exe. It's all in the README.txt, as mentioned in the release notes. ;) Use an absolute path in `-linker` if DMD's optlink takes precedence in your PATH.
Re: LDC 1.13.0
On Sunday, 16 December 2018 at 15:57:25 UTC, kinke wrote: Glad to announce LDC 1.13: * Based on D 2.083.1. * The Windows packages are now fully self-sufficient, i.e., a Visual Studio/C++ Build Tools installation isn't required anymore. * Substantial debug info improvements. * New command-line option `-fvisibility=hidden` to hide functions/globals not marked as export, to reduce the size of shared libraries. Full release log and downloads: https://github.com/ldc-developers/ldc/releases/tag/v1.13.0 New Wiki page highlighting cross-compilation: https://wiki.dlang.org/Cross-compiling_with_LDC Thanks to all contributors! Awesome, thanks! How can the old visual studio linker be enabled? I tried to specify it trough -linker but it collides with the dmd linker.exe.
Re: LDC 1.13.0
On Sunday, 16 December 2018 at 17:48:43 UTC, Arun Chandrasekaran wrote: Self sufficient Windows build is possible because of MS stable ABI? MS has nothing to with it; in fact, if it wasn't for their ridiculously restrictive license, we could and would have shipped with the official libs for years. Self-sufficiency is now possible due to the existence of MinGW[-w64] and work from Rainer Schütze (using the MinGW .def files as basis for the COFF libs included with DMD) and myself (adapting that scheme for MinGW-w64 and LDC). See the linked PRs in the release log if interested in more details. Is it guaranteed to be stable hereafter? It currently targets the Visual C++ 2015 runtime, as that's the last one supported by MinGW-w64. That version will likely change over time.
Re: LDC 1.13.0
On Sunday, 16 December 2018 at 15:57:25 UTC, kinke wrote: Glad to announce LDC 1.13: * Based on D 2.083.1. * The Windows packages are now fully self-sufficient, i.e., a Visual Studio/C++ Build Tools installation isn't required anymore. * Substantial debug info improvements. * New command-line option `-fvisibility=hidden` to hide functions/globals not marked as export, to reduce the size of shared libraries. Full release log and downloads: https://github.com/ldc-developers/ldc/releases/tag/v1.13.0 New Wiki page highlighting cross-compilation: https://wiki.dlang.org/Cross-compiling_with_LDC Thanks to all contributors! Excellent work. LDC has caught up with DMD on the stable! Self sufficient Windows build is possible because of MS stable ABI? Is it guaranteed to be stable hereafter? Thanks for all your work.
LDC 1.13.0
Glad to announce LDC 1.13: * Based on D 2.083.1. * The Windows packages are now fully self-sufficient, i.e., a Visual Studio/C++ Build Tools installation isn't required anymore. * Substantial debug info improvements. * New command-line option `-fvisibility=hidden` to hide functions/globals not marked as export, to reduce the size of shared libraries. Full release log and downloads: https://github.com/ldc-developers/ldc/releases/tag/v1.13.0 New Wiki page highlighting cross-compilation: https://wiki.dlang.org/Cross-compiling_with_LDC Thanks to all contributors!
Re: LDC 1.13.0-beta2
On Thursday, 22 November 2018 at 16:54:55 UTC, Joakim wrote: On Thursday, 22 November 2018 at 16:36:22 UTC, H. S. Teoh wrote: On Thu, Nov 22, 2018 at 01:25:53PM +, Joakim via Digitalmars-d-announce wrote: On Wednesday, 21 November 2018 at 10:43:55 UTC, kinke wrote: > Glad to announce the second beta for LDC 1.13: > > * Based on D 2.083.0+ (yesterday's DMD stable). [...] I've added native builds for Android, including Android/x86_64 for the first time. Several tests for std.variant segfault, likely because of the 128-bit real causing x64 codegen issues, but most everything else passes. [...] What's the status of cross-compiling to 64-bit ARM? On the wiki you wrote that it doesn't fully work yet. Does it work with this new release? It's been mostly working since 1.11. That note on the wiki links to this tracker issue that lists the few remaining holes, mostly just extending Phobos support for 80-bit precision out to full 128-bit Quadruple precision in a few spots and finishing off the C/C++ compatibility: https://github.com/ldc-developers/ldc/issues/2153 Btw, if you ever want to check the current status of the AArch64 port, all you have to do is look at the logs for the latest run of the ldc AArch64 CI, which kinke setup and is run for every ldc PR, on this dashboard: https://app.shippable.com/github/ldc-developers/ldc/dashboard Clicking on the last job on the master branch, expanding the build_ci output in the log, then doing the same for the stdlib tests, I see only five Phobos modules with failing tests. Three are mentioned in the tracker issue above, while std.complex has a single assert that trips, because it's a few bits off at 113-bit precision, which is still much more accurate than the 64-bit precision (or less) it's normally run at on x86/x64. Also, a single assert on std.algorithm.sorting trips for the same reason as a handful of tests in std.math: -real.nan at compile-time is output as real.nan by ldc running natively on AArch64, though not when cross-compiling. std.internal.math.gammafunction works fine at 64-bit precision on AArch64, but only a couple of the 100 or so constant reals it uses are at full 113-bit precision, so several tests assert that only allow a couple bits to be off from full real precision. Obviously that only matters if you need full 113-bit precision from that module. kinke recently disabled the tests for core.thread on the CI because they're super-flaky on linux/glibc/AArch64, while I haven't had that problem with Bionic/AArch64. You will see more tests failing if you cross-compile from x64, because of the mismatch between 64-bit precision for compile-time reals and 113-bit precision for runtime reals on AArch64. Also, you can see the 10-12 modules that assert in the dmd compiler testsuite earlier in that log, most because of missing core.stdc.stdarg.va_arg support to call C varargs on AArch64. That's about it: help is appreciated on tightening those last few screws.
Re: LDC 1.13.0-beta2
On Friday, 23 November 2018 at 09:54:13 UTC, Andrea Fontana wrote: Nice! It seems that docker image is not updated since 1.9.0 (but it is tagged as "automated build"). Could you please update that image? https://hub.docker.com/r/dlanguage/ldc/ There's no official docker image for LDC. The one you are referring to seems abandonded (latest DMD is 2.080...); this one seems to have taken over and provides the latest beta: https://hub.docker.com/u/dlang2/
Re: LDC 1.13.0-beta2
On 2018-11-21 11:43, kinke wrote: Glad to announce the second beta for LDC 1.13: * Based on D 2.083.0+ (yesterday's DMD stable). * The Windows packages are now fully self-sufficient, i.e., a Visual Studio/C++ Build Tools installation isn't required anymore. * Substantial debug info improvements. * New command-line option `-fvisibility=hidden` to hide functions/globals not marked as export, to reduce the size of shared libraries. Full release log and downloads: https://github.com/ldc-developers/ldc/releases/tag/v1.13.0-beta2 I see that the bundled Dub has been updated to the latest version. Awesome, thanks. -- /Jacob Carlborg
Re: LDC 1.13.0-beta2
On Wednesday, 21 November 2018 at 10:43:55 UTC, kinke wrote: Glad to announce the second beta for LDC 1.13: * Based on D 2.083.0+ (yesterday's DMD stable). * The Windows packages are now fully self-sufficient, i.e., a Visual Studio/C++ Build Tools installation isn't required anymore. * Substantial debug info improvements. * New command-line option `-fvisibility=hidden` to hide functions/globals not marked as export, to reduce the size of shared libraries. Full release log and downloads: https://github.com/ldc-developers/ldc/releases/tag/v1.13.0-beta2 Thanks to all contributors! Nice! It seems that docker image is not updated since 1.9.0 (but it is tagged as "automated build"). Could you please update that image? https://hub.docker.com/r/dlanguage/ldc/ Andrea
Re: LDC 1.13.0-beta2
On Thursday, 22 November 2018 at 16:36:22 UTC, H. S. Teoh wrote: On Thu, Nov 22, 2018 at 01:25:53PM +, Joakim via Digitalmars-d-announce wrote: On Wednesday, 21 November 2018 at 10:43:55 UTC, kinke wrote: > Glad to announce the second beta for LDC 1.13: > > * Based on D 2.083.0+ (yesterday's DMD stable). [...] I've added native builds for Android, including Android/x86_64 for the first time. Several tests for std.variant segfault, likely because of the 128-bit real causing x64 codegen issues, but most everything else passes. [...] What's the status of cross-compiling to 64-bit ARM? On the wiki you wrote that it doesn't fully work yet. Does it work with this new release? It's been mostly working since 1.11. That note on the wiki links to this tracker issue that lists the few remaining holes, mostly just extending Phobos support for 80-bit precision out to full 128-bit Quadruple precision in a few spots and finishing off the C/C++ compatibility: https://github.com/ldc-developers/ldc/issues/2153
Re: LDC 1.13.0-beta2
On Thu, Nov 22, 2018 at 01:25:53PM +, Joakim via Digitalmars-d-announce wrote: > On Wednesday, 21 November 2018 at 10:43:55 UTC, kinke wrote: > > Glad to announce the second beta for LDC 1.13: > > > > * Based on D 2.083.0+ (yesterday's DMD stable). [...] > I've added native builds for Android, including Android/x86_64 for the > first time. Several tests for std.variant segfault, likely because of > the 128-bit real causing x64 codegen issues, but most everything else > passes. [...] What's the status of cross-compiling to 64-bit ARM? On the wiki you wrote that it doesn't fully work yet. Does it work with this new release? T -- Never wrestle a pig. You both get covered in mud, and the pig likes it.
Re: LDC 1.13.0-beta2
On Wednesday, 21 November 2018 at 10:43:55 UTC, kinke wrote: Glad to announce the second beta for LDC 1.13: * Based on D 2.083.0+ (yesterday's DMD stable). * The Windows packages are now fully self-sufficient, i.e., a Visual Studio/C++ Build Tools installation isn't required anymore. * Substantial debug info improvements. * New command-line option `-fvisibility=hidden` to hide functions/globals not marked as export, to reduce the size of shared libraries. Full release log and downloads: https://github.com/ldc-developers/ldc/releases/tag/v1.13.0-beta2 Thanks to all contributors! I've added native builds for Android, including Android/x86_64 for the first time. Several tests for std.variant segfault, likely because of the 128-bit real causing x64 codegen issues, but most everything else passes. This means that if you have an x86 or x64 Chromebook that supports running Android apps, you can install the Termux app and compile D code on there: https://nosarthur.github.io/coding/2018/01/15/termux.html
Re: LDC 1.13.0-beta2
On Wed, Nov 21, 2018 at 10:43:55AM +, kinke via Digitalmars-d-announce wrote: > Glad to announce the second beta for LDC 1.13: > > * Based on D 2.083.0+ (yesterday's DMD stable). > * The Windows packages are now fully self-sufficient, i.e., a Visual > Studio/C++ Build Tools installation isn't required anymore. > * Substantial debug info improvements. > * New command-line option `-fvisibility=hidden` to hide functions/globals > not marked as export, to reduce the size of shared libraries. > > Full release log and downloads: > https://github.com/ldc-developers/ldc/releases/tag/v1.13.0-beta2 > > Thanks to all contributors! Awesome work keeping up with the DMD releases! T -- Береги платье снову, а здоровье смолоду.
LDC 1.13.0-beta2
Glad to announce the second beta for LDC 1.13: * Based on D 2.083.0+ (yesterday's DMD stable). * The Windows packages are now fully self-sufficient, i.e., a Visual Studio/C++ Build Tools installation isn't required anymore. * Substantial debug info improvements. * New command-line option `-fvisibility=hidden` to hide functions/globals not marked as export, to reduce the size of shared libraries. Full release log and downloads: https://github.com/ldc-developers/ldc/releases/tag/v1.13.0-beta2 Thanks to all contributors!
Re: LDC 1.13.0-beta1
On 2018-11-07 16:45, kinke wrote: I upgraded it one day after releasing beta1, as I sadly forgot to check for a newer dub version before publishing. I.e., the CI builds already feature dub v1.12. Cool, thanks. -- /Jacob Carlborg
Re: LDC 1.13.0-beta1
On Wednesday, 7 November 2018 at 13:23:59 UTC, Jacob Carlborg wrote: Are there any plans on updating the bundled Dub version? It has a regression that was fixed in 1.12.0. I upgraded it one day after releasing beta1, as I sadly forgot to check for a newer dub version before publishing. I.e., the CI builds already feature dub v1.12.
Re: LDC 1.13.0-beta1
On Friday, 2 November 2018 at 21:04:13 UTC, kinke wrote: Glad to announce the first beta for LDC 1.13: * Based on D 2.083.0. * The Windows packages are now fully self-sufficient I'm late to the thank-you party, but yes, this is huge for me, too. I develop on Linux. For Windows binaries, I've run the DMD 32-bit toolchain in Wine because I've shied away from installing MSVS to create 64-bit Windows binaries. The LDC Win64 beta was a breeze to get working in Wine, looking forward to use it! -- Simon
Re: LDC 1.13.0-beta1
On 2018-11-02 22:04, kinke wrote: Glad to announce the first beta for LDC 1.13: * Based on D 2.083.0. * The Windows packages are now fully self-sufficient, i.e., a Visual Studio/C++ Build Tools installation isn't required anymore. * Substantial debug info improvements for GDB. Full release log and downloads: https://github.com/ldc-developers/ldc/releases/tag/v1.13.0-beta1 Thanks to all contributors! It's awesome to see that you have a version based on DMD 2.083.0 already. Are there any plans on updating the bundled Dub version? It has a regression that was fixed in 1.12.0. -- /Jacob Carlborg
Re: LDC 1.13.0-beta1
On Tuesday, 6 November 2018 at 21:42:42 UTC, kinke wrote: On Tuesday, 6 November 2018 at 21:25:53 UTC, kinke wrote: We don't use any MinGW functions at all Let me rephrase that: the new MinGW-w64-based libs don't *include* any MinGW functions at all, not a single one. So you cannot use one by accident. ;) - For more in-depth infos, check out the linked PRs in the release log. Thanks for the details. A cursory read made it seem as if another C runtime was used: sorry for this.
Re: LDC 1.13.0-beta1
On Tuesday, 6 November 2018 at 21:25:53 UTC, kinke wrote: We don't use any MinGW functions at all Let me rephrase that: the new MinGW-w64-based libs don't *include* any MinGW functions at all, not a single one. So you cannot use one by accident. ;) - For more in-depth infos, check out the linked PRs in the release log.
Re: LDC 1.13.0-beta1
On Tuesday, 6 November 2018 at 15:08:47 UTC, Guillaume Piolat wrote: On Monday, 5 November 2018 at 14:46:25 UTC, kinke wrote: On Monday, 5 November 2018 at 13:53:50 UTC, Guillaume Piolat wrote: Very cool! And very scary too, we'll have to verify the transcendantal precision and memcpy performance :) Don't worry, we're not using anything from the MinGW runtime itself - just functions exported by the MS DLLs and some minimal startup/shutdown skeleton (`mainCRTStartup` entrypoint etc.). We (incl. DMD) are just using their .def files as basis for the generated import libraries. I don't understand, llvm_exp for example translate to a call to the C stdlib exp() IIRC. That is currently in the MS runtime, no? Yep, and still is, as I said. We don't use any MinGW functions at all, so nothing changes in this regard, no need to worry about MinGW's 80-bit `long double`, their different C++ mangling, their .a static library format or their DWARF debug info. You're still targeting windows-msvc. We only need the MinGW .def files because Microsoft shamefully doesn't allow distribution of their static & import libs. As stated in the readme, using the MS toolchain is obviously still supported.
Re: LDC 1.13.0-beta1
On Monday, 5 November 2018 at 14:46:25 UTC, kinke wrote: On Monday, 5 November 2018 at 13:53:50 UTC, Guillaume Piolat wrote: On Friday, 2 November 2018 at 21:04:13 UTC, kinke wrote: Glad to announce the first beta for LDC 1.13: * Based on D 2.083.0. * The Windows packages are now fully self-sufficient, i.e., a Visual Studio/C++ Build Tools installation isn't required anymore. Very cool! And very scary too, we'll have to verify the transcendantal precision and memcpy performance :) Don't worry, we're not using anything from the MinGW runtime itself - just functions exported by the MS DLLs and some minimal startup/shutdown skeleton (`mainCRTStartup` entrypoint etc.). We (incl. DMD) are just using their .def files as basis for the generated import libraries. I don't understand, llvm_exp for example translate to a call to the C stdlib exp() IIRC. That is currently in the MS runtime, no?
Re: LDC 1.13.0-beta1
On Saturday, 3 November 2018 at 16:33:36 UTC, kinke wrote: I figured it'd be for a lot of Windows users. Why not explicitly express your gratitude with a little 'thank you' then? After all, that little bullet point in the release notes easily took some 40 hours of my spare time, and some appreciation can work wonders to keep motivation up. Can send you some cryptocurrency if you want.
Re: LDC 1.13.0-beta1
On Saturday, 3 November 2018 at 16:33:36 UTC, kinke wrote: I figured it'd be for a lot of Windows users. Why not explicitly express your gratitude with a little 'thank you' then? After all, that little bullet point in the release notes easily took some 40 hours of my spare time, and some appreciation can work wonders to keep motivation up. Thanks for your work. I don't actually use Windows, but this is much bigger than just one user, as it makes D a viable option for data science. It allows the use of D by millions of R users who mostly know nothing about compiled languages. If you're looking for D's killer app, this is it. But that wasn't possible without a sane Windows installation experience - and having to tangle with VS made it unrealistic for 99.9%+ of all users. That restriction is now gone. Hopefully that gives you motivation to keep working.
Re: LDC 1.13.0-beta1
On Monday, 5 November 2018 at 13:53:50 UTC, Guillaume Piolat wrote: On Friday, 2 November 2018 at 21:04:13 UTC, kinke wrote: Glad to announce the first beta for LDC 1.13: * Based on D 2.083.0. * The Windows packages are now fully self-sufficient, i.e., a Visual Studio/C++ Build Tools installation isn't required anymore. Very cool! And very scary too, we'll have to verify the transcendantal precision and memcpy performance :) Don't worry, we're not using anything from the MinGW runtime itself - just functions exported by the MS DLLs and some minimal startup/shutdown skeleton (`mainCRTStartup` entrypoint etc.). We (incl. DMD) are just using their .def files as basis for the generated import libraries.
Re: LDC 1.13.0-beta1
On Saturday, 3 November 2018 at 16:33:36 UTC, kinke wrote: I figured it'd be for a lot of Windows users. Why not explicitly express your gratitude with a little 'thank you' then? After all, that little bullet point in the release notes easily took some 40 hours of my spare time, and some appreciation can work wonders to keep motivation up. Thank you! Haven't yet had a chance to play around with it, but it's one of those little things that just makes everyone's life easier on Windows.
Re: LDC 1.13.0-beta1
On Friday, 2 November 2018 at 21:04:13 UTC, kinke wrote: Glad to announce the first beta for LDC 1.13: * Based on D 2.083.0. * The Windows packages are now fully self-sufficient, i.e., a Visual Studio/C++ Build Tools installation isn't required anymore. Very cool! And very scary too, we'll have to verify the transcendantal precision and memcpy performance :)
Re: LDC 1.13.0-beta1
On Friday, 2 November 2018 at 21:04:13 UTC, kinke wrote: Glad to announce the first beta for LDC 1.13: * Based on D 2.083.0. * The Windows packages are now fully self-sufficient, i.e., a Visual Studio/C++ Build Tools installation isn't required anymore. * Substantial debug info improvements for GDB. Full release log and downloads: https://github.com/ldc-developers/ldc/releases/tag/v1.13.0-beta1 Thanks to all contributors! I've added native Termux builds for Android, including x86 for the first time. Cross-compiling to Android/x64 mostly works, but LDC itself segfaults when cross-compiled and run on Android/x64, likely because it uses a 128-bit real just like AArch64. I'll see if I can get that fixed before the final 1.13 release.
Re: LDC 1.13.0-beta1
On Fri, Nov 02, 2018 at 09:04:13PM +, kinke via Digitalmars-d-announce wrote: > Glad to announce the first beta for LDC 1.13: > > * Based on D 2.083.0. > * The Windows packages are now fully self-sufficient, i.e., a Visual > Studio/C++ Build Tools installation isn't required anymore. > * Substantial debug info improvements for GDB. > > Full release log and downloads: > https://github.com/ldc-developers/ldc/releases/tag/v1.13.0-beta1 > > Thanks to all contributors! Just wanted to say thanks to the LDC team and everyone else who was involved in making it possible for LDC releases to track DMD releases so closely. I'm quite tempted to switch to LDC as my main compiler instead of DMD git master, because of the better codegen and wider range of arch targets. Thanks, guys! T -- Leather is waterproof. Ever see a cow with an umbrella?
Re: LDC 1.13.0-beta1
On Friday, 2 November 2018 at 21:04:13 UTC, kinke wrote: Glad to announce the first beta for LDC 1.13: Note how fast Martin produced this beta release after the DMD 2.083 release. Thanks to all contributors! The main contributor by far is you Martin, thank _you_! -Johan
Re: LDC 1.13.0-beta1
On Friday, 2 November 2018 at 21:04:13 UTC, kinke wrote: Glad to announce the first beta for LDC 1.13: * Based on D 2.083.0. * The Windows packages are now fully self-sufficient, i.e., a Visual Studio/C++ Build Tools installation isn't required anymore. * Substantial debug info improvements for GDB. Full release log and downloads: https://github.com/ldc-developers/ldc/releases/tag/v1.13.0-beta1 Thanks to all contributors! You ‘re quick! Great work.
Re: LDC 1.13.0-beta1
On 03.11.2018 19:33, kinke wrote: I figured it'd be for a lot of Windows users. Why not explicitly express your gratitude with a little 'thank you' then? After all, that little bullet point in the release notes easily took some 40 hours of my spare time, and some appreciation can work wonders to keep motivation up. Not a Windows user at all but I'd like to thank you for your job! It's really great and I know how boring things like that are.
Re: LDC 1.13.0-beta1
On Saturday, 3 November 2018 at 00:42:46 UTC, bachmeier wrote: On Friday, 2 November 2018 at 21:04:13 UTC, kinke wrote: * The Windows packages are now fully self-sufficient, i.e., a Visual Studio/C++ Build Tools installation isn't required anymore. That's a very big deal for me. It will be realistic for R users on Windows to use packages that contain D code. I figured it'd be for a lot of Windows users. Why not explicitly express your gratitude with a little 'thank you' then? After all, that little bullet point in the release notes easily took some 40 hours of my spare time, and some appreciation can work wonders to keep motivation up.
Re: LDC 1.13.0-beta1
On Friday, 2 November 2018 at 21:04:13 UTC, kinke wrote: * The Windows packages are now fully self-sufficient, i.e., a Visual Studio/C++ Build Tools installation isn't required anymore. That's a very big deal for me. It will be realistic for R users on Windows to use packages that contain D code.
LDC 1.13.0-beta1
Glad to announce the first beta for LDC 1.13: * Based on D 2.083.0. * The Windows packages are now fully self-sufficient, i.e., a Visual Studio/C++ Build Tools installation isn't required anymore. * Substantial debug info improvements for GDB. Full release log and downloads: https://github.com/ldc-developers/ldc/releases/tag/v1.13.0-beta1 Thanks to all contributors!