mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
Merge remote-tracking branch 'origin/main' into rebranch
This commit is contained in:
@@ -22,6 +22,7 @@
|
|||||||
#include "swift/Basic/Feature.h"
|
#include "swift/Basic/Feature.h"
|
||||||
#include "swift/Basic/FunctionBodySkipping.h"
|
#include "swift/Basic/FunctionBodySkipping.h"
|
||||||
#include "swift/Basic/LLVM.h"
|
#include "swift/Basic/LLVM.h"
|
||||||
|
#include "swift/Basic/Platform.h"
|
||||||
#include "swift/Basic/PlaygroundOption.h"
|
#include "swift/Basic/PlaygroundOption.h"
|
||||||
#include "swift/Basic/Version.h"
|
#include "swift/Basic/Version.h"
|
||||||
#include "swift/Config.h"
|
#include "swift/Config.h"
|
||||||
@@ -693,18 +694,7 @@ namespace swift {
|
|||||||
/// This is only implemented on certain OSs. If no target has been
|
/// This is only implemented on certain OSs. If no target has been
|
||||||
/// configured, returns v0.0.0.
|
/// configured, returns v0.0.0.
|
||||||
llvm::VersionTuple getMinPlatformVersion() const {
|
llvm::VersionTuple getMinPlatformVersion() const {
|
||||||
if (Target.isMacOSX()) {
|
return getVersionForTriple(Target);
|
||||||
llvm::VersionTuple OSVersion;
|
|
||||||
Target.getMacOSXVersion(OSVersion);
|
|
||||||
return OSVersion;
|
|
||||||
} else if (Target.isiOS()) {
|
|
||||||
return Target.getiOSVersion();
|
|
||||||
} else if (Target.isWatchOS()) {
|
|
||||||
return Target.getOSVersion();
|
|
||||||
} else if (Target.isXROS()) {
|
|
||||||
return Target.getOSVersion();
|
|
||||||
}
|
|
||||||
return llvm::VersionTuple(/*Major=*/0, /*Minor=*/0, /*Subminor=*/0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Sets an implicit platform condition.
|
/// Sets an implicit platform condition.
|
||||||
|
|||||||
@@ -85,6 +85,9 @@ namespace swift {
|
|||||||
/// returned.
|
/// returned.
|
||||||
StringRef getPlatformNameForTriple(const llvm::Triple &triple);
|
StringRef getPlatformNameForTriple(const llvm::Triple &triple);
|
||||||
|
|
||||||
|
/// Returns the version tuple for a given target triple
|
||||||
|
llvm::VersionTuple getVersionForTriple(const llvm::Triple &triple);
|
||||||
|
|
||||||
/// Returns the platform Kind for Darwin triples.
|
/// Returns the platform Kind for Darwin triples.
|
||||||
DarwinPlatformKind getDarwinPlatformKind(const llvm::Triple &triple);
|
DarwinPlatformKind getDarwinPlatformKind(const llvm::Triple &triple);
|
||||||
|
|
||||||
|
|||||||
@@ -279,6 +279,23 @@ StringRef swift::getPlatformNameForTriple(const llvm::Triple &triple) {
|
|||||||
llvm_unreachable("unsupported OS");
|
llvm_unreachable("unsupported OS");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
llvm::VersionTuple swift::getVersionForTriple(const llvm::Triple &triple) {
|
||||||
|
if (triple.isMacOSX()) {
|
||||||
|
llvm::VersionTuple OSVersion;
|
||||||
|
triple.getMacOSXVersion(OSVersion);
|
||||||
|
return OSVersion;
|
||||||
|
} else if (triple.isiOS()) {
|
||||||
|
return triple.getiOSVersion();
|
||||||
|
} else if (triple.isWatchOS()) {
|
||||||
|
return triple.getOSVersion();
|
||||||
|
} else if (triple.isXROS()) {
|
||||||
|
return triple.getOSVersion();
|
||||||
|
} else if (triple.isOSWindows()) {
|
||||||
|
return triple.getOSVersion();
|
||||||
|
}
|
||||||
|
return llvm::VersionTuple(/*Major=*/0, /*Minor=*/0, /*Subminor=*/0);
|
||||||
|
}
|
||||||
|
|
||||||
StringRef swift::getMajorArchitectureName(const llvm::Triple &Triple) {
|
StringRef swift::getMajorArchitectureName(const llvm::Triple &Triple) {
|
||||||
if (Triple.isOSLinux()) {
|
if (Triple.isOSLinux()) {
|
||||||
switch (Triple.getSubArch()) {
|
switch (Triple.getSubArch()) {
|
||||||
|
|||||||
@@ -56,17 +56,6 @@ swift::CompilerInvocation::CompilerInvocation() {
|
|||||||
setTargetTriple(llvm::sys::getDefaultTargetTriple());
|
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(
|
void CompilerInvocation::computeRuntimeResourcePathFromExecutablePath(
|
||||||
StringRef mainExecutablePath, bool shared,
|
StringRef mainExecutablePath, bool shared,
|
||||||
llvm::SmallVectorImpl<char> &runtimeResourcePath) {
|
llvm::SmallVectorImpl<char> &runtimeResourcePath) {
|
||||||
@@ -1623,7 +1612,7 @@ static bool ParseLangArgs(LangOptions &Opts, ArgList &Args,
|
|||||||
// First, set up default minimum inlining target versions.
|
// First, set up default minimum inlining target versions.
|
||||||
auto getDefaultMinimumInliningTargetVersion =
|
auto getDefaultMinimumInliningTargetVersion =
|
||||||
[&](const llvm::Triple &triple) -> llvm::VersionTuple {
|
[&](const llvm::Triple &triple) -> llvm::VersionTuple {
|
||||||
const auto targetVersion = getVersionTuple(triple);
|
const auto targetVersion = getVersionForTriple(triple);
|
||||||
|
|
||||||
// In API modules, default to the version when Swift first became available.
|
// In API modules, default to the version when Swift first became available.
|
||||||
if (Opts.LibraryLevel == LibraryLevel::API) {
|
if (Opts.LibraryLevel == LibraryLevel::API) {
|
||||||
|
|||||||
Reference in New Issue
Block a user