summaryrefslogtreecommitdiff
path: root/util
diff options
context:
space:
mode:
authorAndreas Sandberg <Andreas.Sandberg@ARM.com>2014-08-13 06:57:25 -0400
committerAndreas Sandberg <Andreas.Sandberg@ARM.com>2014-08-13 06:57:25 -0400
commit43f1e41c02cd37c2ae565876d219e6e3621bcd6b (patch)
tree570fcd9b74fd459d3dbe922097c24991225d0b7f /util
parentf6f6ae461ee5060127fd42830fc04e5a5f4153a6 (diff)
downloadgem5-43f1e41c02cd37c2ae565876d219e6e3621bcd6b.tar.xz
util: Fix state leakage in the SortIncludes style verifier
There are cases where the state of a SortIncludes object gets messed up and leaks between invocations/files. This typically happens when a file ends with an include block (dump_block() gets called at the end of __call__). In this case, the state of the class is not reset between files. This bug manifests itself as ghost includes that leak between files when applying the style hooks. This changeset adds a reset at the beginning of the __call__ method which ensures that the class is always in a clean state when processing a new file.
Diffstat (limited to 'util')
-rw-r--r--util/sort_includes.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/util/sort_includes.py b/util/sort_includes.py
index 15d1f2788..41f57e2ea 100644
--- a/util/sort_includes.py
+++ b/util/sort_includes.py
@@ -72,7 +72,7 @@ class SortIncludes(object):
includes_re = tuple((a, b, re.compile(c)) for a,b,c in includes_re)
def __init__(self):
- self.reset()
+ pass
def reset(self):
# clear all stored headers
@@ -103,6 +103,7 @@ class SortIncludes(object):
prev = l
def __call__(self, lines, filename, language):
+ self.reset()
leading_blank = False
blanks = 0
block = False