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: [email protected]
Reporter: [email protected]
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.
--