[PATCH] D67753: [gn build] Fix Python DeprecationWarning
Marco Antognini via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 19 02:46:53 PDT 2019
mantognini created this revision.
Herald added subscribers: llvm-commits, mgorny.
Herald added a project: LLVM.
This fixes two issues:
- DeprecationWarning: invalid escape sequence \`
- ResourceWarning: unclosed file
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D67753
Files:
llvm/utils/gn/build/write_cmake_config.py
Index: llvm/utils/gn/build/write_cmake_config.py
===================================================================
--- llvm/utils/gn/build/write_cmake_config.py
+++ llvm/utils/gn/build/write_cmake_config.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python
-"""Emulates the bits of CMake's configure_file() function needed in LLVM.
+r"""Emulates the bits of CMake's configure_file() function needed in LLVM.
The CMake build uses configure_file() for several things. This emulates that
function for the GN build. In the GN build, this runs at build time instead
@@ -62,7 +62,8 @@
# Matches e.g. '${FOO}' or '@FOO@' and captures FOO in group 1 or 2.
var_re = re.compile(r'\$\{([^}]*)\}|@([^@]*)@')
- in_lines = open(args.input).readlines()
+ with open(args.input) as f:
+ in_lines = f.readlines()
out_lines = []
for in_line in in_lines:
def repl(m):
@@ -102,8 +103,13 @@
file=sys.stderr)
return 1
- if not os.path.exists(args.output) or open(args.output).read() != output:
- open(args.output, 'w').write(output)
+ def read(filename):
+ with open(args.output) as f:
+ return f.read()
+
+ if not os.path.exists(args.output) or read(args.output) != output:
+ with open(args.output, 'w') as f:
+ f.write(output)
os.chmod(args.output, os.stat(args.input).st_mode & 0o777)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D67753.220828.patch
Type: text/x-patch
Size: 1395 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190919/febd69e9/attachment.bin>
More information about the llvm-commits
mailing list