[SystemZ][z/OS] Open text files in text mode (#109972)
This patch continues the work that was started here https://reviews.llvm.org/D99426 to correctly open text files in text mode.
This commit is contained in:
parent
a024a0ceed
commit
74dcf0b595
@ -1192,7 +1192,7 @@ Error OffloadBundler::ListBundleIDsInFile(
|
||||
StringRef InputFileName, const OffloadBundlerConfig &BundlerConfig) {
|
||||
// Open Input file.
|
||||
ErrorOr<std::unique_ptr<MemoryBuffer>> CodeOrErr =
|
||||
MemoryBuffer::getFileOrSTDIN(InputFileName);
|
||||
MemoryBuffer::getFileOrSTDIN(InputFileName, /*IsText=*/true);
|
||||
if (std::error_code EC = CodeOrErr.getError())
|
||||
return createFileError(InputFileName, EC);
|
||||
|
||||
@ -1324,7 +1324,7 @@ Error OffloadBundler::BundleFiles() {
|
||||
InputBuffers.reserve(BundlerConfig.InputFileNames.size());
|
||||
for (auto &I : BundlerConfig.InputFileNames) {
|
||||
ErrorOr<std::unique_ptr<MemoryBuffer>> CodeOrErr =
|
||||
MemoryBuffer::getFileOrSTDIN(I);
|
||||
MemoryBuffer::getFileOrSTDIN(I, /*IsText=*/true);
|
||||
if (std::error_code EC = CodeOrErr.getError())
|
||||
return createFileError(I, EC);
|
||||
InputBuffers.emplace_back(std::move(*CodeOrErr));
|
||||
@ -1392,7 +1392,8 @@ Error OffloadBundler::BundleFiles() {
|
||||
Error OffloadBundler::UnbundleFiles() {
|
||||
// Open Input file.
|
||||
ErrorOr<std::unique_ptr<MemoryBuffer>> CodeOrErr =
|
||||
MemoryBuffer::getFileOrSTDIN(BundlerConfig.InputFileNames.front());
|
||||
MemoryBuffer::getFileOrSTDIN(BundlerConfig.InputFileNames.front(),
|
||||
/*IsText=*/true);
|
||||
if (std::error_code EC = CodeOrErr.getError())
|
||||
return createFileError(BundlerConfig.InputFileNames.front(), EC);
|
||||
|
||||
|
@ -330,8 +330,8 @@ 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)));
|
||||
std::unique_ptr<MemoryBuffer> Buffer = ExitOnErr(errorOrToExpected(
|
||||
MemoryBuffer::getFileOrSTDIN(Identifier, /*IsText=*/true)));
|
||||
return loadFile(argv0, std::move(Buffer), DestModule.getContext(), false);
|
||||
};
|
||||
|
||||
@ -402,7 +402,7 @@ 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);
|
||||
auto BufferOrErr = MemoryBuffer::getFileOrSTDIN(File, /*IsText=*/true);
|
||||
|
||||
// When we encounter a missing file, make sure we expose its name.
|
||||
if (auto EC = BufferOrErr.getError())
|
||||
|
@ -344,7 +344,8 @@ bool SourcePrinter::cacheSource(const DILineInfo &LineInfo) {
|
||||
if (LineInfo.Source) {
|
||||
Buffer = MemoryBuffer::getMemBuffer(*LineInfo.Source);
|
||||
} else {
|
||||
auto BufferOrError = MemoryBuffer::getFile(LineInfo.FileName);
|
||||
auto BufferOrError =
|
||||
MemoryBuffer::getFile(LineInfo.FileName, /*IsText=*/true);
|
||||
if (!BufferOrError) {
|
||||
if (MissingSources.insert(LineInfo.FileName).second)
|
||||
reportWarning("failed to find source " + LineInfo.FileName,
|
||||
|
@ -603,7 +603,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);
|
||||
MemoryBuffer::getFile(PreprocessedFile, /*IsText=*/true);
|
||||
if (!File) {
|
||||
fatalError("Error opening file '" + Twine(PreprocessedFile) +
|
||||
"': " + File.getError().message());
|
||||
@ -682,7 +682,7 @@ void doCvtres(std::string Src, std::string Dest, std::string TargetTriple) {
|
||||
object::WindowsResourceParser Parser;
|
||||
|
||||
ErrorOr<std::unique_ptr<MemoryBuffer>> BufferOrErr =
|
||||
MemoryBuffer::getFile(Src);
|
||||
MemoryBuffer::getFile(Src, /*IsText=*/true);
|
||||
if (!BufferOrErr)
|
||||
fatalError("Error opening file '" + Twine(Src) +
|
||||
"': " + BufferOrErr.getError().message());
|
||||
|
@ -125,7 +125,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);
|
||||
MemoryBuffer::getFile(Filename, /*IsText=*/true);
|
||||
if (BufferOrErr.getError())
|
||||
ExitOnErr(errorCodeToError(BufferOrErr.getError()));
|
||||
auto Buffer = std::move(*BufferOrErr);
|
||||
|
@ -173,7 +173,7 @@ int main(int argc, char **argv) {
|
||||
|
||||
for (const auto &File : InputFileNames) {
|
||||
ErrorOr<std::unique_ptr<MemoryBuffer>> Buffer =
|
||||
MemoryBuffer::getFileOrSTDIN(File);
|
||||
MemoryBuffer::getFileOrSTDIN(File, /*IsText=*/true);
|
||||
if (std::error_code EC = Buffer.getError())
|
||||
errs() << File << ": " << EC.message() << '\n';
|
||||
else
|
||||
|
@ -123,7 +123,7 @@ static int handle(MemoryBuffer &inputBuf, StringRef input) {
|
||||
if (ec)
|
||||
fatal(input, ec.message());
|
||||
auto f = std::make_unique<ToolOutputFile>(partPath.str(), ec,
|
||||
llvm::sys::fs::OF_None);
|
||||
llvm::sys::fs::OF_Text);
|
||||
if (!f)
|
||||
fatal(input, ec.message());
|
||||
|
||||
@ -156,7 +156,7 @@ int main(int argc, const char **argv) {
|
||||
if (output.empty())
|
||||
fatal("", "output directory is not specified");
|
||||
ErrorOr<std::unique_ptr<MemoryBuffer>> bufferOrErr =
|
||||
MemoryBuffer::getFileOrSTDIN(input);
|
||||
MemoryBuffer::getFileOrSTDIN(input, /*IsText=*/true);
|
||||
if (std::error_code ec = bufferOrErr.getError())
|
||||
fatal(input, ec.message());
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user