|
39 | 39 |
|
40 | 40 | #define _CXX_INTEROP_STRINGIFY(_x) #_x |
41 | 41 |
|
42 | | -#define _CXX_INTEROP_CONCAT_(a,b,c,d,e,f,g,i,j,k,l,m,n,o,p,...) \ |
43 | | - #a "," #b "," #c "," #d "," #e "," #f "," #g "," #i "," #j "," #k "," \ |
44 | | - #l "," #m "," #n "," #o "," #p |
45 | | -#define _CXX_INTEROP_CONCAT(...) \ |
46 | | - _CXX_INTEROP_CONCAT_(__VA_ARGS__,,,,,,,,,,,,,,,,,) |
47 | | - |
48 | 42 | /// Specifies that a C++ `class` or `struct` is reference-counted using |
49 | 43 | /// the given `retain` and `release` functions. This annotation lets Swift import |
50 | 44 | /// such a type as reference counted type in Swift, taking advantage of Swift's |
|
165 | 159 | #define SWIFT_NONCOPYABLE \ |
166 | 160 | __attribute__((swift_attr("~Copyable"))) |
167 | 161 |
|
168 | | -/// Specifies that a specific c++ type such class or struct should be imported |
169 | | -/// as a non-escapable Swift value type when the non-escapable language feature |
170 | | -/// is enabled. |
171 | | -#define SWIFT_NONESCAPABLE \ |
172 | | - __attribute__((swift_attr("~Escapable"))) |
173 | | - |
174 | | -/// Specifies that a specific c++ type such class or struct should be imported |
175 | | -/// as a escapable Swift value. While this matches the default behavior, |
176 | | -/// in safe mode interop mode it ensures that the type is not marked as |
177 | | -/// unsafe. |
178 | | -#define SWIFT_ESCAPABLE \ |
179 | | - __attribute__((swift_attr("Escapable"))) |
180 | | - |
181 | | -/// Specifies that a C++ `class` or `struct` should be imported as a escapable |
182 | | -/// Swift value if all of the specified template arguments are escapable. |
183 | | -#define SWIFT_ESCAPABLE_IF(...) \ |
184 | | - __attribute__((swift_attr("escapable_if:" _CXX_INTEROP_CONCAT(__VA_ARGS__)))) |
185 | | - |
186 | 162 | /// Specifies that the return value is passed as owned for C++ functions and |
187 | 163 | /// methods returning types annotated as `SWIFT_SHARED_REFERENCE` |
188 | 164 | #define SWIFT_RETURNS_RETAINED __attribute__((swift_attr("returns_retained"))) |
|
205 | 181 | #define SWIFT_MUTATING |
206 | 182 | #define SWIFT_UNCHECKED_SENDABLE |
207 | 183 | #define SWIFT_NONCOPYABLE |
208 | | -#define SWIFT_NONESCAPABLE |
209 | | -#define SWIFT_ESCAPABLE |
210 | | -#define SWIFT_ESCAPABLE_IF(...) |
211 | 184 | #define SWIFT_RETURNS_RETAINED |
212 | 185 | #define SWIFT_RETURNS_UNRETAINED |
213 | 186 |
|
|
0 commit comments