[Issue 16237] New: Some DMD Assertion Failures
via Digitalmars-d-bugs
digitalmars-d-bugs at puremagic.com
Tue Jul 5 01:52:40 PDT 2016
https://issues.dlang.org/show_bug.cgi?id=16237
Issue ID: 16237
Summary: Some DMD Assertion Failures
Product: D
Version: D2
Hardware: x86_64
OS: Linux
Status: NEW
Severity: normal
Priority: P1
Component: dmd
Assignee: nobody at puremagic.com
Reporter: puneet at coverify.org
DMD crashes with assertion failure:
$ dmd -c test.d
core.exception.AssertError at todt.d(795): Assertion failure
Also if we comment out line 14, we get:
$ dmd -c test.d
dmd: toobj.c:358: virtual void toObjFile(Dsymbol*,
bool)::ToObjFile::visit(ClassDeclaration*): Assertion `cd->structsize >= 8 ||
(cd->cpp && cd->structsize >= 4)' failed.
Aborted
class Foo(L) { // 1
FooFoo!L foofoo; // 2
alias U = typeof(frop); // 3
Object obj = null; // 4
auto frop() { // 5
foofoo.frop; // 6
} // 7
} // 8
class FooFooFoo(M) { // 9
alias Zoo = Foo!(M); // 10
} // 11
class FooFoo(M) : FooFooFoo!(M) { // 12
bool frop() {return false;} // 13
Zoo zoo() {return new Zoo;} // 14
} // 15
class Bar { // 16
class Solver { // 17
auto boo(L)(L l) { // 18
new FooFoo!L(); // 19
} // 20
void bar() { // 21
boo(foo); // 22
} // 23
} // 24
byte[] foo ; // 25
} // 26
--
More information about the Digitalmars-d-bugs
mailing list