Mercurial > projects > ldc
diff tools/binding/llvm/c/Core.d @ 1274:4ff9ab0d472c
Check in some old changes to the binding, from before I had commit access.
- Add bindings for InsertValue and ExtractValue
- Updates to use new APIs where they were renamed or removed.
- Add generic error messages if LLVM didn't provide one.
- Enable typesafe variadic arguments for GetGEP.
author | Frits van Bommel <fvbommel wxs.nl> |
---|---|
date | Mon, 27 Apr 2009 22:34:36 +0200 |
parents | 1ba61de8796b |
children | 29b0f2d11c92 |
line wrap: on
line diff
--- a/tools/binding/llvm/c/Core.d Mon Apr 27 22:33:17 2009 +0200 +++ b/tools/binding/llvm/c/Core.d Mon Apr 27 22:34:36 2009 +0200 @@ -1,4 +1,5 @@ // Converted to the D programming language by Tomas Lindquist Olsen 2008 +// and Frits van Bommel 2008 // Original file header: /*===-- llvm-c/Core.h - Core Library C Interface ------------------*- C -*-===*\ |* *| @@ -222,7 +223,6 @@ */ LLVMTypeKind LLVMGetTypeKind(LLVMTypeRef Ty); -void LLVMRefineAbstractType(LLVMTypeRef AbstractType, LLVMTypeRef ConcreteType); /* Operations on integer types */ LLVMTypeRef LLVMInt1Type(); @@ -371,6 +371,11 @@ LLVMValueRef LLVMConstShuffleVector(LLVMValueRef VectorAConstant, LLVMValueRef VectorBConstant, LLVMValueRef MaskConstant); +LLVMValueRef LLVMConstExtractValue(LLVMValueRef AggConstant, uint *IdxList, + uint NumIdx); +LLVMValueRef LLVMConstInsertValue(LLVMValueRef AggConstant, + LLVMValueRef ElementValueConstant, + uint *IdxList, uint NumIdx); /* Operations on global variables, functions, and aliases (globals) */ LLVMModuleRef LLVMGetGlobalParent(LLVMValueRef Global); @@ -392,7 +397,6 @@ LLVMValueRef LLVMGetNextGlobal(LLVMValueRef GlobalVar); LLVMValueRef LLVMGetPreviousGlobal(LLVMValueRef GlobalVar); void LLVMDeleteGlobal(LLVMValueRef GlobalVar); -int LLVMHasInitializer(LLVMValueRef GlobalVar); LLVMValueRef LLVMGetInitializer(LLVMValueRef GlobalVar); void LLVMSetInitializer(LLVMValueRef GlobalVar, LLVMValueRef ConstantVal); int LLVMIsThreadLocal(LLVMValueRef GlobalVar); @@ -412,8 +416,8 @@ uint LLVMGetIntrinsicID(LLVMValueRef Fn); uint LLVMGetFunctionCallConv(LLVMValueRef Fn); void LLVMSetFunctionCallConv(LLVMValueRef Fn, uint CC); -/*const*/ char *LLVMGetCollector(LLVMValueRef Fn); -void LLVMSetCollector(LLVMValueRef Fn, /*const*/ char *Coll); +/*const*/ char *LLVMGetGC(LLVMValueRef Fn); +void LLVMSetGC(LLVMValueRef Fn, /*const*/ char *Name); /* Operations on parameters */ uint LLVMCountParams(LLVMValueRef Fn); @@ -604,6 +608,11 @@ LLVMValueRef LLVMBuildShuffleVector(LLVMBuilderRef, LLVMValueRef V1, LLVMValueRef V2, LLVMValueRef Mask, /*const*/ char *Name); +LLVMValueRef LLVMBuildExtractValue(LLVMBuilderRef, LLVMValueRef AggVal, + uint Index, /*const*/ char *Name); +LLVMValueRef LLVMBuildInsertValue(LLVMBuilderRef, LLVMValueRef AggVal, + LLVMValueRef EltVal, uint Index, + /*const*/ char *Name); /*===-- Module providers --------------------------------------------------===*/