Big bug with scope() in nested { }

Mikola Lysenko mclysenk at mtu.edu
Mon Sep 25 09:06:15 PDT 2006


BCS wrote:
> Likely this is related, but both of them only mention cases where delegates are
> used, How does mine create a delegate? (From the scope statement?) OTOH is this
> bug known to cause problems elsewhere? (I didn't read then whole thread)
> 

 From what I've worked out, it appears to be an issue with the way the 
compiler calculates offsets for things like catch and finally blocks in 
general.  The delegates are just one case of this bug.  Whenever there 
is more than one set of scope exit blocks, the bug will manifest.

It appears to be because the compiler does not properly compute the 
offsets in one of the DHandler structs (though the exact details escape 
me at the moment, since it has been a few months since I spent any time 
wrestling with this problem.)  It is a rather aggravating problem, which 
took me several hours of single stepping through the asm from deh2.d to 
figure out what was going.

I certainly hope it gets fixed in the next release.



More information about the Digitalmars-d-bugs mailing list