September 04, 2010 [Issue 4811] New: ICE when goto into try/catch block | ||||
---|---|---|---|---|
| ||||
http://d.puremagic.com/issues/show_bug.cgi?id=4811 Summary: ICE when goto into try/catch block Product: D Version: D1 Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nobody@puremagic.com ReportedBy: ibuclaw@ubuntu.com --- Comment #0 from Iain Buclaw <ibuclaw@ubuntu.com> 2010-09-04 08:17:53 PDT --- The test case: void main() { goto L1; try { L1: { } } catch { } } Results in an ICE when trying to compile. Internal error: ../ztc/cgcod.c 989 Similarly, this produces bad codegen. void main() { goto L1; try { } catch { L1: { } } } And a segmentation fault occurs during runtime. My guess is that because the try{} body is empty, the entire block gets optimised out, but the goto statement is still left in, where it now jumps to an invalid/null address. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
September 05, 2010 [Issue 4811] ICE when goto into try/catch block | ||||
---|---|---|---|---|
| ||||
Posted in reply to Iain Buclaw | http://d.puremagic.com/issues/show_bug.cgi?id=4811 Don <clugdbug@yahoo.com.au> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |clugdbug@yahoo.com.au Resolution| |DUPLICATE --- Comment #1 from Don <clugdbug@yahoo.com.au> 2010-09-04 18:31:38 PDT --- *** This issue has been marked as a duplicate of issue 4655 *** -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
Copyright © 1999-2021 by the D Language Foundation