Make the compiler work on macOS
Signed-off-by: Slendi <slendi@socopon.com>
This commit is contained in:
parent
1092c68317
commit
e4289d577a
5
odinfmt.json
Normal file
5
odinfmt.json
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://raw.githubusercontent.com/DanielGavin/ols/master/misc/odinfmt.schema.json",
|
||||||
|
"character_width": "120"
|
||||||
|
}
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
286
src/llvmc.odin
286
src/llvmc.odin
@ -1,6 +1,10 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
foreign import llvmc "LLVM-C.lib"
|
when ODIN_OS == .Windows {
|
||||||
|
foreign import llvmc "llvm/win64/LLVM-C.lib"
|
||||||
|
} else when ODIN_OS == .Linux || ODIN_OS == .Darwin {
|
||||||
|
foreign import llvmc "system:LLVM-C"
|
||||||
|
}
|
||||||
|
|
||||||
LLVMBool :: distinct int
|
LLVMBool :: distinct int
|
||||||
LLVMMemoryBufferRef :: distinct rawptr
|
LLVMMemoryBufferRef :: distinct rawptr
|
||||||
@ -23,150 +27,150 @@ LLVMJITEventListenerRef :: distinct rawptr
|
|||||||
LLVMBinaryRef :: distinct rawptr
|
LLVMBinaryRef :: distinct rawptr
|
||||||
|
|
||||||
LLVMTypeKind :: enum {
|
LLVMTypeKind :: enum {
|
||||||
LLVMVoidTypeKind,
|
LLVMVoidTypeKind,
|
||||||
LLVMHalfTypeKind,
|
LLVMHalfTypeKind,
|
||||||
LLVMFloatTypeKind,
|
LLVMFloatTypeKind,
|
||||||
LLVMDoubleTypeKind,
|
LLVMDoubleTypeKind,
|
||||||
LLVMX86_FP80TypeKind,
|
LLVMX86_FP80TypeKind,
|
||||||
LLVMFP128TypeKind,
|
LLVMFP128TypeKind,
|
||||||
LLVMPPC_FP128TypeKind,
|
LLVMPPC_FP128TypeKind,
|
||||||
LLVMLabelTypeKind,
|
LLVMLabelTypeKind,
|
||||||
LLVMIntegerTypeKind,
|
LLVMIntegerTypeKind,
|
||||||
LLVMFunctionTypeKind,
|
LLVMFunctionTypeKind,
|
||||||
LLVMStructTypeKind,
|
LLVMStructTypeKind,
|
||||||
LLVMArrayTypeKind,
|
LLVMArrayTypeKind,
|
||||||
LLVMPointerTypeKind,
|
LLVMPointerTypeKind,
|
||||||
LLVMVectorTypeKind,
|
LLVMVectorTypeKind,
|
||||||
LLVMMetadataTypeKind,
|
LLVMMetadataTypeKind,
|
||||||
LLVMX86_MMXTypeKind,
|
LLVMX86_MMXTypeKind,
|
||||||
LLVMTokenTypeKind,
|
LLVMTokenTypeKind,
|
||||||
LLVMScalableVectorTypeKind,
|
LLVMScalableVectorTypeKind,
|
||||||
LLVMBFloatTypeKind,
|
LLVMBFloatTypeKind,
|
||||||
LLVMX86_AMXTypeKind,
|
LLVMX86_AMXTypeKind,
|
||||||
LLVMTargetExtTypeKind,
|
LLVMTargetExtTypeKind,
|
||||||
}
|
}
|
||||||
|
|
||||||
LLVMIntPredicate :: enum {
|
LLVMIntPredicate :: enum {
|
||||||
LLVMIntEQ = 32,
|
LLVMIntEQ = 32,
|
||||||
LLVMIntNE,
|
LLVMIntNE,
|
||||||
LLVMIntUGT,
|
LLVMIntUGT,
|
||||||
LLVMIntUGE,
|
LLVMIntUGE,
|
||||||
LLVMIntULT,
|
LLVMIntULT,
|
||||||
LLVMIntULE,
|
LLVMIntULE,
|
||||||
LLVMIntSGT,
|
LLVMIntSGT,
|
||||||
LLVMIntSGE,
|
LLVMIntSGE,
|
||||||
LLVMIntSLT,
|
LLVMIntSLT,
|
||||||
LLVMIntSLE,
|
LLVMIntSLE,
|
||||||
}
|
}
|
||||||
|
|
||||||
LLVMRealPredicate :: enum {
|
LLVMRealPredicate :: enum {
|
||||||
LLVMRealPredicateFalse,
|
LLVMRealPredicateFalse,
|
||||||
LLVMRealOEQ,
|
LLVMRealOEQ,
|
||||||
LLVMRealOGT,
|
LLVMRealOGT,
|
||||||
LLVMRealOGE,
|
LLVMRealOGE,
|
||||||
LLVMRealOLT,
|
LLVMRealOLT,
|
||||||
LLVMRealOLE,
|
LLVMRealOLE,
|
||||||
LLVMRealONE,
|
LLVMRealONE,
|
||||||
LLVMRealORD,
|
LLVMRealORD,
|
||||||
LLVMRealUNO,
|
LLVMRealUNO,
|
||||||
LLVMRealUEQ,
|
LLVMRealUEQ,
|
||||||
LLVMRealUGT,
|
LLVMRealUGT,
|
||||||
LLVMRealUGE,
|
LLVMRealUGE,
|
||||||
LLVMRealULT,
|
LLVMRealULT,
|
||||||
LLVMRealULE,
|
LLVMRealULE,
|
||||||
LLVMRealUNE,
|
LLVMRealUNE,
|
||||||
LLVMRealPredicateTrue
|
LLVMRealPredicateTrue,
|
||||||
};
|
}
|
||||||
|
|
||||||
@(default_calling_convention = "std")
|
@(default_calling_convention = "c")
|
||||||
foreign llvmc {
|
foreign llvmc {
|
||||||
LLVMContextCreate :: proc() -> LLVMContextRef ---
|
LLVMContextCreate :: proc() -> LLVMContextRef ---
|
||||||
LLVMModuleCreateWithName :: proc(name: cstring) -> LLVMModuleRef ---
|
LLVMModuleCreateWithName :: proc(name: cstring) -> LLVMModuleRef ---
|
||||||
LLVMModuleCreateWithNameInContext :: proc(name: cstring, C: LLVMContextRef) -> LLVMModuleRef ---
|
LLVMModuleCreateWithNameInContext :: proc(name: cstring, C: LLVMContextRef) -> LLVMModuleRef ---
|
||||||
|
|
||||||
LLVMCreateBuilderInContext :: proc(C: LLVMContextRef) -> LLVMBuilderRef ---
|
LLVMCreateBuilderInContext :: proc(C: LLVMContextRef) -> LLVMBuilderRef ---
|
||||||
LLVMPositionBuilderAtEnd :: proc(Builder: LLVMBuilderRef, Block: LLVMBasicBlockRef) ---
|
LLVMPositionBuilderAtEnd :: proc(Builder: LLVMBuilderRef, Block: LLVMBasicBlockRef) ---
|
||||||
|
|
||||||
LLVMBuildPointerCast :: proc(Builder: LLVMBuilderRef, Val: LLVMValueRef, DestTy: LLVMTypeRef, Name: cstring) -> LLVMValueRef ---
|
LLVMBuildPointerCast :: proc(Builder: LLVMBuilderRef, Val: LLVMValueRef, DestTy: LLVMTypeRef, Name: cstring) -> LLVMValueRef ---
|
||||||
LLVMBuildGlobalString :: proc(Builder: LLVMBuilderRef, Str: cstring, Name: cstring) -> LLVMValueRef ---
|
LLVMBuildGlobalString :: proc(Builder: LLVMBuilderRef, Str: cstring, Name: cstring) -> LLVMValueRef ---
|
||||||
LLVMBuildGlobalStringPtr :: proc(Builder: LLVMBuilderRef, Str: cstring, Name: cstring) -> LLVMValueRef ---
|
LLVMBuildGlobalStringPtr :: proc(Builder: LLVMBuilderRef, Str: cstring, Name: cstring) -> LLVMValueRef ---
|
||||||
|
|
||||||
LLVMBuildCall2 :: proc(Builder: LLVMBuilderRef, Type: LLVMTypeRef, Fn: LLVMValueRef, Args: [^]LLVMValueRef, NumArgs: uint, Name: cstring) -> LLVMValueRef ---
|
LLVMBuildCall2 :: proc(Builder: LLVMBuilderRef, Type: LLVMTypeRef, Fn: LLVMValueRef, Args: [^]LLVMValueRef, NumArgs: uint, Name: cstring) -> LLVMValueRef ---
|
||||||
|
|
||||||
LLVMBuildRetVoid :: proc(Builder: LLVMBuilderRef) -> LLVMValueRef ---
|
LLVMBuildRetVoid :: proc(Builder: LLVMBuilderRef) -> LLVMValueRef ---
|
||||||
LLVMBuildRet :: proc(Builder: LLVMBuilderRef, V: LLVMValueRef) -> LLVMValueRef ---
|
LLVMBuildRet :: proc(Builder: LLVMBuilderRef, V: LLVMValueRef) -> LLVMValueRef ---
|
||||||
|
|
||||||
LLVMInt1TypeInContext :: proc(C: LLVMContextRef) -> LLVMTypeRef ---
|
LLVMInt1TypeInContext :: proc(C: LLVMContextRef) -> LLVMTypeRef ---
|
||||||
LLVMInt8TypeInContext :: proc(C: LLVMContextRef) -> LLVMTypeRef ---
|
LLVMInt8TypeInContext :: proc(C: LLVMContextRef) -> LLVMTypeRef ---
|
||||||
LLVMInt16TypeInContext :: proc(C: LLVMContextRef) -> LLVMTypeRef ---
|
LLVMInt16TypeInContext :: proc(C: LLVMContextRef) -> LLVMTypeRef ---
|
||||||
LLVMInt32TypeInContext :: proc(C: LLVMContextRef) -> LLVMTypeRef ---
|
LLVMInt32TypeInContext :: proc(C: LLVMContextRef) -> LLVMTypeRef ---
|
||||||
LLVMInt64TypeInContext :: proc(C: LLVMContextRef) -> LLVMTypeRef ---
|
LLVMInt64TypeInContext :: proc(C: LLVMContextRef) -> LLVMTypeRef ---
|
||||||
LLVMIntTypeInContext :: proc(C: LLVMContextRef, n: uint) -> LLVMTypeRef ---
|
LLVMIntTypeInContext :: proc(C: LLVMContextRef, n: uint) -> LLVMTypeRef ---
|
||||||
|
|
||||||
LLVMDoubleTypeInContext :: proc(C: LLVMContextRef) -> LLVMTypeRef ---
|
LLVMDoubleTypeInContext :: proc(C: LLVMContextRef) -> LLVMTypeRef ---
|
||||||
LLVMFloatTypeInContext :: proc(C: LLVMContextRef) -> LLVMTypeRef ---
|
LLVMFloatTypeInContext :: proc(C: LLVMContextRef) -> LLVMTypeRef ---
|
||||||
|
|
||||||
LLVMVoidTypeInContext :: proc(C: LLVMContextRef) -> LLVMTypeRef ---
|
LLVMVoidTypeInContext :: proc(C: LLVMContextRef) -> LLVMTypeRef ---
|
||||||
|
|
||||||
LLVMGetTypeKind :: proc(Ty: LLVMTypeRef) -> LLVMTypeKind ---
|
LLVMGetTypeKind :: proc(Ty: LLVMTypeRef) -> LLVMTypeKind ---
|
||||||
|
|
||||||
LLVMArrayType2 :: proc(ElementType: LLVMTypeRef, ElementCount: u64) -> LLVMTypeRef ---
|
LLVMArrayType2 :: proc(ElementType: LLVMTypeRef, ElementCount: u64) -> LLVMTypeRef ---
|
||||||
LLVMPointerType :: proc(ElementType: LLVMTypeRef, AddressSpace: uint) -> LLVMTypeRef ---
|
LLVMPointerType :: proc(ElementType: LLVMTypeRef, AddressSpace: uint) -> LLVMTypeRef ---
|
||||||
|
|
||||||
LLVMConstInt :: proc(IntTy: LLVMTypeRef, N: u64, SignExtend: LLVMBool) -> LLVMValueRef ---
|
LLVMConstInt :: proc(IntTy: LLVMTypeRef, N: u64, SignExtend: LLVMBool) -> LLVMValueRef ---
|
||||||
LLVMConstReal :: proc(RealTy: LLVMTypeRef, N: f64) -> LLVMValueRef ---
|
LLVMConstReal :: proc(RealTy: LLVMTypeRef, N: f64) -> LLVMValueRef ---
|
||||||
|
|
||||||
LLVMFunctionType :: proc(ReturnType: LLVMTypeRef, ParamTypes: [^]LLVMTypeRef, ParamCount: uint, IsVarArg: LLVMBool) -> LLVMTypeRef ---
|
LLVMFunctionType :: proc(ReturnType: LLVMTypeRef, ParamTypes: [^]LLVMTypeRef, ParamCount: uint, IsVarArg: LLVMBool) -> LLVMTypeRef ---
|
||||||
LLVMAddFunction :: proc(M: LLVMModuleRef, Name: cstring, FunctionType: LLVMTypeRef) -> LLVMValueRef ---
|
LLVMAddFunction :: proc(M: LLVMModuleRef, Name: cstring, FunctionType: LLVMTypeRef) -> LLVMValueRef ---
|
||||||
|
|
||||||
LLVMAppendBasicBlockInContext :: proc(C: LLVMContextRef, Fn: LLVMValueRef, Name: cstring) -> LLVMBasicBlockRef ---
|
LLVMAppendBasicBlockInContext :: proc(C: LLVMContextRef, Fn: LLVMValueRef, Name: cstring) -> LLVMBasicBlockRef ---
|
||||||
LLVMCreateBasicBlockInContext :: proc(C: LLVMContextRef, Name: cstring) -> LLVMBasicBlockRef ---
|
LLVMCreateBasicBlockInContext :: proc(C: LLVMContextRef, Name: cstring) -> LLVMBasicBlockRef ---
|
||||||
LLVMGetLastBasicBlock :: proc(Fn: LLVMValueRef) -> LLVMBasicBlockRef ---
|
LLVMGetLastBasicBlock :: proc(Fn: LLVMValueRef) -> LLVMBasicBlockRef ---
|
||||||
LLVMGetInsertBlock :: proc(Builder: LLVMBuilderRef) -> LLVMBasicBlockRef ---
|
LLVMGetInsertBlock :: proc(Builder: LLVMBuilderRef) -> LLVMBasicBlockRef ---
|
||||||
LLVMInsertExistingBasicBlockAfterInsertBlock :: proc(Builder: LLVMBuilderRef, Block: LLVMBasicBlockRef) ---
|
LLVMInsertExistingBasicBlockAfterInsertBlock :: proc(Builder: LLVMBuilderRef, Block: LLVMBasicBlockRef) ---
|
||||||
LLVMAppendExistingBasicBlock :: proc(Fn: LLVMValueRef, Block: LLVMBasicBlockRef) ---
|
LLVMAppendExistingBasicBlock :: proc(Fn: LLVMValueRef, Block: LLVMBasicBlockRef) ---
|
||||||
|
|
||||||
LLVMPrintModuleToFile :: proc(M: LLVMModuleRef, Filename: cstring, ErrorMessage: ^cstring) -> LLVMBool ---
|
LLVMPrintModuleToFile :: proc(M: LLVMModuleRef, Filename: cstring, ErrorMessage: ^cstring) -> LLVMBool ---
|
||||||
|
|
||||||
LLVMGetValueName2 :: proc(V: LLVMValueRef, Length: ^u64) -> cstring ---
|
LLVMGetValueName2 :: proc(V: LLVMValueRef, Length: ^u64) -> cstring ---
|
||||||
|
|
||||||
LLVMBuildFAdd :: proc(Builder: LLVMBuilderRef, LHS: LLVMValueRef, RHS: LLVMValueRef, Name: cstring) -> LLVMValueRef ---
|
LLVMBuildFAdd :: proc(Builder: LLVMBuilderRef, LHS: LLVMValueRef, RHS: LLVMValueRef, Name: cstring) -> LLVMValueRef ---
|
||||||
LLVMBuildAdd :: proc(Builder: LLVMBuilderRef, LHS: LLVMValueRef, RHS: LLVMValueRef, Name: cstring) -> LLVMValueRef ---
|
LLVMBuildAdd :: proc(Builder: LLVMBuilderRef, LHS: LLVMValueRef, RHS: LLVMValueRef, Name: cstring) -> LLVMValueRef ---
|
||||||
LLVMBuildFSub :: proc(Builder: LLVMBuilderRef, LHS: LLVMValueRef, RHS: LLVMValueRef, Name: cstring) -> LLVMValueRef ---
|
LLVMBuildFSub :: proc(Builder: LLVMBuilderRef, LHS: LLVMValueRef, RHS: LLVMValueRef, Name: cstring) -> LLVMValueRef ---
|
||||||
LLVMBuildSub :: proc(Builder: LLVMBuilderRef, LHS: LLVMValueRef, RHS: LLVMValueRef, Name: cstring) -> LLVMValueRef ---
|
LLVMBuildSub :: proc(Builder: LLVMBuilderRef, LHS: LLVMValueRef, RHS: LLVMValueRef, Name: cstring) -> LLVMValueRef ---
|
||||||
LLVMBuildFMul :: proc(Builder: LLVMBuilderRef, LHS: LLVMValueRef, RHS: LLVMValueRef, Name: cstring) -> LLVMValueRef ---
|
LLVMBuildFMul :: proc(Builder: LLVMBuilderRef, LHS: LLVMValueRef, RHS: LLVMValueRef, Name: cstring) -> LLVMValueRef ---
|
||||||
LLVMBuildMul :: proc(Builder: LLVMBuilderRef, LHS: LLVMValueRef, RHS: LLVMValueRef, Name: cstring) -> LLVMValueRef ---
|
LLVMBuildMul :: proc(Builder: LLVMBuilderRef, LHS: LLVMValueRef, RHS: LLVMValueRef, Name: cstring) -> LLVMValueRef ---
|
||||||
LLVMBuildFDiv :: proc(Builder: LLVMBuilderRef, LHS: LLVMValueRef, RHS: LLVMValueRef, Name: cstring) -> LLVMValueRef ---
|
LLVMBuildFDiv :: proc(Builder: LLVMBuilderRef, LHS: LLVMValueRef, RHS: LLVMValueRef, Name: cstring) -> LLVMValueRef ---
|
||||||
LLVMBuildUDiv :: proc(Builder: LLVMBuilderRef, LHS: LLVMValueRef, RHS: LLVMValueRef, Name: cstring) -> LLVMValueRef ---
|
LLVMBuildUDiv :: proc(Builder: LLVMBuilderRef, LHS: LLVMValueRef, RHS: LLVMValueRef, Name: cstring) -> LLVMValueRef ---
|
||||||
LLVMBuildSDiv :: proc(Builder: LLVMBuilderRef, LHS: LLVMValueRef, RHS: LLVMValueRef, Name: cstring) -> LLVMValueRef ---
|
LLVMBuildSDiv :: proc(Builder: LLVMBuilderRef, LHS: LLVMValueRef, RHS: LLVMValueRef, Name: cstring) -> LLVMValueRef ---
|
||||||
LLVMBuildFRem :: proc(Builder: LLVMBuilderRef, LHS: LLVMValueRef, RHS: LLVMValueRef, Name: cstring) -> LLVMValueRef ---
|
LLVMBuildFRem :: proc(Builder: LLVMBuilderRef, LHS: LLVMValueRef, RHS: LLVMValueRef, Name: cstring) -> LLVMValueRef ---
|
||||||
LLVMBuildURem :: proc(Builder: LLVMBuilderRef, LHS: LLVMValueRef, RHS: LLVMValueRef, Name: cstring) -> LLVMValueRef ---
|
LLVMBuildURem :: proc(Builder: LLVMBuilderRef, LHS: LLVMValueRef, RHS: LLVMValueRef, Name: cstring) -> LLVMValueRef ---
|
||||||
LLVMBuildSRem :: proc(Builder: LLVMBuilderRef, LHS: LLVMValueRef, RHS: LLVMValueRef, Name: cstring) -> LLVMValueRef ---
|
LLVMBuildSRem :: proc(Builder: LLVMBuilderRef, LHS: LLVMValueRef, RHS: LLVMValueRef, Name: cstring) -> LLVMValueRef ---
|
||||||
|
|
||||||
LLVMBuildAlloca :: proc(Builder: LLVMBuilderRef, Ty: LLVMTypeRef, Name: cstring) -> LLVMValueRef ---
|
LLVMBuildAlloca :: proc(Builder: LLVMBuilderRef, Ty: LLVMTypeRef, Name: cstring) -> LLVMValueRef ---
|
||||||
LLVMBuildStore :: proc(Builder: LLVMBuilderRef, Val: LLVMValueRef, Ptr: LLVMValueRef) -> LLVMValueRef ---
|
LLVMBuildStore :: proc(Builder: LLVMBuilderRef, Val: LLVMValueRef, Ptr: LLVMValueRef) -> LLVMValueRef ---
|
||||||
LLVMBuildLoad2 :: proc(Builder: LLVMBuilderRef, Ty: LLVMTypeRef, PointerVal: LLVMValueRef, Name: cstring) -> LLVMValueRef ---
|
LLVMBuildLoad2 :: proc(Builder: LLVMBuilderRef, Ty: LLVMTypeRef, PointerVal: LLVMValueRef, Name: cstring) -> LLVMValueRef ---
|
||||||
LLVMBuildBr :: proc(Builder: LLVMBuilderRef, Dest: LLVMBasicBlockRef) -> LLVMValueRef ---
|
LLVMBuildBr :: proc(Builder: LLVMBuilderRef, Dest: LLVMBasicBlockRef) -> LLVMValueRef ---
|
||||||
LLVMBuildCondBr :: proc(Builder: LLVMBuilderRef, If: LLVMValueRef, Then: LLVMBasicBlockRef, Else: LLVMBasicBlockRef) -> LLVMValueRef ---
|
LLVMBuildCondBr :: proc(Builder: LLVMBuilderRef, If: LLVMValueRef, Then: LLVMBasicBlockRef, Else: LLVMBasicBlockRef) -> LLVMValueRef ---
|
||||||
LLVMBuildICmp :: proc(Builder: LLVMBuilderRef, Predicate: LLVMIntPredicate, LHS: LLVMValueRef, RHS: LLVMValueRef, Name: cstring) -> LLVMValueRef ---
|
LLVMBuildICmp :: proc(Builder: LLVMBuilderRef, Predicate: LLVMIntPredicate, LHS: LLVMValueRef, RHS: LLVMValueRef, Name: cstring) -> LLVMValueRef ---
|
||||||
LLVMBuildFCmp :: proc(Builder: LLVMBuilderRef, Predicate: LLVMRealPredicate, LHS: LLVMValueRef, RHS: LLVMValueRef, Name: cstring) -> LLVMValueRef ---
|
LLVMBuildFCmp :: proc(Builder: LLVMBuilderRef, Predicate: LLVMRealPredicate, LHS: LLVMValueRef, RHS: LLVMValueRef, Name: cstring) -> LLVMValueRef ---
|
||||||
|
|
||||||
LLVMBuildAnd :: proc(Builder: LLVMBuilderRef, LHS: LLVMValueRef, RHS: LLVMValueRef, Name: cstring) -> LLVMValueRef ---
|
LLVMBuildAnd :: proc(Builder: LLVMBuilderRef, LHS: LLVMValueRef, RHS: LLVMValueRef, Name: cstring) -> LLVMValueRef ---
|
||||||
LLVMBuildOr :: proc(Builder: LLVMBuilderRef, LHS: LLVMValueRef, RHS: LLVMValueRef, Name: cstring) -> LLVMValueRef ---
|
LLVMBuildOr :: proc(Builder: LLVMBuilderRef, LHS: LLVMValueRef, RHS: LLVMValueRef, Name: cstring) -> LLVMValueRef ---
|
||||||
LLVMBuildXor :: proc(Builder: LLVMBuilderRef, LHS: LLVMValueRef, RHS: LLVMValueRef, Name: cstring) -> LLVMValueRef ---
|
LLVMBuildXor :: proc(Builder: LLVMBuilderRef, LHS: LLVMValueRef, RHS: LLVMValueRef, Name: cstring) -> LLVMValueRef ---
|
||||||
LLVMBuildNot :: proc(Builder: LLVMBuilderRef, Val: LLVMValueRef, Name: cstring) -> LLVMValueRef ---
|
LLVMBuildNot :: proc(Builder: LLVMBuilderRef, Val: LLVMValueRef, Name: cstring) -> LLVMValueRef ---
|
||||||
LLVMBuildShl :: proc(Builder: LLVMBuilderRef, LHS: LLVMValueRef, RHS: LLVMValueRef, Name: cstring) -> LLVMValueRef ---
|
LLVMBuildShl :: proc(Builder: LLVMBuilderRef, LHS: LLVMValueRef, RHS: LLVMValueRef, Name: cstring) -> LLVMValueRef ---
|
||||||
LLVMBuildLShr :: proc(Builder: LLVMBuilderRef, LHS: LLVMValueRef, RHS: LLVMValueRef, Name: cstring) -> LLVMValueRef ---
|
LLVMBuildLShr :: proc(Builder: LLVMBuilderRef, LHS: LLVMValueRef, RHS: LLVMValueRef, Name: cstring) -> LLVMValueRef ---
|
||||||
LLVMBuildAShr :: proc(Builder: LLVMBuilderRef, LHS: LLVMValueRef, RHS: LLVMValueRef, Name: cstring) -> LLVMValueRef ---
|
LLVMBuildAShr :: proc(Builder: LLVMBuilderRef, LHS: LLVMValueRef, RHS: LLVMValueRef, Name: cstring) -> LLVMValueRef ---
|
||||||
LLVMBuildShr :: proc(Builder: LLVMBuilderRef, LHS: LLVMValueRef, RHS: LLVMValueRef, Name: cstring) -> LLVMValueRef ---
|
LLVMBuildShr :: proc(Builder: LLVMBuilderRef, LHS: LLVMValueRef, RHS: LLVMValueRef, Name: cstring) -> LLVMValueRef ---
|
||||||
|
|
||||||
LLVMBuildPhi :: proc(Builder: LLVMBuilderRef, Ty: LLVMTypeRef, Name: cstring) -> LLVMValueRef ---
|
LLVMBuildPhi :: proc(Builder: LLVMBuilderRef, Ty: LLVMTypeRef, Name: cstring) -> LLVMValueRef ---
|
||||||
|
|
||||||
LLVMTypeOf :: proc(Val: LLVMValueRef) -> LLVMTypeRef ---
|
LLVMTypeOf :: proc(Val: LLVMValueRef) -> LLVMTypeRef ---
|
||||||
|
|
||||||
LLVMAddIncoming :: proc(PhiNode: LLVMValueRef, IncomingValues: [^]LLVMValueRef, IncomingBlocks: [^]LLVMBasicBlockRef, Count: uint) ---
|
LLVMAddIncoming :: proc(PhiNode: LLVMValueRef, IncomingValues: [^]LLVMValueRef, IncomingBlocks: [^]LLVMBasicBlockRef, Count: uint) ---
|
||||||
|
|
||||||
LLVMDisposeBuilder :: proc(Builder: LLVMBuilderRef) ---
|
LLVMDisposeBuilder :: proc(Builder: LLVMBuilderRef) ---
|
||||||
LLVMDisposeModule :: proc(M: LLVMModuleRef) ---
|
LLVMDisposeModule :: proc(M: LLVMModuleRef) ---
|
||||||
LLVMContextDispose :: proc(C: LLVMContextRef) ---
|
LLVMContextDispose :: proc(C: LLVMContextRef) ---
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
- [x] Create a TODO list
|
- [x] Create a TODO list
|
||||||
- [ ] Custom Functions (not external)
|
- [ ] Custom Functions (not external)
|
||||||
- [ ] Add support for function definitions in the type checker
|
- [x] Add support for function definitions in the type checker
|
||||||
- [ ] Add support for function definitions in the LLVM emitter
|
- [ ] Add support for function definitions in the LLVM emitter
|
||||||
- [ ] Structures
|
- [ ] Structures
|
||||||
- [ ] Add support for packed in the parser
|
- [ ] Add support for packed in the parser
|
||||||
|
Loading…
x
Reference in New Issue
Block a user