From eb43529f7b24e12df5dce37512d349621767c025 Mon Sep 17 00:00:00 2001 From: gentoo90 Date: Sat, 22 Feb 2014 23:39:50 +0200 Subject: [PATCH] Fix build with llvm-3.4 --- llvmpy/src/DIBuilder.py | 48 +++++++++++++------ llvmpy/src/ExecutionEngine/ExecutionEngine.py | 3 -- llvmpy/src/GlobalValue.py | 2 +- llvmpy/src/Support/TargetRegistry.py | 7 --- test/target_info.py | 9 +--- 5 files changed, 35 insertions(+), 34 deletions(-) diff --git a/llvmpy/src/DIBuilder.py b/llvmpy/src/DIBuilder.py index 78aba4c..44e5445 100644 --- a/llvmpy/src/DIBuilder.py +++ b/llvmpy/src/DIBuilder.py @@ -114,20 +114,38 @@ class DIBuilder: ref(DIType), # Ty ) - createClassType = Method(DIType, - ref(DIDescriptor), # Scope - stringref_arg, # Name - ref(DIFile), # File - unsigned_arg, # LineNum - uint64_arg, # SizeInBits - uint64_arg, # AlignInBits - uint64_arg, # OffsetInBits, - unsigned_arg, # Flags - ref(DIType), # DerivedFrom - ref(DIArray), # Elements - ptr(MDNode), # VTableHolder = 0 - ptr(MDNode), # TemplateParms = 0 - ).require_only(10) + if LLVM_VERSION <= (3, 3): + createClassType = Method(DIType, + ref(DIDescriptor), # Scope + stringref_arg, # Name + ref(DIFile), # File + unsigned_arg, # LineNum + uint64_arg, # SizeInBits + uint64_arg, # AlignInBits + uint64_arg, # OffsetInBits, + unsigned_arg, # Flags + ref(DIType), # DerivedFrom + ref(DIArray), # Elements + ptr(MDNode), # VTableHolder = 0 + ptr(MDNode), # TemplateParms = 0 + ).require_only(10) + else: + createClassType = Method(DIType, + ref(DIDescriptor), # Scope + stringref_arg, # Name + ref(DIFile), # File + unsigned_arg, # LineNum + uint64_arg, # SizeInBits + uint64_arg, # AlignInBits + uint64_arg, # OffsetInBits, + unsigned_arg, # Flags + ref(DIType), # DerivedFrom + ref(DIArray), # Elements + ref(DIType), # VTableHolder = DIType() + ptr(MDNode), # TemplateParms = 0 + stringref_arg, # UniqueIdentifier + ).require_only(10) + if LLVM_VERSION >= (3, 3): createStructType = Method(DIType, @@ -303,7 +321,7 @@ class DIBuilder: bool_arg, # isDefinition unsigned_arg, # Virtuality=0 unsigned_arg, # VTableIndex=0 - ptr(MDNode), # *VTableHolder=0 + ptr(MDNode) if LLVM_VERSION <= (3, 3) else ref(DIType), # VTableHolder unsigned_arg, # Flags=0 bool_arg, # isOptimized=false ptr(Function), # *Fn=0 diff --git a/llvmpy/src/ExecutionEngine/ExecutionEngine.py b/llvmpy/src/ExecutionEngine/ExecutionEngine.py index d6dfe43..7545c51 100644 --- a/llvmpy/src/ExecutionEngine/ExecutionEngine.py +++ b/llvmpy/src/ExecutionEngine/ExecutionEngine.py @@ -88,9 +88,6 @@ class ExecutionEngine: isLazyCompilationDisabled = Method(cast(Bool, bool)) DisableGVCompilation = Method(Void, cast(bool, Bool)) isSymbolSearchingDisabled = Method(cast(Bool, bool)) - RegisterTable = Method(Void, ptr(Function), cast(int, VoidPtr)) - DeregisterTable = Method(Void, ptr(Function)) - DeregisterAllTables = Method() _runFunction = CustomMethod('ExecutionEngine_RunFunction', PyObjectPtr, ptr(Function), PyObjectPtr) diff --git a/llvmpy/src/GlobalValue.py b/llvmpy/src/GlobalValue.py index 49071e3..68aa26b 100644 --- a/llvmpy/src/GlobalValue.py +++ b/llvmpy/src/GlobalValue.py @@ -13,7 +13,7 @@ class GlobalValue: LinkageTypes = Enum(''' ExternalLinkage, AvailableExternallyLinkage, LinkOnceAnyLinkage, - LinkOnceODRLinkage, LinkOnceODRAutoHideLinkage, WeakAnyLinkage, + LinkOnceODRLinkage, WeakAnyLinkage, WeakODRLinkage, AppendingLinkage, InternalLinkage, PrivateLinkage, LinkerPrivateLinkage, LinkerPrivateWeakLinkage, DLLImportLinkage, DLLExportLinkage, ExternalWeakLinkage, CommonLinkage diff --git a/llvmpy/src/Support/TargetRegistry.py b/llvmpy/src/Support/TargetRegistry.py index 0635e2b..1a6d008 100644 --- a/llvmpy/src/Support/TargetRegistry.py +++ b/llvmpy/src/Support/TargetRegistry.py @@ -34,13 +34,6 @@ class Target: hasJIT = _has() hasTargetMachine = _has() hasMCAsmBackend = _has() - hasMCAsmParser = _has() - hasAsmPrinter = _has() - hasMCDisassembler = _has() - hasMCInstPrinter = _has() - hasMCCodeEmitter = _has() - hasMCObjectStreamer = _has() - hasAsmStreamer = _has() createTargetMachine = Method(ptr(TargetMachine), cast(str, StringRef), # triple diff --git a/test/target_info.py b/test/target_info.py index 2242bbb..7f9751a 100644 --- a/test/target_info.py +++ b/test/target_info.py @@ -10,14 +10,7 @@ mthds = ( ("description:", "getShortDescription"), ("has JIT:", "hasJIT" ), ("has target machine:", "hasTargetMachine" ), - ("has asm backend:", "hasMCAsmBackend" ), - ("has asm parser:", "hasMCAsmParser" ), - ("has asm printer:", "hasAsmPrinter" ), - ("has disassembler:", "hasMCDisassembler" ), - ("has inst printer:", "hasMCInstPrinter" ), - ("has code emitter:", "hasMCCodeEmitter" ), - ("has object streamer:", "hasMCObjectStreamer"), - ("has asm streamer:", "hasAsmStreamer" ) + ("has asm backend:", "hasMCAsmBackend" ) ) for target in llvm.TargetRegistry.targetsList():