Respect runtime-compatibility-version flag also for dynamic replacement compatibility library

rdar://56259688
This commit is contained in:
Arnold Schwaighofer
2019-10-15 09:20:01 -07:00
parent f8209f2865
commit 4d94eff93c
2 changed files with 22 additions and 3 deletions

View File

@@ -1228,8 +1228,24 @@ static bool ParseIRGenArgs(IRGenOptions &Opts, ArgList &Args,
if (!Args.hasArg(options::
OPT_disable_autolinking_runtime_compatibility_dynamic_replacements)) {
Optional<llvm::VersionTuple> runtimeCompatibilityVersion;
if (auto versionArg =
Args.getLastArg(options::OPT_runtime_compatibility_version)) {
auto version = StringRef(versionArg->getValue());
if (version.equals("none")) {
runtimeCompatibilityVersion = None;
} else if (version.equals("5.0")) {
runtimeCompatibilityVersion = llvm::VersionTuple(5, 0);
} else {
Diags.diagnose(SourceLoc(), diag::error_invalid_arg_value,
versionArg->getAsString(Args), version);
}
} else {
runtimeCompatibilityVersion =
getSwiftRuntimeCompatibilityVersionForTarget(Triple);
}
Opts.AutolinkRuntimeCompatibilityDynamicReplacementLibraryVersion =
getSwiftRuntimeCompatibilityVersionForTarget(Triple);
runtimeCompatibilityVersion;
}
return false;
}