Bug 4054 – ICE(eh.c) line 49

Status
RESOLVED
Resolution
DUPLICATE
Severity
normal
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
Other
OS
Linux
Creation time
2010-04-02T19:57:00Z
Last change time
2014-02-15T02:45:52Z
Keywords
ice-on-valid-code
Assigned to
nobody
Creator
robert

Comments

Comment #0 by robert — 2010-04-02T19:57:49Z
The following test case: ---- import core.stdc.stdlib : alloca; class A { } void b() { scope a = new A; int l; alloca(l); goto L1; L1: ; } ---- Causes dmd to ICE with the following error: Internal error: eh.c 49 Slight changes to the test case cause the error to go away. Looking at dmd/eh.c: ---- // BUG: alloca() changes the stack size, which is not reflected // in the fixed eh tables. assert(!usedalloca); ---- So it seems I've triggered one of these cases.
Comment #1 by robert — 2010-04-02T20:49:17Z
I should note that this is blocking a linux port of ddmd.
Comment #2 by clugdbug — 2010-04-02T22:35:29Z
See also bug 3753, which also triggers the same ICE.
Comment #3 by clugdbug — 2010-05-18T00:18:41Z
Test case moved to bug 3753, which is clearly the same bug. *** This issue has been marked as a duplicate of issue 3753 ***
Comment #4 by bugzilla — 2010-05-30T16:30:59Z
Comment #5 by lomereiter — 2012-06-28T03:05:24Z
The test case causes ICE on my x86_64 Arch Linux machine: Internal error: eh.c 55 shell returned 1
Comment #6 by braddr — 2012-07-22T20:00:50Z
Re-marking as a duplicate. If you have further comments, please put them in the other bug report. *** This issue has been marked as a duplicate of issue 3753 ***