CTFE Status

Stefan Koch via Digitalmars-d digitalmars-d at puremagic.com
Fri Dec 23 09:06:58 PST 2016


On Friday, 23 December 2016 at 11:31:14 UTC, Stefan Koch wrote:
> On Friday, 23 December 2016 at 10:25:57 UTC, Stefan Koch wrote:
>> On Thursday, 22 December 2016 at 20:34:50 UTC, Stefan Koch 
>> wrote:
>>> I just fixed the "" case for StringLiterals.
>>
>> This exposed bugs in the code-generator because now 
>> phobos-unittests with "" are run.
>> (Which would previously be counted as uncompilable)
>> Apparently we run into a situation where the interpreter tries 
>> to fetch instructions that are out-of-range.
>> This can only be caused by miscompiled code.
>> I am investigating.
>
> Seems like that one was triggerd by random garbage being 
> written into empty strings :)
> Empty string literals are now fixed for good.

I just made global enums and static immutables visible to newCTFE.
Before they would trigger a bailout since they are not defined in 
the functions stack-frame.

meaning this compiles now:
uint[] arrayLiteralReturn()
{
   return [1,2,3];
}
static immutable alr = arrayLiteralReturn();
static assert(alr == [1,2,3]);



More information about the Digitalmars-d mailing list