llvm-project/lldb/source/Plugins
Zachary Turner 22c8efcd34 Port native Python-API to 3.x
With this change, liblldb is 95% of the way towards being able
to work under both Python 2.x and Python 3.x.  This should
introduce no functional change for Python 2.x, but for Python
3.x there are some important changes.  Primarily, these are:

1) PyString doesn't exist in Python 3.  Everything is a PyUnicode.
   To account for this, PythonString now stores a PyBytes instead
   of a PyString.  In Python 2, this is equivalent to a PyUnicode,
   and in Python 3, we do a conversion from PyUnicode to PyBytes
   and store the PyBytes.
2) PyInt doesn't exist in Python 3.  Everything is a PyLong.  To
   account for this, PythonInteger stores a PyLong instead of a
   PyInt.  In Python 2.x, this requires doing a conversion to
   PyLong when creating a PythonInteger from a PyInt.  In 3.x,
   there is no PyInt anyway, so we can assume everything is a
   PyLong.
3) PyFile_FromFile doesn't exist in Python 3.  Instead there is a
   PyFile_FromFd.  This is not addressed in this patch because it
   will require quite a large change to plumb fd's all the way
   through the system into the ScriptInterpreter.  This is the only
   remaining piece of the puzzle to get LLDB supporting Python 3.x.

Being able to run the test suite is not addressed in this patch.
After the extension module can compile and you can enter an embedded
3.x interpreter, the test suite will be addressed in a followup.

llvm-svn: 249886
2015-10-09 19:45:41 +00:00
..
ABI Remove unused virtuals from ABISysV_ppc* 2015-10-07 16:48:33 +00:00
Disassembler Re-commit the (fixed) changes from r248985 which were reverted by Pavel 2015-10-08 21:48:35 +00:00
DynamicLoader Remove long-forgotten plugin virtuals. 2015-10-09 15:37:10 +00:00
ExpressionParser Reduce header inclusion in Expression. 2015-10-07 17:22:54 +00:00
Instruction Addressing warning due to rL249651 2015-10-09 06:34:52 +00:00
InstrumentationRuntime [cmake] Remove LLVM_NO_RTTI. 2015-09-03 08:46:55 +00:00
JITLoader Add plugin.jit-loader.gdb.enable-jit-breakpoint property to make JIT loader breakpoint optional. 2015-09-16 17:38:36 +00:00
Language This is the work I was building up to with my patches yesterday 2015-10-07 18:36:53 +00:00
LanguageRuntime [Go] Fix inconsistent-missing-override warnings. 2015-10-07 10:02:24 +00:00
MemoryHistory [cmake] Remove LLVM_NO_RTTI. 2015-09-03 08:46:55 +00:00
ObjectContainer [cmake] Remove LLVM_NO_RTTI. 2015-09-03 08:46:55 +00:00
ObjectFile Romove accidentially added statement in r249020 2015-10-01 15:15:42 +00:00
OperatingSystem Add an OperatingSystem plugin to support goroutines 2015-09-16 21:20:44 +00:00
Platform Fix Android-SDK detection on API 10 device 2015-10-01 13:58:01 +00:00
Process Remove long-forgotten plugin virtuals. 2015-10-09 15:37:10 +00:00
ScriptInterpreter Port native Python-API to 3.x 2015-10-09 19:45:41 +00:00
SymbolFile Fix a crash, an UB and add some assert to dwo symbol file handling 2015-10-09 12:43:08 +00:00
SymbolVendor [cmake] Remove LLVM_NO_RTTI. 2015-09-03 08:46:55 +00:00
SystemRuntime Made GetScratchTypeSystemForLanguage return an error if desired. 2015-10-02 18:40:30 +00:00
UnwindAssembly [cmake] Remove LLVM_NO_RTTI. 2015-09-03 08:46:55 +00:00
CMakeLists.txt Fix cmake build. 2015-09-03 04:17:57 +00:00
Makefile Fix the undefined symbol issue with go linking with autotools: build the LanguageRuntime for Go + link against it 2015-10-08 11:17:01 +00:00