idk what i am commiting lol
This commit is contained in:
parent
ed1491d6dd
commit
10ae992a7b
BIN
LLVM-C.dll
Normal file
BIN
LLVM-C.dll
Normal file
Binary file not shown.
BIN
src/LLVM-C.lib
Normal file
BIN
src/LLVM-C.lib
Normal file
Binary file not shown.
64
src/llvmc.odin
Normal file
64
src/llvmc.odin
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
foreign import llvmc "LLVM-C.lib"
|
||||||
|
|
||||||
|
LLVMBool :: distinct int
|
||||||
|
LLVMMemoryBufferRef :: distinct rawptr
|
||||||
|
LLVMContextRef :: distinct rawptr
|
||||||
|
LLVMModuleRef :: distinct rawptr
|
||||||
|
LLVMTypeRef :: distinct rawptr
|
||||||
|
LLVMValueRef :: distinct rawptr
|
||||||
|
LLVMBasicBlockRef :: distinct rawptr
|
||||||
|
LLVMMetadataRef :: distinct rawptr
|
||||||
|
LLVMNamedMDNodeRef :: distinct rawptr
|
||||||
|
LLVMBuilderRef :: distinct rawptr
|
||||||
|
LLVMDIBuilderRef :: distinct rawptr
|
||||||
|
LLVMModuleProviderRef :: distinct rawptr
|
||||||
|
LLVMPassManagerRef :: distinct rawptr
|
||||||
|
LLVMUseRef :: distinct rawptr
|
||||||
|
LLVMAttributeRef :: distinct rawptr
|
||||||
|
LLVMDiagnosticInfoRef :: distinct rawptr
|
||||||
|
LLVMComdatRef :: distinct rawptr
|
||||||
|
LLVMJITEventListenerRef :: distinct rawptr
|
||||||
|
LLVMBinaryRef :: distinct rawptr
|
||||||
|
|
||||||
|
@(default_calling_convention = "std")
|
||||||
|
foreign llvmc {
|
||||||
|
LLVMContextCreate :: proc() -> LLVMContextRef ---
|
||||||
|
LLVMModuleCreateWithName :: proc(name: cstring) -> LLVMModuleRef ---
|
||||||
|
LLVMModuleCreateWithNameInContext :: proc(name: cstring, C: LLVMContextRef) -> LLVMModuleRef ---
|
||||||
|
|
||||||
|
LLVMCreateBuilderInContext :: proc(C: LLVMContextRef) -> LLVMBuilderRef ---
|
||||||
|
LLVMPositionBuilderAtEnd :: proc(Builder: LLVMBuilderRef, Block: LLVMBasicBlockRef) ---
|
||||||
|
|
||||||
|
LLVMBuildPointerCast :: proc(Builder: LLVMBuilderRef, Val: LLVMValueRef, DestTy: LLVMTypeRef, Name: cstring) -> LLVMValueRef ---
|
||||||
|
LLVMBuildGlobalString :: 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 ---
|
||||||
|
|
||||||
|
LLVMBuildRetVoid :: proc(Builder: LLVMBuilderRef) -> LLVMValueRef ---
|
||||||
|
LLVMBuildRet :: proc(Builder: LLVMBuilderRef, V: LLVMValueRef) -> LLVMValueRef ---
|
||||||
|
|
||||||
|
LLVMInt1TypeInContext :: proc(C: LLVMContextRef) -> LLVMTypeRef ---
|
||||||
|
LLVMInt8TypeInContext :: proc(C: LLVMContextRef) -> LLVMTypeRef ---
|
||||||
|
LLVMInt16TypeInContext :: proc(C: LLVMContextRef) -> LLVMTypeRef ---
|
||||||
|
LLVMInt32TypeInContext :: proc(C: LLVMContextRef) -> LLVMTypeRef ---
|
||||||
|
LLVMInt64TypeInContext :: proc(C: LLVMContextRef) -> LLVMTypeRef ---
|
||||||
|
LLVMIntTypeInContext :: proc(C: LLVMContextRef, n: uint) -> LLVMTypeRef ---
|
||||||
|
|
||||||
|
LLVMPointerType :: proc(ElementType: LLVMTypeRef, AddressSpace: uint) -> LLVMTypeRef ---
|
||||||
|
|
||||||
|
LLVMConstInt :: proc(IntTy: LLVMTypeRef, N: u64, SignExtend: LLVMBool) -> LLVMValueRef ---
|
||||||
|
|
||||||
|
LLVMFunctionType :: proc(ReturnType: LLVMTypeRef, ParamTypes: [^]LLVMTypeRef, ParamCount: uint, IsVarArg: LLVMBool) -> LLVMTypeRef ---
|
||||||
|
LLVMAddFunction :: proc(M: LLVMModuleRef, Name: cstring, FunctionType: LLVMTypeRef) -> LLVMValueRef ---
|
||||||
|
|
||||||
|
LLVMAppendBasicBlockInContext :: proc(C: LLVMContextRef, Fn: LLVMValueRef, Name: cstring) -> LLVMBasicBlockRef ---
|
||||||
|
|
||||||
|
LLVMPrintModuleToFile :: proc(M: LLVMModuleRef, Filename: cstring, ErrorMessage: ^cstring) -> LLVMBool ---
|
||||||
|
|
||||||
|
LLVMDisposeBuilder :: proc(Builder: LLVMBuilderRef) ---
|
||||||
|
LLVMDisposeModule :: proc(M: LLVMModuleRef) ---
|
||||||
|
LLVMContextDispose :: proc(C: LLVMContextRef) ---
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user