[dmd-internals] bug 190 fix causes regression bug 4753

Brad Roberts braddr at puremagic.com
Mon Aug 30 00:49:59 PDT 2010


I just reopened 190 and updated 4753 with more details.  The fix for the 
former (one from the current development cycle, ie not yet released) 
caused the regression filed in the latter.  I'm not particularly familiar 
with the semantic passes of the compiler.  The symptoms here is that the 
new code is sending dmd into a recursive loop:

repeat in groups of 4 for frames 0..93588:
#93588 0x0813c0f4 in TypeTypeof::semantic (this=0x820e4c8, loc=..., sc=0x8242328) at mtype.c:5961
#93589 0x080da945 in VarExp::semantic (this=0x82424b0, sc=0x8242328) at expression.c:4219
#93590 0x080d51cc in DsymbolExp::semantic (this=0x8242488, sc=0x8242328) at expression.c:2312
#93591 0x080d4a08 in IdentifierExp::semantic (this=0x820e4a0, sc=0x8242328) at expression.c:2152

the end of the stack:
#93592 0x0813c0f4 in TypeTypeof::semantic (this=0x820e4c8, loc=..., sc=0x8242328) at mtype.c:5961
#93593 0x080af74d in VarDeclaration::semantic (this=0x82423b8, sc=0x8242328) at declaration.c:779
#93594 0x0817ef0c in TemplateValueParameter::semantic (this=0x820e528, sc=0x8242328) at template.c:3142
#93595 0x081790b6 in TemplateDeclaration::semantic (this=0x820e6a0, sc=0x820e9f8) at template.c:470
#93596 0x0812d66d in Module::semantic (this=0x820e068) at module.c:787
#93597 0x0812ac0b in main (argc=11, argv=0x82044d0) at mars.c:1168

Yes.. 93597 is how many frames it takes to blow up my stack. :)

Later,
Brad



More information about the dmd-internals mailing list