http://d.puremagic.com/issues/show_bug.cgi?id=3753
--- Comment #2 from David Simcha <dsim...@yahoo.com> 2010-01-30 06:48:29 PST --- import core.stdc.stdlib; void main(string[] args) { try { doNothing(); } catch {} void* foo = alloca(args.length); } void doNothing() {} I've had some more time to fiddle with this and more insight into what causes it, so I've managed to get a reduced test case working. It seems like you need to do both of the following in the same function: 1. Use exception handling either explicitly or implicitly. This can include try-catch, try-finally, scope(exit), and struct destructors. 2. Use alloca, but **the number of bytes must not be a compile-time constant**. This is what was messing me up before. If you replace: void* foo = alloca(args.length); with: void* foo = alloca(8); then this bug will not be triggered. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------