Portable Python script across Python version
Make scripts more future-proof by importing most __future__ stuff.
Differential Revision: https://reviews.llvm.org/D55208
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@349504 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/bindings/python/clang/cindex.py b/bindings/python/clang/cindex.py
index 5dbe809..54514b8 100644
--- a/bindings/python/clang/cindex.py
+++ b/bindings/python/clang/cindex.py
@@ -44,7 +44,7 @@
Most object information is exposed using properties, when the underlying API
call is efficient.
"""
-from __future__ import print_function
+from __future__ import absolute_import, division, print_function
# TODO
# ====
diff --git a/docs/conf.py b/docs/conf.py
index a18ce3a..19113d0 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -11,7 +11,7 @@
# All configuration values have a default; values that are commented out
# serve to show the default.
-from __future__ import print_function
+from __future__ import absolute_import, division, print_function
import sys, os
from datetime import date
diff --git a/tools/clang-format/clang-format-diff.py b/tools/clang-format/clang-format-diff.py
index 1721d8a..54347ce 100755
--- a/tools/clang-format/clang-format-diff.py
+++ b/tools/clang-format/clang-format-diff.py
@@ -21,7 +21,7 @@
svn diff --diff-cmd=diff -x-U0 | clang-format-diff.py -i
"""
-from __future__ import print_function
+from __future__ import absolute_import, division, print_function
import argparse
import difflib
diff --git a/tools/clang-format/clang-format-sublime.py b/tools/clang-format/clang-format-sublime.py
index 16ff56e..5ea9a27 100644
--- a/tools/clang-format/clang-format-sublime.py
+++ b/tools/clang-format/clang-format-sublime.py
@@ -12,7 +12,7 @@
# It operates on the current, potentially unsaved buffer and does not create
# or save any files. To revert a formatting, just undo.
-from __future__ import print_function
+from __future__ import absolute_import, division, print_function
import sublime
import sublime_plugin
import subprocess
diff --git a/tools/clang-format/clang-format.py b/tools/clang-format/clang-format.py
index 5fe592a..fe068bd 100644
--- a/tools/clang-format/clang-format.py
+++ b/tools/clang-format/clang-format.py
@@ -25,7 +25,7 @@
#
# It operates on the current, potentially unsaved buffer and does not create
# or save any files. To revert a formatting, just undo.
-from __future__ import print_function
+from __future__ import absolute_import, division, print_function
import difflib
import json
diff --git a/tools/clang-format/git-clang-format b/tools/clang-format/git-clang-format
index 0b21039..96e3b4e 100755
--- a/tools/clang-format/git-clang-format
+++ b/tools/clang-format/git-clang-format
@@ -23,7 +23,7 @@
Requires Python 2.7 or Python 3
"""
-from __future__ import print_function
+from __future__ import absolute_import, division, print_function
import argparse
import collections
import contextlib
diff --git a/tools/clang-rename/clang-rename.py b/tools/clang-rename/clang-rename.py
index 0cb8a26..3381c52 100644
--- a/tools/clang-rename/clang-rename.py
+++ b/tools/clang-rename/clang-rename.py
@@ -22,7 +22,7 @@
name if the cursor points to a valid symbol.
'''
-from __future__ import print_function
+from __future__ import absolute_import, division, print_function
import vim
import subprocess
import sys
diff --git a/tools/scan-build-py/libscanbuild/arguments.py b/tools/scan-build-py/libscanbuild/arguments.py
index 73a7f24..eb8ea0d 100644
--- a/tools/scan-build-py/libscanbuild/arguments.py
+++ b/tools/scan-build-py/libscanbuild/arguments.py
@@ -12,7 +12,7 @@
It also implements basic validation methods, related to the command.
Validations are mostly calling specific help methods, or mangling values.
"""
-from __future__ import print_function
+from __future__ import absolute_import, division, print_function
import os
import sys
diff --git a/utils/ABITest/ABITestGen.py b/utils/ABITest/ABITestGen.py
index a829f92..93a6de9 100755
--- a/utils/ABITest/ABITestGen.py
+++ b/utils/ABITest/ABITestGen.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
-from __future__ import print_function
+from __future__ import absolute_import, division, print_function
from pprint import pprint
import random, atexit, time
from random import randrange
diff --git a/utils/ABITest/Enumeration.py b/utils/ABITest/Enumeration.py
index 7606724..24f5b5f 100644
--- a/utils/ABITest/Enumeration.py
+++ b/utils/ABITest/Enumeration.py
@@ -1,6 +1,6 @@
"""Utilities for enumeration of finite and countably infinite sets.
"""
-from __future__ import print_function
+from __future__ import absolute_import, division, print_function
###
# Countable iteration
diff --git a/utils/CIndex/completion_logger_server.py b/utils/CIndex/completion_logger_server.py
index 818d10d..2016671 100755
--- a/utils/CIndex/completion_logger_server.py
+++ b/utils/CIndex/completion_logger_server.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python
-from __future__ import print_function
+from __future__ import absolute_import, division, print_function
import sys
from socket import *
from time import strftime
diff --git a/utils/TestUtils/deep-stack.py b/utils/TestUtils/deep-stack.py
index 8636efa..10bf47a 100755
--- a/utils/TestUtils/deep-stack.py
+++ b/utils/TestUtils/deep-stack.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
-from __future__ import print_function
+from __future__ import absolute_import, division, print_function
def pcall(f, N):
if N == 0:
print(' f(0)', file=f)
diff --git a/utils/analyzer/SATestAdd.py b/utils/analyzer/SATestAdd.py
index 377897e..52089f4 100755
--- a/utils/analyzer/SATestAdd.py
+++ b/utils/analyzer/SATestAdd.py
@@ -42,7 +42,7 @@
diff -ur CachedSource PatchedSource \
> changes_for_analyzer.patch
"""
-from __future__ import print_function
+from __future__ import absolute_import, division, print_function
import SATestBuild
import os
diff --git a/utils/analyzer/SATestUpdateDiffs.py b/utils/analyzer/SATestUpdateDiffs.py
index 64e6ca4..ea3c08c 100755
--- a/utils/analyzer/SATestUpdateDiffs.py
+++ b/utils/analyzer/SATestUpdateDiffs.py
@@ -3,7 +3,7 @@
"""
Update reference results for static analyzer.
"""
-from __future__ import print_function
+from __future__ import absolute_import, division, print_function
import SATestBuild
diff --git a/utils/analyzer/SumTimerInfo.py b/utils/analyzer/SumTimerInfo.py
index b3219b0..36e519a 100644
--- a/utils/analyzer/SumTimerInfo.py
+++ b/utils/analyzer/SumTimerInfo.py
@@ -6,7 +6,7 @@
Statistics are enabled by passing '-internal-stats' option to scan-build
(or '-analyzer-stats' to the analyzer).
"""
-from __future__ import print_function
+from __future__ import absolute_import, division, print_function
import sys
diff --git a/utils/check_cfc/check_cfc.py b/utils/check_cfc/check_cfc.py
index aea9bdd..4ad88c8 100755
--- a/utils/check_cfc/check_cfc.py
+++ b/utils/check_cfc/check_cfc.py
@@ -47,7 +47,7 @@
subclass.
"""
-from __future__ import print_function
+from __future__ import absolute_import, division, print_function
import imp
import os
diff --git a/utils/check_cfc/obj_diff.py b/utils/check_cfc/obj_diff.py
index 61b9118..1302834 100755
--- a/utils/check_cfc/obj_diff.py
+++ b/utils/check_cfc/obj_diff.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python2.7
-from __future__ import print_function
+from __future__ import absolute_import, division, print_function
import argparse
import difflib
diff --git a/utils/check_cfc/setup.py b/utils/check_cfc/setup.py
index 6005f6f..64f07d5 100644
--- a/utils/check_cfc/setup.py
+++ b/utils/check_cfc/setup.py
@@ -1,7 +1,7 @@
"""For use on Windows. Run with:
python.exe setup.py py2exe
"""
-from __future__ import print_function
+from __future__ import absolute_import, division, print_function
from distutils.core import setup
try:
import py2exe
diff --git a/utils/clangdiag.py b/utils/clangdiag.py
index a9656c5..6baf65a 100755
--- a/utils/clangdiag.py
+++ b/utils/clangdiag.py
@@ -9,7 +9,7 @@
# (lldb) command script import /path/to/clandiag.py
#----------------------------------------------------------------------
-from __future__ import print_function
+from __future__ import absolute_import, division, print_function
import lldb
import argparse
import shlex
diff --git a/utils/hmaptool/hmaptool b/utils/hmaptool/hmaptool
index 2b1ca74..58baab2 100755
--- a/utils/hmaptool/hmaptool
+++ b/utils/hmaptool/hmaptool
@@ -1,5 +1,5 @@
#!/usr/bin/env python
-from __future__ import print_function
+from __future__ import absolute_import, division, print_function
import json
import optparse
diff --git a/utils/modfuzz.py b/utils/modfuzz.py
index 4dc25e84..61ca327 100644
--- a/utils/modfuzz.py
+++ b/utils/modfuzz.py
@@ -4,7 +4,7 @@
# 1) Update the 'decls' list below with your fuzzing configuration.
# 2) Run with the clang binary as the command-line argument.
-from __future__ import print_function
+from __future__ import absolute_import, division, print_function
import random
import subprocess
import sys
diff --git a/utils/perf-training/perf-helper.py b/utils/perf-training/perf-helper.py
index 6337a9b..72b4b4e 100644
--- a/utils/perf-training/perf-helper.py
+++ b/utils/perf-training/perf-helper.py
@@ -7,7 +7,7 @@
#
#===------------------------------------------------------------------------===#
-from __future__ import print_function
+from __future__ import absolute_import, division, print_function
import sys
import os
diff --git a/utils/token-delta.py b/utils/token-delta.py
index 9fc5646..62b4eb3 100755
--- a/utils/token-delta.py
+++ b/utils/token-delta.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
-from __future__ import print_function
+from __future__ import absolute_import, division, print_function
import os
import re
import subprocess