llvm-project/lldb
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
..
cmake Have CMake translate LLDB_PYTHON_HOME to forward slashes. 2015-10-09 19:45:26 +00:00
docs Have debugserver send the OS version string plus 2015-08-12 03:27:33 +00:00
examples Fix typos. 2015-09-22 05:07:56 +00:00
include Added support for enumerating the languages that actually support TypeSystems 2015-10-08 23:07:53 +00:00
lib 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
lit Create a check-lldb-unit target to run unit tests. 2015-03-13 20:55:07 +00:00
lldb.xcodeproj Testcase and fix for bug 24074 2015-10-08 09:45:41 +00:00
lldb.xcworkspace Working on getting the OSX build green 2015-05-12 02:20:27 +00:00
resources Only export public symbols with the cmake build. 2015-09-04 00:00:41 +00:00
scripts Simple readline functionality for interactive python on linux. 2015-10-06 22:21:08 +00:00
source Port native Python-API to 3.x 2015-10-09 19:45:41 +00:00
test dotest.py: Fail if we detect multiple tests with the same name 2015-10-09 12:48:17 +00:00
tools [debugserver,cmake] Add DEPENDS to custom commands. 2015-10-09 17:51:19 +00:00
unittests Port native Python-API to 3.x 2015-10-09 19:45:41 +00:00
utils syncsource.py: a specific dir's source_excludes may now include the special entry "<no-defaults>". 2015-10-08 17:43:02 +00:00
watchpoint/watchpoint_on_vectors [LLDB] Fix display of value of a vector variables in watchpoint operations 2015-10-09 15:13:20 +00:00
www Rename clang_type -> compiler_type for variables. 2015-09-24 03:54:50 +00:00
.arcconfig Update .arcconfig to point to reviews.llvm.org 2014-05-20 21:24:59 +00:00
.clang-format Update build instructions / coding conventions. 2015-03-10 23:22:25 +00:00
.gitignore Fix .gitignore to ignore symlinks. 2015-03-31 00:03:00 +00:00
CMakeLists.txt Fix Android build. 2015-10-07 00:01:06 +00:00
CODE_OWNERS.txt Convert CRLF to LF in CODE_OWNERS.txt 2015-03-23 14:00:54 +00:00
INSTALL.txt Revert the patch to Test Commit Access 2015-07-06 11:26:51 +00:00
LICENSE.TXT
Makefile Test commit 2015-07-22 08:41:18 +00:00