[Issue 16575] New: [ICE] extern(C++) function with D specific types

via Digitalmars-d-bugs digitalmars-d-bugs at puremagic.com
Sun Oct 2 08:30:07 PDT 2016


https://issues.dlang.org/show_bug.cgi?id=16575

          Issue ID: 16575
           Summary: [ICE] extern(C++) function with D specific types
           Product: D
           Version: D2
          Hardware: All
                OS: All
            Status: NEW
          Keywords: ice
          Severity: major
          Priority: P1
         Component: dmd
          Assignee: nobody at puremagic.com
          Reporter: doob at me.com

Compiling the following code will result in an ICE:

extern(C++) void foo(string a) {}

Error: Internal Compiler Error: unsupported type string

The same happens with other D specific types that don't exist in C++. Like
delegates and associative arrays. I'm pretty sure that the ICE comes from the
C++ mangler. The compiler should give a proper error, that the type is not
supported for C++ functions, before getting to the mangler.

--


More information about the Digitalmars-d-bugs mailing list