fixes to make this branch compatible with llvm versions before 3.4

This commit is contained in:
anthony cantor 2013-09-06 00:08:26 -06:00 • committed by Siu Kwan Lam
commit b303fd532a
5 changed files with 48 additions and 42 deletions

View file

@ -955,6 +955,7 @@ PyObject* TargetRegistry_targets_list()
"llvm::Target", "llvm::Target"); "llvm::Target", "llvm::Target");
} }
#if LLVM_VERSION_MAJOR >= 3 and LLVM_VERSION_MINOR >= 4
static static
PyObject* MemoryObject_readBytes(const llvm::MemoryObject *mobj, PyObject* MemoryObject_readBytes(const llvm::MemoryObject *mobj,
uint64_t addr, uint64_t addr,
@ -986,7 +987,6 @@ fail:
Py_RETURN_NONE; Py_RETURN_NONE;
} }
#if LLVM_VERSION_MAJOR >= 3 and LLVM_VERSION_MINOR >= 4
static static
PyObject* MCDisassembler_getInstruction(llvm::MCDisassembler *disasm, PyObject* MCDisassembler_getInstruction(llvm::MCDisassembler *disasm,
llvm::MCInst &instr, llvm::MCInst &instr,

View file

@ -1,3 +1,5 @@
#this file is not processed unless the llvm library is
#version 3.4 or higher. see llvmpy/__init__.py for details.
from binding import * from binding import *
from ..namespace import llvm from ..namespace import llvm
from ..Support.StringRefMemoryObject import MemoryObject from ..Support.StringRefMemoryObject import MemoryObject

View file

@ -2,8 +2,8 @@ from binding import *
from ..namespace import llvm from ..namespace import llvm
from ..ADT.StringRef import StringRef from ..ADT.StringRef import StringRef
MemoryObject = llvm.Class()
if LLVM_VERSION >= (3, 4): if LLVM_VERSION >= (3, 4):
MemoryObject = llvm.Class()
StringRefMemoryObject = llvm.Class(MemoryObject) StringRefMemoryObject = llvm.Class(MemoryObject)
@MemoryObject @MemoryObject
@ -25,8 +25,6 @@ class MemoryObject:
raise Exception("expected readBytes to be successful!") raise Exception("expected readBytes to be successful!")
return result return result
if LLVM_VERSION >= (3, 4):
@StringRefMemoryObject @StringRefMemoryObject
class StringRefMemoryObject: class StringRefMemoryObject:
_include_ = "llvm/Support/StringRefMemoryObject.h" _include_ = "llvm/Support/StringRefMemoryObject.h"

View file

@ -3,6 +3,9 @@ from llvmpy import api, extra
def main(): def main():
if llvm.version < (3, 4):
return 0
triple = "i386--" triple = "i386--"
print("init start") print("init start")

View file

@ -652,6 +652,9 @@ def do_llvm_target():
tm.is_little_endian() tm.is_little_endian()
def do_llvm_mc(): def do_llvm_mc():
if llvm.version < (3, 4):
return
from llvm import target from llvm import target
from llvm import mc from llvm import mc