72
72
#define CLANG_MACRO_CXX_BODY (NAME, BODY )
73
73
#endif
74
74
75
- CLANG_MACRO_BODY (SWIFT_PASTE, \
75
+ CLANG_MACRO_BODY (" SWIFT_PASTE" , \
76
76
" # define SWIFT_PASTE_HELPER(x, y) x##y\n " \
77
77
" # define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)" )
78
- CLANG_MACRO_DEFINED(SWIFT_PASTE_HELPER)
79
-
80
- CLANG_MACRO(SWIFT_METATYPE, (X), Class)
81
-
82
- CLANG_MACRO_CONDITIONAL(SWIFT_CLASS_PROPERTY, \
83
- (...), \
84
- __has_feature(objc_class_property), \
85
- __VA_ARGS__)
86
-
87
- CLANG_MACRO_CONDITIONAL(SWIFT_RUNTIME_NAME, \
88
- (X), \
89
- __has_attribute(objc_runtime_name), \
90
- __attribute__((objc_runtime_name(X))))
91
-
92
- CLANG_MACRO_CONDITIONAL(SWIFT_COMPILE_NAME, \
93
- (X), \
94
- __has_attribute(swift_name), \
95
- __attribute__((swift_name(X))))
96
-
97
- CLANG_MACRO_CONDITIONAL(SWIFT_METHOD_FAMILY, \
98
- (X), \
99
- __has_attribute(objc_method_family),
100
- __attribute__((objc_method_family(X))))
101
-
102
- CLANG_MACRO_CONDITIONAL(SWIFT_NOESCAPE, , \
103
- __has_attribute (noescape), \
104
- __attribute__((noescape)))
105
-
106
- CLANG_MACRO_CONDITIONAL(SWIFT_RELEASES_ARGUMENT, , \
107
- __has_attribute (ns_consumed), \
108
- __attribute__((ns_consumed)))
109
-
110
- CLANG_MACRO_CONDITIONAL(SWIFT_WARN_UNUSED_RESULT, , \
111
- __has_attribute (warn_unused_result), \
112
- __attribute__((warn_unused_result)))
113
-
114
- // While this would ordinarily work with CLANG_MACRO_CONDITIONAL, this name is
115
- // defined in the compiler source itself, and is expanded by the time the macro
116
- // is printed into the resulting header
117
- CLANG_MACRO_BODY(SWIFT_NORETURN, \
118
- " # if __has_attribute(noreturn)\n " \
119
- " # define SWIFT_NORETURN __attribute((noreturn))\n " \
120
- " # else\n " \
121
- " # define SWIFT_NORETURN\n " \
122
- " # endif" )
78
+ CLANG_MACRO_DEFINED(" SWIFT_PASTE_HELPER" )
79
+
80
+ CLANG_MACRO(" SWIFT_METATYPE" , " (X)" , " Class" )
81
+
82
+ CLANG_MACRO_CONDITIONAL(" SWIFT_CLASS_PROPERTY" , \
83
+ " (...)" , \
84
+ " __has_feature(objc_class_property)" , \
85
+ " __VA_ARGS__" )
86
+
87
+ CLANG_MACRO_CONDITIONAL(" SWIFT_RUNTIME_NAME" , \
88
+ " (X)" , \
89
+ " __has_attribute(objc_runtime_name)" , \
90
+ " __attribute__((objc_runtime_name(X)))" )
91
+
92
+ CLANG_MACRO_CONDITIONAL(" SWIFT_COMPILE_NAME" , \
93
+ " (X)" , \
94
+ " __has_attribute(swift_name)" , \
95
+ " __attribute__((swift_name(X)))" )
96
+
97
+ CLANG_MACRO_CONDITIONAL(" SWIFT_METHOD_FAMILY" , \
98
+ " (X)" , \
99
+ " __has_attribute(objc_method_family)" ,
100
+ " __attribute__((objc_method_family(X)))" )
101
+
102
+ CLANG_MACRO_CONDITIONAL(" SWIFT_NOESCAPE" , , \
103
+ " __has_attribute(noescape)" , \
104
+ " __attribute__((noescape))" )
105
+
106
+ CLANG_MACRO_CONDITIONAL(" SWIFT_RELEASES_ARGUMENT" , , \
107
+ " __has_attribute(ns_consumed)" , \
108
+ " __attribute__((ns_consumed))" )
109
+
110
+ CLANG_MACRO_CONDITIONAL(" SWIFT_WARN_UNUSED_RESULT" , , \
111
+ " __has_attribute(warn_unused_result)" , \
112
+ " __attribute__((warn_unused_result))" )
113
+
114
+ CLANG_MACRO_CONDITIONAL(" SWIFT_NORETURN" , , \
115
+ " __has_attribute(noreturn)" , \
116
+ " __attribute__((noreturn))" )
123
117
124
- CLANG_MACRO(SWIFT_CLASS_EXTRA, , )
125
- CLANG_MACRO(SWIFT_PROTOCOL_EXTRA, , )
126
- CLANG_MACRO(SWIFT_ENUM_EXTRA, , )
118
+ CLANG_MACRO(" SWIFT_CLASS_EXTRA" , , )
119
+ CLANG_MACRO(" SWIFT_PROTOCOL_EXTRA" , , )
120
+ CLANG_MACRO(" SWIFT_ENUM_EXTRA" , , )
127
121
128
- CLANG_MACRO_BODY(SWIFT_CLASS, \
122
+ CLANG_MACRO_BODY(" SWIFT_CLASS" , \
129
123
" # if __has_attribute(objc_subclassing_restricted)\n " \
130
124
" # define SWIFT_CLASS(SWIFT_NAME) " \
131
125
" SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) " \
@@ -139,9 +133,9 @@ CLANG_MACRO_BODY(SWIFT_CLASS, \
139
133
" # define SWIFT_CLASS_NAMED(SWIFT_NAME) " \
140
134
" SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA\n " \
141
135
" # endif" )
142
- CLANG_MACRO_DEFINED(SWIFT_CLASS_NAMED)
136
+ CLANG_MACRO_DEFINED(" SWIFT_CLASS_NAMED" )
143
137
144
- CLANG_MACRO_BODY(SWIFT_RESILIENT_CLASS, \
138
+ CLANG_MACRO_BODY(" SWIFT_RESILIENT_CLASS" , \
145
139
" # if __has_attribute(objc_class_stub)\n " \
146
140
" # define SWIFT_RESILIENT_CLASS(SWIFT_NAME) " \
147
141
" SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))\n " \
@@ -151,26 +145,26 @@ CLANG_MACRO_BODY(SWIFT_RESILIENT_CLASS, \
151
145
" # define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)\n " \
152
146
" # define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)\n " \
153
147
" # endif" )
154
- CLANG_MACRO_DEFINED(SWIFT_RESILIENT_CLASS_NAMED)
148
+ CLANG_MACRO_DEFINED(" SWIFT_RESILIENT_CLASS_NAMED" )
155
149
156
- CLANG_MACRO_BODY(SWIFT_PROTOCOL, \
150
+ CLANG_MACRO_BODY(" SWIFT_PROTOCOL" , \
157
151
" # define SWIFT_PROTOCOL(SWIFT_NAME) " \
158
152
" SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA\n " \
159
153
" # define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) " \
160
154
" SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA" )
161
- CLANG_MACRO_DEFINED(SWIFT_PROTOCOL_NAMED)
155
+ CLANG_MACRO_DEFINED(" SWIFT_PROTOCOL_NAMED" )
162
156
163
- CLANG_MACRO(SWIFT_EXTENSION, (M), SWIFT_PASTE(M##_Swift_, __LINE__))
157
+ CLANG_MACRO(" SWIFT_EXTENSION" , " (M)" , " SWIFT_PASTE(M##_Swift_, __LINE__)" )
164
158
165
- CLANG_MACRO_CONDITIONAL(OBJC_DESIGNATED_INITIALIZER, , \
166
- __has_attribute (objc_designated_initializer), \
167
- __attribute__((objc_designated_initializer)))
159
+ CLANG_MACRO_CONDITIONAL(" OBJC_DESIGNATED_INITIALIZER" , , \
160
+ " __has_attribute(objc_designated_initializer)" , \
161
+ " __attribute__((objc_designated_initializer))" )
168
162
169
- CLANG_MACRO_CONDITIONAL(SWIFT_ENUM_ATTR, (_extensibility), \
170
- __has_attribute(enum_extensibility), \
171
- __attribute__((enum_extensibility(_extensibility))))
163
+ CLANG_MACRO_CONDITIONAL(" SWIFT_ENUM_ATTR" , " (_extensibility)" , \
164
+ " __has_attribute(enum_extensibility)" , \
165
+ " __attribute__((enum_extensibility(_extensibility)))" )
172
166
173
- CLANG_MACRO_BODY(SWIFT_ENUM, \
167
+ CLANG_MACRO_BODY(" SWIFT_ENUM" , \
174
168
" # define SWIFT_ENUM(_type, _name, _extensibility) " \
175
169
" enum _name : _type _name; " \
176
170
" enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name: _type\n " \
@@ -184,39 +178,37 @@ CLANG_MACRO_BODY(SWIFT_ENUM, \
184
178
" SWIFT_ENUM(_type, _name, _extensibility)\n " \
185
179
" # endif" )
186
180
187
- CLANG_MACRO(SWIFT_UNAVAILABLE, , __attribute__((unavailable)))
188
- CLANG_MACRO(SWIFT_UNAVAILABLE_MSG, (msg), __attribute__((unavailable(msg))))
181
+ CLANG_MACRO(" SWIFT_UNAVAILABLE" , , " __attribute__((unavailable))" )
182
+ CLANG_MACRO(" SWIFT_UNAVAILABLE_MSG" , " (msg)" , " __attribute__((unavailable(msg)))" )
189
183
190
- CLANG_MACRO(SWIFT_AVAILABILITY, (plat, ...), __attribute__((availability(plat, __VA_ARGS__))))
184
+ CLANG_MACRO(" SWIFT_AVAILABILITY" , " (plat, ...)" , " __attribute__((availability(plat, __VA_ARGS__)))" )
191
185
192
- // SWIFT_WEAK_IMPORT is also defined within the compiler source, so use CLANG_MACRO_BODY to avoid
193
- // being expanded before being emitted into the header
194
- CLANG_MACRO_BODY(SWIFT_WEAK_IMPORT, " # define SWIFT_WEAK_IMPORT __attribute__((weak_import))" )
186
+ CLANG_MACRO(" SWIFT_WEAK_IMPORT" , , " __attribute__((weak_import))" )
195
187
196
- CLANG_MACRO(SWIFT_DEPRECATED, , __attribute__((deprecated)))
197
- CLANG_MACRO(SWIFT_DEPRECATED_MSG, (...), __attribute__((deprecated(__VA_ARGS__))))
188
+ CLANG_MACRO(" SWIFT_DEPRECATED" , , " __attribute__((deprecated))" )
189
+ CLANG_MACRO(" SWIFT_DEPRECATED_MSG" , " (...)" , " __attribute__((deprecated(__VA_ARGS__)))" )
198
190
199
- CLANG_MACRO_ALTERNATIVE(SWIFT_DEPRECATED_OBJC, (Msg), \
200
- __has_feature(attribute_diagnost_if_objc), \
201
- __attribute__((diagnose_if(1 , Msg, " warning" ))), \
202
- SWIFT_DEPRECATED_MSG(Msg))
191
+ CLANG_MACRO_ALTERNATIVE(" SWIFT_DEPRECATED_OBJC" , " (Msg)" , \
192
+ " __has_feature(attribute_diagnost_if_objc)" , \
193
+ " __attribute__((diagnose_if(1, Msg, \ " warning\ " )))" , \
194
+ " SWIFT_DEPRECATED_MSG(Msg)" )
203
195
204
- CLANG_MACRO_OBJC(IBSegueAction, , )
196
+ CLANG_MACRO_OBJC(" IBSegueAction" , , )
205
197
206
- CLANG_MACRO_BODY(SWIFT_EXTERN, \
198
+ CLANG_MACRO_BODY(" SWIFT_EXTERN" , \
207
199
" # if defined(__cplusplus)\n " \
208
200
" # define SWIFT_EXTERN extern \" C\"\n " \
209
201
" # else\n " \
210
202
" # define SWIFT_EXTERN extern\n "
211
203
" # endif" )
212
204
213
- CLANG_MACRO(SWIFT_CALL, , __attribute__((swiftcall)))
205
+ CLANG_MACRO(" SWIFT_CALL" , , " __attribute__((swiftcall))" )
214
206
215
- CLANG_MACRO(SWIFT_INDIRECT_RESULT, , __attribute__((swift_indirect_result)))
207
+ CLANG_MACRO(" SWIFT_INDIRECT_RESULT" , , " __attribute__((swift_indirect_result))" )
216
208
217
- CLANG_MACRO_CXX(SWIFT_NOEXCEPT, , noexcept , )
209
+ CLANG_MACRO_CXX(" SWIFT_NOEXCEPT" , , " noexcept" , )
218
210
219
- CLANG_MACRO_CXX_BODY(SWIFT_CXX_INT_DEFINED, \
211
+ CLANG_MACRO_CXX_BODY(" SWIFT_CXX_INT_DEFINED" , \
220
212
" #if !defined(SWIFT_CXX_INT_DEFINED)\n " \
221
213
" #define SWIFT_CXX_INT_DEFINED\n " \
222
214
" namespace swift {\n " \
0 commit comments