https://issues.dlang.org/show_bug.cgi?id=21219
Issue ID: 21219 Summary: Invalid C++ header generated for extern(C++, [class|struct]) Product: D Version: D2 Hardware: All OS: All Status: NEW Severity: normal Priority: P1 Component: dmd Assignee: nob...@puremagic.com Reporter: moonlightsenti...@disroot.org Example: =============================================== extern(C++, class) struct ClassFromStruct {} extern(C++, class) class ClassFromClass {} extern(C++, struct) struct StructFromStruct {} extern(C++, struct) class StructFromClass {} =============================================== dmd -c -o- -HC missing_class.d =============================================== // Automatically generated by Digital Mars D Compiler v2092 #pragma once #include <stddef.h> #include <stdint.h> // ignoring non-cpp struct ClassFromStruct because of linkage class ClassFromClass { public: }; // ignoring non-cpp struct StructFromStruct because of linkage class StructFromClass { public: }; =============================================== There are mutliple issues here: - ClassFromStruct and StructFromStruct are missing - StructFromClass is declared as class. --