[Issue 22703] importC: C++11 unscoped enums with underlying type rejects some C types.

d-bugmail at puremagic.com d-bugmail at puremagic.com
Tue Jan 25 07:18:37 UTC 2022


https://issues.dlang.org/show_bug.cgi?id=22703

--- Comment #1 from dave287091 at gmail.com ---
On macOs, CoreFoundation imports <dispatch/dispatch.h>, which has an enum
defined:

typedef enum : unsigned long { DISPATCH_AUTORELEASE_FREQUENCY_INHERIT
__attribute__((availability(macos,introduced=10.12)))
__attribute__((availability(ios,introduced=10.0)))                             
 __attribute__((availability(tvos,introduced=10.0)))
__attribute__((availability(watchos,introduced=3.0))) = 0,
DISPATCH_AUTORELEASE_FREQUENCY_WORK_ITEM                                       
            __attribute__((availability(macos,introduced=10.12)))
__attribute__((availability(ios,introduced=10.0)))
__attribute__((availability(tvos,introduced=10.0)))                            
                  __attribute__((availability(watchos,introduced=3.0))) = 1,
DISPATCH_AUTORELEASE_FREQUENCY_NEVER
__attribute__((availability(macos,introduced=10.12)))                          
                           __attribute__((availability(ios,introduced=10.0)))
__attribute__((availability(tvos,introduced=10.0)))
__attribute__((availability(watchos,introduced=3.0))) = 2, }                   
                    __attribute__((__enum_extensibility__(open)))
dispatch_autorelease_frequency_t;

Removing all those attributes, gives:

typedef enum : unsigned long { 
DISPATCH_AUTORELEASE_FREQUENCY_INHERIT  = 0, 
DISPATCH_AUTORELEASE_FREQUENCY_WORK_ITEM= 1, 
DISPATCH_AUTORELEASE_FREQUENCY_NEVER = 2, 
} dispatch_autorelease_frequency_t;

--


More information about the Digitalmars-d-bugs mailing list