February 23
Hello fellow compiler hackers,

In order to debug the inliner I have implemented a switch that prints out the AST after all semantic processing is done.
Using the infra-structure that is already provided by hdrgen.
This has already let me to make a few improvements to the hdrgen.
For example if-else chains will no longer infinitely indent to the left.
Or Literals of EnumType will be printed by name rather then as cast(MyEnum)38943U.

I do think this is very worthwhile to have.

And would be happy to hear some opinions from you.

PS. I am aware that the printout of enum definitions is now broken; I know howto fix it and will do so shotly.

Lastly I should like the PR:
https://github.com/dlang/dmd/pull/6556

Cheers,
Stefan
February 24
On Thursday, 23 February 2017 at 01:37:15 UTC, Stefan Koch wrote:
> In order to debug the inliner I have implemented a switch that prints out the AST after all semantic processing is done.
> Using the infra-structure that is already provided by hdrgen.
> This has already let me to make a few improvements to the hdrgen.
> For example if-else chains will no longer infinitely indent to the left.
> Or Literals of EnumType will be printed by name rather then as cast(MyEnum)38943U.

It might be helpful for dmd, but actually inlining doesn't belong into the frontend, so this is a very specific tool. Also haven't seen many inline bugs lately.