mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-26 02:26:07 +00:00
[clang/clang-tools-extra] Fix BZ44437 - add_new_check.py does not work with Python 3
Summary: This fixes https://bugs.llvm.org/show_bug.cgi?id=44437. Thanks to Arnaud Desitter for providing the patch in the bug report! A simple example program to reproduce this error is this: ```lang=python import sys with open(sys.argv[0], 'r') as f: lines = f.readlines() lines = iter(lines) line = lines.next() print(line) ``` which will error with this in python python 3: ``` Traceback (most recent call last): File "./mytest.py", line 8, in <module> line = lines.next() AttributeError: 'list_iterator' object has no attribute 'next' ``` Here's the same strategy applied to my test program as applied to the `add_new_check.py` file: ```lang=python import sys with open(sys.argv[0], 'r') as f: lines = f.readlines() lines = iter(lines) line = next(lines) print(line) ``` The built-in function `next()` is new since Python 2.6: https://docs.python.org/2/library/functions.html#next Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D79419
This commit is contained in:
parent
bf6a26b066
commit
24b4965ce6
@ -172,7 +172,7 @@ def adapt_module(module_path, module, check_name, check_name_camel):
|
||||
lines = iter(lines)
|
||||
try:
|
||||
while True:
|
||||
line = lines.next()
|
||||
line = next(lines)
|
||||
if not header_added:
|
||||
match = re.search('#include "(.*)"', line)
|
||||
if match:
|
||||
@ -197,7 +197,7 @@ def adapt_module(module_path, module, check_name, check_name_camel):
|
||||
# If we didn't find the check name on this line, look on the
|
||||
# next one.
|
||||
prev_line = line
|
||||
line = lines.next()
|
||||
line = next(lines)
|
||||
match = re.search(' *"([^"]*)"', line)
|
||||
if match:
|
||||
current_check_name = match.group(1)
|
||||
|
Loading…
x
Reference in New Issue
Block a user