diff --git a/lib/Basic/LangOptions.cpp b/lib/Basic/LangOptions.cpp index 76fae3bf42e33..e206c082c577d 100644 --- a/lib/Basic/LangOptions.cpp +++ b/lib/Basic/LangOptions.cpp @@ -390,6 +390,14 @@ std::pair LangOptions::setTarget(llvm::Triple triple) { break; default: UnsupportedArch = true; + + if (Target.getOSName() == "none") { + if (Target.getArch() != llvm::Triple::ArchType::UnknownArch) { + auto ArchName = llvm::Triple::getArchTypeName(Target.getArch()); + addPlatformConditionValue(PlatformConditionKind::Arch, ArchName); + UnsupportedArch = false; + } + } } if (UnsupportedOS || UnsupportedArch)