www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - LDC 1.11.0 beta

reply kinke <noone nowhere.com> writes:
Glad to announce the first beta for LDC 1.11.

* Based on D 2.081.0.
* Prebuilt packages now using LLVM 6.0.1 and including additional 
cross-compilation targets (MIPS, MSP430, RISC-V and WebAssembly).

Full release log and downloads: 
https://github.com/ldc-developers/ldc/releases/tag/v1.11.0-beta1

Thanks to all contributors!
Jul 04
next sibling parent reply Mike Franklin <slavo5150 yahoo.com> writes:
On Wednesday, 4 July 2018 at 20:38:54 UTC, kinke wrote:
 Glad to announce the first beta for LDC 1.11.
Thanks for all the work on this. I notice the minimal2.d test from the DMD test suite is disabled: https://github.com/ldc-developers/dmd-testsuite/blob/977ef0696f7941357385925c07617544c3527f4c/runnable/minimal2.d#L5 How permanent/temporary is that? Is there something blocking the implementation? Mike
Jul 05
parent reply kinke <kinke libero.it> writes:
On Thursday, 5 July 2018 at 08:55:00 UTC, Mike Franklin wrote:
 I notice the minimal2.d test from the DMD test suite is 
 disabled:
  
 https://github.com/ldc-developers/dmd-testsuite/blob/977ef0696f7941357385925c07617544c3527f4c/runnable/minimal2.d#L5

 How permanent/temporary is that?  Is there something blocking 
 the implementation?
I failed to see a benefit from being able to use classes with static members only (abuse as namespace?) with a minimal druntime, hence no interest from my side to implement it for now.
Jul 05
parent reply Mike Franklin <slavo5150 yahoo.com> writes:
On Thursday, 5 July 2018 at 09:40:46 UTC, kinke wrote:

 I failed to see a benefit from being able to use classes with 
 static members only (abuse as namespace?)
Yeah, pretty much, but also static inheritance. You can see the pattern where I use it at https://github.com/JinShil/stm32f42_discovery_demo/blob/c324bbf861cf258a819478481521528fca88dcb3/source/stm32f42/pwr.d#L24 It's for an ARM Cortex-M microcontroller. The structure, layout, and memory locations of all memory-mapped IO registers (there are 100s of them) are all known at compile-time, so there's no need for instances of anything. The static inheritance allows me to reuse implementation code and also model the hierarchy according to my mental model. After all that's one of the pillars of D, modeling power. Also, modeling them as static classes allows me to avoid the memory layout mess in the linker script (Yuck!), as all the memory addresses accompany the code itself. This also makes it much, much easier to cross-reference the code to the microcontroller's datasheet. D's the only language I know of that can do this; it's not a strength, not a weakness. Mike
Jul 05
parent reply Mike Franklin <slavo5150 yahoo.com> writes:
On Thursday, 5 July 2018 at 10:57:17 UTC, Mike Franklin wrote:

 I failed to see a benefit from being able to use classes with 
 static members only (abuse as namespace?)
Yeah, pretty much, but also static inheritance. You can see the pattern where I use it at https://github.com/JinShil/stm32f42_discovery_demo/blob/c324bbf861cf258a819478481521528fca88dcb3/source/stm32f42/pwr.d#L24
Also, it allows me to dot-walk the hierarchy in my editor with code-completion and documentation comments. I describe this and illustrate with images in the readme. https://github.com/JinShil/stm32f42_discovery_demo Mike
Jul 05
parent kinke <noone nowhere.com> writes:
Thx for the rationale; I may have a look at it over the weekend.
Jul 05
prev sibling parent reply Seb <seb wilzba.ch> writes:
On Wednesday, 4 July 2018 at 20:38:54 UTC, kinke wrote:
 Glad to announce the first beta for LDC 1.11.

 * Based on D 2.081.0.
 * Prebuilt packages now using LLVM 6.0.1 and including 
 additional cross-compilation targets (MIPS, MSP430, RISC-V and 
 WebAssembly).

 Full release log and downloads: 
 https://github.com/ldc-developers/ldc/releases/tag/v1.11.0-beta1

 Thanks to all contributors!
Would be great to include https://github.com/dlang/dmd/pull/8456 as it's a serious regression and the reason for the early 2.081.1 release.
Jul 07
parent reply Johan Engelen <j j.nl> writes:
On Saturday, 7 July 2018 at 18:17:49 UTC, Seb wrote:
 Would be great to include 
 https://github.com/dlang/dmd/pull/8456 as it's a serious 
 regression and the reason for the early 2.081.1 release.
Because the quality of new DMD releases is often subpar, the LDC release plan is to only release after a good point release of DMD (usually *.*.1, but if this is a hasty .1 release, we probably better wait until 2.081.2) -Johan
Jul 07
parent Joakim <dlang joakim.fea.st> writes:
On Saturday, 7 July 2018 at 18:26:45 UTC, Johan Engelen wrote:
 On Saturday, 7 July 2018 at 18:17:49 UTC, Seb wrote:
 Would be great to include 
 https://github.com/dlang/dmd/pull/8456 as it's a serious 
 regression and the reason for the early 2.081.1 release.
Because the quality of new DMD releases is often subpar, the LDC release plan is to only release after a good point release of DMD (usually *.*.1, but if this is a hasty .1 release, we probably better wait until 2.081.2) -Johan
In other words, this is only a beta: the final 1.11 release will be done next month, only with the final release of the DMD 2.081 frontend, likely 2.081.2.
Jul 07