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: nob...@puremagic.com Reporter: maxsamu...@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. --