Skip to content

Commit 2e9d97d

Browse files
authored
Merge pull request #3082 from etcwilde/ewilde/reapply-CF_ENUM-fix
Reapply: Make CF_ENUM compatible with -Welaborated-enum-base
2 parents ee856f1 + feaed92 commit 2e9d97d

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

CoreFoundation/Base.subproj/CFAvailability.h

+3-3
Original file line numberDiff line numberDiff line change
@@ -135,13 +135,13 @@
135135
#define __CF_ENUM_FIXED_IS_AVAILABLE (__cplusplus && __cplusplus >= 201103L && (__has_extension(cxx_strong_enums) || __has_feature(objc_fixed_enum))) || (!__cplusplus && (__has_feature(objc_fixed_enum) || __has_extension(cxx_fixed_enum)))
136136

137137
#if __CF_ENUM_FIXED_IS_AVAILABLE
138-
#define __CF_NAMED_ENUM(_type, _name) enum __CF_ENUM_ATTRIBUTES _name : _type _name; enum _name : _type
138+
#define __CF_NAMED_ENUM(_type, _name) int __CF_ENUM_ ## _name; enum __CF_ENUM_ATTRIBUTES _name : _type; typedef enum _name _name; enum _name : _type
139139
#define __CF_ANON_ENUM(_type) enum __CF_ENUM_ATTRIBUTES : _type
140-
#define CF_CLOSED_ENUM(_type, _name) enum __CF_CLOSED_ENUM_ATTRIBUTES _name : _type _name; enum _name : _type
140+
#define CF_CLOSED_ENUM(_type, _name) int __CF_ENUM_ ## _name; enum __CF_CLOSED_ENUM_ATTRIBUTES _name : _type; typedef enum _name _name; enum _name : _type
141141
#if (__cplusplus)
142142
#define CF_OPTIONS(_type, _name) _type _name; enum __CF_OPTIONS_ATTRIBUTES : _type
143143
#else
144-
#define CF_OPTIONS(_type, _name) enum __CF_OPTIONS_ATTRIBUTES _name : _type _name; enum _name : _type
144+
#define CF_OPTIONS(_type, _name) int __CF_OPTIONS_ ## _name; enum __CF_OPTIONS_ATTRIBUTES _name : _type; typedef enum _name _name; enum _name : _type
145145
#endif
146146
#else
147147
#define __CF_NAMED_ENUM(_type, _name) _type _name; enum

0 commit comments

Comments
 (0)