September 03, 2020 [Issue 21219] New: Invalid C++ header generated for extern(C++, [class|struct]) | ||||
|---|---|---|---|---|
| ||||
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: nobody@puremagic.com Reporter: moonlightsentinel@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. -- | ||||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply