diff options
author | Gordon Henriksen <gordonhenriksen@mac.com> | 2007-10-07 00:13:35 +0000 |
---|---|---|
committer | Gordon Henriksen <gordonhenriksen@mac.com> | 2007-10-07 00:13:35 +0000 |
commit | 0a38ee31bfb08104eb6fc763b67ded44b01266f8 (patch) | |
tree | de2716f4caa6d2d7296465c0c0750b507a959648 /include | |
parent | 3ed72368453d39942c9a3e0f41242485d9f3cfdf (diff) | |
download | external_llvm-0a38ee31bfb08104eb6fc763b67ded44b01266f8.zip external_llvm-0a38ee31bfb08104eb6fc763b67ded44b01266f8.tar.gz external_llvm-0a38ee31bfb08104eb6fc763b67ded44b01266f8.tar.bz2 |
C and Objective Caml bindings for PATypeHolder.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42713 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm-c/Core.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/include/llvm-c/Core.h b/include/llvm-c/Core.h index d839e0c..ee1f69f 100644 --- a/include/llvm-c/Core.h +++ b/include/llvm-c/Core.h @@ -47,6 +47,7 @@ extern "C" { /* Opaque types. */ typedef struct LLVMOpaqueModule *LLVMModuleRef; typedef struct LLVMOpaqueType *LLVMTypeRef; +typedef struct LLVMOpaqueTypeHandle *LLVMTypeHandleRef; typedef struct LLVMOpaqueValue *LLVMValueRef; typedef struct LLVMOpaqueBasicBlock *LLVMBasicBlockRef; typedef struct LLVMOpaqueBuilder *LLVMBuilderRef; @@ -204,6 +205,12 @@ LLVMTypeRef LLVMVoidType(); LLVMTypeRef LLVMLabelType(); LLVMTypeRef LLVMOpaqueType(); +/* Operations on type handles */ +LLVMTypeHandleRef LLVMCreateTypeHandle(LLVMTypeRef PotentiallyAbstractTy); +void LLVMRefineType(LLVMTypeRef AbstractTy, LLVMTypeRef ConcreteTy); +LLVMTypeRef LLVMResolveTypeHandle(LLVMTypeHandleRef TypeHandle); +void LLVMDisposeTypeHandle(LLVMTypeHandleRef TypeHandle); + /*===-- Values ------------------------------------------------------------===*/ @@ -558,6 +565,16 @@ namespace llvm { inline LLVMBuilderRef wrap(LLVMBuilder *B) { return reinterpret_cast<LLVMBuilderRef>(B); } + + /* Opaque type handle conversions. + */ + inline PATypeHolder *unwrap(LLVMTypeHandleRef B) { + return reinterpret_cast<PATypeHolder*>(B); + } + + inline LLVMTypeHandleRef wrap(PATypeHolder *B) { + return reinterpret_cast<LLVMTypeHandleRef>(B); + } } #endif /* !defined(__cplusplus) */ |