From 4d1ae58d9e1d679cd0f35ce935579df221b14882 Mon Sep 17 00:00:00 2001 From: Jonas Devlieghere Date: Fri, 1 Aug 2025 16:18:24 -0700 Subject: [lldb] Reimplment PyRun_SimpleString using the Python stable C API (#151777) Reimplment `PyRun_SimpleString` using the Python stable C API and the `RunString` helper. Part of https://github.com/llvm/llvm-project/issues/151617 --- .../ScriptInterpreter/Python/PythonDataObjects.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp') diff --git a/lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp b/lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp index 9fe2824..42dc579 100644 --- a/lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp +++ b/lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp @@ -1492,6 +1492,22 @@ PyObject *RunString(const char *str, int start, PyObject *globals, return result; } + +int RunSimpleString(const char *str) { + PyObject *main_module = PyImport_AddModule("__main__"); + if (!main_module) + return -1; + + PyObject *globals = PyModule_GetDict(main_module); + if (!globals) + return -1; + + PyObject *result = RunString(str, Py_file_input, globals, globals); + if (!result) + return -1; + + return 0; +} } // namespace python } // namespace lldb_private -- cgit v1.1