@@ -47,6 +47,17 @@ swift::CompilerInvocation::CompilerInvocation() {
4747 setTargetTriple (llvm::sys::getDefaultTargetTriple ());
4848}
4949
50+ // / Converts a llvm::Triple to a llvm::VersionTuple.
51+ static llvm::VersionTuple
52+ getVersionTuple (const llvm::Triple &triple) {
53+ unsigned major, minor, patch;
54+ if (triple.isMacOSX ())
55+ triple.getMacOSXVersion (major, minor, patch);
56+ else
57+ triple.getOSVersion (major, minor, patch);
58+ return llvm::VersionTuple (major, minor, patch);
59+ }
60+
5061void CompilerInvocation::computeRuntimeResourcePathFromExecutablePath (
5162 StringRef mainExecutablePath, bool shared,
5263 llvm::SmallVectorImpl<char > &runtimeResourcePath) {
@@ -865,24 +876,19 @@ static bool ParseLangArgs(LangOptions &Opts, ArgList &Args,
865876 // First, set up default minimum inlining target versions.
866877 auto getDefaultMinimumInliningTargetVersion =
867878 [&](const llvm::Triple &triple) -> llvm::VersionTuple {
868- // FIXME: Re-enable with rdar://91387029
869- # if SWIFT_DEFAULT_API_TARGET_MIN_INLINING_VERSION_TO_MIN
879+ const auto targetVersion = getVersionTuple (triple);
880+
870881 // In API modules, default to the version when Swift first became available.
871- if (Opts.LibraryLevel == LibraryLevel::API)
872- if (auto minTriple = minimumAvailableOSVersionForTriple (triple))
873- return *minTriple ;
874- # endif
882+ if (Opts.LibraryLevel == LibraryLevel::API) {
883+ if (auto minVersion = minimumAvailableOSVersionForTriple (triple))
884+ return *minVersion ;
885+ }
875886
876887 // In other modules, assume that availability is used less consistently
877888 // and that library clients will generally raise deployment targets as the
878889 // library evolves so the min inlining version should be the deployment
879890 // target by default.
880- unsigned major, minor, patch;
881- if (triple.isMacOSX ())
882- triple.getMacOSXVersion (major, minor, patch);
883- else
884- triple.getOSVersion (major, minor, patch);
885- return llvm::VersionTuple (major, minor, patch);
891+ return targetVersion;
886892 };
887893
888894 Opts.MinimumInliningTargetVersion =
0 commit comments