mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
Merge remote-tracking branch 'origin/main' into rebranch
This commit is contained in:
@@ -47,6 +47,17 @@ swift::CompilerInvocation::CompilerInvocation() {
|
||||
setTargetTriple(llvm::sys::getDefaultTargetTriple());
|
||||
}
|
||||
|
||||
/// Converts a llvm::Triple to a llvm::VersionTuple.
|
||||
static llvm::VersionTuple
|
||||
getVersionTuple(const llvm::Triple &triple) {
|
||||
if (triple.isMacOSX()) {
|
||||
llvm::VersionTuple OSVersion;
|
||||
triple.getMacOSXVersion(OSVersion);
|
||||
return OSVersion;
|
||||
}
|
||||
return triple.getOSVersion();
|
||||
}
|
||||
|
||||
void CompilerInvocation::computeRuntimeResourcePathFromExecutablePath(
|
||||
StringRef mainExecutablePath, bool shared,
|
||||
llvm::SmallVectorImpl<char> &runtimeResourcePath) {
|
||||
@@ -865,24 +876,19 @@ static bool ParseLangArgs(LangOptions &Opts, ArgList &Args,
|
||||
// First, set up default minimum inlining target versions.
|
||||
auto getDefaultMinimumInliningTargetVersion =
|
||||
[&](const llvm::Triple &triple) -> llvm::VersionTuple {
|
||||
// FIXME: Re-enable with rdar://91387029
|
||||
#if SWIFT_DEFAULT_API_TARGET_MIN_INLINING_VERSION_TO_MIN
|
||||
const auto targetVersion = getVersionTuple(triple);
|
||||
|
||||
// In API modules, default to the version when Swift first became available.
|
||||
if (Opts.LibraryLevel == LibraryLevel::API)
|
||||
if (auto minTriple = minimumAvailableOSVersionForTriple(triple))
|
||||
return *minTriple;
|
||||
#endif
|
||||
if (Opts.LibraryLevel == LibraryLevel::API) {
|
||||
if (auto minVersion = minimumAvailableOSVersionForTriple(triple))
|
||||
return *minVersion;
|
||||
}
|
||||
|
||||
// In other modules, assume that availability is used less consistently
|
||||
// and that library clients will generally raise deployment targets as the
|
||||
// library evolves so the min inlining version should be the deployment
|
||||
// target by default.
|
||||
if (triple.isMacOSX()) {
|
||||
llvm::VersionTuple OSVersion;
|
||||
triple.getMacOSXVersion(OSVersion);
|
||||
return OSVersion;
|
||||
}
|
||||
return triple.getOSVersion();
|
||||
return targetVersion;
|
||||
};
|
||||
|
||||
Opts.MinimumInliningTargetVersion =
|
||||
|
||||
Reference in New Issue
Block a user