D issues are now tracked on GitHub. This Bugzilla instance remains as a read-only archive.
Issue 4055 - ICE(tocsym.c:407) virtual Symbol* FuncDeclaration::toSymbol(): Assertion `0' failed.
Summary: ICE(tocsym.c:407) virtual Symbol* FuncDeclaration::toSymbol(): Assertion `0' ...
Status: RESOLVED DUPLICATE of issue 3602
Alias: None
Product: D
Classification: Unclassified
Component: dmd (show other issues)
Version: D2
Hardware: Other Linux
: P2 normal
Assignee: No Owner
URL:
Keywords: ice-on-valid-code
Depends on:
Blocks: 340
  Show dependency treegraph
 
Reported: 2010-04-02 20:45 UTC by Robert Clipsham
Modified: 2014-02-15 02:43 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description Robert Clipsham 2010-04-02 20:45:34 UTC
Test case:
a.d:
----
import b;
class Sub : Super
{
        int fail()
        {
                return Super.fail();
        }

}
----
b.d:
----
class Super
{
        int fail()
        out (result) {}
        body
        {
                assert(0);
        }
}
----
Compile with dmd -c a.d. If you compile with dmd a.d b.d the ICE does not occur. DMD outputs:
b.d(5): Error: function __ensure forward declaration
linkage = 0
dmd: tocsym.c:407: virtual Symbol* FuncDeclaration::toSymbol(): Assertion `0' failed.
Comment 1 Robert Clipsham 2010-04-02 20:48:57 UTC
I should note this is blocking a linux port of ddmd.
Comment 2 Don 2010-04-02 22:37:23 UTC
Duplicate of 3602?
Comment 3 Robert Clipsham 2010-04-03 05:18:21 UTC
You are correct Don, it is a duplicate, sorry for the noise.

*** This issue has been marked as a duplicate of issue 3602 ***