August 25, 2016
On Thursday, 25 August 2016 at 09:57:28 UTC, John Burrton wrote:
> I'll try to find a small test case that crashes the compiler in visual D and check out what version I'm using etc, and submit a bug report if I am able.

Did you try to get error messages from LDC? IIRC it will print colored text, which may not work with a pipe.
August 25, 2016
On Thursday, 25 August 2016 at 11:52:51 UTC, Kagamin wrote:
> On Thursday, 25 August 2016 at 09:57:28 UTC, John Burrton wrote:
>> I'll try to find a small test case that crashes the compiler in visual D and check out what version I'm using etc, and submit a bug report if I am able.
>
> Did you try to get error messages from LDC? IIRC it will print colored text, which may not work with a pipe.

I will try to get the exact messages tomorrow but I found that the difference is that under visual D it adds (amongst others) the -O and -deps filename options. If I add _both_ of those on the ldc2.exe command line it often crashes. without either it's stable.

I'll try to get a self contained report tomorrow.
August 25, 2016
On Thursday, 25 August 2016 at 20:31:59 UTC, John Burton wrote:
> I'll try to get a self contained report tomorrow.

Please do – the -deps switch is certainly not the most well-tested part of LDC. It mostly inherits this part of the code from DMD, but there might be a subtle, unintentional difference hiding somewhere.

(There is also https://github.com/ldc-developers/ldc/issues/1625.)

 — David
August 25, 2016
On Thursday, 25 August 2016 at 20:47:28 UTC, David Nadlinger wrote:
> On Thursday, 25 August 2016 at 20:31:59 UTC, John Burton wrote:
>> I'll try to get a self contained report tomorrow.
>
> Please do – the -deps switch is certainly not the most well-tested part of LDC. It mostly inherits this part of the code from DMD, but there might be a subtle, unintentional difference hiding somewhere.
>
> (There is also https://github.com/ldc-developers/ldc/issues/1625.)
>
>  — David

If I try to compile this :-

import std.stdio;

void process(ref float[1] data)
{
    for(int i = 0; i < 1; i++)
        data[i] = data[i] + 1.0f;
}

void main()
{
    float[1] data;
    readf("%s", &data[0]);
    process(data);
    writefln("The answer is %s\n", data[0]);
}

using the command line :-

ldc2 -O -deps=out.txt test.d

Then sometimes it works and sometimes it crashes with a traceback (but without useful symbols for most of it).
Sounds like it could be that bug that was linked.

I don't care about the deps myself but the visual D seems to add it.
1 2 3
Next ›   Last »