July 16, 2014 compiler never finishes | ||||
---|---|---|---|---|
| ||||
Recently I had a bug where the compiler got stuck in an infinite loop or something. I managed to bracket it with static if (0) and it turned out that I had intended to declare a template method auto ref foo (Bar)() {...} but accidentally left off the function parameters auto ref foo (Bar) {...} and dmd never gave an error message, it just kept chugging along till I killed it. I can't manage to reproduce it in an SSCCE, it was nested inside a few layers of mixins (dumbly layering mixins in an example doesn't reproduce it). And reducing the code with DustMite depends on the compiler outputting an error message. Is there anything I can do to produce some information for a meaningful bug report in a situation like this? |
July 16, 2014 Re: compiler never finishes | ||||
---|---|---|---|---|
| ||||
Posted in reply to Vlad Levenfeld | If you're on linux, you can try Dustmite using timeout command to launch dmd compilation.
On Wednesday, 16 July 2014 at 07:06:12 UTC, Vlad Levenfeld wrote:
> Recently I had a bug where the compiler got stuck in an infinite loop or something. I managed to bracket it with static if (0) and it turned out that I had intended to declare a template method
>
> auto ref foo (Bar)() {...}
>
> but accidentally left off the function parameters
>
> auto ref foo (Bar) {...}
>
> and dmd never gave an error message, it just kept chugging along till I killed it.
>
> I can't manage to reproduce it in an SSCCE, it was nested inside a few layers of mixins (dumbly layering mixins in an example doesn't reproduce it).
>
> And reducing the code with DustMite depends on the compiler outputting an error message.
>
> Is there anything I can do to produce some information for a meaningful bug report in a situation like this?
|
Copyright © 1999-2021 by the D Language Foundation