D.gnu - [Bug 279] New: ICE in local class definition.
- gdc-bugzilla gdcproject.org (48/48) Nov 13 2017 https://bugzilla.gdcproject.org/show_bug.cgi?id=279
https://bugzilla.gdcproject.org/show_bug.cgi?id=279 Bug ID: 279 Summary: ICE in local class definition. Product: GDC Version: development Hardware: x86_64 OS: Linux Status: NEW Severity: normal Priority: Normal Component: gdc Assignee: ibuclaw gdcproject.org Reporter: dorian.haglund gmail.com The following code fails to compile with gdc (Debian 7.2.0-12) 7.2.1 20171025. struct S (T) { this(int) { } T t; } int main() { class C { S!C member; } return 0; } /home/dorian/dev/lib_algo 0 % gdc mini.d cc1d: ../../src/gcc/d/dfrontend/optimize.c:628: virtual void Expression_optimize(Expression*, int, bool)::OptimizeVisitor::visit(CastExp*): Assertion `cdfrom->sizeok == SIZEOKdone' failed. cc1d: internal compiler error: Aborted Please submit a full bug report, with preprocessed source if appropriate. About my box: /home/dorian/dev/lib_algo 1 % uname -a GNU/Linux Notes: The code compiles if the class C definition is moved outside the main's scope. The code compiles if 'S!C' is replaced by 'S!int'. (A self referencing issue?) The code compiles if the struct 'S' doesn't have a 'T' member. The code compiles as is with dmd and ldc. -- You are receiving this mail because: You are watching all bug changes.
Nov 13 2017