Files
swift-mirror/test/ModuleInterface/availability-library-level-api-5_8.swiftinterface
Allan Shortlidge 0e7ad1e9a4 Frontend: Don't append -target-min-inlining-target target to implicit module builds.
When performing an implicit module build, the frontend was prepending
`-target-min-inlining-target target` to the command line. This was overriding
the implicit `-target-min-inlining-target min` argument that is implied when
`-library-level api` is specified. As a result, the wrong overload could be
picked when compiling the body of an inlinable function to SIL for emission
into the client, potentially resulting in crashes when the client of the module
is back deployed to an older OS.

Resolves rdar://109336472
2023-05-30 13:33:26 -07:00

19 lines
765 B
Plaintext

// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 5.8 (swiftlang-5.8.0.117.59 clang-1403.0.22.8.50)
// swift-module-flags: -target arm64-apple-macosx11 -enable-library-evolution -swift-version 5 -library-level api -module-name Test
// RUN: %target-swift-frontend -typecheck-module-from-interface -verify -module-name Test %s
// REQUIRES: OS=macosx
import Swift
@available(macOS 11, *)
public struct S {}
// This typealias ought to be @available(macOS 11, *) since it references `S`
// and the module was compiled with `-library-level api`. However, given that
// the interface was produced with tools that are older than Swift 5.9 we
// typecheck availability with the deployment target as the floor.
public typealias A = S