http://d.puremagic.com/issues/show_bug.cgi?id=3753

           Summary: ICE eh.c 49:  Related to exception handling and
                    alloca.
           Product: D
           Version: 2.039
          Platform: Other
        OS/Version: Linux
            Status: NEW
          Keywords: ice-on-valid-code
          Severity: major
          Priority: P2
         Component: DMD
        AssignedTo: nob...@puremagic.com
        ReportedBy: dsim...@yahoo.com


--- Comment #0 from David Simcha <dsim...@yahoo.com> 2010-01-29 15:04:57 PST ---
I can't seem to reduce this one to a small test case, but I think this comment
from where the assert fires at least gives a hint that it involves some
combination of exceptions and alloca:

    // BUG: alloca() changes the stack size, which is not reflected
    // in the fixed eh tables.
    assert(!usedalloca);

Also, in the (too large to post to Bugzilla) program that this issue occurred
in, removing the alloca() calls and replacing them with GC.malloc() fixed the
problem.

This assert is in a #if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD ||
TARGET_SOLARIS statement, so I guess it only happens on those OS's.  The code
that triggers it definitely works on Windows.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------

Reply via email to