Files
swift-mirror/test/SILGen/availability_windows.swift
Allan Shortlidge f87aa5323f AST: Skip weak linking on Windows consistently.
Always special-case Windows targets in `isAlwaysWeakImported()` instead of
limiting the special case to declarations that are marked unavailable.
2025-10-21 09:04:54 -07:00

32 lines
998 B
Swift

// RUN: %target-swift-emit-silgen %s -target %target-cpu-unknown-windows-msvc | %FileCheck %s
// REQUIRES: OS=windows-msvc
@_silgen_name("windows10")
@available(Windows 10, *)
public func windows10()
@_silgen_name("unavailable")
@available(Windows, unavailable)
public func unavailable()
// CHECK-LABEL: sil [ossa] @$s20availability_windows15testIfAvailableyyF : $@convention(thin) () -> ()
// CHECK: cond_br
// CHECK: function_ref @windows10
public func testIfAvailable() {
if #available(Windows 10, *) {
windows10()
}
}
// CHECK: sil [available 10] @windows10 : $@convention(thin) () -> ()
// CHECK-LABEL: sil [ossa] @$s20availability_windows15testUnavailableyyF : $@convention(thin) () -> ()
// CHECK: function_ref @unavailable
@available(*, unavailable)
public func testUnavailable() {
unavailable()
}
// FIXME: Mark [weak_imported] when weak linking is supported on Windows (https://github.com/apple/swift/issues/53303)
// CHECK: sil @unavailable : $@convention(thin) () -> ()