From fa2df78952debfb465515235ff9d0227aa140316 Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Mon, 26 Aug 2019 21:09:15 +0300 Subject: Fix incorrect calculation of includes depth --- src/engine/SCons/cpp.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/engine/SCons/cpp.py b/src/engine/SCons/cpp.py index 40d4a0c..7535dbb 100644 --- a/src/engine/SCons/cpp.py +++ b/src/engine/SCons/cpp.py @@ -218,7 +218,7 @@ class FunctionEvaluator(object): parts = [] for s in self.expansion: - if not s in self.args: + if s not in self.args: s = repr(s) parts.append(s) statement = ' + '.join(parts) @@ -580,13 +580,13 @@ class PreProcessor(object): if self.depth != -1: current_depth = 0 for t in self.tuples: - if t[0] != "scons_current_file": + if t[0] == "scons_current_file": current_depth += 1 if current_depth >= self.depth: return new_tuples = [('scons_current_file', include_file)] + \ - self.tupleize(self.read_file(include_file)) + \ + self.tupleize_file(include_file) + \ [('scons_current_file', self.current_file)] self.tuples[:] = new_tuples + self.tuples -- cgit v0.12 From b9b4a8f887868aeb4242816d1a88dc07f9435c20 Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Mon, 26 Aug 2019 21:46:09 +0300 Subject: Remove tuples caching, save memory --- src/engine/SCons/cpp.py | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/src/engine/SCons/cpp.py b/src/engine/SCons/cpp.py index 7535dbb..f55ea21 100644 --- a/src/engine/SCons/cpp.py +++ b/src/engine/SCons/cpp.py @@ -243,8 +243,6 @@ function_arg_separator = re.compile(r',\s*') class PreProcessor(object): - FILE_TUPLES_CACHE = None - """ The main workhorse class for handling C pre-processing. """ @@ -305,7 +303,7 @@ class PreProcessor(object): This is the main internal entry point. """ - return self._process_tuples(self.tupleize_file(file), file) + return self._process_tuples(self.tupleize(self.read_file(file)), file) def process_contents(self, contents): """ @@ -330,15 +328,6 @@ class PreProcessor(object): self.dispatch_table[t[0]](t) return self.finalize_result(file) - def tupleize_file(self, file): - if not PreProcessor.FILE_TUPLES_CACHE: - PreProcessor.FILE_TUPLES_CACHE = {} - file_tuples = PreProcessor.FILE_TUPLES_CACHE.get(file) - if not file_tuples: - file_tuples = self._parse_tuples(self.read_file(file)) - PreProcessor.FILE_TUPLES_CACHE[file] = file_tuples - return self._match_tuples(file_tuples) - def tupleize(self, contents): """ Turns the contents of a file into a list of easily-processed @@ -586,7 +575,7 @@ class PreProcessor(object): return new_tuples = [('scons_current_file', include_file)] + \ - self.tupleize_file(include_file) + \ + self.tupleize(self.read_file(include_file)) + \ [('scons_current_file', self.current_file)] self.tuples[:] = new_tuples + self.tuples -- cgit v0.12