On Sunday, 15 December 2013 at 16:38:15 UTC, Andrei Alexandrescu
wrote:
The problem is that tok is a dynamic value. It should be a
static value. Current code:
This seems to have fixed the case/goto issues.
This is important - if the compiler thinks tok is a dynamic
value, it'll generate crappy switch statements.
It seems it's hard to keep dmd from generating crappy code even
with this fix. I tried it with both LDC and DMD. The code from
DMD takes 3.5 times as long to execute.
BTW @Brian - I didn't look at this in depth yet but it's very
promising work. Thanks!
It's based off of the gist you posted a while back. I'll have to
compare this to what you(r team) came up with for Facebook's C++
analyzer.