CTFE Status 2

Temtaime via Digitalmars-d digitalmars-d at puremagic.com
Fri Feb 17 11:44:10 PST 2017


On Thursday, 16 February 2017 at 21:05:51 UTC, Stefan Koch wrote:
> Hi Guys, due to the old CTFE status thread getting to page 30, 
> I am now starting a new one.
>
> First let me summerize which features are currently working:
> In order of date, the latest features come first.
>
> - fixed continue and break for DoWhileStatements
> - non-toplevel Function Pointers as arguments
> - basic function pointers
> --- phobos, druntime & dmd unit-tests pass ----
> - Method Calls (now range foreach will work)
> - 1-level Pointers
> - recursive function calls
> - fixed continue and break for ForStatements (includes foreach 
> which is lowered)
> - basic Function Calls
> - static immutable globals
> - fixed continue & break for WhileStatemens
> - 1d array literals
> - ternary expressions ? :
> - struct literals.
> - basic struct support.
> - Slice and Array boundschecks
> - 1d array and slice indexing
> - do while statements
> - break and continue support
> - gotos and labels
> - foreach over arrays
> - for statements
> - integer math
> .... (and I few a forgot to list)
>
> unsupported features are
> - anything with strings (due to missing unicode handling)
> - slicing & concat (due to missing memeory-manager)
> - floating point math
> - classes (due to missing vtbl and ref support)
> - exceptions (due to missing stack-unwinding support and 
> side-band channels)
> - more complex structs i.e. with struct-members (due to 
> incomplete type-handling)
> -----------
>
> Currently I am having trouble caused by a bug in dmds inliner 
> that only happens on when dmd is compiled as a 32bit executable 
> until I have  isolated / fixed this development is slowed down.
>
> --
> I hope this thread is informative and will continue to be that 
> way.
>
> Cheers,
> Stefan (aka UplinkCoder)

Just get LDC.
Make it use JIT.
And you'll get all the features working.
Writing slow interpreter is ... wasting efforts.


More information about the Digitalmars-d mailing list