[llvm.py] Make ObjectFile destructor work

Previous code had a double free in MemoryBuffer. The tests now pass.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152422 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Gregory Szorc
2012-03-09 18:56:33 +00:00
parent 5992f67e68
commit 07c32218f4
3 changed files with 33 additions and 17 deletions

View File

@ -7,20 +7,24 @@
#
#===------------------------------------------------------------------------===#
from ctypes import POINTER
from ctypes import c_void_p
from ctypes import cdll
import ctypes.util
import platform
__all__ = [
"find_library",
"get_library",
'LLVMObject',
'find_library',
'get_library',
]
LLVMObject = POINTER(c_void_p)
def find_library():
# FIXME should probably have build system define absolute path of shared
# library at install time.
for lib in ["LLVM-3.1svn", "LLVM"]:
for lib in ['LLVM-3.1svn', 'LLVM']:
result = ctypes.util.find_library(lib)
if result:
return result
@ -32,6 +36,6 @@ def get_library():
"""Obtain a reference to the llvm library."""
lib = find_library()
if not lib:
raise Exception("LLVM shared library not found!")
raise Exception('LLVM shared library not found!')
return cdll.LoadLibrary(lib)