Re: LDC 1.11.0 beta

2018-07-07 Thread Joakim via Digitalmars-d-announce

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.


Re: LDC 1.11.0 beta

2018-07-07 Thread Johan Engelen via Digitalmars-d-announce

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




Re: LDC 1.11.0 beta

2018-07-07 Thread Seb via Digitalmars-d-announce

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.


Re: LDC 1.11.0 beta

2018-07-05 Thread kinke via Digitalmars-d-announce

Thx for the rationale; I may have a look at it over the weekend.


Re: LDC 1.11.0 beta

2018-07-05 Thread Mike Franklin via Digitalmars-d-announce

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


Re: LDC 1.11.0 beta

2018-07-05 Thread Mike Franklin via Digitalmars-d-announce

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





Re: LDC 1.11.0 beta

2018-07-05 Thread kinke via Digitalmars-d-announce

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.


Re: LDC 1.11.0 beta

2018-07-05 Thread Mike Franklin via Digitalmars-d-announce

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




LDC 1.11.0 beta

2018-07-04 Thread kinke via Digitalmars-d-announce

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!