Use importlib instead of imp module on python 3.4+
authorBoris Staletic <boris.staletic@gmail.com>
Thu, 1 Apr 2021 18:09:27 +0000 (12:09 -0600)
committerTom Tromey <tromey@adacore.com>
Thu, 1 Apr 2021 18:26:52 +0000 (12:26 -0600)
Python 3.4 has deprecated the imp module in favour of importlib. This
patch avoids the DeprecationWarning. This warning is visible to users
whose libpython.so has been compiled with --with-pydebug.

Considering that even python 3.5 has reached end of life, would it be
better to just use importlib and drop support for python 3.0 to 3.3?

2021-02-28  Boris Staletic  <boris.staletic@gmail.com>

* gdb/python/lib/gdb/__init__.py: Use importlib on python 3.4+
to avoid deprecation warnings.

gdb/ChangeLog
gdb/python/lib/gdb/__init__.py

index 9684f2904013dd7db0321706262b0f1c34700d5e..ac40f8ebb6caed9c6b43c580b1c4f3de731dee67 100644 (file)
@@ -1,3 +1,8 @@
+2021-02-28  Boris Staletic  <boris.staletic@gmail.com>
+
+       * gdb/python/lib/gdb/__init__.py: Use importlib on python 3.4+
+       to avoid deprecation warnings.
+
 2021-04-01  Martin Liska  <mliska@suse.cz>
 
        * cp-name-parser.y: Use startswith instead of strncmp.
index 84ec728ea2134e45418dad3da43f481621ccc8a0..9a0e9891cc50203ea9969861b826ba0b872cdb22 100644 (file)
@@ -18,8 +18,10 @@ import os
 import sys
 import _gdb
 
-if sys.version_info[0] > 2:
-    # Python 3 moved "reload"
+# Python 3 moved "reload"
+if sys.version_info >= (3, 4):
+    from importlib import reload
+elif sys.version_info[0] > 2:
     from imp import reload
 
 from _gdb import *