[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