LDC 1.9.0 beta

Radu void at null.pt
Tue Apr 24 19:39:30 UTC 2018


On Tuesday, 24 April 2018 at 15:53:23 UTC, Joakim wrote:
> On Monday, 23 April 2018 at 09:18:07 UTC, Suliman wrote:
>> What about Webassembly support? Latest LLVM suppport it, so 
>> LDC should support also.
>
> We don't support a lot of platforms that llvm supports. It will 
> require someone to work on the port, which hasn't happened. 
> I've said before that I don't think it's worth it, because the 
> web has been declining as a platform:
>
> https://forum.dlang.org/post/unqvdzopebfksnxwhoqn@forum.dlang.org
>
> On Tuesday, 24 April 2018 at 08:47:49 UTC, Radu wrote:
>> On Sunday, 22 April 2018 at 15:56:49 UTC, kinke wrote:
>>> Hi everyone,
>>>
>>> on behalf of the LDC team, I'm glad to announce the first 
>>> beta for LDC 1.9. The highlights of this version in a 
>>> nutshell:
>>>
>>> * Based on D 2.079.1, including new `-i` switch and support 
>>> for a minimal (d)runtime.
>>> * Support for LLVM 6, used for all prebuilt packages (except 
>>> for Win32).
>>> * `-link-internally` able to (cross-)link Windows, Linux and 
>>> macOS binaries.
>>> * Prebuilt Linux and macOS packages now shipping with 
>>> LTO-able druntime/Phobos.
>>> * Improved support for MIPS targets and the uClibc runtime 
>>> library.
>>> * Various fixes, incl. druntime/Phobos/ldc-jit .dylib issues 
>>> on macOS.
>>>
>>> Full release log and downloads: 
>>> https://github.com/ldc-developers/ldc/releases/tag/v1.9.0-beta1
>>>
>>> Thanks to all contributors!
>>
>> Looks that not all my druntime and phobos PR got in. Is this 
>> because they were not included in 2.0.79 mainline release?
>
> Yes, ldc releases are the same as dmd releases, with some 
> ldc-specific changes. We generally don't backport features from 
> upstream.
>
>> ATM uClibc is not usable as is, it doesn't even compile 
>> because of various missing pieces, bummer :(
>
> Yeah, this beta doesn't even have a MIPS backend. How much of 
> the testsuite do you have working on MIPS/uClibc? If you have 
> it pretty far along, we can probably cherry-pick what you need 
> and ship it with 1.9 for people to try.

I realized that those PRs are not going to get in :(. 
Unfortunately it is pretty hard to contribute something that has 
a big impact. It looks that I need to wait another 2 releases to 
get all those changes in LDC as I might miss the 2.8.0 window for 
1 PR, not counting additional patches for fixes that might come 
later on...

uClibc fully passes druntime unit tests on ARM had float (armv7).
phobos test runner segfaults on std.mathspecial, commenting out 
mathspecial - I get some asserts on formatting code related to 
double and some math asserts on some constants. Overall looks 
good and the formatting issues for double and math special 
segfault are not a priority for me, yet.

on uClibc MIPS, druntime test hangs on everything after running 
core.runtime test at `void* z = pureMalloc(size_t.max - 2);`, 
malloc calls will fail after this (overcommit). Versioning it out 
I get the druntime unittest passing with an assert on core.atomic 
for double and some assert when allocating 390mb of memory in 
gc.impl.conservative.gc (way to much for my board). Overall 
druntime looks good. I don't have the details for phobos, but 
most of it passes.

MIPS is a bit special as the vendor toolchain for my HW is pretty 
old and misses some supporting libs like libbacktrace, a math 
function etc.. had to stub them out. I think MIPS will require 
more tinkering from people trying it out.



More information about the Digitalmars-d-announce mailing list