CTFE Status

Stefan Koch via Digitalmars-d digitalmars-d at puremagic.com
Wed Jan 25 02:34:59 PST 2017


On Tuesday, 24 January 2017 at 06:35:56 UTC, Stefan Koch wrote:
> The blacklisted functions are now down to only two.
>
> Those are the bitswap function in druntime.
> Because the interpreter does handle all values as 64bit 
> internally it tends to miscompile code that uses xor on 32bit 
> values.
>
> And the second one is the "to" template from std.conv;
> Because of the aforementioned UTF issues.
>
> NOTE: that the blacklist is by nature transitive meaning a 
> function that calls a blacklisted function will also not be 
> interpreted by newCTFE

The blacklisting of bitswap was removed, because we now bailout 
on bit-level operations on 32bit values.

However I did have to add a unittest-specific bailout for 
fail_compilation/fail14304.d
which requires the ctfe interpeter to detect a semantically 
invalid situation that should have been detected before we ever 
begin ctfe.


More information about the Digitalmars-d mailing list