[llvm] Add text file support for z/OS back in (PR #209259)
Sean Perry via llvm-commits
llvm-commits at lists.llvm.org
Mon Jul 13 10:56:55 PDT 2026
https://github.com/perry-ca created https://github.com/llvm/llvm-project/pull/209259
Support for auto conversion of text files was added to cat.py in https://github.com/llvm/llvm-project/pull/90128. That was accidently removed in https://github.com/llvm/llvm-project/pull/204711 while removing some old win32 code. This adds the z/OS support back in.
>From 43f21cd99c7e7e1ef349a8b8d1d83ab0332cff0f Mon Sep 17 00:00:00 2001
From: Sean Perry <perry at ca.ibm.com>
Date: Mon, 13 Jul 2026 13:53:34 -0400
Subject: [PATCH] Add text file support for z/OS back in
---
llvm/utils/lit/lit/builtin_commands/cat.py | 27 ++++++++++++++++------
1 file changed, 20 insertions(+), 7 deletions(-)
diff --git a/llvm/utils/lit/lit/builtin_commands/cat.py b/llvm/utils/lit/lit/builtin_commands/cat.py
index fc7d1229bc674..826cf94b1cb8e 100644
--- a/llvm/utils/lit/lit/builtin_commands/cat.py
+++ b/llvm/utils/lit/lit/builtin_commands/cat.py
@@ -65,18 +65,31 @@ def run(argv, stdin, stdout, stderr, cwd):
for filename in filenames:
path = filename
- contents = None
if not os.path.isabs(path):
path = os.path.join(cwd, path)
+
+ contents = None
+ is_text = False
try:
- with open(path, "rb") as fileToCat:
- contents = fileToCat.read()
- except IOError as error:
- error.filename = filename
- stderr.write(str(error).encode())
- return 1
+ fileToCat = open(filename, "r")
+ contents = fileToCat.read()
+ is_text = True
+ except:
+ pass
+
+ if contents is None:
+ try:
+ with open(path, "rb") as fileToCat:
+ contents = fileToCat.read()
+ except IOError as error:
+ error.filename = filename
+ stderr.write(str(error).encode())
+ return 1
+
if show_nonprinting:
contents = convertToCaretAndMNotation(contents)
+ elif is_text:
+ contents = contents.encode()
stdout.write(contents)
return 0
More information about the llvm-commits
mailing list