November 21, 2016
On Sunday, 20 November 2016 at 09:02:30 UTC, Stefan Koch wrote:
> On Saturday, 19 November 2016 at 11:22:18 UTC, Stefan Koch wrote:
[...]

I would buy you a beer but the Internet is in the way.
November 21, 2016
On Monday, 21 November 2016 at 19:11:58 UTC, Anonymouse wrote:
> On Sunday, 20 November 2016 at 09:02:30 UTC, Stefan Koch wrote:
>> On Saturday, 19 November 2016 at 11:22:18 UTC, Stefan Koch wrote:
> [...]
>
> I would buy you a beer but the Internet is in the way.

I appreciate the offer.

During the next days I will hopefully be able to have the first arrays of structures working.
Those are a bit tricky since they require doubly-indirected RMW.


November 24, 2016
On Monday, 21 November 2016 at 19:19:50 UTC, Stefan Koch wrote:
> On Monday, 21 November 2016 at 19:11:58 UTC, Anonymouse wrote:
>> On Sunday, 20 November 2016 at 09:02:30 UTC, Stefan Koch wrote:
>>> On Saturday, 19 November 2016 at 11:22:18 UTC, Stefan Koch wrote:
>> [...]
>>
>> I would buy you a beer but the Internet is in the way.
>
> I appreciate the offer.
>
> During the next days I will hopefully be able to have the first arrays of structures working.
> Those are a bit tricky since they require doubly-indirected RMW.

Progress is still stalled on this.
It is very important to get pointers and handling of other qusi-references right.
There are still known bugs in switch processing, also the llvm-backend need to be fixed.

November 24, 2016
I have just discovered breakage of basic operations.
I will need regression tests, some time soon.
November 25, 2016
On Thursday, 24 November 2016 at 17:16:33 UTC, Stefan Koch wrote:
> I have just discovered breakage of basic operations.
> I will need regression tests, some time soon.

Hey Guys,
I fixed the regression.
(At the expense, of removing more optimization)
Work continues on struct and (dynamic) array support.
Also I am going to fix another regression I just discoverd that prevents multiple string-arguments to work properly.
Those regression are seriously annoying.

November 25, 2016
On Friday, 25 November 2016 at 09:14:16 UTC, Stefan Koch wrote:
> On Thursday, 24 November 2016 at 17:16:33 UTC, Stefan Koch wrote:
>> I have just discovered breakage of basic operations.
>> I will need regression tests, some time soon.
>
> Hey Guys,
> I fixed the regression.
> (At the expense, of removing more optimization)
> Work continues on struct and (dynamic) array support.
> Also I am going to fix another regression I just discoverd that prevents multiple string-arguments to work properly.
> Those regression are seriously annoying.

String-Arguments are fixed.
The known regressions are now resolved.
November 28, 2016
On Friday, 25 November 2016 at 10:53:50 UTC, Stefan Koch wrote:
> On Friday, 25 November 2016 at 09:14:16 UTC, Stefan Koch wrote:
>> On Thursday, 24 November 2016 at 17:16:33 UTC, Stefan Koch wrote:
>>> I have just discovered breakage of basic operations.
>>> I will need regression tests, some time soon.
>>
>> Hey Guys,
>> I fixed the regression.
>> (At the expense, of removing more optimization)
>> Work continues on struct and (dynamic) array support.
>> Also I am going to fix another regression I just discoverd that prevents multiple string-arguments to work properly.
>> Those regression are seriously annoying.
>
> String-Arguments are fixed.
> The known regressions are now resolved.

I discovered a nasty bug in goto handling.
I am working on fixed it;
This could take a while, since it likely requires structural changes.

November 29, 2016
On Monday, 28 November 2016 at 17:02:37 UTC, Stefan Koch wrote:
> On Friday, 25 November 2016 at 10:53:50 UTC, Stefan Koch wrote:
>
> I discovered a nasty bug in goto handling.
> I am working on fixed it;
> This could take a while, since it likely requires structural changes.

I fixed a bug in continue break handling.
The dreaded structural changes for this were easier then expected.
Perhaps fixing the goto-handling will be as straight-forward ?

The following code compiles now:

int bug4448()
{
    int n = 2;
L1:
    do
    {
        switch(n)
        {
        case 5:
            return 7;
        default:
            n = 5;
            break L1;
            return n;
        }
        int w = 7;
    } while (0);
    return 3;
}
static assert(bug4448() == 3);

November 29, 2016
On Tuesday, 29 November 2016 at 23:00:08 UTC, Stefan Koch wrote:
> I fixed a bug in continue break handling.

For the record it was an off by one error.
The value for unresolvedGotos would add one referencing jump.
But the count of referencing would be initialized to zero instead of one.

November 30, 2016
On Tuesday, 29 November 2016 at 23:09:08 UTC, Stefan Koch wrote:
> On Tuesday, 29 November 2016 at 23:00:08 UTC, Stefan Koch wrote:
>> I fixed a bug in continue break handling.
>
> For the record it was an off by one error.
> The value for unresolvedGotos would add one referencing jump.
> But the count of referencing would be initialized to zero instead of one.

I just added support for assert in newCTFE.
Also I noticed a performance regression in the bytecode generator.
(compared to an earlier version that handled much less)

Nontheless I get a solid 4x performance improvement over the old evaluator when compiled with ldc.

Furthermore struct support regressed.
It has to be rewritten anyway in order to support method-calls properly.
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18