Compare commits
4 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
34900d2748 | ||
|
|
749b518b90 | ||
|
|
c07fce0477 | ||
|
|
7f8476dd33 |
4 changed files with 19 additions and 9 deletions
|
|
@ -1,3 +1,8 @@
|
|||
2014-04-28 0.12.5:
|
||||
---------------------
|
||||
* Fixes memory leaks (#92)
|
||||
* Fixes tarball (#99)
|
||||
|
||||
2014-03-20 0.12.4:
|
||||
---------------------
|
||||
* Add dylib_import_library and friends
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
include CHANGELOG LICENSE README setup.py MANIFEST.in
|
||||
include CHANGELOG LICENSE README.rst setup.py MANIFEST.in versioneer.py
|
||||
recursive-include llvm *
|
||||
recursive-include llvmpy *
|
||||
recursive-include www *
|
||||
recursive-include test *
|
||||
recursive-include tools *
|
||||
|
|
|
|||
|
|
@ -30,11 +30,14 @@ Quickstart
|
|||
to separate your custom build from the default system package. Please
|
||||
replace ``LLVM_INSTALL_PATH`` with your own path.
|
||||
|
||||
3. Run ``REQUIRES_RTTI=1 make`` to build.
|
||||
3. Run ``REQUIRES_RTTI=1 make install`` to build and install.
|
||||
|
||||
**Note**: With LLVM 3.2, the default build configuration has C++ RTTI
|
||||
disabled. However, llvmpy requires RTTI.
|
||||
|
||||
**Note**: Use ``make -j2 install`` to enable concurrent build.
|
||||
Replace ``2`` with the actual number of processor you have.
|
||||
|
||||
4. Get llvm-py and install it::
|
||||
|
||||
$ git clone git@github.com:llvmpy/llvmpy.git
|
||||
|
|
|
|||
|
|
@ -186,8 +186,8 @@ PyObject* iterator_to_pylist_deref(iterator begin, iterator end,
|
|||
{
|
||||
PyObject* list = PyList_New(0);
|
||||
for(; begin != end; ++begin) {
|
||||
PyObject* cap = pycapsule_new(&*begin, capsuleName, className);
|
||||
PyList_Append(list, cap);
|
||||
auto_pyobject cap = pycapsule_new(&*begin, capsuleName, className);
|
||||
PyList_Append(list, *cap);
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
|
@ -198,8 +198,8 @@ PyObject* iterator_to_pylist(iterator begin, iterator end,
|
|||
{
|
||||
PyObject* list = PyList_New(0);
|
||||
for(; begin != end; ++begin) {
|
||||
PyObject* cap = pycapsule_new(*begin, capsuleName, className);
|
||||
PyList_Append(list, cap);
|
||||
auto_pyobject cap = pycapsule_new(*begin, capsuleName, className);
|
||||
PyList_Append(list, *cap);
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
|
@ -575,11 +575,11 @@ PyObject* TargetMachine_addPassesToEmitFile(
|
|||
bool status = TM->addPassesToEmitFile(PM, fso, FTy, disableVerify);
|
||||
if (status) {
|
||||
StringRef sr = rso.str();
|
||||
PyObject* buf = PyString_FromStringAndSize(sr.data(), sr.size());
|
||||
auto_pyobject buf = PyString_FromStringAndSize(sr.data(), sr.size());
|
||||
if (!buf) {
|
||||
return NULL;
|
||||
}
|
||||
if (-1 == PyFile_WriteObject(buf, Out, Py_PRINT_RAW)){
|
||||
if (-1 == PyFile_WriteObject(*buf, Out, Py_PRINT_RAW)){
|
||||
return NULL;
|
||||
}
|
||||
Py_RETURN_TRUE;
|
||||
|
|
@ -891,7 +891,8 @@ public:
|
|||
inline virtual void passEnumerate(const llvm::PassInfo * pass_info){
|
||||
PyObject* passArg = PyString_FromString(pass_info->getPassArgument());
|
||||
PyObject* passName = PyString_FromString(pass_info->getPassName());
|
||||
PyList_Append(List, Py_BuildValue("(OO)", passArg, passName));
|
||||
auto_pyobject pair = Py_BuildValue("(OO)", passArg, passName);
|
||||
PyList_Append(List, *pair);
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue