[Bug 225] New: ICE when mixed in non-static member declaration depends on other members.

via D.gnu d.gnu at puremagic.com
Tue May 17 11:08:59 PDT 2016


http://bugzilla.gdcproject.org/show_bug.cgi?id=225

            Bug ID: 225
           Summary: ICE when mixed in non-static member declaration
                    depends on other members.
           Product: GDC
           Version: 5.x
          Hardware: All
                OS: All
            Status: NEW
          Severity: minor
          Priority: Normal
         Component: gdc
          Assignee: ibuclaw at gdcproject.org
          Reporter: art.08.09 at gmail.com

Arguably this is invalid code (depending on how one treats accessing unfinished
declarations) and should be caught by the FE. But it is not caught, and, as the
ICE happens in gdc-land, I'll report it here, JIC it's a symptom of a /real/
bug, and not only a UI issue.


   struct U {
      int a;
      mixin(`enum B { ` ~ U.tupleof[0].stringof ~ ` }`);
      mixin(`B b;`);
   }


->

gdcbugicemix.d:1:0: internal compiler error: in layout_aggregate_type, at
d/d-codegen.cc:4480

 ^
0x7631ef layout_aggregate_type(AggregateDeclaration*, tree_node*,
AggregateDeclaration*)
        ../../gcc/d/d-codegen.cc:4480
0x78ad27 TypeVisitor::visit(TypeStruct*)
        ../../gcc/d/types.cc:262
0x78aa1d build_ctype(Type*)
        ../../gcc/d/types.cc:499
0x758252 AggregateDeclaration::toInitializer()
        ../../gcc/d/d-decls.cc:701
0x767a50 StructDeclaration::toObjFile()
        ../../gcc/d/d-objfile.cc:238
0x76a9d4 Module::genobjfile(bool)
        ../../gcc/d/d-objfile.cc:1424
0x756600 d_parse_file()
        ../../gcc/d/d-lang.cc:1211
Please submit a full bug report,

-- 
You are receiving this mail because:
You are watching all bug changes.


More information about the D.gnu mailing list