https://github.com/abhina-sree created https://github.com/llvm/llvm-project/pull/228437
This patch marks some more text files as text. >From eea6cbec69e4671268e1d044620c63d8cf2ea077 Mon Sep 17 00:00:00 2001 From: Abhina Sreeskantharajan <[email protected]> Date: Thu, 1 Oct 2026 14:26:25 -0400 Subject: [PATCH 1/2] Replace IsText with OpenFlags in MemoryBuffer getFile functions --- .../clang-include-fixer/FuzzySymbolIndex.cpp | 4 ++- .../clang-include-fixer/YamlSymbolIndex.cpp | 2 +- .../tool/FindAllSymbolsMain.cpp | 3 +- .../tool/ClangIncludeFixer.cpp | 4 ++- .../ConfusableTable/BuildConfusableTable.cpp | 3 +- clang/lib/Driver/OffloadBundler.cpp | 11 ++++---- .../JSONFormat/JSONFormatImpl.cpp | 3 +- clang/lib/Tooling/JSONCompilationDatabase.cpp | 3 +- clang/tools/clang-format/ClangFormat.cpp | 4 +-- clang/tools/clang-scan-deps/ClangScanDeps.cpp | 12 ++++---- clang/tools/driver/cc1as_main.cpp | 3 +- .../JSONFormatTest/JSONFormatTest.cpp | 6 ++-- .../PreambleInNamedModulesTest.cpp | 2 +- lld/COFF/Driver.cpp | 12 ++++---- lld/COFF/DriverUtils.cpp | 2 +- lld/COFF/SymbolTable.cpp | 2 +- lld/ELF/InputFiles.cpp | 2 +- .../Plugins/ObjectFile/PDB/ObjectFilePDB.cpp | 2 +- .../DWARF/DWARFASTParserClangTests.cpp | 9 ++++-- .../TestingSupport/TestUtilities.cpp | 6 ++-- llvm/benchmarks/RuntimeLibcalls.cpp | 4 ++- llvm/include/llvm/Support/MemoryBuffer.h | 9 +++--- llvm/lib/Analysis/IR2Vec.cpp | 3 +- llvm/lib/AsmParser/Parser.cpp | 5 ++-- llvm/lib/BinaryFormat/Magic.cpp | 2 +- llvm/lib/CAS/OnDiskGraphDB.cpp | 4 +-- llvm/lib/CodeGen/MIR2Vec.cpp | 4 ++- llvm/lib/CodeGen/MIRParser/MIRParser.cpp | 4 ++- llvm/lib/DTLTO/DTLTO.cpp | 2 +- llvm/lib/DebugInfo/GSYM/CallSiteInfo.cpp | 4 ++- llvm/lib/DebugInfo/PDB/Native/InputFile.cpp | 2 +- .../DebugInfo/PDB/Native/NativeSession.cpp | 2 +- llvm/lib/Debuginfod/Debuginfod.cpp | 3 +- llvm/lib/FuzzMutate/FuzzerCLI.cpp | 2 +- llvm/lib/IRReader/IRReader.cpp | 3 +- llvm/lib/LTO/LTOCodeGenerator.cpp | 2 +- llvm/lib/Object/Archive.cpp | 3 +- llvm/lib/Object/Binary.cpp | 2 +- .../ProfileData/Coverage/CoverageMapping.cpp | 4 +-- llvm/lib/ProfileData/GCOV.cpp | 2 +- llvm/lib/ProfileData/MemProfReader.cpp | 5 ++-- llvm/lib/Support/MemoryBuffer.cpp | 28 +++++++++---------- llvm/lib/Support/SourceMgr.cpp | 4 +-- llvm/lib/TableGen/Main.cpp | 5 ++-- llvm/lib/Target/DirectX/DXContainerPDB.cpp | 2 +- llvm/lib/Testing/Support/SupportHelpers.cpp | 2 +- .../llvm-dlltool/DlltoolDriver.cpp | 2 +- llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp | 7 +++-- llvm/lib/Transforms/IPO/LowerTypeTests.cpp | 2 +- llvm/tools/dsymutil/DebugMap.cpp | 4 ++- llvm/tools/dsymutil/dsymutil.cpp | 2 +- llvm/tools/lli/lli.cpp | 2 +- llvm/tools/llvm-ar/llvm-ar.cpp | 4 +-- llvm/tools/llvm-cas-fuzzer/cas-fuzzer.cpp | 2 +- llvm/tools/llvm-cov/gcov.cpp | 4 +-- .../llvm-ctxprof-util/llvm-ctxprof-util.cpp | 3 +- llvm/tools/llvm-cvtres/llvm-cvtres.cpp | 4 +-- llvm/tools/llvm-cxxmap/llvm-cxxmap.cpp | 6 ++-- .../llvm-debuginfod-find.cpp | 2 +- llvm/tools/llvm-exegesis/llvm-exegesis.cpp | 4 +-- llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp | 4 +-- llvm/tools/llvm-ifs/llvm-ifs.cpp | 3 +- .../llvm-libtool-darwin.cpp | 2 +- llvm/tools/llvm-link/llvm-link.cpp | 5 ++-- llvm/tools/llvm-mc/llvm-mc.cpp | 3 +- llvm/tools/llvm-objdump/SourcePrinter.cpp | 3 +- llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp | 2 +- llvm/tools/llvm-rc/ResourceFileWriter.cpp | 2 +- llvm/tools/llvm-rc/llvm-rc.cpp | 4 +-- llvm/tools/llvm-readobj/llvm-readobj.cpp | 2 +- llvm/tools/llvm-readtapi/llvm-readtapi.cpp | 2 +- llvm/tools/llvm-reduce/ReducerWorkItem.cpp | 4 ++- llvm/tools/llvm-strings/llvm-strings.cpp | 3 +- llvm/tools/obj2yaml/obj2yaml.cpp | 2 +- llvm/tools/sanstats/sanstats.cpp | 2 +- llvm/tools/yaml2obj/yaml2obj.cpp | 2 +- .../unittests/DebugInfo/PDB/TpiStreamTest.cpp | 2 +- llvm/unittests/Support/raw_ostream_test.cpp | 2 +- .../Mips/BenchmarkResultTest.cpp | 1 + llvm/utils/FileCheck/FileCheck.cpp | 5 ++-- llvm/utils/split-file/split-file.cpp | 2 +- mlir/lib/Support/FileUtilities.cpp | 2 +- mlir/lib/Target/LLVM/ROCDL/Target.cpp | 2 +- mlir/tools/mlir-pdll/mlir-pdll.cpp | 5 ++-- .../mlir-src-sharder/mlir-src-sharder.cpp | 5 ++-- 85 files changed, 186 insertions(+), 140 deletions(-) diff --git a/clang-tools-extra/clang-include-fixer/FuzzySymbolIndex.cpp b/clang-tools-extra/clang-include-fixer/FuzzySymbolIndex.cpp index 98987ad380196f..60842d95d0d024 100644 --- a/clang-tools-extra/clang-include-fixer/FuzzySymbolIndex.cpp +++ b/clang-tools-extra/clang-include-fixer/FuzzySymbolIndex.cpp @@ -6,6 +6,7 @@ // //===----------------------------------------------------------------------===// #include "FuzzySymbolIndex.h" +#include "llvm/Support/FileSystem.h" #include "llvm/Support/Regex.h" using clang::find_all_symbols::SymbolAndSignals; @@ -131,7 +132,8 @@ FuzzySymbolIndex::queryRegexp(const std::vector<std::string> &Tokens) { llvm::Expected<std::unique_ptr<FuzzySymbolIndex>> FuzzySymbolIndex::createFromYAML(StringRef FilePath) { - auto Buffer = llvm::MemoryBuffer::getFile(FilePath, /*IsText=*/true); + auto Buffer = + llvm::MemoryBuffer::getFile(FilePath, llvm::sys::fs::OF_TextWithCRLF); if (!Buffer) return llvm::errorCodeToError(Buffer.getError()); return std::make_unique<MemSymbolIndex>( diff --git a/clang-tools-extra/clang-include-fixer/YamlSymbolIndex.cpp b/clang-tools-extra/clang-include-fixer/YamlSymbolIndex.cpp index 7f570ee917197b..3ab3daaf8dc32d 100644 --- a/clang-tools-extra/clang-include-fixer/YamlSymbolIndex.cpp +++ b/clang-tools-extra/clang-include-fixer/YamlSymbolIndex.cpp @@ -22,7 +22,7 @@ namespace include_fixer { llvm::ErrorOr<std::unique_ptr<YamlSymbolIndex>> YamlSymbolIndex::createFromFile(llvm::StringRef FilePath) { - auto Buffer = llvm::MemoryBuffer::getFile(FilePath, /*IsText=*/true); + auto Buffer = llvm::MemoryBuffer::getFile(FilePath, sys::fs::OF_TextWithCRLF); if (!Buffer) return Buffer.getError(); diff --git a/clang-tools-extra/clang-include-fixer/find-all-symbols/tool/FindAllSymbolsMain.cpp b/clang-tools-extra/clang-include-fixer/find-all-symbols/tool/FindAllSymbolsMain.cpp index 995006e183569e..3a66c2d895ed9a 100644 --- a/clang-tools-extra/clang-include-fixer/find-all-symbols/tool/FindAllSymbolsMain.cpp +++ b/clang-tools-extra/clang-include-fixer/find-all-symbols/tool/FindAllSymbolsMain.cpp @@ -95,7 +95,8 @@ bool Merge(llvm::StringRef MergeDir, llvm::StringRef OutputFile) { // Parse YAML files in parallel. Pool.async( [&AddSymbols](std::string Path) { - auto Buffer = llvm::MemoryBuffer::getFile(Path, /*IsText=*/true); + auto Buffer = + llvm::MemoryBuffer::getFile(Path, sys::fs::OF_TextWithCRLF); if (!Buffer) { llvm::errs() << "Can't open " << Path << "\n"; return; diff --git a/clang-tools-extra/clang-include-fixer/tool/ClangIncludeFixer.cpp b/clang-tools-extra/clang-include-fixer/tool/ClangIncludeFixer.cpp index f983b9d590542e..386132c685c8ab 100644 --- a/clang-tools-extra/clang-include-fixer/tool/ClangIncludeFixer.cpp +++ b/clang-tools-extra/clang-include-fixer/tool/ClangIncludeFixer.cpp @@ -19,6 +19,7 @@ #include "clang/Tooling/Core/Replacement.h" #include "clang/Tooling/Tooling.h" #include "llvm/Support/CommandLine.h" +#include "llvm/Support/FileSystem.h" #include "llvm/Support/Path.h" #include "llvm/Support/YAMLTraits.h" @@ -413,7 +414,8 @@ int includeFixerMain(int argc, const char **argv) { llvm::errs() << llvm::toString(InsertStyle.takeError()) << "\n"; return 1; } - auto Buffer = llvm::MemoryBuffer::getFile(FilePath, /*IsText=*/true); + auto Buffer = + llvm::MemoryBuffer::getFile(FilePath, sys::fs::OF_TextWithCRLF); if (!Buffer) { errs() << "Couldn't open file: " + FilePath.str() + ": " << Buffer.getError().message() + "\n"; diff --git a/clang-tools-extra/clang-tidy/misc/ConfusableTable/BuildConfusableTable.cpp b/clang-tools-extra/clang-tidy/misc/ConfusableTable/BuildConfusableTable.cpp index ccabe31ea6b807..27f3e14bd30d08 100644 --- a/clang-tools-extra/clang-tidy/misc/ConfusableTable/BuildConfusableTable.cpp +++ b/clang-tools-extra/clang-tidy/misc/ConfusableTable/BuildConfusableTable.cpp @@ -10,6 +10,7 @@ #include "llvm/ADT/StringExtras.h" #include "llvm/ADT/StringMap.h" #include "llvm/Support/ConvertUTF.h" +#include "llvm/Support/FileSystem.h" #include "llvm/Support/MemoryBuffer.h" #include "llvm/Support/raw_ostream.h" @@ -23,7 +24,7 @@ struct ConfusableEntry { } // namespace int main(int argc, char *argv[]) { - auto ErrorOrBuffer = MemoryBuffer::getFile(argv[1], true); + auto ErrorOrBuffer = MemoryBuffer::getFile(argv[1], sys::fs::OF_TextWithCRLF); if (!ErrorOrBuffer) return 1; std::unique_ptr<MemoryBuffer> Buffer = std::move(ErrorOrBuffer.get()); diff --git a/clang/lib/Driver/OffloadBundler.cpp b/clang/lib/Driver/OffloadBundler.cpp index 2d0c326ab6f406..3935884e22f098 100644 --- a/clang/lib/Driver/OffloadBundler.cpp +++ b/clang/lib/Driver/OffloadBundler.cpp @@ -1025,7 +1025,7 @@ Error OffloadBundler::ListBundleIDsInFile( // Open Input file. ErrorOr<std::unique_ptr<MemoryBuffer>> Contents = - MemoryBuffer::getFileOrSTDIN(InputFileName, /*IsText=*/true); + MemoryBuffer::getFileOrSTDIN(InputFileName, sys::fs::OF_TextWithCRLF); if (std::error_code EC = Contents.getError()) return createFileError(InputFileName, EC); @@ -1195,7 +1195,7 @@ Error OffloadBundler::BundleFiles() { InputBuffers.reserve(BundlerConfig.InputFileNames.size()); for (auto &I : BundlerConfig.InputFileNames) { ErrorOr<std::unique_ptr<MemoryBuffer>> CodeOrErr = - MemoryBuffer::getFileOrSTDIN(I, /*IsText=*/true); + MemoryBuffer::getFileOrSTDIN(I, sys::fs::OF_TextWithCRLF); if (std::error_code EC = CodeOrErr.getError()) return createFileError(I, EC); InputBuffers.emplace_back(std::move(*CodeOrErr)); @@ -1265,7 +1265,7 @@ Error OffloadBundler::UnbundleFiles() { // Open Input file. ErrorOr<std::unique_ptr<MemoryBuffer>> CodeOrErr = MemoryBuffer::getFileOrSTDIN(BundlerConfig.InputFileNames.front(), - /*IsText=*/true); + sys::fs::OF_Text); if (std::error_code EC = CodeOrErr.getError()) return createFileError(BundlerConfig.InputFileNames.front(), EC); @@ -1493,7 +1493,8 @@ CheckHeterogeneousArchive(StringRef ArchiveName, const OffloadBundlerConfig &BundlerConfig) { std::vector<std::unique_ptr<MemoryBuffer>> ArchiveBuffers; ErrorOr<std::unique_ptr<MemoryBuffer>> BufOrErr = - MemoryBuffer::getFileOrSTDIN(ArchiveName, true, false); + MemoryBuffer::getFileOrSTDIN(ArchiveName, sys::fs::OF_TextWithCRLF, + false); if (std::error_code EC = BufOrErr.getError()) return createFileError(ArchiveName, EC); @@ -1588,7 +1589,7 @@ Error OffloadBundler::UnbundleArchive() { } ErrorOr<std::unique_ptr<MemoryBuffer>> BufOrErr = - MemoryBuffer::getFileOrSTDIN(IFName, true, false); + MemoryBuffer::getFileOrSTDIN(IFName, sys::fs::OF_TextWithCRLF, false); if (std::error_code EC = BufOrErr.getError()) return createFileError(BundlerConfig.InputFileNames.front(), EC); diff --git a/clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/JSONFormatImpl.cpp b/clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/JSONFormatImpl.cpp index b19849233f0f8f..9b89b057850f91 100644 --- a/clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/JSONFormatImpl.cpp +++ b/clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/JSONFormatImpl.cpp @@ -55,7 +55,8 @@ llvm::Expected<Value> readJSON(llvm::StringRef Path) { .build(); } - auto BufferOrError = llvm::MemoryBuffer::getFile(Path, /*IsText=*/true); + auto BufferOrError = + llvm::MemoryBuffer::getFile(Path, llvm::sys::fs::OF_TextWithCRLF); if (!BufferOrError) { const std::error_code EC = BufferOrError.getError(); return ErrorBuilder::create(EC, ErrorMessages::FailedToReadFile, Path, diff --git a/clang/lib/Tooling/JSONCompilationDatabase.cpp b/clang/lib/Tooling/JSONCompilationDatabase.cpp index 0efa75970d9864..c42233a2fa9e8a 100644 --- a/clang/lib/Tooling/JSONCompilationDatabase.cpp +++ b/clang/lib/Tooling/JSONCompilationDatabase.cpp @@ -20,6 +20,7 @@ #include "llvm/Support/Allocator.h" #include "llvm/Support/CommandLine.h" #include "llvm/Support/ErrorOr.h" +#include "llvm/Support/FileSystem.h" #include "llvm/Support/MemoryBuffer.h" #include "llvm/Support/Path.h" #include "llvm/Support/StringSaver.h" @@ -190,7 +191,7 @@ JSONCompilationDatabase::loadFromFile(StringRef FilePath, JSONCommandLineSyntax Syntax) { // Don't mmap: if we're a long-lived process, the build system may overwrite. llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>> DatabaseBuffer = - llvm::MemoryBuffer::getFile(FilePath, /*IsText=*/false, + llvm::MemoryBuffer::getFile(FilePath, llvm::sys::fs::OF_None, /*RequiresNullTerminator=*/true, /*IsVolatile=*/true); if (std::error_code Result = DatabaseBuffer.getError()) { diff --git a/clang/tools/clang-format/ClangFormat.cpp b/clang/tools/clang-format/ClangFormat.cpp index d465ed57f0033e..a89544a8ce7a7c 100644 --- a/clang/tools/clang-format/ClangFormat.cpp +++ b/clang/tools/clang-format/ClangFormat.cpp @@ -410,7 +410,7 @@ static bool format(StringRef FileName, bool ErrorOnIncompleteFormat = false) { ErrorOr<std::unique_ptr<MemoryBuffer>> CodeOrErr = !OutputXML && Inplace ? MemoryBuffer::getFileAsStream(FileName) - : MemoryBuffer::getFileOrSTDIN(FileName, /*IsText=*/true); + : MemoryBuffer::getFileOrSTDIN(FileName, sys::fs::OF_TextWithCRLF); if (std::error_code EC = CodeOrErr.getError()) { errs() << FileName << ": " << EC.message() << "\n"; return true; @@ -555,7 +555,7 @@ static int dumpConfig() { // Read in the code in case the filename alone isn't enough to detect the // language. ErrorOr<std::unique_ptr<MemoryBuffer>> CodeOrErr = - MemoryBuffer::getFileOrSTDIN(FileNames[0], /*IsText=*/true); + MemoryBuffer::getFileOrSTDIN(FileNames[0], sys::fs::OF_TextWithCRLF); if (std::error_code EC = CodeOrErr.getError()) { llvm::errs() << EC.message() << "\n"; return 1; diff --git a/clang/tools/clang-scan-deps/ClangScanDeps.cpp b/clang/tools/clang-scan-deps/ClangScanDeps.cpp index 778f73909665dc..453cc9018a5cee 100644 --- a/clang/tools/clang-scan-deps/ClangScanDeps.cpp +++ b/clang/tools/clang-scan-deps/ClangScanDeps.cpp @@ -318,14 +318,14 @@ class ResourceDirectoryCache { }; if (llvm::sys::ExecuteAndWait(ClangBinaryPath, PrintResourceDirArgs, {}, Redirects)) { - auto ErrorBuf = - llvm::MemoryBuffer::getFile(ErrorFile.c_str(), /*IsText=*/true); + auto ErrorBuf = llvm::MemoryBuffer::getFile( + ErrorFile.c_str(), llvm::sys::fs::OF_TextWithCRLF); llvm::errs() << ErrorBuf.get()->getBuffer(); return ""; } - auto OutputBuf = - llvm::MemoryBuffer::getFile(OutputFile.c_str(), /*IsText=*/true); + auto OutputBuf = llvm::MemoryBuffer::getFile( + OutputFile.c_str(), llvm::sys::fs::OF_TextWithCRLF); if (!OutputBuf) return ""; StringRef Output = OutputBuf.get()->getBuffer().rtrim('\n'); @@ -1114,8 +1114,8 @@ int clang_scan_deps_main(int argc, char **argv, const llvm::ToolContext &) { std::unique_ptr<llvm::MemoryBuffer> TU; std::optional<llvm::MemoryBufferRef> TUBuffer; if (!TranslationUnitFile.empty()) { - auto MaybeTU = - llvm::MemoryBuffer::getFile(TranslationUnitFile, /*IsText=*/true); + auto MaybeTU = llvm::MemoryBuffer::getFile( + TranslationUnitFile, llvm::sys::fs::OF_TextWithCRLF); if (!MaybeTU) { llvm::errs() << "cannot open input translation unit: " << MaybeTU.getError().message() << "\n"; diff --git a/clang/tools/driver/cc1as_main.cpp b/clang/tools/driver/cc1as_main.cpp index 077cd69ce4e2ca..a24a205f9b04d6 100644 --- a/clang/tools/driver/cc1as_main.cpp +++ b/clang/tools/driver/cc1as_main.cpp @@ -442,7 +442,8 @@ static bool ExecuteAssemblerImpl(AssemblerInvocation &Opts, ErrorOr<std::unique_ptr<MemoryBuffer>> Buffer = [&] { // FIXME(sandboxing): Make this a proper input file. auto BypassSandbox = sys::sandbox::scopedDisable(); - return MemoryBuffer::getFileOrSTDIN(Opts.InputFile, /*IsText=*/true); + return MemoryBuffer::getFileOrSTDIN(Opts.InputFile, + sys::fs::OF_TextWithCRLF); }(); if (std::error_code EC = Buffer.getError()) { diff --git a/clang/unittests/ScalableStaticAnalysis/Serialization/JSONFormatTest/JSONFormatTest.cpp b/clang/unittests/ScalableStaticAnalysis/Serialization/JSONFormatTest/JSONFormatTest.cpp index 777625dc9fed7e..9454171bdbf4be 100644 --- a/clang/unittests/ScalableStaticAnalysis/Serialization/JSONFormatTest/JSONFormatTest.cpp +++ b/clang/unittests/ScalableStaticAnalysis/Serialization/JSONFormatTest/JSONFormatTest.cpp @@ -123,7 +123,8 @@ bool JSONFormatTest::permissionsAreEnforced() const { // silently suppressing the test. } - auto Buffer = llvm::MemoryBuffer::getFile(ProbePath, /*IsText=*/true); + auto Buffer = + llvm::MemoryBuffer::getFile(ProbePath, llvm::sys::fs::OF_TextWithCRLF); bool Enforced = !Buffer; // If open failed, permissions are enforced. // Restore permissions so TearDown can clean up the temp directory. @@ -137,7 +138,8 @@ llvm::Expected<llvm::json::Value> JSONFormatTest::readJSONFromFile(llvm::StringRef FileName) const { PathString FilePath = makePath(FileName); - auto BufferOrError = llvm::MemoryBuffer::getFile(FilePath, /*IsText=*/true); + auto BufferOrError = + llvm::MemoryBuffer::getFile(FilePath, llvm::sys::fs::OF_TextWithCRLF); if (!BufferOrError) { return llvm::createStringError(BufferOrError.getError(), "Failed to read file: %s", FilePath.c_str()); diff --git a/clang/unittests/Serialization/PreambleInNamedModulesTest.cpp b/clang/unittests/Serialization/PreambleInNamedModulesTest.cpp index b826f20ce4d70e..3ed48fa2668e92 100644 --- a/clang/unittests/Serialization/PreambleInNamedModulesTest.cpp +++ b/clang/unittests/Serialization/PreambleInNamedModulesTest.cpp @@ -93,7 +93,7 @@ export using ::E; ASSERT_TRUE(Invocation); llvm::ErrorOr<std::unique_ptr<MemoryBuffer>> ContentsBuffer = - llvm::MemoryBuffer::getFile(MainFilePath, /*IsText=*/true); + llvm::MemoryBuffer::getFile(MainFilePath, sys::fs::OF_TextWithCRLF); EXPECT_TRUE(ContentsBuffer); std::unique_ptr<MemoryBuffer> Buffer = std::move(*ContentsBuffer); diff --git a/lld/COFF/Driver.cpp b/lld/COFF/Driver.cpp index ecbb5e9fff4e19..b468672dfaa4ee 100644 --- a/lld/COFF/Driver.cpp +++ b/lld/COFF/Driver.cpp @@ -164,7 +164,7 @@ static std::future<MBErrPair> createFutureForFile(std::string path, auto strategy = std::launch::deferred; #endif return std::async(strategy, [=]() { - auto mbOrErr = MemoryBuffer::getFile(path, /*IsText=*/false, + auto mbOrErr = MemoryBuffer::getFile(path, sys::fs::OF_None, /*RequiresNullTerminator=*/false); if (!mbOrErr) return MBErrPair{nullptr, mbOrErr.getError()}; @@ -422,7 +422,7 @@ void LinkerDriver::enqueuePath(StringRef path, bool lazy, InputOpt inputOpt) { // before something we can find with an architecture, we won't find the // winsysroot file. if (std::optional<StringRef> retryPath = findFileIfNew(pathStr)) { - auto retryMb = MemoryBuffer::getFile(*retryPath, /*IsText=*/false, + auto retryMb = MemoryBuffer::getFile(*retryPath, sys::fs::OF_None, /*RequiresNullTerminator=*/false); ec = retryMb.getError(); if (!ec) { @@ -1114,7 +1114,7 @@ void LinkerDriver::createImportLibrary(bool asLib) { // If the import library already exists, replace it only if the contents // have changed. ErrorOr<std::unique_ptr<MemoryBuffer>> oldBuf = MemoryBuffer::getFile( - path, /*IsText=*/false, /*RequiresNullTerminator=*/false); + path, sys::fs::OF_None, /*RequiresNullTerminator=*/false); if (!oldBuf) { checkError(writeImportLibrary(libName, path, exports, ctx.config.machine, ctx.config.mingw, nativeExports)); @@ -1135,7 +1135,7 @@ void LinkerDriver::createImportLibrary(bool asLib) { } std::unique_ptr<MemoryBuffer> newBuf = check(MemoryBuffer::getFile( - tmpName, /*IsText=*/false, /*RequiresNullTerminator=*/false)); + tmpName, sys::fs::OF_None, /*RequiresNullTerminator=*/false)); if ((*oldBuf)->getBuffer() != newBuf->getBuffer()) { oldBuf->reset(); checkError(errorCodeToError(sys::fs::rename(tmpName, path))); @@ -1181,7 +1181,7 @@ void LinkerDriver::parseOrderFile(StringRef arg) { // Open a file. StringRef path = arg.substr(1); std::unique_ptr<MemoryBuffer> mb = - CHECK(MemoryBuffer::getFile(path, /*IsText=*/false, + CHECK(MemoryBuffer::getFile(path, sys::fs::OF_None, /*RequiresNullTerminator=*/false, /*IsVolatile=*/true), "could not open " + path); @@ -1209,7 +1209,7 @@ void LinkerDriver::parseOrderFile(StringRef arg) { void LinkerDriver::parseCallGraphFile(StringRef path) { std::unique_ptr<MemoryBuffer> mb = - CHECK(MemoryBuffer::getFile(path, /*IsText=*/false, + CHECK(MemoryBuffer::getFile(path, sys::fs::OF_None, /*RequiresNullTerminator=*/false, /*IsVolatile=*/true), "could not open " + path); diff --git a/lld/COFF/DriverUtils.cpp b/lld/COFF/DriverUtils.cpp index 265ddee6d85572..220183ec9d7a92 100644 --- a/lld/COFF/DriverUtils.cpp +++ b/lld/COFF/DriverUtils.cpp @@ -421,7 +421,7 @@ class TemporaryFile { // is called (you cannot remove an opened file on Windows.) std::unique_ptr<MemoryBuffer> getMemoryBuffer() { // IsVolatile=true forces MemoryBuffer to not use mmap(). - return CHECK(MemoryBuffer::getFile(path, /*IsText=*/false, + return CHECK(MemoryBuffer::getFile(path, sys::fs::OF_None, /*RequiresNullTerminator=*/false, /*IsVolatile=*/true), "could not open " + path); diff --git a/lld/COFF/SymbolTable.cpp b/lld/COFF/SymbolTable.cpp index ea5bdbc0be4890..400d02899f1fc5 100644 --- a/lld/COFF/SymbolTable.cpp +++ b/lld/COFF/SymbolTable.cpp @@ -1336,7 +1336,7 @@ void SymbolTable::assignExportOrdinals() { void SymbolTable::parseModuleDefs(StringRef path) { llvm::TimeTraceScope timeScope("Parse def file"); std::unique_ptr<MemoryBuffer> mb = - CHECK(MemoryBuffer::getFile(path, /*IsText=*/false, + CHECK(MemoryBuffer::getFile(path, sys::fs::OF_None, /*RequiresNullTerminator=*/false, /*IsVolatile=*/true), "could not open " + path); diff --git a/lld/ELF/InputFiles.cpp b/lld/ELF/InputFiles.cpp index 4af0898cef6078..7759458e93944b 100644 --- a/lld/ELF/InputFiles.cpp +++ b/lld/ELF/InputFiles.cpp @@ -245,7 +245,7 @@ std::optional<MemoryBufferRef> elf::readFile(Ctx &ctx, StringRef path) { Log(ctx) << path; ctx.arg.dependencyFiles.insert(llvm::CachedHashString(path)); - auto mbOrErr = MemoryBuffer::getFile(path, /*IsText=*/false, + auto mbOrErr = MemoryBuffer::getFile(path, sys::fs::OF_None, /*RequiresNullTerminator=*/false); if (auto ec = mbOrErr.getError()) { ErrAlways(ctx) << "cannot open " << path << ": " << ec.message(); diff --git a/lldb/source/Plugins/ObjectFile/PDB/ObjectFilePDB.cpp b/lldb/source/Plugins/ObjectFile/PDB/ObjectFilePDB.cpp index 840169c563a9c8..93abafcfc96478 100644 --- a/lldb/source/Plugins/ObjectFile/PDB/ObjectFilePDB.cpp +++ b/lldb/source/Plugins/ObjectFile/PDB/ObjectFilePDB.cpp @@ -175,7 +175,7 @@ ObjectFilePDB::loadPDBFile(std::string PdbPath, if (ec || magic != llvm::file_magic::pdb) return nullptr; llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>> ErrorOrBuffer = - llvm::MemoryBuffer::getFile(PdbPath, /*IsText=*/false, + llvm::MemoryBuffer::getFile(PdbPath, llvm::sys::fs::OF_None, /*RequiresNullTerminator=*/false); if (!ErrorOrBuffer) return nullptr; diff --git a/lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp b/lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp index 4d4dc578166946..cd1361443b6d25 100644 --- a/lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp +++ b/lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp @@ -581,7 +581,8 @@ TEST_F(ExtractIntFromFormValueTest, TestUnsignedInt) { TEST_F(DWARFASTParserClangTests, TestDefaultTemplateParamParsing) { // Tests parsing DW_AT_default_value for template parameters. auto BufferOrError = llvm::MemoryBuffer::getFile( - GetInputFilePath("DW_AT_default_value-test.yaml"), /*IsText=*/true); + GetInputFilePath("DW_AT_default_value-test.yaml"), + llvm::sys::fs::OF_Text); ASSERT_TRUE(BufferOrError); DWARFASTParserClangYAMLTester tester(BufferOrError.get()->getBuffer()); @@ -625,7 +626,8 @@ TEST_F(DWARFASTParserClangTests, TestSpecDeclExistsError) { // Tests that parsing a ClassTemplateSpecializationDecl that already exists // is handled gracefully. auto BufferOrError = llvm::MemoryBuffer::getFile( - GetInputFilePath("DW_AT_spec_decl_exists-test.yaml"), /*IsText=*/true); + GetInputFilePath("DW_AT_spec_decl_exists-test.yaml"), + llvm::sys::fs::OF_Text); ASSERT_TRUE(BufferOrError); DWARFASTParserClangYAMLTester tester(BufferOrError.get()->getBuffer()); DWARFDIE cu_die = tester.GetCUDIE(); @@ -2122,7 +2124,8 @@ TEST_F(DWARFASTParserClangTests, TEST_F(DWARFASTParserClangTests, TestRustVariantMember) { // Tests that 128-bit discriminants are output to variant names correctly. auto yamldata = llvm::MemoryBuffer::getFile( - GetInputFilePath("DW_TAG_variant_rust-test.yaml"), /*IsText=*/true); + GetInputFilePath("DW_TAG_variant_rust-test.yaml"), + llvm::sys::fs::OF_Text); ASSERT_TRUE(yamldata); DWARFASTParserClangYAMLTester tester(yamldata->get()->getBuffer()); diff --git a/lldb/unittests/TestingSupport/TestUtilities.cpp b/lldb/unittests/TestingSupport/TestUtilities.cpp index d164c227afb9eb..825a9eecbb495d 100644 --- a/lldb/unittests/TestingSupport/TestUtilities.cpp +++ b/lldb/unittests/TestingSupport/TestUtilities.cpp @@ -45,9 +45,9 @@ llvm::Expected<TestFile> TestFile::fromYaml(llvm::StringRef Yaml) { } llvm::Expected<TestFile> TestFile::fromYamlFile(const llvm::Twine &Name) { - auto BufferOrError = - llvm::MemoryBuffer::getFile(GetInputFilePath(Name), /*IsText=*/false, - /*RequiresNullTerminator=*/false); + auto BufferOrError = llvm::MemoryBuffer::getFile( + GetInputFilePath(Name), llvm::sys::fs::OF_None, + /*RequiresNullTerminator=*/false); if (!BufferOrError) return llvm::errorCodeToError(BufferOrError.getError()); return fromYaml(BufferOrError.get()->getBuffer()); diff --git a/llvm/benchmarks/RuntimeLibcalls.cpp b/llvm/benchmarks/RuntimeLibcalls.cpp index 707bdca7ceab76..2a3e219df0501d 100644 --- a/llvm/benchmarks/RuntimeLibcalls.cpp +++ b/llvm/benchmarks/RuntimeLibcalls.cpp @@ -10,6 +10,7 @@ #include "benchmark/benchmark.h" #include "llvm/IR/DataLayout.h" #include "llvm/Support/Error.h" +#include "llvm/Support/FileSystem.h" #include "llvm/Support/LineIterator.h" #include "llvm/Support/MemoryBuffer.h" #include "llvm/TargetParser/Triple.h" @@ -45,7 +46,8 @@ static std::vector<std::string> getRandomFuncNames() { #ifdef SYMBOL_TEST_DATA_FILE static std::vector<std::string> readSymbolsFromFile(StringRef InputFile) { - auto BufOrError = MemoryBuffer::getFileOrSTDIN(InputFile, /*IsText=*/true); + auto BufOrError = + MemoryBuffer::getFileOrSTDIN(InputFile, sys::fs::OF_TextWithCRLF); if (!BufOrError) { reportFatalUsageError("failed to open \'" + Twine(InputFile) + "\': " + BufOrError.getError().message()); diff --git a/llvm/include/llvm/Support/MemoryBuffer.h b/llvm/include/llvm/Support/MemoryBuffer.h index ea911681bd7760..586221578f2715 100644 --- a/llvm/include/llvm/Support/MemoryBuffer.h +++ b/llvm/include/llvm/Support/MemoryBuffer.h @@ -22,6 +22,7 @@ #include "llvm/Support/Compiler.h" #include "llvm/Support/ErrorOr.h" #include "llvm/Support/File.h" +#include "llvm/Support/FileSystem.h" #include "llvm/Support/MemoryBufferRef.h" #include <cstddef> #include <cstdint> @@ -86,8 +87,7 @@ class LLVM_ABI MemoryBuffer { /// Open the specified file as a MemoryBuffer, returning a new MemoryBuffer /// if successful, otherwise returning null. /// - /// \param IsText Set to true to indicate that the file should be read in - /// text mode. + /// \param Flags, e.g. \c sys::fs::OF_Text to open in text mode. /// /// \param IsVolatile Set to true to indicate that the contents of the file /// can change outside the user's control, e.g. when libclang tries to parse @@ -96,7 +96,7 @@ class LLVM_ABI MemoryBuffer { /// \param Alignment Set to indicate that the buffer should be aligned to at /// least the specified alignment. static ErrorOr<std::unique_ptr<MemoryBuffer>> - getFile(const Twine &Filename, bool IsText = false, + getFile(const Twine &Filename, sys::fs::OpenFlags Flags = sys::fs::OF_None, bool RequiresNullTerminator = true, bool IsVolatile = false, std::optional<Align> Alignment = std::nullopt); @@ -148,7 +148,8 @@ class LLVM_ABI MemoryBuffer { /// Open the specified file as a MemoryBuffer, or open stdin if the Filename /// is "-". static ErrorOr<std::unique_ptr<MemoryBuffer>> - getFileOrSTDIN(const Twine &Filename, bool IsText = false, + getFileOrSTDIN(const Twine &Filename, + sys::fs::OpenFlags Flags = sys::fs::OF_None, bool RequiresNullTerminator = true, std::optional<Align> Alignment = std::nullopt); diff --git a/llvm/lib/Analysis/IR2Vec.cpp b/llvm/lib/Analysis/IR2Vec.cpp index 1c11fbe0f849f8..87031b7205475d 100644 --- a/llvm/lib/Analysis/IR2Vec.cpp +++ b/llvm/lib/Analysis/IR2Vec.cpp @@ -23,6 +23,7 @@ #include "llvm/Support/Errc.h" #include "llvm/Support/Error.h" #include "llvm/Support/ErrorHandling.h" +#include "llvm/Support/FileSystem.h" #include "llvm/Support/Format.h" #include "llvm/Support/MemoryBuffer.h" @@ -483,7 +484,7 @@ using VocabMap = std::map<std::string, Embedding>; Error readVocabularyFromFile(StringRef VocabFilePath, VocabMap &OpcVocab, VocabMap &TypeVocab, VocabMap &ArgVocab) { auto BufOrError = - MemoryBuffer::getFileOrSTDIN(VocabFilePath, /*IsText=*/true); + MemoryBuffer::getFileOrSTDIN(VocabFilePath, sys::fs::OF_TextWithCRLF); if (!BufOrError) return createFileError(VocabFilePath, BufOrError.getError()); diff --git a/llvm/lib/AsmParser/Parser.cpp b/llvm/lib/AsmParser/Parser.cpp index d52141d158122f..6336835c28d02a 100644 --- a/llvm/lib/AsmParser/Parser.cpp +++ b/llvm/lib/AsmParser/Parser.cpp @@ -16,6 +16,7 @@ #include "llvm/IR/DebugInfoMetadata.h" #include "llvm/IR/Module.h" #include "llvm/IR/ModuleSummaryIndex.h" +#include "llvm/Support/FileSystem.h" #include "llvm/Support/MemoryBuffer.h" #include "llvm/Support/SourceMgr.h" #include <algorithm> @@ -68,7 +69,7 @@ std::unique_ptr<Module> llvm::parseAssemblyFile(StringRef Filename, LLVMContext &Context, SlotMapping *Slots) { ErrorOr<std::unique_ptr<MemoryBuffer>> FileOrErr = - MemoryBuffer::getFileOrSTDIN(Filename, /*IsText=*/true); + MemoryBuffer::getFileOrSTDIN(Filename, sys::fs::OF_TextWithCRLF); if (std::error_code EC = FileOrErr.getError()) { Err = SMDiagnostic(Filename, SourceMgr::DK_Error, "Could not open input file: " + EC.message()); @@ -111,7 +112,7 @@ parseAssemblyFileWithIndex(StringRef Filename, SMDiagnostic &Err, bool UpgradeDebugInfo, DataLayoutCallbackTy DataLayoutCallback) { ErrorOr<std::unique_ptr<MemoryBuffer>> FileOrErr = - MemoryBuffer::getFileOrSTDIN(Filename, /*IsText=*/true); + MemoryBuffer::getFileOrSTDIN(Filename, sys::fs::OF_TextWithCRLF); if (std::error_code EC = FileOrErr.getError()) { Err = SMDiagnostic(Filename, SourceMgr::DK_Error, "Could not open input file: " + EC.message()); diff --git a/llvm/lib/BinaryFormat/Magic.cpp b/llvm/lib/BinaryFormat/Magic.cpp index 0786c4b9889fbf..bc39e0423d8bf1 100644 --- a/llvm/lib/BinaryFormat/Magic.cpp +++ b/llvm/lib/BinaryFormat/Magic.cpp @@ -284,7 +284,7 @@ file_magic llvm::identify_magic(StringRef Magic) { } std::error_code llvm::identify_magic(const Twine &Path, file_magic &Result) { - auto FileOrError = MemoryBuffer::getFile(Path, /*IsText=*/false, + auto FileOrError = MemoryBuffer::getFile(Path, /*Flags=*/sys::fs::OF_None, /*RequiresNullTerminator=*/false); if (!FileOrError) return FileOrError.getError(); diff --git a/llvm/lib/CAS/OnDiskGraphDB.cpp b/llvm/lib/CAS/OnDiskGraphDB.cpp index ffec3c3dbe8ae2..843d56e39b2190 100644 --- a/llvm/lib/CAS/OnDiskGraphDB.cpp +++ b/llvm/lib/CAS/OnDiskGraphDB.cpp @@ -993,7 +993,7 @@ Error OnDiskGraphDB::validate(bool Deep, HashingFuncT Hasher) const { // If need to validate the content of the file later, just load the // buffer here. Otherwise, just check the existance of the file. if (Deep) { - auto File = MemoryBuffer::getFile(Path, /*IsText=*/false, + auto File = MemoryBuffer::getFile(Path, sys::fs::OF_None, /*RequiresNullTerminator=*/false); if (!File || !*File) return formatError("record file \'" + Path + "\' does not exist"); @@ -1529,7 +1529,7 @@ std::unique_ptr<MemoryBuffer> StandaloneDataInMemory::getStandaloneMemoryBuffer( IndexOffset, Path); auto BypassSandbox = sys::sandbox::scopedDisable(); ErrorOr<std::unique_ptr<MemoryBuffer>> Mapped = - MemoryBuffer::getFile(Path, /*IsText=*/false, + MemoryBuffer::getFile(Path, sys::fs::OF_None, /*RequiresNullTerminator=*/false, /*IsVolatile=*/false); if (!Mapped) diff --git a/llvm/lib/CodeGen/MIR2Vec.cpp b/llvm/lib/CodeGen/MIR2Vec.cpp index 30f30ec57020d7..39020d5fe5621e 100644 --- a/llvm/lib/CodeGen/MIR2Vec.cpp +++ b/llvm/lib/CodeGen/MIR2Vec.cpp @@ -19,6 +19,7 @@ #include "llvm/InitializePasses.h" #include "llvm/Pass.h" #include "llvm/Support/Errc.h" +#include "llvm/Support/FileSystem.h" #include "llvm/Support/MemoryBuffer.h" #include "llvm/Support/Regex.h" @@ -482,7 +483,8 @@ Error MIR2VecVocabProvider::readVocabulary(VocabMap &OpcodeVocab, "MIR2Vec vocabulary file path not specified; set it " "using --mir2vec-vocab-path"); - auto BufOrError = MemoryBuffer::getFileOrSTDIN(VocabFile, /*IsText=*/true); + auto BufOrError = + MemoryBuffer::getFileOrSTDIN(VocabFile, sys::fs::OF_TextWithCRLF); if (!BufOrError) return createFileError(VocabFile, BufOrError.getError()); diff --git a/llvm/lib/CodeGen/MIRParser/MIRParser.cpp b/llvm/lib/CodeGen/MIRParser/MIRParser.cpp index 26af6ef073082d..94ea55a7d464eb 100644 --- a/llvm/lib/CodeGen/MIRParser/MIRParser.cpp +++ b/llvm/lib/CodeGen/MIRParser/MIRParser.cpp @@ -32,6 +32,7 @@ #include "llvm/IR/LLVMContext.h" #include "llvm/IR/Module.h" #include "llvm/IR/ValueSymbolTable.h" +#include "llvm/Support/FileSystem.h" #include "llvm/Support/LineIterator.h" #include "llvm/Support/MemoryBuffer.h" #include "llvm/Support/SMLoc.h" @@ -1370,7 +1371,8 @@ bool MIRParser::parseMachineFunctions(Module &M, ModuleAnalysisManager &MAM) { std::unique_ptr<MIRParser> llvm::createMIRParserFromFile( StringRef Filename, SMDiagnostic &Error, LLVMContext &Context, std::function<void(Function &)> ProcessIRFunction) { - auto FileOrErr = MemoryBuffer::getFileOrSTDIN(Filename, /*IsText=*/true); + auto FileOrErr = + MemoryBuffer::getFileOrSTDIN(Filename, sys::fs::OF_TextWithCRLF); if (std::error_code EC = FileOrErr.getError()) { Error = SMDiagnostic(Filename, SourceMgr::DK_Error, "could not open input file: " + EC.message()); diff --git a/llvm/lib/DTLTO/DTLTO.cpp b/llvm/lib/DTLTO/DTLTO.cpp index 669ba75c80d4b6..b38f7cc798745c 100644 --- a/llvm/lib/DTLTO/DTLTO.cpp +++ b/llvm/lib/DTLTO/DTLTO.cpp @@ -304,7 +304,7 @@ Error lto::DTLTO::addObjectFilesToLink() { // Load the native object from a file into a memory buffer // and store its contents in the output buffer. auto ObjFileMbOrErr = - MemoryBuffer::getFile(Job.NativeObjectPath, /*IsText=*/false, + MemoryBuffer::getFile(Job.NativeObjectPath, sys::fs::OF_None, /*RequiresNullTerminator=*/false); if (std::error_code EC = ObjFileMbOrErr.getError()) return make_error<StringError>( diff --git a/llvm/lib/DebugInfo/GSYM/CallSiteInfo.cpp b/llvm/lib/DebugInfo/GSYM/CallSiteInfo.cpp index 561ef48bf757bc..e3340883c95aef 100644 --- a/llvm/lib/DebugInfo/GSYM/CallSiteInfo.cpp +++ b/llvm/lib/DebugInfo/GSYM/CallSiteInfo.cpp @@ -12,6 +12,7 @@ #include "llvm/DebugInfo/GSYM/GsymCreator.h" #include "llvm/DebugInfo/GSYM/GsymDataExtractor.h" #include "llvm/MC/StringTableBuilder.h" +#include "llvm/Support/FileSystem.h" #include "llvm/Support/InterleavedRange.h" #include "llvm/Support/YAMLParser.h" #include "llvm/Support/YAMLTraits.h" @@ -149,7 +150,8 @@ LLVM_YAML_IS_SEQUENCE_VECTOR(FunctionYAML) Error CallSiteInfoLoader::loadYAML(StringRef YAMLFile) { // Step 1: Read YAML file - auto BufferOrError = MemoryBuffer::getFile(YAMLFile, /*IsText=*/true); + auto BufferOrError = + MemoryBuffer::getFile(YAMLFile, sys::fs::OF_TextWithCRLF); if (!BufferOrError) return errorCodeToError(BufferOrError.getError()); diff --git a/llvm/lib/DebugInfo/PDB/Native/InputFile.cpp b/llvm/lib/DebugInfo/PDB/Native/InputFile.cpp index 49be0edc33a108..2d390fe746be3b 100644 --- a/llvm/lib/DebugInfo/PDB/Native/InputFile.cpp +++ b/llvm/lib/DebugInfo/PDB/Native/InputFile.cpp @@ -335,7 +335,7 @@ Expected<InputFile> InputFile::open(StringRef Path, bool AllowUnknownFile) { formatv("File {0} is not a supported file type", Path), inconvertibleErrorCode()); - auto Result = MemoryBuffer::getFile(Path, /*IsText=*/false, + auto Result = MemoryBuffer::getFile(Path, /*Flags=*/sys::fs::OF_None, /*RequiresNullTerminator=*/false); if (!Result) return make_error<StringError>( diff --git a/llvm/lib/DebugInfo/PDB/Native/NativeSession.cpp b/llvm/lib/DebugInfo/PDB/Native/NativeSession.cpp index aedbbe7f2e5167..0488dc6a3d8934 100644 --- a/llvm/lib/DebugInfo/PDB/Native/NativeSession.cpp +++ b/llvm/lib/DebugInfo/PDB/Native/NativeSession.cpp @@ -103,7 +103,7 @@ static Error validatePdbMagic(StringRef PdbPath) { static Expected<std::unique_ptr<PDBFile>> loadPdbFile(StringRef PdbPath, std::unique_ptr<BumpPtrAllocator> &Allocator) { ErrorOr<std::unique_ptr<MemoryBuffer>> ErrorOrBuffer = - MemoryBuffer::getFile(PdbPath, /*IsText=*/false, + MemoryBuffer::getFile(PdbPath, /*Flags=*/sys::fs::OF_None, /*RequiresNullTerminator=*/false); if (!ErrorOrBuffer) return make_error<RawError>(ErrorOrBuffer.getError()); diff --git a/llvm/lib/Debuginfod/Debuginfod.cpp b/llvm/lib/Debuginfod/Debuginfod.cpp index f6b278f1bbda23..c9a5a60a826501 100644 --- a/llvm/lib/Debuginfod/Debuginfod.cpp +++ b/llvm/lib/Debuginfod/Debuginfod.cpp @@ -35,6 +35,7 @@ #include "llvm/Support/Caching.h" #include "llvm/Support/Errc.h" #include "llvm/Support/Error.h" +#include "llvm/Support/FileSystem.h" #include "llvm/Support/FileUtilities.h" #include "llvm/Support/MemoryBuffer.h" #include "llvm/Support/Path.h" @@ -189,7 +190,7 @@ static SmallVector<std::string, 0> getHeaders() { if (!Filename) return {}; ErrorOr<std::unique_ptr<MemoryBuffer>> HeadersFile = - MemoryBuffer::getFile(Filename, /*IsText=*/true); + MemoryBuffer::getFile(Filename, sys::fs::OF_TextWithCRLF); if (!HeadersFile) return {}; diff --git a/llvm/lib/FuzzMutate/FuzzerCLI.cpp b/llvm/lib/FuzzMutate/FuzzerCLI.cpp index 504532865440fe..71ead5cad59df8 100644 --- a/llvm/lib/FuzzMutate/FuzzerCLI.cpp +++ b/llvm/lib/FuzzMutate/FuzzerCLI.cpp @@ -156,7 +156,7 @@ int llvm::runFuzzerOnInputs(int ArgC, char *ArgV[], FuzzerTestFun TestOne, continue; } - auto BufOrErr = MemoryBuffer::getFile(Arg, /*IsText=*/false, + auto BufOrErr = MemoryBuffer::getFile(Arg, /*Flags=*/sys::fs::OF_None, /*RequiresNullTerminator=*/false); if (std::error_code EC = BufOrErr.getError()) { errs() << "Error reading file: " << Arg << ": " << EC.message() << "\n"; diff --git a/llvm/lib/IRReader/IRReader.cpp b/llvm/lib/IRReader/IRReader.cpp index 8b9c41acd42359..f554ecc2229268 100644 --- a/llvm/lib/IRReader/IRReader.cpp +++ b/llvm/lib/IRReader/IRReader.cpp @@ -14,6 +14,7 @@ #include "llvm/IR/LLVMContext.h" #include "llvm/IR/Module.h" #include "llvm/IR/PassTimingInfo.h" +#include "llvm/Support/FileSystem.h" #include "llvm/Support/MemoryBuffer.h" #include "llvm/Support/SourceMgr.h" #include "llvm/Support/Timer.h" @@ -96,7 +97,7 @@ std::unique_ptr<Module> llvm::parseIRFile(StringRef Filename, SMDiagnostic &Err, ParserCallbacks Callbacks, AsmParserContext *ParserContext) { ErrorOr<std::unique_ptr<MemoryBuffer>> FileOrErr = - MemoryBuffer::getFileOrSTDIN(Filename, /*IsText=*/true); + MemoryBuffer::getFileOrSTDIN(Filename, sys::fs::OF_TextWithCRLF); if (std::error_code EC = FileOrErr.getError()) { Err = SMDiagnostic(Filename, SourceMgr::DK_Error, "Could not open input file: " + EC.message()); diff --git a/llvm/lib/LTO/LTOCodeGenerator.cpp b/llvm/lib/LTO/LTOCodeGenerator.cpp index 6cb30123c9572d..98d80cef2baf92 100644 --- a/llvm/lib/LTO/LTOCodeGenerator.cpp +++ b/llvm/lib/LTO/LTOCodeGenerator.cpp @@ -346,7 +346,7 @@ LTOCodeGenerator::compileOptimized() { // read .o file into memory buffer ErrorOr<std::unique_ptr<MemoryBuffer>> BufferOrErr = MemoryBuffer::getFile( - name, /*IsText=*/false, /*RequiresNullTerminator=*/false); + name, sys::fs::OF_None, /*RequiresNullTerminator=*/false); if (std::error_code EC = BufferOrErr.getError()) { emitError(EC.message()); sys::fs::remove(NativeObjectPath); diff --git a/llvm/lib/Object/Archive.cpp b/llvm/lib/Object/Archive.cpp index be0dcaab9ba5ec..803ab7d95dbd46 100644 --- a/llvm/lib/Object/Archive.cpp +++ b/llvm/lib/Object/Archive.cpp @@ -701,7 +701,8 @@ Expected<StringRef> Archive::Child::getBuffer() const { return FullNameOrErr.takeError(); const std::string &FullName = *FullNameOrErr; ErrorOr<std::unique_ptr<MemoryBuffer>> Buf = - MemoryBuffer::getFile(FullName, false, /*RequiresNullTerminator=*/false); + MemoryBuffer::getFile(FullName, /*Flags=*/sys::fs::OF_None, + /*RequiresNullTerminator=*/false); if (std::error_code EC = Buf.getError()) return errorCodeToError(EC); Parent->ThinBuffers.push_back(std::move(*Buf)); diff --git a/llvm/lib/Object/Binary.cpp b/llvm/lib/Object/Binary.cpp index 30414257fa90be..d94c662954f0fb 100644 --- a/llvm/lib/Object/Binary.cpp +++ b/llvm/lib/Object/Binary.cpp @@ -110,7 +110,7 @@ Expected<std::unique_ptr<Binary>> object::createBinary(MemoryBufferRef Buffer, Expected<OwningBinary<Binary>> object::createBinary(StringRef Path, LLVMContext *Context, bool InitContent) { ErrorOr<std::unique_ptr<MemoryBuffer>> FileOrErr = - MemoryBuffer::getFileOrSTDIN(Path, /*IsText=*/false, + MemoryBuffer::getFileOrSTDIN(Path, /*Flags=*/sys::fs::OF_None, /*RequiresNullTerminator=*/false); if (std::error_code EC = FileOrErr.getError()) return errorCodeToError(EC); diff --git a/llvm/lib/ProfileData/Coverage/CoverageMapping.cpp b/llvm/lib/ProfileData/Coverage/CoverageMapping.cpp index cbb048d15bca24..c6f0ffc487eed2 100644 --- a/llvm/lib/ProfileData/Coverage/CoverageMapping.cpp +++ b/llvm/lib/ProfileData/Coverage/CoverageMapping.cpp @@ -1015,7 +1015,7 @@ Error CoverageMapping::loadFromFile( CoverageMapping &Coverage, bool &DataFound, SmallVectorImpl<object::BuildID> *FoundBinaryIDs) { auto CovMappingBufOrErr = MemoryBuffer::getFileOrSTDIN( - Filename, /*IsText=*/false, /*RequiresNullTerminator=*/false); + Filename, sys::fs::OF_None, /*RequiresNullTerminator=*/false); if (std::error_code EC = CovMappingBufOrErr.getError()) return createFileError(Filename, errorCodeToError(EC)); MemoryBufferRef CovMappingBufRef = @@ -1030,7 +1030,7 @@ Error CoverageMapping::loadFromFile( E = handleMaybeNoDataFoundError(std::move(E)); if (E) return createFileError(Filename, std::move(E)); - return E; + return Error::success(); } SmallVector<std::unique_ptr<CoverageMappingReader>, 4> Readers; diff --git a/llvm/lib/ProfileData/GCOV.cpp b/llvm/lib/ProfileData/GCOV.cpp index 7d0a243d023885..e3b43f12d13e43 100644 --- a/llvm/lib/ProfileData/GCOV.cpp +++ b/llvm/lib/ProfileData/GCOV.cpp @@ -614,7 +614,7 @@ class LineConsumer { // Open source files without requiring a NUL terminator. The concurrent // modification may nullify the NUL terminator condition. ErrorOr<std::unique_ptr<MemoryBuffer>> BufferOrErr = - MemoryBuffer::getFileOrSTDIN(Filename, /*IsText=*/false, + MemoryBuffer::getFileOrSTDIN(Filename, /*Flags=*/sys::fs::OF_None, /*RequiresNullTerminator=*/false); if (std::error_code EC = BufferOrErr.getError()) { errs() << Filename << ": " << EC.message() << "\n"; diff --git a/llvm/lib/ProfileData/MemProfReader.cpp b/llvm/lib/ProfileData/MemProfReader.cpp index c476e1a08cd59d..e0eaabdd1ee827 100644 --- a/llvm/lib/ProfileData/MemProfReader.cpp +++ b/llvm/lib/ProfileData/MemProfReader.cpp @@ -39,6 +39,7 @@ #include "llvm/Support/Endian.h" #include "llvm/Support/Error.h" #include "llvm/Support/ErrorHandling.h" +#include "llvm/Support/FileSystem.h" #include "llvm/Support/MemoryBuffer.h" #include "llvm/Support/Path.h" @@ -817,7 +818,7 @@ Error RawMemProfReader::readNextRecord( Expected<std::unique_ptr<YAMLMemProfReader>> YAMLMemProfReader::create(const Twine &Path) { - auto BufferOr = MemoryBuffer::getFileOrSTDIN(Path, /*IsText=*/true); + auto BufferOr = MemoryBuffer::getFileOrSTDIN(Path, sys::fs::OF_TextWithCRLF); if (std::error_code EC = BufferOr.getError()) return report(errorCodeToError(EC), Path.getSingleStringRef()); @@ -833,7 +834,7 @@ YAMLMemProfReader::create(std::unique_ptr<MemoryBuffer> Buffer) { } bool YAMLMemProfReader::hasFormat(const StringRef Path) { - auto BufferOr = MemoryBuffer::getFileOrSTDIN(Path, /*IsText=*/true); + auto BufferOr = MemoryBuffer::getFileOrSTDIN(Path, sys::fs::OF_TextWithCRLF); if (!BufferOr) return false; diff --git a/llvm/lib/Support/MemoryBuffer.cpp b/llvm/lib/Support/MemoryBuffer.cpp index 9c49c143cf01c2..ae28f2cd6e53b0 100644 --- a/llvm/lib/Support/MemoryBuffer.cpp +++ b/llvm/lib/Support/MemoryBuffer.cpp @@ -121,8 +121,8 @@ class MemoryBufferMem : public MB { template <typename MB> static ErrorOr<std::unique_ptr<MB>> getFileAux(const Twine &Filename, uint64_t MapSize, uint64_t Offset, - bool IsText, bool RequiresNullTerminator, bool IsVolatile, - std::optional<Align> Alignment); + sys::fs::OpenFlags Flags, bool RequiresNullTerminator, + bool IsVolatile, std::optional<Align> Alignment); std::unique_ptr<MemoryBuffer> MemoryBuffer::getMemBuffer(StringRef InputData, StringRef BufferName, @@ -159,7 +159,7 @@ MemoryBuffer::getMemBufferCopy(StringRef InputData, const Twine &BufferName) { } ErrorOr<std::unique_ptr<MemoryBuffer>> -MemoryBuffer::getFileOrSTDIN(const Twine &Filename, bool IsText, +MemoryBuffer::getFileOrSTDIN(const Twine &Filename, sys::fs::OpenFlags Flags, bool RequiresNullTerminator, std::optional<Align> Alignment) { sys::sandbox::violationIfEnabled(); @@ -169,7 +169,7 @@ MemoryBuffer::getFileOrSTDIN(const Twine &Filename, bool IsText, if (NameRef == "-") return getSTDIN(); - return getFile(Filename, IsText, RequiresNullTerminator, + return getFile(Filename, Flags, RequiresNullTerminator, /*IsVolatile=*/false, Alignment); } @@ -179,7 +179,7 @@ MemoryBuffer::getFileSlice(const Twine &FilePath, uint64_t MapSize, std::optional<Align> Alignment) { sys::sandbox::violationIfEnabled(); - return getFileAux<MemoryBuffer>(FilePath, MapSize, Offset, /*IsText=*/false, + return getFileAux<MemoryBuffer>(FilePath, MapSize, Offset, sys::fs::OF_None, /*RequiresNullTerminator=*/false, IsVolatile, Alignment); } @@ -262,13 +262,13 @@ getMemoryBufferForStream(sys::fs::file_t FD, const Twine &BufferName) { } ErrorOr<std::unique_ptr<MemoryBuffer>> -MemoryBuffer::getFile(const Twine &Filename, bool IsText, +MemoryBuffer::getFile(const Twine &Filename, sys::fs::OpenFlags Flags, bool RequiresNullTerminator, bool IsVolatile, std::optional<Align> Alignment) { sys::sandbox::violationIfEnabled(); - return getFileAux<MemoryBuffer>(Filename, /*MapSize=*/-1, /*Offset=*/0, - IsText, RequiresNullTerminator, IsVolatile, + return getFileAux<MemoryBuffer>(Filename, /*MapSize=*/-1, /*Offset=*/0, Flags, + RequiresNullTerminator, IsVolatile, Alignment); } @@ -281,10 +281,10 @@ getOpenFileImpl(sys::fs::file_t FD, const Twine &Filename, uint64_t FileSize, template <typename MB> static ErrorOr<std::unique_ptr<MB>> getFileAux(const Twine &Filename, uint64_t MapSize, uint64_t Offset, - bool IsText, bool RequiresNullTerminator, bool IsVolatile, - std::optional<Align> Alignment) { - Expected<sys::fs::file_t> FDOrErr = sys::fs::openNativeFileForRead( - Filename, IsText ? sys::fs::OF_TextWithCRLF : sys::fs::OF_None); + sys::fs::OpenFlags Flags, bool RequiresNullTerminator, + bool IsVolatile, std::optional<Align> Alignment) { + Expected<sys::fs::file_t> FDOrErr = + sys::fs::openNativeFileForRead(Filename, Flags); if (!FDOrErr) return errorToErrorCode(FDOrErr.takeError()); sys::fs::file_t FD = *FDOrErr; @@ -300,7 +300,7 @@ WritableMemoryBuffer::getFile(const Twine &Filename, bool IsVolatile, sys::sandbox::violationIfEnabled(); return getFileAux<WritableMemoryBuffer>( - Filename, /*MapSize=*/-1, /*Offset=*/0, /*IsText=*/false, + Filename, /*MapSize=*/-1, /*Offset=*/0, sys::fs::OF_None, /*RequiresNullTerminator=*/false, IsVolatile, Alignment); } @@ -311,7 +311,7 @@ WritableMemoryBuffer::getFileSlice(const Twine &Filename, uint64_t MapSize, sys::sandbox::violationIfEnabled(); return getFileAux<WritableMemoryBuffer>( - Filename, MapSize, Offset, /*IsText=*/false, + Filename, MapSize, Offset, sys::fs::OF_None, /*RequiresNullTerminator=*/false, IsVolatile, Alignment); } diff --git a/llvm/lib/Support/SourceMgr.cpp b/llvm/lib/Support/SourceMgr.cpp index 2c40d313bb2674..51a0b93b983067 100644 --- a/llvm/lib/Support/SourceMgr.cpp +++ b/llvm/lib/Support/SourceMgr.cpp @@ -73,7 +73,7 @@ SourceMgr::OpenIncludeFile(const std::string &Filename, auto GetFile = [this, RequiresNullTerminator](StringRef Path) { return FS ? FS->getBufferForFile(Path, /*FileSize=*/-1, RequiresNullTerminator) - : MemoryBuffer::getFile(Path, /*IsText=*/false, + : MemoryBuffer::getFile(Path, sys::fs::OF_None, RequiresNullTerminator); }; @@ -91,7 +91,7 @@ SourceMgr::OpenIncludeFile(const std::string &Filename, if (NewBufOrErr) IncludedFile = static_cast<std::string>(Buffer); - return NewBufOrErr; + return std::move(NewBufOrErr); } unsigned SourceMgr::FindBufferContainingLoc(SMLoc Loc) const { diff --git a/llvm/lib/TableGen/Main.cpp b/llvm/lib/TableGen/Main.cpp index b86f5f48707b05..5c17454124b7b1 100644 --- a/llvm/lib/TableGen/Main.cpp +++ b/llvm/lib/TableGen/Main.cpp @@ -121,7 +121,8 @@ static int WriteOutput(const char *argv0, StringRef Filename, // Only updates the real output file if there are any differences. // This prevents recompilation of all the files depending on it if there // aren't any. - if (auto ExistingOrErr = MemoryBuffer::getFile(Filename, /*IsText=*/true)) + if (auto ExistingOrErr = + MemoryBuffer::getFile(Filename, sys::fs::OF_TextWithCRLF)) if (std::move(ExistingOrErr.get())->getBuffer() == Content) return 0; } @@ -148,7 +149,7 @@ int llvm::TableGenMain(const char *argv0, MultiFileTableGenMainFn MainFn) { Timer.startTimer("Parse, build records"); ErrorOr<std::unique_ptr<MemoryBuffer>> FileOrErr = - MemoryBuffer::getFileOrSTDIN(InputFilename, /*IsText=*/true); + MemoryBuffer::getFileOrSTDIN(InputFilename, sys::fs::OF_TextWithCRLF); if (std::error_code EC = FileOrErr.getError()) return reportError(argv0, "Could not open input file '" + InputFilename + "': " + EC.message() + "\n"); diff --git a/llvm/lib/Target/DirectX/DXContainerPDB.cpp b/llvm/lib/Target/DirectX/DXContainerPDB.cpp index 13f57baaaa032a..19dd3884e250e2 100644 --- a/llvm/lib/Target/DirectX/DXContainerPDB.cpp +++ b/llvm/lib/Target/DirectX/DXContainerPDB.cpp @@ -185,7 +185,7 @@ bool DXContainerPDB::runOnModule(Module &M) { return false; ErrorOr<std::unique_ptr<MemoryBuffer>> Buf = MemoryBuffer::getFile( - DebugFileName, /*IsText=*/false, /*RequiresNullTerminator=*/false); + DebugFileName, sys::fs::OF_None, /*RequiresNullTerminator=*/false); if (!Buf) reportFatalInternalError("Failed to read PDB for PRIV embedding"); diff --git a/llvm/lib/Testing/Support/SupportHelpers.cpp b/llvm/lib/Testing/Support/SupportHelpers.cpp index e9e44fd115100e..70b74a92f78c89 100644 --- a/llvm/lib/Testing/Support/SupportHelpers.cpp +++ b/llvm/lib/Testing/Support/SupportHelpers.cpp @@ -39,7 +39,7 @@ SmallString<128> llvm::unittest::getInputFileDirectory(const char *Argv0) { EXPECT_TRUE(Found) << "Unit test source directory file does not exist."; - auto File = MemoryBuffer::getFile(InputFilePath, /*IsText=*/true); + auto File = MemoryBuffer::getFile(InputFilePath, sys::fs::OF_TextWithCRLF); EXPECT_TRUE(static_cast<bool>(File)) << "Could not open unit test source directory file."; diff --git a/llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp b/llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp index d914b49747c328..841fb062a6176b 100644 --- a/llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp +++ b/llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp @@ -239,7 +239,7 @@ bool identifyImportName(const COFFObjectFile &Obj, StringRef ObjName, int doIdentify(StringRef File, bool IdentifyStrict) { ErrorOr<std::unique_ptr<MemoryBuffer>> MaybeBuf = MemoryBuffer::getFile( - File, /*IsText=*/false, /*RequiredNullTerminator=*/false); + File, sys::fs::OF_None, /*RequiredNullTerminator=*/false); if (!MaybeBuf) return printError(errorCodeToError(MaybeBuf.getError()), File); if (identify_magic(MaybeBuf.get()->getBuffer()) != file_magic::archive) { diff --git a/llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp b/llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp index 55e59aa6ac12dd..982d7299c4ae87 100644 --- a/llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp +++ b/llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp @@ -26,6 +26,7 @@ #include "llvm/Option/OptTable.h" #include "llvm/Option/Option.h" #include "llvm/Support/CommandLine.h" +#include "llvm/Support/FileSystem.h" #include "llvm/Support/Path.h" #include "llvm/Support/Process.h" #include "llvm/Support/StringSaver.h" @@ -86,7 +87,7 @@ static std::vector<StringRef> getSearchPaths(opt::InputArgList *Args, // Opens a file. Path has to be resolved already. (used for def file) std::unique_ptr<MemoryBuffer> openFile(const Twine &Path) { ErrorOr<std::unique_ptr<llvm::MemoryBuffer>> MB = - MemoryBuffer::getFile(Path, /*IsText=*/true); + MemoryBuffer::getFile(Path, sys::fs::OF_TextWithCRLF); if (std::error_code EC = MB.getError()) { llvm::errs() << "cannot open file " << Path << ": " << EC.message() << "\n"; @@ -121,7 +122,7 @@ static void doList(opt::InputArgList &Args) { for (auto *Arg : Args.filtered(OPT_INPUT)) { // Create or open the archive object. ErrorOr<std::unique_ptr<MemoryBuffer>> MaybeBuf = MemoryBuffer::getFile( - Arg->getValue(), /*IsText=*/false, /*RequiresNullTerminator=*/false); + Arg->getValue(), sys::fs::OF_None, /*RequiresNullTerminator=*/false); fatalOpenError(errorCodeToError(MaybeBuf.getError()), Arg->getValue()); if (identify_magic(MaybeBuf.get()->getBuffer()) == file_magic::archive) { @@ -470,7 +471,7 @@ int llvm::libDriverMain(ArrayRef<const char *> ArgsArr) { // Open a file. ErrorOr<std::unique_ptr<MemoryBuffer>> MOrErr = MemoryBuffer::getFile( - Path, /*IsText=*/false, /*RequiresNullTerminator=*/false); + Path, sys::fs::OF_None, /*RequiresNullTerminator=*/false); fatalOpenError(errorCodeToError(MOrErr.getError()), Path); MemoryBufferRef MBRef = (*MOrErr)->getMemBufferRef(); diff --git a/llvm/lib/Transforms/IPO/LowerTypeTests.cpp b/llvm/lib/Transforms/IPO/LowerTypeTests.cpp index ab3b2e51c885bc..5921471abdc53b 100644 --- a/llvm/lib/Transforms/IPO/LowerTypeTests.cpp +++ b/llvm/lib/Transforms/IPO/LowerTypeTests.cpp @@ -2327,7 +2327,7 @@ bool LowerTypeTestsModule::runForTesting(Module &M, ModuleAnalysisManager &AM) { ExitOnError ExitOnErr("-lowertypetests-read-summary: " + ClReadSummary + ": "); auto ReadSummaryFile = ExitOnErr(errorOrToExpected( - MemoryBuffer::getFile(ClReadSummary, /*IsText=*/true))); + MemoryBuffer::getFile(ClReadSummary, sys::fs::OF_TextWithCRLF))); // TODO: Convert the rest of tests (some YAML features are missing from // textual summary assembly) and remove YAML from this file. if (ReadSummaryFile->getBuffer().starts_with("---")) { diff --git a/llvm/tools/dsymutil/DebugMap.cpp b/llvm/tools/dsymutil/DebugMap.cpp index a88959ae405c12..da3d54870937a6 100644 --- a/llvm/tools/dsymutil/DebugMap.cpp +++ b/llvm/tools/dsymutil/DebugMap.cpp @@ -15,6 +15,7 @@ #include "llvm/Object/ObjectFile.h" #include "llvm/Support/Chrono.h" #include "llvm/Support/Error.h" +#include "llvm/Support/FileSystem.h" #include "llvm/Support/Format.h" #include "llvm/Support/MemoryBuffer.h" #include "llvm/Support/Path.h" @@ -147,7 +148,8 @@ DebugMap::DebugMap(const Triple &BinaryTriple, StringRef BinaryPath, ErrorOr<std::vector<std::unique_ptr<DebugMap>>> DebugMap::parseYAMLDebugMap(BinaryHolder &BinHolder, StringRef InputFile, StringRef PrependPath, bool Verbose) { - auto ErrOrFile = MemoryBuffer::getFileOrSTDIN(InputFile, /*IsText=*/true); + auto ErrOrFile = + MemoryBuffer::getFileOrSTDIN(InputFile, sys::fs::OF_TextWithCRLF); if (auto Err = ErrOrFile.getError()) return Err; diff --git a/llvm/tools/dsymutil/dsymutil.cpp b/llvm/tools/dsymutil/dsymutil.cpp index 0b30d3512d8d2c..78be32ed2c6f8d 100644 --- a/llvm/tools/dsymutil/dsymutil.cpp +++ b/llvm/tools/dsymutil/dsymutil.cpp @@ -772,7 +772,7 @@ int dsymutil_main(int argc, char **argv, const llvm::ToolContext &) { auto ParseAllowDisallowFile = [&](const std::string &FilePath) -> Expected<StringSet<>> { - auto BufOrErr = MemoryBuffer::getFile(FilePath, /*IsText=*/true); + auto BufOrErr = MemoryBuffer::getFile(FilePath, sys::fs::OF_TextWithCRLF); if (!BufOrErr) return make_error<StringError>( Twine("cannot open allow/disallow file '") + FilePath + diff --git a/llvm/tools/lli/lli.cpp b/llvm/tools/lli/lli.cpp index 6bee74935a1157..713dec154b4017 100644 --- a/llvm/tools/lli/lli.cpp +++ b/llvm/tools/lli/lli.cpp @@ -333,7 +333,7 @@ class LLIObjectCache : public ObjectCache { return nullptr; // Load the object from the cache filename ErrorOr<std::unique_ptr<MemoryBuffer>> IRObjectBuffer = - MemoryBuffer::getFile(CacheName, /*IsText=*/false, + MemoryBuffer::getFile(CacheName, sys::fs::OF_None, /*RequiresNullTerminator=*/false); // If the file isn't there, that's OK. if (!IRObjectBuffer) diff --git a/llvm/tools/llvm-ar/llvm-ar.cpp b/llvm/tools/llvm-ar/llvm-ar.cpp index 6ab53375509c8c..11acc6cb8a17ff 100644 --- a/llvm/tools/llvm-ar/llvm-ar.cpp +++ b/llvm/tools/llvm-ar/llvm-ar.cpp @@ -303,7 +303,7 @@ static void getArchive() { } static object::Archive &readLibrary(const Twine &Library) { - auto BufOrErr = MemoryBuffer::getFile(Library, /*IsText=*/false, + auto BufOrErr = MemoryBuffer::getFile(Library, sys::fs::OF_None, /*RequiresNullTerminator=*/false); failIfError(BufOrErr.getError(), "could not open library " + Library); ArchiveBuffers.push_back(std::move(*BufOrErr)); @@ -1169,7 +1169,7 @@ static void performOperation(ArchiveOperation Operation, static int performOperation(ArchiveOperation Operation) { // Create or open the archive object. ErrorOr<std::unique_ptr<MemoryBuffer>> Buf = MemoryBuffer::getFile( - ArchiveName, /*IsText=*/false, /*RequiresNullTerminator=*/false); + ArchiveName, sys::fs::OF_None, /*RequiresNullTerminator=*/false); std::error_code EC = Buf.getError(); if (EC && EC != errc::no_such_file_or_directory) fail("unable to open '" + ArchiveName + "': " + EC.message()); diff --git a/llvm/tools/llvm-cas-fuzzer/cas-fuzzer.cpp b/llvm/tools/llvm-cas-fuzzer/cas-fuzzer.cpp index 1508a1d57559a0..80af864b9632bf 100644 --- a/llvm/tools/llvm-cas-fuzzer/cas-fuzzer.cpp +++ b/llvm/tools/llvm-cas-fuzzer/cas-fuzzer.cpp @@ -82,7 +82,7 @@ static void collectFilesWithPrefix(StringRef Dir, StringRef Prefix, /// Read an entire file into a buffer. static bool readFileBytes(StringRef Path, SmallVectorImpl<char> &Buf) { - auto MBOrErr = MemoryBuffer::getFile(Path, /*IsText=*/false, + auto MBOrErr = MemoryBuffer::getFile(Path, /*Flags=*/sys::fs::OF_None, /*RequiresNullTerminator=*/false); if (!MBOrErr) return false; diff --git a/llvm/tools/llvm-cov/gcov.cpp b/llvm/tools/llvm-cov/gcov.cpp index 875b1e088de54c..9b10dd7f3213c2 100644 --- a/llvm/tools/llvm-cov/gcov.cpp +++ b/llvm/tools/llvm-cov/gcov.cpp @@ -69,7 +69,7 @@ static void reportCoverage(StringRef SourceFile, StringRef ObjectDir, // Open .gcda and .gcda without requiring a NUL terminator. The concurrent // modification may nullify the NUL terminator condition. ErrorOr<std::unique_ptr<MemoryBuffer>> GCNO_Buff = - MemoryBuffer::getFileOrSTDIN(GCNO, /*IsText=*/false, + MemoryBuffer::getFileOrSTDIN(GCNO, sys::fs::OF_None, /*RequiresNullTerminator=*/false); if (std::error_code EC = GCNO_Buff.getError()) { errs() << GCNO << ": " << EC.message() << "\n"; @@ -82,7 +82,7 @@ static void reportCoverage(StringRef SourceFile, StringRef ObjectDir, } ErrorOr<std::unique_ptr<MemoryBuffer>> GCDA_Buff = - MemoryBuffer::getFileOrSTDIN(GCDA, /*IsText=*/false, + MemoryBuffer::getFileOrSTDIN(GCDA, sys::fs::OF_None, /*RequiresNullTerminator=*/false); if (std::error_code EC = GCDA_Buff.getError()) { if (EC != errc::no_such_file_or_directory) { diff --git a/llvm/tools/llvm-ctxprof-util/llvm-ctxprof-util.cpp b/llvm/tools/llvm-ctxprof-util/llvm-ctxprof-util.cpp index 5903919f96db59..39f75ee393c3c1 100644 --- a/llvm/tools/llvm-ctxprof-util/llvm-ctxprof-util.cpp +++ b/llvm/tools/llvm-ctxprof-util/llvm-ctxprof-util.cpp @@ -18,6 +18,7 @@ #include "llvm/Support/CommandLine.h" #include "llvm/Support/Error.h" #include "llvm/Support/ErrorHandling.h" +#include "llvm/Support/FileSystem.h" #include "llvm/Support/MemoryBuffer.h" #include "llvm/Support/raw_ostream.h" @@ -48,7 +49,7 @@ namespace { // Save the bitstream profile from the JSON representation. Error convertFromYaml() { auto BufOrError = - MemoryBuffer::getFileOrSTDIN(InputFilename, /*IsText=*/true); + MemoryBuffer::getFileOrSTDIN(InputFilename, sys::fs::OF_TextWithCRLF); if (!BufOrError) return createFileError(InputFilename, BufOrError.getError()); diff --git a/llvm/tools/llvm-cvtres/llvm-cvtres.cpp b/llvm/tools/llvm-cvtres/llvm-cvtres.cpp index e13c66c9ab1a76..f4a1b771ed2822 100644 --- a/llvm/tools/llvm-cvtres/llvm-cvtres.cpp +++ b/llvm/tools/llvm-cvtres/llvm-cvtres.cpp @@ -160,7 +160,7 @@ int main(int Argc, const char **Argv) { for (const auto &File : InputFiles) { std::unique_ptr<MemoryBuffer> Buffer = error( - File, MemoryBuffer::getFileOrSTDIN(File, /*IsText=*/false, + File, MemoryBuffer::getFileOrSTDIN(File, sys::fs::OF_None, /*RequiresNullTerminator=*/false)); file_magic Type = identify_magic(Buffer->getMemBufferRef().getBuffer()); if (Type != file_magic::windows_resource) @@ -207,7 +207,7 @@ int main(int Argc, const char **Argv) { if (Verbose) { std::unique_ptr<MemoryBuffer> Buffer = error(OutputFile, - MemoryBuffer::getFileOrSTDIN(OutputFile, /*IsText=*/false, + MemoryBuffer::getFileOrSTDIN(OutputFile, sys::fs::OF_None, /*RequiresNullTerminator=*/false)); ScopedPrinter W(errs()); diff --git a/llvm/tools/llvm-cxxmap/llvm-cxxmap.cpp b/llvm/tools/llvm-cxxmap/llvm-cxxmap.cpp index 6eb193ad5f45c9..8f818164deed14 100644 --- a/llvm/tools/llvm-cxxmap/llvm-cxxmap.cpp +++ b/llvm/tools/llvm-cxxmap/llvm-cxxmap.cpp @@ -146,17 +146,17 @@ int main(int argc, const char *argv[]) { cl::ParseCommandLineOptions(argc, argv, "LLVM C++ mangled name remapper\n"); auto OldSymbolBufOrError = - MemoryBuffer::getFileOrSTDIN(OldSymbolFile, /*IsText=*/true); + MemoryBuffer::getFileOrSTDIN(OldSymbolFile, sys::fs::OF_TextWithCRLF); if (!OldSymbolBufOrError) exitWithErrorCode(OldSymbolBufOrError.getError(), OldSymbolFile); auto NewSymbolBufOrError = - MemoryBuffer::getFileOrSTDIN(NewSymbolFile, /*IsText=*/true); + MemoryBuffer::getFileOrSTDIN(NewSymbolFile, sys::fs::OF_TextWithCRLF); if (!NewSymbolBufOrError) exitWithErrorCode(NewSymbolBufOrError.getError(), NewSymbolFile); auto RemappingBufOrError = - MemoryBuffer::getFileOrSTDIN(RemappingFile, /*IsText=*/true); + MemoryBuffer::getFileOrSTDIN(RemappingFile, sys::fs::OF_TextWithCRLF); if (!RemappingBufOrError) exitWithErrorCode(RemappingBufOrError.getError(), RemappingFile); diff --git a/llvm/tools/llvm-debuginfod-find/llvm-debuginfod-find.cpp b/llvm/tools/llvm-debuginfod-find/llvm-debuginfod-find.cpp index 483b14a841083c..c55b0626d3248f 100644 --- a/llvm/tools/llvm-debuginfod-find/llvm-debuginfod-find.cpp +++ b/llvm/tools/llvm-debuginfod-find/llvm-debuginfod-find.cpp @@ -128,7 +128,7 @@ int llvm_debuginfod_find_main(int argc, char **argv, if (DumpToStdout) { // Print the contents of the artifact. ErrorOr<std::unique_ptr<MemoryBuffer>> Buf = MemoryBuffer::getFile( - Path, /*IsText=*/false, /*RequiresNullTerminator=*/false); + Path, sys::fs::OF_None, /*RequiresNullTerminator=*/false); ExitOnDebuginfodFindError(errorCodeToError(Buf.getError())); outs() << Buf.get()->getBuffer(); } else diff --git a/llvm/tools/llvm-exegesis/llvm-exegesis.cpp b/llvm/tools/llvm-exegesis/llvm-exegesis.cpp index b5820f8669f1d5..27fab7d2394c0f 100644 --- a/llvm/tools/llvm-exegesis/llvm-exegesis.cpp +++ b/llvm/tools/llvm-exegesis/llvm-exegesis.cpp @@ -640,8 +640,8 @@ static void analysisMain() { #include "llvm/Config/TargetExegesis.def" auto MemoryBuffer = ExitOnFileError( - BenchmarkFile, - errorOrToExpected(MemoryBuffer::getFile(BenchmarkFile, /*IsText=*/true))); + BenchmarkFile, errorOrToExpected(MemoryBuffer::getFile( + BenchmarkFile, sys::fs::OF_TextWithCRLF))); const auto TriplesAndCpus = ExitOnFileError( BenchmarkFile, diff --git a/llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp b/llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp index cb93054a89273d..a21e772bcdd66c 100644 --- a/llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp +++ b/llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp @@ -652,7 +652,7 @@ static llvm::Error handleFileConversionToGSYM(StringRef Filename, const std::string &OutFile, OutputAggregator &Out) { ErrorOr<std::unique_ptr<MemoryBuffer>> BuffOrErr = - MemoryBuffer::getFileOrSTDIN(Filename, /*IsText=*/true); + MemoryBuffer::getFileOrSTDIN(Filename, sys::fs::OF_TextWithCRLF); error(Filename, BuffOrErr.getError()); std::unique_ptr<MemoryBuffer> Buffer = std::move(BuffOrErr.get()); @@ -660,7 +660,7 @@ static llvm::Error handleFileConversionToGSYM(StringRef Filename, std::unique_ptr<Binary> SymtabBinary; if (!SymtabFilename.empty()) { auto SymtabBufOrErr = - MemoryBuffer::getFile(SymtabFilename, /*IsText=*/true); + MemoryBuffer::getFile(SymtabFilename, sys::fs::OF_TextWithCRLF); if (!SymtabBufOrErr) return createStringError(SymtabBufOrErr.getError(), "failed to open symbol table file '%s'", diff --git a/llvm/tools/llvm-ifs/llvm-ifs.cpp b/llvm/tools/llvm-ifs/llvm-ifs.cpp index 575a1117363fe5..7fbfb6d6a18939 100644 --- a/llvm/tools/llvm-ifs/llvm-ifs.cpp +++ b/llvm/tools/llvm-ifs/llvm-ifs.cpp @@ -23,6 +23,7 @@ #include "llvm/Support/Errc.h" #include "llvm/Support/Error.h" #include "llvm/Support/FileOutputBuffer.h" +#include "llvm/Support/FileSystem.h" #include "llvm/Support/MemoryBuffer.h" #include "llvm/Support/Path.h" #include "llvm/Support/VersionTuple.h" @@ -120,7 +121,7 @@ static Expected<std::unique_ptr<IFSStub>> readInputFile(std::optional<FileFormat> &InputFormat, StringRef FilePath) { // Read in file. ErrorOr<std::unique_ptr<MemoryBuffer>> BufOrError = - MemoryBuffer::getFileOrSTDIN(FilePath, /*IsText=*/true); + MemoryBuffer::getFileOrSTDIN(FilePath, sys::fs::OF_TextWithCRLF); if (!BufOrError) return createStringError(BufOrError.getError(), "Could not open `%s`", FilePath.data()); diff --git a/llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp b/llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp index b2e02173ee3b4e..e59599208890ea 100644 --- a/llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp +++ b/llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp @@ -134,7 +134,7 @@ static Error processFileList() { std::tie(FileName, DirName) = StringRef(FileList).rsplit(","); ErrorOr<std::unique_ptr<MemoryBuffer>> FileOrErr = - MemoryBuffer::getFileOrSTDIN(FileName, /*IsText=*/false, + MemoryBuffer::getFileOrSTDIN(FileName, sys::fs::OF_None, /*RequiresNullTerminator=*/true); if (std::error_code EC = FileOrErr.getError()) return createFileError(FileName, errorCodeToError(EC)); diff --git a/llvm/tools/llvm-link/llvm-link.cpp b/llvm/tools/llvm-link/llvm-link.cpp index 9390301f1b75ab..728950f918bd8e 100644 --- a/llvm/tools/llvm-link/llvm-link.cpp +++ b/llvm/tools/llvm-link/llvm-link.cpp @@ -312,7 +312,7 @@ static bool importFunctions(const char *argv0, Module &DestModule) { auto ModuleLoader = [&DestModule](const char *argv0, const std::string &Identifier) { std::unique_ptr<MemoryBuffer> Buffer = ExitOnErr(errorOrToExpected( - MemoryBuffer::getFileOrSTDIN(Identifier, /*IsText=*/true))); + MemoryBuffer::getFileOrSTDIN(Identifier, sys::fs::OF_TextWithCRLF))); return loadFile(argv0, std::move(Buffer), DestModule.getContext(), false); }; @@ -384,7 +384,8 @@ static bool linkFiles(const char *argv0, LLVMContext &Context, Linker &L, // Similar to some flags, internalization doesn't apply to the first file. bool InternalizeLinkedSymbols = false; for (const auto &File : Files) { - auto BufferOrErr = MemoryBuffer::getFileOrSTDIN(File, /*IsText=*/true); + auto BufferOrErr = + MemoryBuffer::getFileOrSTDIN(File, sys::fs::OF_TextWithCRLF); // When we encounter a missing file, make sure we expose its name. if (auto EC = BufferOrErr.getError()) diff --git a/llvm/tools/llvm-mc/llvm-mc.cpp b/llvm/tools/llvm-mc/llvm-mc.cpp index 01d42f07e337da..9713833455e24f 100644 --- a/llvm/tools/llvm-mc/llvm-mc.cpp +++ b/llvm/tools/llvm-mc/llvm-mc.cpp @@ -33,6 +33,7 @@ #include "llvm/MC/TargetRegistry.h" #include "llvm/Support/CommandLine.h" #include "llvm/Support/Compression.h" +#include "llvm/Support/FileSystem.h" #include "llvm/Support/FileUtilities.h" #include "llvm/Support/FormattedStream.h" #include "llvm/Support/InitLLVM.h" @@ -428,7 +429,7 @@ int main(int argc, char **argv) { Triple TheTriple(TripleName); ErrorOr<std::unique_ptr<MemoryBuffer>> BufferPtr = - MemoryBuffer::getFileOrSTDIN(InputFilename, /*IsText=*/true); + MemoryBuffer::getFileOrSTDIN(InputFilename, sys::fs::OF_TextWithCRLF); if (std::error_code EC = BufferPtr.getError()) { WithColor::error(errs(), ProgName) << InputFilename << ": " << EC.message() << '\n'; diff --git a/llvm/tools/llvm-objdump/SourcePrinter.cpp b/llvm/tools/llvm-objdump/SourcePrinter.cpp index 66ffa36cdd7eb6..2626f589733aac 100644 --- a/llvm/tools/llvm-objdump/SourcePrinter.cpp +++ b/llvm/tools/llvm-objdump/SourcePrinter.cpp @@ -708,7 +708,8 @@ bool SourcePrinter::cacheSource(const DILineInfo &LineInfo) { PathToOpen = std::move(*Resolved); } - auto BufferOrError = MemoryBuffer::getFile(PathToOpen, /*IsText=*/true); + auto BufferOrError = + MemoryBuffer::getFile(PathToOpen, sys::fs::OF_TextWithCRLF); if (!BufferOrError) { if (MissingSources.insert(LineInfo.FileName).second) reportWarning("failed to find source " + LineInfo.FileName, diff --git a/llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp b/llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp index 4ca77cc9e9af12..f71a066c5bf10c 100644 --- a/llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp +++ b/llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp @@ -804,7 +804,7 @@ static ExitOnError ExitOnErr; static void yamlToPdb(StringRef Path, unsigned DocNum) { BumpPtrAllocator Allocator; ErrorOr<std::unique_ptr<MemoryBuffer>> ErrorOrBuffer = - MemoryBuffer::getFileOrSTDIN(Path, /*IsText=*/false, + MemoryBuffer::getFileOrSTDIN(Path, sys::fs::OF_None, /*RequiresNullTerminator=*/false); if (ErrorOrBuffer.getError()) { diff --git a/llvm/tools/llvm-rc/ResourceFileWriter.cpp b/llvm/tools/llvm-rc/ResourceFileWriter.cpp index fe88ce45bc878f..2786f94abc5b2b 100644 --- a/llvm/tools/llvm-rc/ResourceFileWriter.cpp +++ b/llvm/tools/llvm-rc/ResourceFileWriter.cpp @@ -1567,7 +1567,7 @@ ResourceFileWriter::loadFile(StringRef File) const { SmallString<128> Cwd; auto Open = [&](StringRef Resolved) { - auto Buffer = MemoryBuffer::getFile(Resolved, /*IsText=*/false, + auto Buffer = MemoryBuffer::getFile(Resolved, sys::fs::OF_None, /*RequiresNullTerminator=*/false); if (Buffer && Params.ShowIncludes) errs() << "Note: including file: " << Resolved << "\n"; diff --git a/llvm/tools/llvm-rc/llvm-rc.cpp b/llvm/tools/llvm-rc/llvm-rc.cpp index 7be5b16dce3bae..bc5f383affc8ba 100644 --- a/llvm/tools/llvm-rc/llvm-rc.cpp +++ b/llvm/tools/llvm-rc/llvm-rc.cpp @@ -587,7 +587,7 @@ void doRc(std::string Src, std::string Dest, RcOptions &Opts, // Read and tokenize the input file. ErrorOr<std::unique_ptr<MemoryBuffer>> File = - MemoryBuffer::getFile(PreprocessedFile, /*IsText=*/true); + MemoryBuffer::getFile(PreprocessedFile, sys::fs::OF_TextWithCRLF); if (!File) { fatalError("Error opening file '" + Twine(PreprocessedFile) + "': " + File.getError().message()); @@ -667,7 +667,7 @@ void doCvtres(std::string Src, std::string Dest, std::string TargetTriple) { object::WindowsResourceParser Parser; ErrorOr<std::unique_ptr<MemoryBuffer>> BufferOrErr = - MemoryBuffer::getFile(Src, /*IsText=*/true); + MemoryBuffer::getFile(Src, sys::fs::OF_TextWithCRLF); if (!BufferOrErr) fatalError("Error opening file '" + Twine(Src) + "': " + BufferOrErr.getError().message()); diff --git a/llvm/tools/llvm-readobj/llvm-readobj.cpp b/llvm/tools/llvm-readobj/llvm-readobj.cpp index 6ec0563d6d3272..ac00b191ce19e7 100644 --- a/llvm/tools/llvm-readobj/llvm-readobj.cpp +++ b/llvm/tools/llvm-readobj/llvm-readobj.cpp @@ -625,7 +625,7 @@ static void dumpWindowsResourceFile(WindowsResource *WinRes, /// Opens \a File and dumps it. static void dumpInput(StringRef File, ScopedPrinter &Writer) { ErrorOr<std::unique_ptr<MemoryBuffer>> FileOrErr = - MemoryBuffer::getFileOrSTDIN(File, /*IsText=*/false, + MemoryBuffer::getFileOrSTDIN(File, sys::fs::OF_None, /*RequiresNullTerminator=*/false); if (std::error_code EC = FileOrErr.getError()) return reportError(errorCodeToError(EC), File); diff --git a/llvm/tools/llvm-readtapi/llvm-readtapi.cpp b/llvm/tools/llvm-readtapi/llvm-readtapi.cpp index f032e90401d103..f8d53efb8e3dac 100644 --- a/llvm/tools/llvm-readtapi/llvm-readtapi.cpp +++ b/llvm/tools/llvm-readtapi/llvm-readtapi.cpp @@ -120,7 +120,7 @@ static std::unique_ptr<InterfaceFile> getInterfaceFile(const StringRef Filename, bool ResetBanner = true) { ExitOnErr.setBanner(TOOLNAME + ": error: '" + Filename.str() + "' "); ErrorOr<std::unique_ptr<MemoryBuffer>> BufferOrErr = - MemoryBuffer::getFile(Filename, /*IsText=*/true); + MemoryBuffer::getFile(Filename, sys::fs::OF_TextWithCRLF); if (BufferOrErr.getError()) ExitOnErr(errorCodeToError(BufferOrErr.getError())); auto Buffer = std::move(*BufferOrErr); diff --git a/llvm/tools/llvm-reduce/ReducerWorkItem.cpp b/llvm/tools/llvm-reduce/ReducerWorkItem.cpp index 6b202aec3e8f85..0f63fb51973433 100644 --- a/llvm/tools/llvm-reduce/ReducerWorkItem.cpp +++ b/llvm/tools/llvm-reduce/ReducerWorkItem.cpp @@ -32,6 +32,7 @@ #include "llvm/IRReader/IRReader.h" #include "llvm/MC/TargetRegistry.h" #include "llvm/Passes/PassBuilder.h" +#include "llvm/Support/FileSystem.h" #include "llvm/Support/MemoryBufferRef.h" #include "llvm/Support/SourceMgr.h" #include "llvm/Support/ToolOutputFile.h" @@ -835,7 +836,8 @@ llvm::parseReducerWorkItem(StringRef ToolName, StringRef Filename, auto MMM = std::make_unique<ReducerWorkItem>(); if (IsMIR) { - auto FileOrErr = MemoryBuffer::getFileOrSTDIN(Filename, /*IsText=*/true); + auto FileOrErr = + MemoryBuffer::getFileOrSTDIN(Filename, sys::fs::OF_TextWithCRLF); if (std::error_code EC = FileOrErr.getError()) { WithColor::error(errs(), ToolName) << EC.message() << '\n'; return {nullptr, false}; diff --git a/llvm/tools/llvm-strings/llvm-strings.cpp b/llvm/tools/llvm-strings/llvm-strings.cpp index f2abd1c3271a88..19e4cc942f5898 100644 --- a/llvm/tools/llvm-strings/llvm-strings.cpp +++ b/llvm/tools/llvm-strings/llvm-strings.cpp @@ -19,6 +19,7 @@ #include "llvm/Option/Option.h" #include "llvm/Support/CommandLine.h" #include "llvm/Support/Error.h" +#include "llvm/Support/FileSystem.h" #include "llvm/Support/Format.h" #include "llvm/Support/InitLLVM.h" #include "llvm/Support/MemoryBuffer.h" @@ -165,7 +166,7 @@ int main(int argc, char **argv) { for (const auto &File : InputFileNames) { ErrorOr<std::unique_ptr<MemoryBuffer>> Buffer = - MemoryBuffer::getFileOrSTDIN(File, /*IsText=*/true); + MemoryBuffer::getFileOrSTDIN(File, sys::fs::OF_TextWithCRLF); if (std::error_code EC = Buffer.getError()) errs() << File << ": " << EC.message() << '\n'; else diff --git a/llvm/tools/obj2yaml/obj2yaml.cpp b/llvm/tools/obj2yaml/obj2yaml.cpp index eb0a816904be52..8f87795a5cf75c 100644 --- a/llvm/tools/obj2yaml/obj2yaml.cpp +++ b/llvm/tools/obj2yaml/obj2yaml.cpp @@ -63,7 +63,7 @@ static Error dumpObject(const ObjectFile &Obj, raw_ostream &OS) { static Error dumpInput(StringRef File, unsigned RawSegment, raw_ostream &OS) { ErrorOr<std::unique_ptr<MemoryBuffer>> FileOrErr = - MemoryBuffer::getFileOrSTDIN(File, /*IsText=*/false, + MemoryBuffer::getFileOrSTDIN(File, sys::fs::OF_None, /*RequiresNullTerminator=*/false); if (std::error_code EC = FileOrErr.getError()) return errorCodeToError(EC); diff --git a/llvm/tools/sanstats/sanstats.cpp b/llvm/tools/sanstats/sanstats.cpp index a2dee8d59dcb0e..201eb2bf48c252 100644 --- a/llvm/tools/sanstats/sanstats.cpp +++ b/llvm/tools/sanstats/sanstats.cpp @@ -131,7 +131,7 @@ int main(int argc, char **argv) { "Sanitizer Statistics Processing Tool"); ErrorOr<std::unique_ptr<MemoryBuffer>> MBOrErr = MemoryBuffer::getFile( - ClInputFile, /*IsText=*/false, /*RequiresNullTerminator=*/false); + ClInputFile, sys::fs::OF_None, /*RequiresNullTerminator=*/false); if (!MBOrErr) { errs() << argv[0] << ": " << ClInputFile << ": " << MBOrErr.getError().message() << '\n'; diff --git a/llvm/tools/yaml2obj/yaml2obj.cpp b/llvm/tools/yaml2obj/yaml2obj.cpp index 8fb5b0af0d3ab4..8638093e60f3b8 100644 --- a/llvm/tools/yaml2obj/yaml2obj.cpp +++ b/llvm/tools/yaml2obj/yaml2obj.cpp @@ -160,7 +160,7 @@ int main(int argc, char **argv) { } ErrorOr<std::unique_ptr<MemoryBuffer>> Buf = - MemoryBuffer::getFileOrSTDIN(Input, /*IsText=*/true); + MemoryBuffer::getFileOrSTDIN(Input, sys::fs::OF_TextWithCRLF); if (std::error_code EC = Buf.getError()) { WithColor::error(errs(), ProgName) << Input << ": " << EC.message() << '\n'; return 1; diff --git a/llvm/unittests/DebugInfo/PDB/TpiStreamTest.cpp b/llvm/unittests/DebugInfo/PDB/TpiStreamTest.cpp index e7339751915bb1..49016204c87fab 100644 --- a/llvm/unittests/DebugInfo/PDB/TpiStreamTest.cpp +++ b/llvm/unittests/DebugInfo/PDB/TpiStreamTest.cpp @@ -36,7 +36,7 @@ static Expected<std::unique_ptr<PDBFile>> openSimplePdb(BumpPtrAllocator &Allocator) { std::string PdbPath = getPdbPath(); ErrorOr<std::unique_ptr<MemoryBuffer>> ErrorOrBuffer = - MemoryBuffer::getFile(PdbPath, /*IsText=*/false, + MemoryBuffer::getFile(PdbPath, /*Flags=*/sys::fs::OF_None, /*RequiresNullTerminator=*/false); EXPECT_TRUE(ErrorOrBuffer); std::unique_ptr<llvm::MemoryBuffer> Buffer = std::move(*ErrorOrBuffer); diff --git a/llvm/unittests/Support/raw_ostream_test.cpp b/llvm/unittests/Support/raw_ostream_test.cpp index aded02c7b34027..6bdbd89b5e2c44 100644 --- a/llvm/unittests/Support/raw_ostream_test.cpp +++ b/llvm/unittests/Support/raw_ostream_test.cpp @@ -497,7 +497,7 @@ TEST(raw_ostreamTest, flush_tied_to_stream_on_write) { static void checkFileData(StringRef FileName, StringRef GoldenData) { ErrorOr<std::unique_ptr<MemoryBuffer>> BufOrErr = - MemoryBuffer::getFileOrSTDIN(FileName, /*IsText=*/true); + MemoryBuffer::getFileOrSTDIN(FileName, sys::fs::OF_TextWithCRLF); EXPECT_FALSE(BufOrErr.getError()); EXPECT_EQ((*BufOrErr)->getBufferSize(), GoldenData.size()); diff --git a/llvm/unittests/tools/llvm-exegesis/Mips/BenchmarkResultTest.cpp b/llvm/unittests/tools/llvm-exegesis/Mips/BenchmarkResultTest.cpp index 83ea6c0ba8e4fc..8affbf11dadc04 100644 --- a/llvm/unittests/tools/llvm-exegesis/Mips/BenchmarkResultTest.cpp +++ b/llvm/unittests/tools/llvm-exegesis/Mips/BenchmarkResultTest.cpp @@ -12,6 +12,7 @@ #include "llvm/ADT/SmallString.h" #include "llvm/MC/TargetRegistry.h" #include "llvm/Support/Error.h" +#include "llvm/Support/FileSystem.h" #include "llvm/Support/Path.h" #include "llvm/Support/TargetSelect.h" #include "llvm/Support/YAMLTraits.h" diff --git a/llvm/utils/FileCheck/FileCheck.cpp b/llvm/utils/FileCheck/FileCheck.cpp index 0ec3b88d356f37..60470665f7d30b 100644 --- a/llvm/utils/FileCheck/FileCheck.cpp +++ b/llvm/utils/FileCheck/FileCheck.cpp @@ -17,6 +17,7 @@ #include "llvm/FileCheck/FileCheck.h" #include "llvm/Support/CommandLine.h" +#include "llvm/Support/FileSystem.h" #include "llvm/Support/InitLLVM.h" #include "llvm/Support/MemoryBuffer.h" #include "llvm/Support/Process.h" @@ -1166,7 +1167,7 @@ int main(int argc, char **argv) { // Read the expected strings from the check file. ErrorOr<std::unique_ptr<MemoryBuffer>> CheckFileOrErr = - MemoryBuffer::getFileOrSTDIN(CheckFilename, /*IsText=*/true); + MemoryBuffer::getFileOrSTDIN(CheckFilename, sys::fs::OF_TextWithCRLF); if (std::error_code EC = CheckFileOrErr.getError()) { errs() << "Could not open check file '" << CheckFilename << "': " << EC.message() << '\n'; @@ -1188,7 +1189,7 @@ int main(int argc, char **argv) { // Open the file to check and add it to SourceMgr. ErrorOr<std::unique_ptr<MemoryBuffer>> InputFileOrErr = - MemoryBuffer::getFileOrSTDIN(InputFilename, /*IsText=*/true); + MemoryBuffer::getFileOrSTDIN(InputFilename, sys::fs::OF_TextWithCRLF); if (InputFilename == "-") InputFilename = "<stdin>"; // Overwrite for improved diagnostic messages if (std::error_code EC = InputFileOrErr.getError()) { diff --git a/llvm/utils/split-file/split-file.cpp b/llvm/utils/split-file/split-file.cpp index c65b0428f3b140..9ed6420a1e1cff 100644 --- a/llvm/utils/split-file/split-file.cpp +++ b/llvm/utils/split-file/split-file.cpp @@ -176,7 +176,7 @@ int main(int argc, char **argv) { fatal("", "too many positional arguments"); StringRef input = positional[0], output = positional[1]; ErrorOr<std::unique_ptr<MemoryBuffer>> bufferOrErr = - MemoryBuffer::getFileOrSTDIN(input, /*IsText=*/true); + MemoryBuffer::getFileOrSTDIN(input, sys::fs::OF_TextWithCRLF); if (std::error_code ec = bufferOrErr.getError()) fatal(input, ec.message()); diff --git a/mlir/lib/Support/FileUtilities.cpp b/mlir/lib/Support/FileUtilities.cpp index a5c44d3a9c8eb0..74b27a7621d61f 100644 --- a/mlir/lib/Support/FileUtilities.cpp +++ b/mlir/lib/Support/FileUtilities.cpp @@ -23,7 +23,7 @@ static std::unique_ptr<llvm::MemoryBuffer> openInputFileImpl(StringRef inputFilename, std::string *errorMessage, std::optional<llvm::Align> alignment) { auto fileOrErr = llvm::MemoryBuffer::getFileOrSTDIN( - inputFilename, /*IsText=*/false, /*RequiresNullTerminator=*/true, + inputFilename, llvm::sys::fs::OF_None, /*RequiresNullTerminator=*/true, alignment); if (std::error_code error = fileOrErr.getError()) { if (errorMessage) diff --git a/mlir/lib/Target/LLVM/ROCDL/Target.cpp b/mlir/lib/Target/LLVM/ROCDL/Target.cpp index 56bf2a030760e7..42e2c9283fb070 100644 --- a/mlir/lib/Target/LLVM/ROCDL/Target.cpp +++ b/mlir/lib/Target/LLVM/ROCDL/Target.cpp @@ -369,7 +369,7 @@ mlir::ROCDL::linkObjectCode(ArrayRef<char> objectCode, StringRef lldPath, // Load the HSA code object. auto hsacoFile = - llvm::MemoryBuffer::getFile(tempHsacoFilename, /*IsText=*/false); + llvm::MemoryBuffer::getFile(tempHsacoFilename, llvm::sys::fs::OF_None); if (!hsacoFile) return emitError() << "failed to read the HSA code object from the temp file"; diff --git a/mlir/tools/mlir-pdll/mlir-pdll.cpp b/mlir/tools/mlir-pdll/mlir-pdll.cpp index 76122a04115139..7825ed712933ec 100644 --- a/mlir/tools/mlir-pdll/mlir-pdll.cpp +++ b/mlir/tools/mlir-pdll/mlir-pdll.cpp @@ -16,6 +16,7 @@ #include "mlir/Tools/PDLL/ODS/Context.h" #include "mlir/Tools/PDLL/Parser/Parser.h" #include "llvm/Support/CommandLine.h" +#include "llvm/Support/FileSystem.h" #include "llvm/Support/InitLLVM.h" #include "llvm/Support/SourceMgr.h" #include "llvm/Support/ToolOutputFile.h" @@ -222,8 +223,8 @@ int main(int argc, char **argv) { // Only update the real output file if there are any differences. This // prevents recompilation of all the files depending on it if there aren't // any. - if (auto existingOrErr = - llvm::MemoryBuffer::getFile(outputFilename, /*IsText=*/true)) + if (auto existingOrErr = llvm::MemoryBuffer::getFile( + outputFilename, llvm::sys::fs::OF_TextWithCRLF)) if (std::move(existingOrErr.get())->getBuffer() == outputStr) shouldWriteOutput = false; } diff --git a/mlir/tools/mlir-src-sharder/mlir-src-sharder.cpp b/mlir/tools/mlir-src-sharder/mlir-src-sharder.cpp index 9ec9b721502076..c4d67b5a724407 100644 --- a/mlir/tools/mlir-src-sharder/mlir-src-sharder.cpp +++ b/mlir/tools/mlir-src-sharder/mlir-src-sharder.cpp @@ -9,6 +9,7 @@ #include "mlir/Support/FileUtilities.h" #include "mlir/Support/LLVM.h" #include "llvm/Support/CommandLine.h" +#include "llvm/Support/FileSystem.h" #include "llvm/Support/InitLLVM.h" #include "llvm/Support/MemoryBuffer.h" #include "llvm/Support/ToolOutputFile.h" @@ -96,8 +97,8 @@ int main(int argc, char **argv) { // Only update the real output file if there are any differences. This // prevents recompilation of all the files depending on it if there aren't // any. - if (auto existingOrErr = - llvm::MemoryBuffer::getFile(outputFilename, /*IsText=*/true)) + if (auto existingOrErr = llvm::MemoryBuffer::getFile( + outputFilename, llvm::sys::fs::OF_TextWithCRLF)) if (std::move(existingOrErr.get())->getBuffer() == outputStr) shouldWriteOutput = false; } >From e25d3598825f3512c1c7f9bda41df8974853504b Mon Sep 17 00:00:00 2001 From: Abhina Sreeskantharajan <[email protected]> Date: Thu, 1 Oct 2026 14:26:25 -0400 Subject: [PATCH 2/2] mark text files as text --- clang/lib/Tooling/JSONCompilationDatabase.cpp | 2 +- llvm/unittests/tools/llvm-exegesis/Mips/BenchmarkResultTest.cpp | 2 +- llvm/unittests/tools/llvm-exegesis/X86/BenchmarkResultTest.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/clang/lib/Tooling/JSONCompilationDatabase.cpp b/clang/lib/Tooling/JSONCompilationDatabase.cpp index c42233a2fa9e8a..0d8dbfac5d4b20 100644 --- a/clang/lib/Tooling/JSONCompilationDatabase.cpp +++ b/clang/lib/Tooling/JSONCompilationDatabase.cpp @@ -191,7 +191,7 @@ JSONCompilationDatabase::loadFromFile(StringRef FilePath, JSONCommandLineSyntax Syntax) { // Don't mmap: if we're a long-lived process, the build system may overwrite. llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>> DatabaseBuffer = - llvm::MemoryBuffer::getFile(FilePath, llvm::sys::fs::OF_None, + llvm::MemoryBuffer::getFile(FilePath, llvm::sys::fs::OF_Text, /*RequiresNullTerminator=*/true, /*IsVolatile=*/true); if (std::error_code Result = DatabaseBuffer.getError()) { diff --git a/llvm/unittests/tools/llvm-exegesis/Mips/BenchmarkResultTest.cpp b/llvm/unittests/tools/llvm-exegesis/Mips/BenchmarkResultTest.cpp index 8affbf11dadc04..cb7f5b8075dda4 100644 --- a/llvm/unittests/tools/llvm-exegesis/Mips/BenchmarkResultTest.cpp +++ b/llvm/unittests/tools/llvm-exegesis/Mips/BenchmarkResultTest.cpp @@ -86,7 +86,7 @@ TEST_F(MipsBenchmarkResultTest, WriteToAndReadFromDisk) { ExitOnErr(ToDisk.writeYamlTo(State, FileOstr)); } const std::unique_ptr<MemoryBuffer> Buffer = - std::move(*MemoryBuffer::getFile(Filename)); + std::move(*MemoryBuffer::getFile(Filename, llvm::sys::fs::OF_Text)); { // One-element version. diff --git a/llvm/unittests/tools/llvm-exegesis/X86/BenchmarkResultTest.cpp b/llvm/unittests/tools/llvm-exegesis/X86/BenchmarkResultTest.cpp index 4636029f35017c..4c958cf12396b4 100644 --- a/llvm/unittests/tools/llvm-exegesis/X86/BenchmarkResultTest.cpp +++ b/llvm/unittests/tools/llvm-exegesis/X86/BenchmarkResultTest.cpp @@ -107,7 +107,7 @@ TEST(BenchmarkResultTest, WriteToAndReadFromDisk) { } const std::unique_ptr<MemoryBuffer> Buffer = - std::move(*MemoryBuffer::getFile(Filename)); + std::move(*MemoryBuffer::getFile(Filename, llvm::sys::fs::OF_Text)); { // Read Triples/Cpu only. _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
