diff --git a/clang/lib/Basic/Targets/RISCV.cpp b/clang/lib/Basic/Targets/RISCV.cpp index 685462961ee35..6bc57a83a2d5a 100644 --- a/clang/lib/Basic/Targets/RISCV.cpp +++ b/clang/lib/Basic/Targets/RISCV.cpp @@ -416,8 +416,7 @@ static void handleFullArchString(StringRef FullArchStr, Features.push_back("__RISCV_TargetAttrNeedOverride"); auto RII = llvm::RISCVISAInfo::parseArchString( FullArchStr, /* EnableExperimentalExtension */ true); - if (!RII) { - consumeError(RII.takeError()); + if (llvm::errorToBool(RII.takeError())) { // Forward the invalid FullArchStr. Features.push_back("+" + FullArchStr.str()); } else { diff --git a/clang/lib/Driver/ToolChains/Arch/RISCV.cpp b/clang/lib/Driver/ToolChains/Arch/RISCV.cpp index 8ae47d1680bd2..0717e3b813e1e 100644 --- a/clang/lib/Driver/ToolChains/Arch/RISCV.cpp +++ b/clang/lib/Driver/ToolChains/Arch/RISCV.cpp @@ -215,10 +215,8 @@ StringRef riscv::getRISCVABI(const ArgList &Args, const llvm::Triple &Triple) { auto ParseResult = llvm::RISCVISAInfo::parseArchString( Arch, /* EnableExperimentalExtension */ true); - if (!ParseResult) - // Ignore parsing error, just go 3rd step. - consumeError(ParseResult.takeError()); - else + // Ignore parsing error, just go 3rd step. + if (!llvm::errorToBool(ParseResult.takeError())) return (*ParseResult)->computeDefaultABI(); // 3. Choose a default based on the triple diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp index 70dc7e54aca12..acfa119805068 100644 --- a/clang/lib/Driver/ToolChains/Clang.cpp +++ b/clang/lib/Driver/ToolChains/Clang.cpp @@ -2072,12 +2072,9 @@ void Clang::AddRISCVTargetArgs(const ArgList &Args, StringRef Arch = riscv::getRISCVArch(Args, Triple); auto ISAInfo = llvm::RISCVISAInfo::parseArchString( Arch, /*EnableExperimentalExtensions*/ true); - if (!ISAInfo) { - // Ignore parsing error. - consumeError(ISAInfo.takeError()); - } else { + // Ignore parsing error. + if (!errorToBool(ISAInfo.takeError())) MinVLen = (*ISAInfo)->getMinVLen(); - } // If the value is "zvl", use MinVLen from march. Otherwise, try to parse // as integer as long as we have a MinVLen. diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp index 38361d6889a1c..a610a94a39a2b 100644 --- a/clang/lib/Driver/ToolChains/Gnu.cpp +++ b/clang/lib/Driver/ToolChains/Gnu.cpp @@ -1741,11 +1741,9 @@ selectRISCVMultilib(const MultilibSet &RISCVMultilibSet, StringRef Arch, llvm::RISCVISAInfo::parseArchString( Arch, /*EnableExperimentalExtension=*/true, /*ExperimentalExtensionVersionCheck=*/false); - if (!ParseResult) { - // Ignore any error here, we assume it will be handled in another place. - consumeError(ParseResult.takeError()); + // Ignore any error here, we assume it will be handled in another place. + if (llvm::errorToBool(ParseResult.takeError())) return false; - } auto &ISAInfo = *ParseResult; @@ -1780,10 +1778,8 @@ selectRISCVMultilib(const MultilibSet &RISCVMultilibSet, StringRef Arch, llvm::RISCVISAInfo::parseArchString( Flag, /*EnableExperimentalExtension=*/true, /*ExperimentalExtensionVersionCheck=*/false); - if (!MLConfigParseResult) { - // Ignore any error here, we assume it will handled in another place. - llvm::consumeError(MLConfigParseResult.takeError()); - + // Ignore any error here, we assume it will handled in another place. + if (llvm::errorToBool(MLConfigParseResult.takeError())) { // We might get a parsing error if rv32e in the list, we could just skip // that and process the rest of multi-lib configs. Skip = true;