CTFE Status 2

Stefan Koch via Digitalmars-d digitalmars-d at puremagic.com
Wed Mar 1 20:24:30 PST 2017


On Thursday, 2 March 2017 at 03:09:56 UTC, Stefan Koch wrote:
> On Thursday, 16 February 2017 at 21:05:51 UTC, Stefan Koch 
> wrote:
>> [ ... ]
>
> Hi Guys,
>
> The implementation of ref parameters by itself was successful.
> However they hey have one bug, which is a consquence of newCTFE 
> not touching dmd's state.
> They cannot modify an outer parameter. (where outer means that 
> the parameter does not originate from a ctfe-evaluation further 
> up the call stack)
>
> Cheers,
> Stefan


It turn out that this was not the problem.
It was rather old code in the byte-code evaluator that dated from 
a time where parameters were not considered stack values.
causing that code to copy the parameters into a temporary.
When I removed the distinction between parameters and normal 
stack values I deleted the code that kept track of the parameters 
that were copied into temporaries.

Since I forgot to remove the creation of those temporaries.
We ended up with the situation described above.


More information about the Digitalmars-d mailing list