Workaround for LLVM-3.2 invalid reporting of host triple on darwin9.8
This commit is contained in:
parent
2d3889111b
commit
ea315a58cb
1 changed files with 9 additions and 4 deletions
11
llvm/ee.py
11
llvm/ee.py
|
|
@ -214,7 +214,10 @@ class EngineBuilder(object):
|
||||||
_util.check_is_unowned(tm)
|
_util.check_is_unowned(tm)
|
||||||
ret = _core.LLVMEngineBuilderCreateTM(self.ptr, tm.ptr)
|
ret = _core.LLVMEngineBuilderCreateTM(self.ptr, tm.ptr)
|
||||||
else:
|
else:
|
||||||
ret = _core.LLVMEngineBuilderCreate(self.ptr)
|
# Fix wrong host-triple reported by LLVM 3.2 on darwin9.8
|
||||||
|
# ret = _core.LLVMEngineBuilderCreate(self.ptr)
|
||||||
|
tm = self.select_target()
|
||||||
|
ret = _core.LLVMEngineBuilderCreateTM(self.ptr, tm.ptr)
|
||||||
if isinstance(ret, str):
|
if isinstance(ret, str):
|
||||||
raise llvm.LLVMException(ret)
|
raise llvm.LLVMException(ret)
|
||||||
engine = ExecutionEngine(ret, self._module)
|
engine = ExecutionEngine(ret, self._module)
|
||||||
|
|
@ -225,8 +228,10 @@ class EngineBuilder(object):
|
||||||
def select_target(self):
|
def select_target(self):
|
||||||
'''get the corresponding target machine
|
'''get the corresponding target machine
|
||||||
'''
|
'''
|
||||||
ptr = _core.LLVMTargetMachineFromEngineBuilder(self.ptr)
|
# Fix wrong host-triple reported by LLVM 3.2 on darwin9.8
|
||||||
return TargetMachine(ptr)
|
# ptr = _core.LLVMTargetMachineFromEngineBuilder(self.ptr)
|
||||||
|
# return TargetMachine(ptr)
|
||||||
|
return TargetMachine.new(cm=CM_JITDEFAULT)
|
||||||
|
|
||||||
#===----------------------------------------------------------------------===
|
#===----------------------------------------------------------------------===
|
||||||
# Execution engine
|
# Execution engine
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue