May 25, 2006 DMD 0.158 - Compiler endless loop | ||||
---|---|---|---|---|
| ||||
On DMD 0.158, Windows XP, the compiler goes into an endless loop until it runs out of memory when faced with this code: struct STRUCTA { union { int a; long b; } STRUCTB c; } struct STRUCTB { int a; } If STRUCTB is defined before STRUCTA, or if STRUCTB is a class or interface, there's no problem. Also, take away the union and it compiles fine. This did not occur in previous releases. John. |
June 01, 2006 Re: DMD 0.158 - Compiler endless loop | ||||
---|---|---|---|---|
| ||||
Posted in reply to John C Attachments: | John C schrieb am 2006-05-25: > On DMD 0.158, Windows XP, the compiler goes into an endless loop until it runs out of memory when faced with this code: > > struct STRUCTA { > union { > int a; > long b; > } > STRUCTB c; > } > > struct STRUCTB { > int a; > } > > If STRUCTB is defined before STRUCTA, or if STRUCTB is a class or interface, there's no problem. Also, take away the union and it compiles fine. > > This did not occur in previous releases. Added to DStress as http://dstress.kuehne.cn/run/s/struct_25_A.d http://dstress.kuehne.cn/run/s/struct_25_B.d http://dstress.kuehne.cn/run/s/struct_25_C.d http://dstress.kuehne.cn/run/s/struct_25_D.d http://dstress.kuehne.cn/run/s/struct_25_E.d http://dstress.kuehne.cn/run/s/struct_25_F.d Thomas |
Copyright © 1999-2021 by the D Language Foundation