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