[Issue 14537] New: Declaring an extern(C++) function in a variadic function template results in an ICE.
via Digitalmars-d-bugs
digitalmars-d-bugs at puremagic.com
Sat May 2 06:46:04 PDT 2015
https://issues.dlang.org/show_bug.cgi?id=14537
Issue ID: 14537
Summary: Declaring an extern(C++) function in a variadic
function template results in an ICE.
Product: D
Version: D2
Hardware: x86_64
OS: Linux
Status: NEW
Severity: enhancement
Priority: P1
Component: DMD
Assignee: nobody at puremagic.com
Reporter: devw0rp at gmail.com
I was trying out declaring extern(C++) functions inside of variadic templates,
so that the declarations can be generated automatically, etc. I ran into an
internal compiler error.
void variadic(A...)(A args) {
extern(C++) void bar(int);
bar(args); // This causes the error.
}
void main() {
variadic(3);
}
The following assertion error from the mangler was returned from the above.
dmd: cppmangle.c:185: void CppMangleVisitor::source_name(Dsymbol*, bool):
Assertion `t' failed.
I used DMD 2.067.0.
--
More information about the Digitalmars-d-bugs
mailing list