| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: If six.py is simlink'd, an installation won't be able to find it unless it has access to the source tree that lldb was built from.
Reviewers: zturner
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D15422
llvm-svn: 255340
|
| |
|
|
|
|
| |
GetType().IsPointerType() returns true.
llvm-svn: 254790
|
| |
|
|
| |
llvm-svn: 254763
|
| |
|
|
|
|
|
| |
This is more pythonic and allows a more idiomatic way of getting
detailed usage information for each individual sub-command.
llvm-svn: 254533
|
| |
|
|
| |
llvm-svn: 254341
|
| |
|
|
| |
llvm-svn: 254340
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We were trying to be super smart and find all the supported language
bindings. This led to us scanning the directory and treating all
subdirectories as language binding directories. This makes it
hard to add unrelated code in this folder.
Besides, we only support one at the moment - Python. And when new
ones are added it will be trivial to just add their names to a list.
So this patch gets stupider about how to look for language binding
subfolders. Just put them in a list, and use the list.
llvm-svn: 254078
|
| |
|
|
|
|
|
|
|
| |
This script really should not be assuming every subdirectory is
a language directory for swig generation. Using a hack to get
this working for now, but this should be solved once this script
is re-written similar to how prepare_bindings was.
llvm-svn: 254037
|
| |
|
|
| |
llvm-svn: 254033
|
| |
|
|
| |
llvm-svn: 254026
|
| |
|
|
| |
llvm-svn: 254025
|
| |
|
|
| |
llvm-svn: 254024
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With this patch, the client will package up all the required
inputs into a compressed zip file, establish a connection to the
server, send the input to the server, and wait for the server to
send a response (in this case the response is just echoed back to
the client).
This gets the network communication in place, and in a subsequent
patch I will follow up with the code that actually runs swig on
the server and sends back the output instead of echoing back the
input.
llvm-svn: 254023
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This version supports local generation only. It's intentionally
stupid, and does not support any kind of dependency checking.
If you run the script, it's going to call SWIG. While this is
a slow process, we are going to combine the use of the swig bot
with checked in static bindings, meaning that it won't be terribly
important to only regenerate the bindings when the input files
have actually changed.
A side benefit of this is that the implementation is drastically
simpler.
This is all experimental at the moment, but it duplicates a lot
of the logic currently found in prepare_bindings.py. There was
not a good way to reuse some of the logic without invasive changes
on that script, and since this script is still experimental, it
makes sense to just copy them over, and if / when this becomes
more mature, we can get rid of the other ones.
llvm-svn: 254022
|
| |
|
|
|
|
|
| |
I have plans to reuse this function in another script, so raising
this out of prepare_bindings allows this.
llvm-svn: 253755
|
| |
|
|
|
|
|
|
| |
Also adds SB API to save a core and tests that use it.
Differential Revision: http://reviews.llvm.org/D14793
llvm-svn: 253734
|
| |
|
|
|
|
|
|
| |
Accidentally commited before I was done.
This reverts commit 2ec2da4ee52780582d5e9c88b2e982a688fbdbe1.
llvm-svn: 253685
|
| |
|
|
| |
llvm-svn: 253684
|
| |
|
|
| |
llvm-svn: 253679
|
| |
|
|
|
|
| |
This reverts commit 40f789f2dc6bb80fd25a33f91e452d081ed9d0ee.
llvm-svn: 253575
|
| |
|
|
|
|
|
| |
This closes:
http://reviews.llvm.org/D14783
llvm-svn: 253513
|
| |
|
|
|
|
| |
This logically goes with my previous commit.
llvm-svn: 253491
|
| |
|
|
|
|
|
|
| |
to prepare_bindings.py.
Xcode moved off of build-swig-wrapper-classes.sh earlier this week.
llvm-svn: 253490
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch fixes two issues:
1) Popen needs to be used with universal_newlines=True by default.
This elicits automatic decoding from bytes -> string in Py3,
and has no negative effects in other Py versions.
2) The swig typemaps for converting between string and (char*, int)
did not work correctly when the length of the string was 0,
indicating an error. In this case we would try to construct a
string from uninitialized data.
3) Ironically, the bug mentioned in #2 led to a test passing on
Windows that was actually broken, because the test was written
such that the assertion was never even getting checked, so it
passed by default. So we additionally fix this test to also
fail if the method errors. By fixing this test it's now broken
on Windows, so we also xfail it.
llvm-svn: 253487
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
version.
This change does not introduce static bindings. It is simply using
the pylinted cleaned up code in prepare_bindings.py.
If this breaks anyting, I'll revert immediately and figure out what
needs to be addressed. I'm looking to wrap up
the cleanup aspect of the code change (pylinted, removal of code that
implements existing python stdlib code, fixes for Xcode adoption, etc.).
llvm-svn: 253478
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added a new flag, --allow-static-binding. When specified,
if (and only if) the swig binary cannot be found, then the
LLDBWrapPython.cpp and lldb.py from the
scripts/Python/{static-binding-dir} are copied into the place where
swig would have generated them.
{static-binding-dir} defaults to static-binding, and can be
overridden with the --static-binding-dir command line argument.
The static bindings checked in are from r253424.
llvm-svn: 253448
|
| |
|
|
|
|
| |
locations.
llvm-svn: 253346
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is only used by Xcode at the moment. It replaces the
buildSwigWrapperClasses.py and related per-script-language
scripts. It also fixes a couple bugs in those w/r/t Xcode
usage:
* the presence of the GCC_PREPROCESSOR_DEFINITIONS env var
should not be short-circuiting generation of the language
binding; rather, only if LLDB_DISABLE_PYTHON is present
within that environment variable.
* some logic around what to do when building in "non-Makefile"
mode. I've switched the handling of that to be on a
"--framework" flag - if specified, we build an OS X-style
framework; otherwise, we go with non.
Putting this up now only attached to the Xcode build so
others can look at it but not be affected by it yet.
After this, I'll tackle the finalizer, along with trying
it locally on Linux.
llvm-svn: 253317
|
| |
|
|
|
|
|
|
| |
breakpoint as "file address" so that the address breakpoint will track that
module even if it gets loaded in a different place. Also fixed the Address
breakpoint resolver so that it handles this tracking correctly.
llvm-svn: 253308
|
| |
|
|
|
|
|
| |
The goal here is to allow us to add skip / xfail decorators
based on SWIG version.
llvm-svn: 253262
|
| |
|
|
|
|
|
|
| |
Python 3 has lots of new debug asserts, and some of these were
firing on PythonFile. Specifically related to handling of invalid
files.
llvm-svn: 253261
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: pkgsrc (on NetBSD) ships with python2.7-config.
Patch by Kamil Rytarowski. Thanks!
Reviewers: emaste, clayborg
Subscribers: brucem, lldb-commits, joerg
Differential Revision: http://reviews.llvm.org/D14528
llvm-svn: 253152
|
| |
|
|
|
|
|
| |
The latter function, from PythonDataObjects, is Python 3 ready and
the former was not.
llvm-svn: 252992
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This finishes the effort to port python-wrapper.swig code over to
using PythonDataObjects.
Also included in this patch is the removal of `PyCallable` from
`python-wrapper.swig`, as it is no longer used after having been
replaced by `PythonCallable` everywhere.
There might be additional cleanup as followup patches, but it should
be all fairly simple and minor.
llvm-svn: 252939
|
| |
|
|
| |
llvm-svn: 252909
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PyCallable is a class that exists solely within the swig wrapper
code. PythonCallable is a more generic implementation of the same
idea that can be used by any Python-related interop code, and lives
in PythonDataObjects.h
The CL is mostly mechanical, and it doesn't cover every possible
user of PyCallable, because I want to minimize the impact of this
change (as well as making it easier to figure out what went wrong
in case this causes a failure). I plan to finish up the rest of
the changes in a subsequent patch, culminating in the removal of
PyCallable entirely.
llvm-svn: 252906
|
| |
|
|
|
|
|
|
| |
This had been relegated to a simple forwarding function, so just
delete it in preparation of migrating all of these functions out
of python-wrapper.swig.
llvm-svn: 252803
|
| |
|
|
|
|
|
|
|
| |
This only begins to port python-wrapper.swig over. Since this
code can be pretty hairy, I plan to do this incrementally over a
series of patches, each time removing or converting more code
over to the PythonDataObjects code.
llvm-svn: 252788
|
| |
|
|
| |
llvm-svn: 252767
|
| |
|
|
| |
llvm-svn: 252764
|
| |
|
|
|
|
|
|
|
|
| |
CompilerDecl class to do the job in an abstract way.
Fixed a crash that would happen if you tried to get the name of a constructor or destructor by calling "getDeclName()" instead of calling getName() (which would assert and crash).
Added the ability to get function arguments names from SBFunction.
llvm-svn: 252622
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Relying on manual Python C API calls is error prone, especially
when trying to maintain compatibility with Python 2 and Python 3.
This patch additionally fixes what appears to be a potentially
serious memory leak, in that were were incref'ing two values
returned from the session dictionary but never decref'ing them.
There was a comment indicating that it was intentional, but the
reasoning was, I believe, faulty and it resulted in a legitimate
memory leak.
Switching everything to PythonObject based classes solves both
the compatibility issues as well as the resource leak issues.
llvm-svn: 252536
|
| |
|
|
|
|
|
|
| |
For language that support such a thing, this API allows to ask whether a type is anonymous (i.e. has been given no name)
Comes with test case
llvm-svn: 252390
|
| |
|
|
| |
llvm-svn: 252384
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Python has a complicated mechanism of checking an objects truthity.
This involves a number of steps, which end with calling two private
methods on an object (if they are implemented). In Python 2 these
two methods are `__nonzero__` and `__len__`, and in Python 3 they
are `__bool__` and `__len__`. Because we *also* define a __len__
method for certain iterable types, this was triggering a situation
in Python 3 where `__nonzero__` wasn't defined, so it was calling
`__len__`, which was returning 0 (for example an SBDebugger with
no targets), and as a result the truthosity was determined to be
False.
We fix this by correctly using ` __bool__` for Python 3, and leave
the behavior under Python 2 unchanged.
Note that this fix is only implemented in the SWIG generation
python script, and not the SWIG generation shell script. Someone
more familiar than me with shell scripts will need to fix them
to support this for Python 3 if desired.
llvm-svn: 252382
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
their language. So for
instance:
break set -l c++ -r Name
will only break on C++ symbols that match Name, not ObjC or plain C symbols. This also works
for "break set -n" and there are SB API's to pass this as well.
llvm-svn: 252356
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Code that tried to find swig and then split the path into
a separate path and filename is being removed. The invoking
build system always provides the location of swig and we
don't need to split it into 2 pieces only to recombine it
a short time later.
Reviewers: zturner, domipheus
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D14415
llvm-svn: 252330
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This does a broad first pass on cleaning up a lot of the noise when
using pylint on these scripts. It mostly addresses issues of:
* Mixed tabs and spaces.
* Trailing whitespace.
* Semicolons where they aren't needed.
* Incorrect whitespace around () and [].
* Superfluous parentheses.
There will be subsequent patches with further changes that build
upon these.
Reviewers: zturner, domipheus
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D14375
llvm-svn: 252244
|
| |
|
|
| |
llvm-svn: 252234
|
| |
|
|
|
|
| |
Apparently this doesn't work as the attribute doesn't exist anymore.
llvm-svn: 252091
|