|
8 | 8 | // REQUIRES: objc_interop
|
9 | 9 |
|
10 | 10 | // CHECK: /// What a nightmare!
|
11 |
| -// CHECK-LABEL: double (^ _Nonnull block_nightmare(SWIFT_NOESCAPE float (^ _Nonnull x)(NSInteger)))(char) SWIFT_WARN_UNUSED_RESULT; |
| 11 | +// CHECK-LABEL: SWIFT_EXTERN double (^ _Nonnull block_nightmare(SWIFT_NOESCAPE float (^ _Nonnull x)(NSInteger)))(char) SWIFT_WARN_UNUSED_RESULT; |
12 | 12 |
|
13 | 13 | /// What a nightmare!
|
14 | 14 | @_cdecl("block_nightmare")
|
15 | 15 | public func block_nightmare(x: @convention(block) (Int) -> Float)
|
16 | 16 | -> @convention(block) (CChar) -> Double { return { _ in 0 } }
|
17 | 17 |
|
18 |
| -// CHECK-LABEL: double (^ _Nonnull block_recurring_nightmare(float (^ _Nonnull x)(SWIFT_NOESCAPE NSInteger (^ _Nonnull)(double))))(SWIFT_NOESCAPE char (^ _Nonnull)(unsigned char)) SWIFT_WARN_UNUSED_RESULT; |
| 18 | +// CHECK-LABEL: SWIFT_EXTERN double (^ _Nonnull block_recurring_nightmare(float (^ _Nonnull x)(SWIFT_NOESCAPE NSInteger (^ _Nonnull)(double))))(SWIFT_NOESCAPE char (^ _Nonnull)(unsigned char)) SWIFT_WARN_UNUSED_RESULT; |
19 | 19 | @_cdecl("block_recurring_nightmare")
|
20 | 20 | public func block_recurring_nightmare(x: @escaping @convention(block) (@convention(block) (Double) -> Int) -> Float)
|
21 | 21 | -> @convention(block) (_ asdfasdf: @convention(block) (CUnsignedChar) -> CChar) -> Double {
|
22 | 22 | fatalError()
|
23 | 23 | }
|
24 | 24 |
|
25 |
| -// CHECK-LABEL: void foo_bar(NSInteger x, NSInteger y); |
| 25 | +// CHECK-LABEL: SWIFT_EXTERN void foo_bar(NSInteger x, NSInteger y); |
26 | 26 | @_cdecl("foo_bar")
|
27 | 27 | func foo(x: Int, bar y: Int) {}
|
28 | 28 |
|
29 |
| -// CHECK-LABEL: double (* _Nonnull function_pointer_nightmare(SWIFT_NOESCAPE float (* _Nonnull x)(NSInteger)))(char) SWIFT_WARN_UNUSED_RESULT; |
| 29 | +// CHECK-LABEL: SWIFT_EXTERN double (* _Nonnull function_pointer_nightmare(SWIFT_NOESCAPE float (* _Nonnull x)(NSInteger)))(char) SWIFT_WARN_UNUSED_RESULT; |
30 | 30 | @_cdecl("function_pointer_nightmare")
|
31 | 31 | func function_pointer_nightmare(x: @convention(c) (Int) -> Float)
|
32 | 32 | -> @convention(c) (CChar) -> Double { return { _ in 0 } }
|
33 | 33 |
|
34 |
| -// CHECK-LABEL: double (* _Nonnull function_pointer_recurring_nightmare(float (* _Nonnull x)(SWIFT_NOESCAPE NSInteger (* _Nonnull)(double))))(SWIFT_NOESCAPE char (* _Nonnull)(unsigned char)) SWIFT_WARN_UNUSED_RESULT; |
| 34 | +// CHECK-LABEL: SWIFT_EXTERN double (* _Nonnull function_pointer_recurring_nightmare(float (* _Nonnull x)(SWIFT_NOESCAPE NSInteger (* _Nonnull)(double))))(SWIFT_NOESCAPE char (* _Nonnull)(unsigned char)) SWIFT_WARN_UNUSED_RESULT; |
35 | 35 | @_cdecl("function_pointer_recurring_nightmare")
|
36 | 36 | public func function_pointer_recurring_nightmare(x: @escaping @convention(c) (@convention(c) (Double) -> Int) -> Float)
|
37 | 37 | -> @convention(c) (@convention(c) (CUnsignedChar) -> CChar) -> Double {
|
38 | 38 | fatalError()
|
39 | 39 | }
|
40 | 40 |
|
41 |
| -// CHECK-LABEL: void has_keyword_arg_names(NSInteger auto_, NSInteger union_); |
| 41 | +// CHECK-LABEL: SWIFT_EXTERN void has_keyword_arg_names(NSInteger auto_, NSInteger union_); |
42 | 42 | @_cdecl("has_keyword_arg_names")
|
43 | 43 | func keywordArgNames(auto: Int, union: Int) {}
|
44 | 44 |
|
45 | 45 | @objc
|
46 | 46 | class C {}
|
47 | 47 |
|
48 |
| -// CHECK-LABEL: C * _Null_unspecified return_iuo(void) SWIFT_WARN_UNUSED_RESULT; |
| 48 | +// CHECK-LABEL: SWIFT_EXTERN C * _Null_unspecified return_iuo(void) SWIFT_WARN_UNUSED_RESULT; |
49 | 49 | @_cdecl("return_iuo")
|
50 | 50 | func returnIUO() -> C! { return C() }
|
51 | 51 |
|
52 |
| -// CHECK-LABEL: void return_never(void) SWIFT_NORETURN; |
| 52 | +// CHECK-LABEL: SWIFT_EXTERN void return_never(void) SWIFT_NORETURN; |
53 | 53 | @_cdecl("return_never")
|
54 | 54 | func returnNever() -> Never { fatalError() }
|
55 | 55 |
|
56 |
| -// CHECK-LABEL: void takes_iuo(C * _Null_unspecified c); |
| 56 | +// CHECK-LABEL: SWIFT_EXTERN void takes_iuo(C * _Null_unspecified c); |
57 | 57 | @_cdecl("takes_iuo")
|
58 | 58 | func takesIUO(c: C!) {}
|
0 commit comments