[Issue 23143] New: ImportC: forward enum declarations result in uninformative errors
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Fri May 27 15:00:32 UTC 2022
https://issues.dlang.org/show_bug.cgi?id=23143
Issue ID: 23143
Summary: ImportC: forward enum declarations result in
uninformative errors
Product: D
Version: D2
Hardware: x86
OS: Windows
Status: NEW
Keywords: ImportC
Severity: enhancement
Priority: P1
Component: dmd
Assignee: nobody at puremagic.com
Reporter: maxsamukha at gmail.com
Test case 1:
enum _POOL_TYPE;
enum _POOL_TYPE {
NonPagedPool,
NonPagedPoolExecute = NonPagedPool
};
Error: `enum _POOL_TYPE` has no members
Test case 2:
typedef enum _POOL_TYPE POOL_TYPE;
enum _POOL_TYPE {
NonPagedPool,
NonPagedPoolExecute = NonPagedPool
};
Error: undefined identifier `NonPagedPool`
Forward enum declarations are forbidden by C11. However, they are used in
Windows SDK headers, and there are no workarounds that wouldn't involve
additional preprocessing.
--
More information about the Digitalmars-d-bugs
mailing list