Re: LDC 1.4.0-beta1

2017-09-11 Thread jmh530 via Digitalmars-d-announce

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

2017-09-11 Thread kinke via Digitalmars-d-announce

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

2017-09-10 Thread jmh530 via Digitalmars-d-announce

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

2017-09-02 Thread Nicholas Wilson via Digitalmars-d-announce
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

2017-09-02 Thread Igor Shirkalin via Digitalmars-d-announce

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

2017-08-29 Thread Nicholas Wilson via Digitalmars-d-announce

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

2017-08-29 Thread Andrea Fontana via Digitalmars-d-announce

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

2017-08-29 Thread kinke via Digitalmars-d-announce

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

2017-08-29 Thread Andrea Fontana via Digitalmars-d-announce

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

2017-08-27 Thread bitwise via Digitalmars-d-announce

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

2017-08-27 Thread Joakim via Digitalmars-d-announce

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

2017-08-27 Thread bitwise via Digitalmars-d-announce

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

2017-08-27 Thread Jon Degenhardt via Digitalmars-d-announce

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

2017-08-27 Thread Kai Nacke via Digitalmars-d-announce

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

2017-08-26 Thread kinke via Digitalmars-d-announce

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!