diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp index 6bd2d38f65744a..7765ef0898dc27 100644 --- a/clang/lib/Driver/Driver.cpp +++ b/clang/lib/Driver/Driver.cpp @@ -115,10 +115,10 @@ getOffloadTargetTriple(const Driver &D, const ArgList &Args) { switch (OffloadTargets.size()) { default: D.Diag(diag::err_drv_only_one_offload_target_supported); - return llvm::None; + return std::nullopt; case 0: D.Diag(diag::err_drv_invalid_or_unsupported_offload_target) << ""; - return llvm::None; + return std::nullopt; case 1: break; } @@ -138,10 +138,10 @@ getNVIDIAOffloadTargetTriple(const Driver &D, const ArgList &Args, if (Args.hasArg(options::OPT_emit_llvm)) return TT; D.Diag(diag::err_drv_cuda_offload_only_emit_bc); - return llvm::None; + return std::nullopt; } D.Diag(diag::err_drv_invalid_or_unsupported_offload_target) << TT->str(); - return llvm::None; + return std::nullopt; } static llvm::Optional getHIPOffloadTargetTriple(const Driver &D, const ArgList &Args) { @@ -150,7 +150,7 @@ getHIPOffloadTargetTriple(const Driver &D, const ArgList &Args) { } auto TT = getOffloadTargetTriple(D, Args); if (!TT) - return llvm::None; + return std::nullopt; if (TT->getArch() == llvm::Triple::amdgcn && TT->getVendor() == llvm::Triple::AMD && TT->getOS() == llvm::Triple::AMDHSA) @@ -158,7 +158,7 @@ getHIPOffloadTargetTriple(const Driver &D, const ArgList &Args) { if (TT->getArch() == llvm::Triple::spirv64) return TT; D.Diag(diag::err_drv_invalid_or_unsupported_offload_target) << TT->str(); - return llvm::None; + return std::nullopt; } // static @@ -1596,7 +1596,7 @@ void Driver::generateCompilationDiagnostics( NewLLDInvocation.replaceArguments(std::move(ArgList)); // Redirect stdout/stderr to /dev/null. - NewLLDInvocation.Execute({None, {""}, {""}}, nullptr, nullptr); + NewLLDInvocation.Execute({std::nullopt, {""}, {""}}, nullptr, nullptr); Diag(clang::diag::note_drv_command_failed_diag_msg) << BugReporMsg; Diag(clang::diag::note_drv_command_failed_diag_msg) << TmpName; Diag(clang::diag::note_drv_command_failed_diag_msg) @@ -3128,7 +3128,7 @@ class OffloadingActionBuilder final { llvm::Optional> getConflictOffloadArchCombination( const std::set &GpuArchs) override { - return llvm::None; + return std::nullopt; } ActionBuilderReturnCode @@ -4211,7 +4211,7 @@ static llvm::Optional> getConflictOffloadArchCombination(const llvm::DenseSet &Archs, Action::OffloadKind Kind) { if (Kind != Action::OFK_HIP) - return None; + return std::nullopt; std::set ArchSet; llvm::copy(Archs, std::inserter(ArchSet, ArchSet.begin())); @@ -5721,7 +5721,7 @@ std::string Driver::GetFilePath(StringRef Name, const ToolChain &TC) const { if (llvm::sys::fs::exists(Twine(P))) return std::string(P); } - return None; + return std::nullopt; }; if (auto P = SearchPaths(PrefixDirs)) diff --git a/clang/lib/Driver/OffloadBundler.cpp b/clang/lib/Driver/OffloadBundler.cpp index 2aaa0179a4948c..a21deef7a30a8d 100644 --- a/clang/lib/Driver/OffloadBundler.cpp +++ b/clang/lib/Driver/OffloadBundler.cpp @@ -417,7 +417,7 @@ class BinaryFileHandler final : public FileHandler { Expected> ReadBundleStart(MemoryBuffer &Input) final { if (NextBundleInfo == BundlesInfo.end()) - return None; + return std::nullopt; CurBundleInfo = NextBundleInfo++; return CurBundleInfo->first(); } @@ -545,7 +545,7 @@ class ObjectFileHandler final : public FileHandler { // If it does not start with the reserved suffix, just skip this section. if (!NameOrErr->startswith(OFFLOAD_BUNDLER_MAGIC_STR)) - return None; + return std::nullopt; // Return the triple that is right after the reserved prefix. return NameOrErr->substr(sizeof(OFFLOAD_BUNDLER_MAGIC_STR) - 1); @@ -590,7 +590,7 @@ class ObjectFileHandler final : public FileHandler { if (*TripleOrErr) return **TripleOrErr; } - return None; + return std::nullopt; } Error ReadBundleEnd(MemoryBuffer &Input) final { return Error::success(); } @@ -739,7 +739,7 @@ class TextFileHandler final : public FileHandler { // Find start of the bundle. ReadChars = FC.find(BundleStartString, ReadChars); if (ReadChars == FC.npos) - return None; + return std::nullopt; // Get position of the triple. size_t TripleStart = ReadChars = ReadChars + BundleStartString.size(); @@ -747,7 +747,7 @@ class TextFileHandler final : public FileHandler { // Get position that closes the triple. size_t TripleEnd = ReadChars = FC.find("\n", ReadChars); if (TripleEnd == FC.npos) - return None; + return std::nullopt; // Next time we read after the new line. ++ReadChars; diff --git a/clang/lib/Driver/ToolChains/AIX.cpp b/clang/lib/Driver/ToolChains/AIX.cpp index 3bf97eec04a1a3..58a5103e7d9b8f 100644 --- a/clang/lib/Driver/ToolChains/AIX.cpp +++ b/clang/lib/Driver/ToolChains/AIX.cpp @@ -226,7 +226,7 @@ void aix::Linker::ConstructJob(Compilation &C, const JobAction &JA, auto ExpCommand = std::make_unique( JA, *this, ResponseFileSupport::None(), CreateExportListExec, CreateExportCmdArgs, Inputs, Output); - ExpCommand->setRedirectFiles({None, std::string(ExportList), None}); + ExpCommand->setRedirectFiles({std::nullopt, std::string(ExportList), None}); C.addCommand(std::move(ExpCommand)); CmdArgs.push_back(Args.MakeArgString(llvm::Twine("-bE:") + ExportList)); } diff --git a/clang/lib/Driver/ToolChains/AMDGPU.cpp b/clang/lib/Driver/ToolChains/AMDGPU.cpp index f8d3cab00b70cd..f3ac7d2ab73547 100644 --- a/clang/lib/Driver/ToolChains/AMDGPU.cpp +++ b/clang/lib/Driver/ToolChains/AMDGPU.cpp @@ -747,12 +747,12 @@ AMDGPUToolChain::ParsedTargetIDType AMDGPUToolChain::getParsedTargetID(const llvm::opt::ArgList &DriverArgs) const { StringRef TargetID = DriverArgs.getLastArgValue(options::OPT_mcpu_EQ); if (TargetID.empty()) - return {None, None, None}; + return {std::nullopt, std::nullopt, std::nullopt}; llvm::StringMap FeatureMap; auto OptionalGpuArch = parseTargetID(getTriple(), TargetID, &FeatureMap); if (!OptionalGpuArch) - return {TargetID.str(), None, None}; + return {TargetID.str(), std::nullopt, std::nullopt}; return {TargetID.str(), OptionalGpuArch->str(), FeatureMap}; } diff --git a/clang/lib/Driver/ToolChains/AVR.cpp b/clang/lib/Driver/ToolChains/AVR.cpp index 6dbe6c62bb2e80..dad8669dbe7dbc 100644 --- a/clang/lib/Driver/ToolChains/AVR.cpp +++ b/clang/lib/Driver/ToolChains/AVR.cpp @@ -345,14 +345,14 @@ llvm::Optional GetMCUFamilyName(StringRef MCUName) { for (const auto &MCU : MCUInfo) if (MCU.Name == MCUName) return Optional(MCU.Family); - return None; + return std::nullopt; } llvm::Optional GetMCUSectionAddressData(StringRef MCUName) { for (const auto &MCU : MCUInfo) if (MCU.Name == MCUName && MCU.DataAddr > 0) return Optional(MCU.DataAddr); - return None; + return std::nullopt; } const StringRef PossibleAVRLibcLocations[] = { @@ -580,5 +580,5 @@ llvm::Optional AVRToolChain::findAVRLibcInstallation() const { return Path; } - return llvm::None; + return std::nullopt; } diff --git a/clang/lib/Driver/ToolChains/Arch/CSKY.cpp b/clang/lib/Driver/ToolChains/Arch/CSKY.cpp index 9b432534f441f1..b6e50ee47cb3c5 100644 --- a/clang/lib/Driver/ToolChains/Arch/CSKY.cpp +++ b/clang/lib/Driver/ToolChains/Arch/CSKY.cpp @@ -33,7 +33,7 @@ csky::getCSKYArchName(const Driver &D, const ArgList &Args, if (ArchKind == llvm::CSKY::ArchKind::INVALID) { D.Diag(clang::diag::err_drv_invalid_arch_name) << A->getAsString(Args); - return llvm::None; + return std::nullopt; } return llvm::Optional(A->getValue()); } @@ -42,7 +42,7 @@ csky::getCSKYArchName(const Driver &D, const ArgList &Args, llvm::CSKY::ArchKind ArchKind = llvm::CSKY::parseCPUArch(A->getValue()); if (ArchKind == llvm::CSKY::ArchKind::INVALID) { D.Diag(clang::diag::err_drv_clang_unsupported) << A->getAsString(Args); - return llvm::None; + return std::nullopt; } return llvm::Optional(llvm::CSKY::getArchName(ArchKind)); } diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp index 6ec4172e3ebd35..867445eec0eb82 100644 --- a/clang/lib/Driver/ToolChains/Clang.cpp +++ b/clang/lib/Driver/ToolChains/Clang.cpp @@ -8161,7 +8161,7 @@ void OffloadBundler::ConstructJob(Compilation &C, const JobAction &JA, C.addCommand(std::make_unique( JA, *this, ResponseFileSupport::None(), TCArgs.MakeArgString(getToolChain().GetProgramPath(getShortName())), - CmdArgs, None, Output)); + CmdArgs, std::nullopt, Output)); } void OffloadBundler::ConstructJobMultipleOutputs( @@ -8245,7 +8245,7 @@ void OffloadBundler::ConstructJobMultipleOutputs( C.addCommand(std::make_unique( JA, *this, ResponseFileSupport::None(), TCArgs.MakeArgString(getToolChain().GetProgramPath(getShortName())), - CmdArgs, None, Outputs)); + CmdArgs, std::nullopt, Outputs)); } void OffloadPackager::ConstructJob(Compilation &C, const JobAction &JA, diff --git a/clang/lib/Driver/ToolChains/Darwin.cpp b/clang/lib/Driver/ToolChains/Darwin.cpp index 050b90a344a46a..3c327c23b4fed0 100644 --- a/clang/lib/Driver/ToolChains/Darwin.cpp +++ b/clang/lib/Driver/ToolChains/Darwin.cpp @@ -550,8 +550,9 @@ void darwin::Linker::ConstructJob(Compilation &C, const JobAction &JA, const char *Exec = Args.MakeArgString(getToolChain().GetProgramPath("touch")); CmdArgs.push_back(Output.getFilename()); - C.addCommand(std::make_unique( - JA, *this, ResponseFileSupport::None(), Exec, CmdArgs, None, Output)); + C.addCommand(std::make_unique(JA, *this, + ResponseFileSupport::None(), Exec, + CmdArgs, std::nullopt, Output)); return; } @@ -1790,7 +1791,7 @@ getDeploymentTargetFromOSVersionArg(DerivedArgList &Args, Darwin::WatchOS, WatchOSVersion, WatchOSVersion->getOption().getID() == options::OPT_mwatchos_simulator_version_min_EQ); - return None; + return std::nullopt; } /// Returns the deployment target that's specified using the @@ -1845,7 +1846,7 @@ getDeploymentTargetFromEnvironmentVariables(const Driver &TheDriver, (Darwin::DarwinPlatformKind)Target.index(), EnvVars[Target.index()], Target.value()); } - return None; + return std::nullopt; } /// Returns the SDK name without the optional prefix that ends with a '.' or an @@ -1865,11 +1866,11 @@ inferDeploymentTargetFromSDK(DerivedArgList &Args, const Optional &SDKInfo) { const Arg *A = Args.getLastArg(options::OPT_isysroot); if (!A) - return None; + return std::nullopt; StringRef isysroot = A->getValue(); StringRef SDK = Darwin::getSDKName(isysroot); if (!SDK.size()) - return None; + return std::nullopt; std::string Version; if (SDKInfo) { @@ -1884,7 +1885,7 @@ inferDeploymentTargetFromSDK(DerivedArgList &Args, Version = std::string(SDK.slice(StartVer, EndVer + 1)); } if (Version.empty()) - return None; + return std::nullopt; auto CreatePlatformFromSDKName = [&](StringRef SDK) -> Optional { @@ -1905,7 +1906,7 @@ inferDeploymentTargetFromSDK(DerivedArgList &Args, /*IsSimulator=*/SDK.startswith("AppleTVSimulator")); else if (SDK.startswith("DriverKit")) return DarwinPlatform::createFromSDK(Darwin::DriverKit, Version); - return None; + return std::nullopt; }; if (auto Result = CreatePlatformFromSDKName(SDK)) return Result; @@ -1974,7 +1975,7 @@ inferDeploymentTargetFromArch(DerivedArgList &Args, const Darwin &Toolchain, MachOArchName != "armv7em") OSTy = llvm::Triple::MacOSX; if (OSTy == llvm::Triple::UnknownOS) - return None; + return std::nullopt; return DarwinPlatform::createFromArch(OSTy, getOSVersion(OSTy, Triple, TheDriver)); } @@ -1984,10 +1985,10 @@ Optional getDeploymentTargetFromTargetArg( DerivedArgList &Args, const llvm::Triple &Triple, const Driver &TheDriver, const Optional &SDKInfo) { if (!Args.hasArg(options::OPT_target)) - return None; + return std::nullopt; if (Triple.getOS() == llvm::Triple::Darwin || Triple.getOS() == llvm::Triple::UnknownOS) - return None; + return std::nullopt; std::string OSVersion = getOSVersion(Triple.getOS(), Triple, TheDriver); Optional TargetVariantTriple; for (const Arg *A : Args.filtered(options::OPT_darwin_target_variant)) { @@ -2026,7 +2027,7 @@ getDeploymentTargetFromMTargetOSArg(DerivedArgList &Args, const Optional &SDKInfo) { auto *A = Args.getLastArg(options::OPT_mtargetos_EQ); if (!A) - return None; + return std::nullopt; llvm::Triple TT(llvm::Twine("unknown-apple-") + A->getValue()); switch (TT.getOS()) { case llvm::Triple::MacOSX: @@ -2037,14 +2038,14 @@ getDeploymentTargetFromMTargetOSArg(DerivedArgList &Args, default: TheDriver.Diag(diag::err_drv_invalid_os_in_arg) << TT.getOSName() << A->getAsString(Args); - return None; + return std::nullopt; } VersionTuple Version = TT.getOSVersion(); if (!Version.getMajor()) { TheDriver.Diag(diag::err_drv_invalid_version_number) << A->getAsString(Args); - return None; + return std::nullopt; } return DarwinPlatform::createFromMTargetOS(TT.getOS(), Version, TT.getEnvironment(), A, SDKInfo); @@ -2055,13 +2056,13 @@ Optional parseSDKSettings(llvm::vfs::FileSystem &VFS, const Driver &TheDriver) { const Arg *A = Args.getLastArg(options::OPT_isysroot); if (!A) - return None; + return std::nullopt; StringRef isysroot = A->getValue(); auto SDKInfoOrErr = parseDarwinSDKInfo(VFS, isysroot); if (!SDKInfoOrErr) { llvm::consumeError(SDKInfoOrErr.takeError()); TheDriver.Diag(diag::warn_drv_darwin_sdk_invalid_settings); - return None; + return std::nullopt; } return *SDKInfoOrErr; } diff --git a/clang/lib/Driver/ToolChains/HLSL.cpp b/clang/lib/Driver/ToolChains/HLSL.cpp index 9eaf2a06c76c26..a3ad9ba24e162a 100644 --- a/clang/lib/Driver/ToolChains/HLSL.cpp +++ b/clang/lib/Driver/ToolChains/HLSL.cpp @@ -69,7 +69,7 @@ llvm::Optional tryParseProfile(StringRef Profile) { SmallVector Parts; Profile.split(Parts, "_"); if (Parts.size() != 3) - return None; + return std::nullopt; Triple::EnvironmentType Kind = StringSwitch(Parts[0]) @@ -84,17 +84,17 @@ llvm::Optional tryParseProfile(StringRef Profile) { .Case("as", Triple::EnvironmentType::Amplification) .Default(Triple::EnvironmentType::UnknownEnvironment); if (Kind == Triple::EnvironmentType::UnknownEnvironment) - return None; + return std::nullopt; unsigned long long Major = 0; if (llvm::getAsUnsignedInteger(Parts[1], 0, Major)) - return None; + return std::nullopt; unsigned long long Minor = 0; if (Parts[2] == "x" && Kind == Triple::EnvironmentType::Library) Minor = OfflineLibMinor; else if (llvm::getAsUnsignedInteger(Parts[2], 0, Minor)) - return None; + return std::nullopt; // dxil-unknown-shadermodel-hull llvm::Triple T; @@ -105,7 +105,7 @@ llvm::Optional tryParseProfile(StringRef Profile) { if (isLegalShaderModel(T)) return T.getTriple(); else - return None; + return std::nullopt; } bool isLegalValidatorVersion(StringRef ValVersionStr, const Driver &D) { diff --git a/clang/lib/Driver/ToolChains/Hexagon.cpp b/clang/lib/Driver/ToolChains/Hexagon.cpp index 703a470b3dbf75..ba5d468a063bbd 100644 --- a/clang/lib/Driver/ToolChains/Hexagon.cpp +++ b/clang/lib/Driver/ToolChains/Hexagon.cpp @@ -129,7 +129,7 @@ static void handleHVXTargetFeatures(const Driver &D, const ArgList &Args, // to Features. Arg *A = Args.getLastArg(FlagOn, FlagOff); if (!A) - return None; + return std::nullopt; StringRef OptName = A->getOption().getName(); if (A->getOption().matches(FlagOff)) @@ -137,12 +137,12 @@ static void handleHVXTargetFeatures(const Driver &D, const ArgList &Args, if (!HasHVX) { D.Diag(diag::err_drv_needs_hvx) << withMinus(OptName); - return None; + return std::nullopt; } if (HvxVerNum < MinVerNum) { D.Diag(diag::err_drv_needs_hvx_version) << withMinus(OptName) << ("v" + std::to_string(HvxVerNum)); - return None; + return std::nullopt; } return makeFeature(OptName, true); }; @@ -533,7 +533,7 @@ Optional HexagonToolChain::getSmallDataThreshold( if (!Gn.getAsInteger(10, G)) return G; - return None; + return std::nullopt; } std::string HexagonToolChain::getCompilerRTPath() const {