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