[c-interop] Make Extern a suppressible language feature.

Fixes building the standard library's .swiftinterface with older Swift
compilers.
This commit is contained in:
Allan Shortlidge
2024-01-11 11:03:22 -08:00
parent bfe1bd6ea2
commit ba1f50fddb
3 changed files with 15 additions and 3 deletions

View File

@@ -6,15 +6,21 @@
// CHECK: #if compiler(>=5.3) && $Extern
// CHECK-NEXT: @_extern(c) public func externalCFunc()
// CHECK-NEXT: #else
// CHECK-NEXT: public func externalCFunc()
// CHECK-NEXT: #endif
@_extern(c) public func externalCFunc()
// CHECK: #if compiler(>=5.3) && $Extern
// CHECK-NEXT: @_extern(c, "renamedCFunc") public func externalRenamedCFunc()
// CHECK-NEXT: #else
// CHECK-NEXT: public func externalRenamedCFunc()
// CHECK-NEXT: #endif
@_extern(c, "renamedCFunc") public func externalRenamedCFunc()
// CHECK: #if compiler(>=5.3) && $Extern
// CHECK-NEXT: @_extern(wasm, module: "m", name: "f") public func wasmImportedFunc()
// CHECK-NEXT: #else
// CHECK-NEXT: public func wasmImportedFunc()
// CHECK-NEXT: #endif
@_extern(wasm, module: "m", name: "f") public func wasmImportedFunc()