www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - compiler never finishes

reply "Vlad Levenfeld" <vlevenfeld gmail.com> writes:
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?
Jul 16 2014
parent "Andrea Fontana" <nospam example.com> writes:
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?
Jul 16 2014