https://github.com/tuliom updated https://github.com/llvm/llvm-project/pull/70443
>From 16fd09f102eff20825847e32f225715960d1c082 Mon Sep 17 00:00:00 2001 From: Tulio Magno Quites Machado Filho <tul...@redhat.com> Date: Wed, 25 Oct 2023 10:48:53 -0300 Subject: [PATCH 1/2] [lldb] Replace the usage of module imp with module importlib imp got removed in Python 3.12 [1] and the community recommends using importlib in newer Python versions. [1] https://docs.python.org/3.12/whatsnew/3.12.html#imp --- lldb/scripts/use_lldb_suite.py | 30 ++++++++++++++++++++++-------- lldb/test/API/use_lldb_suite.py | 29 +++++++++++++++++++++-------- 2 files changed, 43 insertions(+), 16 deletions(-) diff --git a/lldb/scripts/use_lldb_suite.py b/lldb/scripts/use_lldb_suite.py index 6388d87b181ce03..4cedfa532cf972d 100644 --- a/lldb/scripts/use_lldb_suite.py +++ b/lldb/scripts/use_lldb_suite.py @@ -17,11 +17,25 @@ def find_lldb_root(): lldb_root = find_lldb_root() -import imp - -fp, pathname, desc = imp.find_module("use_lldb_suite_root", [lldb_root]) -try: - imp.load_module("use_lldb_suite_root", fp, pathname, desc) -finally: - if fp: - fp.close() + +# Module imp got removed in Python 3.12. +if ( + sys.version_info.major == 3 and sys.version_info.minor >= 12 +) or sys.version_info.major > 3: + import importlib.machinery + import importlib.util + + path = os.path.join(lldb_root, "use_lldb_suite_root.py") + loader = importlib.machinery.SourceFileLoader("use_lldb_suite_root", path) + spec = importlib.util.spec_from_loader("use_lldb_suite_root", loader=loader) + module = importlib.util.module_from_spec(spec) + loader.exec_module(module) +else: + import imp + + fp, pathname, desc = imp.find_module("use_lldb_suite_root", [lldb_root]) + try: + imp.load_module("use_lldb_suite_root", fp, pathname, desc) + finally: + if fp: + fp.close() diff --git a/lldb/test/API/use_lldb_suite.py b/lldb/test/API/use_lldb_suite.py index e237dd4b8a5607c..c9332d9921b4eb3 100644 --- a/lldb/test/API/use_lldb_suite.py +++ b/lldb/test/API/use_lldb_suite.py @@ -20,11 +20,24 @@ def find_lldb_root(): lldb_root = find_lldb_root() -import imp - -fp, pathname, desc = imp.find_module("use_lldb_suite_root", [lldb_root]) -try: - imp.load_module("use_lldb_suite_root", fp, pathname, desc) -finally: - if fp: - fp.close() +# Module imp got removed in Python 3.12. +if ( + sys.version_info.major == 3 and sys.version_info.minor >= 12 +) or sys.version_info.major > 3: + import importlib.machinery + import importlib.util + + path = os.path.join(lldb_root, "use_lldb_suite_root.py") + loader = importlib.machinery.SourceFileLoader("use_lldb_suite_root", path) + spec = importlib.util.spec_from_loader("use_lldb_suite_root", loader=loader) + module = importlib.util.module_from_spec(spec) + loader.exec_module(module) +else: + import imp + + fp, pathname, desc = imp.find_module("use_lldb_suite_root", [lldb_root]) + try: + imp.load_module("use_lldb_suite_root", fp, pathname, desc) + finally: + if fp: + fp.close() >From be8d5a305de8241d51fcca1189a3d56d9cfa9243 Mon Sep 17 00:00:00 2001 From: Tulio Magno Quites Machado Filho <tul...@redhat.com> Date: Tue, 31 Oct 2023 15:05:24 -0300 Subject: [PATCH 2/2] fixup! [lldb] Replace the usage of module imp with module importlib --- lldb/scripts/use_lldb_suite.py | 29 ++++++++--------------------- lldb/test/API/use_lldb_suite.py | 29 ++++++++--------------------- 2 files changed, 16 insertions(+), 42 deletions(-) diff --git a/lldb/scripts/use_lldb_suite.py b/lldb/scripts/use_lldb_suite.py index 4cedfa532cf972d..a050db0e79e6807 100644 --- a/lldb/scripts/use_lldb_suite.py +++ b/lldb/scripts/use_lldb_suite.py @@ -18,24 +18,11 @@ def find_lldb_root(): lldb_root = find_lldb_root() -# Module imp got removed in Python 3.12. -if ( - sys.version_info.major == 3 and sys.version_info.minor >= 12 -) or sys.version_info.major > 3: - import importlib.machinery - import importlib.util - - path = os.path.join(lldb_root, "use_lldb_suite_root.py") - loader = importlib.machinery.SourceFileLoader("use_lldb_suite_root", path) - spec = importlib.util.spec_from_loader("use_lldb_suite_root", loader=loader) - module = importlib.util.module_from_spec(spec) - loader.exec_module(module) -else: - import imp - - fp, pathname, desc = imp.find_module("use_lldb_suite_root", [lldb_root]) - try: - imp.load_module("use_lldb_suite_root", fp, pathname, desc) - finally: - if fp: - fp.close() +import importlib.machinery +import importlib.util + +path = os.path.join(lldb_root, "use_lldb_suite_root.py") +loader = importlib.machinery.SourceFileLoader("use_lldb_suite_root", path) +spec = importlib.util.spec_from_loader("use_lldb_suite_root", loader=loader) +module = importlib.util.module_from_spec(spec) +loader.exec_module(module) diff --git a/lldb/test/API/use_lldb_suite.py b/lldb/test/API/use_lldb_suite.py index c9332d9921b4eb3..a680f8c466a34f0 100644 --- a/lldb/test/API/use_lldb_suite.py +++ b/lldb/test/API/use_lldb_suite.py @@ -20,24 +20,11 @@ def find_lldb_root(): lldb_root = find_lldb_root() -# Module imp got removed in Python 3.12. -if ( - sys.version_info.major == 3 and sys.version_info.minor >= 12 -) or sys.version_info.major > 3: - import importlib.machinery - import importlib.util - - path = os.path.join(lldb_root, "use_lldb_suite_root.py") - loader = importlib.machinery.SourceFileLoader("use_lldb_suite_root", path) - spec = importlib.util.spec_from_loader("use_lldb_suite_root", loader=loader) - module = importlib.util.module_from_spec(spec) - loader.exec_module(module) -else: - import imp - - fp, pathname, desc = imp.find_module("use_lldb_suite_root", [lldb_root]) - try: - imp.load_module("use_lldb_suite_root", fp, pathname, desc) - finally: - if fp: - fp.close() +import importlib.machinery +import importlib.util + +path = os.path.join(lldb_root, "use_lldb_suite_root.py") +loader = importlib.machinery.SourceFileLoader("use_lldb_suite_root", path) +spec = importlib.util.spec_from_loader("use_lldb_suite_root", loader=loader) +module = importlib.util.module_from_spec(spec) +loader.exec_module(module) _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits