diff options
Diffstat (limited to 'src/engine/SCons/cpp.py')
| -rw-r--r-- | src/engine/SCons/cpp.py | 26 | 
1 files changed, 14 insertions, 12 deletions
diff --git a/src/engine/SCons/cpp.py b/src/engine/SCons/cpp.py index 60484f7..ff750c2 100644 --- a/src/engine/SCons/cpp.py +++ b/src/engine/SCons/cpp.py @@ -1,5 +1,5 @@  # -# Copyright (c) 2001 - 2016 The SCons Foundation +# Copyright (c) 2001 - 2017 The SCons Foundation  #  # Permission is hereby granted, free of charge, to any person obtaining  # a copy of this software and associated documentation files (the @@ -21,12 +21,11 @@  # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  # -__revision__ = "src/engine/SCons/cpp.py rel_2.5.1:3735:9dc6cee5c168 2016/11/03 14:02:02 bdbaddog" +__revision__ = "src/engine/SCons/cpp.py rel_3.0.0:4395:8972f6a2f699 2017/09/18 12:59:24 bdbaddog"  __doc__ = """  SCons C Pre-Processor module  """ -#TODO 2.3 and before has no sorted()  import SCons.compat  import os @@ -87,7 +86,7 @@ del op_list  override = {      'if'                        : 'if(?!def)',  } -l = [override.get(x, x) for x in Table.keys()] +l = [override.get(x, x) for x in list(Table.keys())]  # Turn the list of expressions into one big honkin' regular expression @@ -130,7 +129,7 @@ CPP_to_Python_Ops_Sub = lambda m: CPP_to_Python_Ops_Dict[m.group(0)]  # re module, as late as version 2.2.2, empirically matches the  # "!" in "!=" first, instead of finding the longest match.  # What's up with that? -l = sorted(CPP_to_Python_Ops_Dict.keys(), key=lambda a: len(a), reverse=True) +l = sorted(list(CPP_to_Python_Ops_Dict.keys()), key=lambda a: len(a), reverse=True)  # Turn the list of keys into one regular expression that will allow us  # to substitute all of the operators at once. @@ -266,7 +265,7 @@ class PreProcessor(object):          d = {              'scons_current_file'    : self.scons_current_file          } -        for op in Table.keys(): +        for op in list(Table.keys()):              d[op] = getattr(self, 'do_' + op)          self.default_table = d @@ -312,7 +311,7 @@ class PreProcessor(object):              t = self.tuples.pop(0)              # Uncomment to see the list of tuples being processed (e.g.,              # to validate the CPP lines are being translated correctly). -            #print t +            #print(t)              self.dispatch_table[t[0]](t)          return self.finalize_result(fname) @@ -379,7 +378,8 @@ class PreProcessor(object):          return None      def read_file(self, file): -        return open(file).read() +        with open(file) as f: +            return f.read()      # Start and stop processing include lines. @@ -510,7 +510,7 @@ class PreProcessor(object):          t = self.resolve_include(t)          include_file = self.find_include_file(t)          if include_file: -            #print "include_file =", include_file +            #print("include_file =", include_file)              self.result.append(include_file)              contents = self.read_file(include_file)              new_tuples = [('scons_current_file', include_file)] + \ @@ -542,12 +542,14 @@ class PreProcessor(object):          This handles recursive expansion of values without "" or <>          surrounding the name until an initial " or < is found, to handle +                  #include FILE -        where FILE is a #define somewhere else. -        """ + +        where FILE is a #define somewhere else.""" +          s = t[1]          while not s[0] in '<"': -            #print "s =", s +            #print("s =", s)              try:                  s = self.cpp_namespace[s]              except KeyError:  | 
