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 | ffb4876cfbb53f36fbb2d4deea299c2838257ea3 (patch) | |
tree | 7a888c94efdd49269350675798f82e2b6f49801d /llvm/include/llvm-c/Core.h | |
parent | efc0b5e3725590ca83cedbb1906c6b18881252b5 (diff) | |
download | bcm5719-llvm-ffb4876cfbb53f36fbb2d4deea299c2838257ea3.tar.gz bcm5719-llvm-ffb4876cfbb53f36fbb2d4deea299c2838257ea3.zip |
C and Objective Caml bindings for PATypeHolder.
llvm-svn: 42713
Diffstat (limited to 'llvm/include/llvm-c/Core.h')
-rw-r--r-- | llvm/include/llvm-c/Core.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/llvm/include/llvm-c/Core.h b/llvm/include/llvm-c/Core.h index d839e0c9cf5..ee1f69f6111 100644 --- a/llvm/include/llvm-c/Core.h +++ b/llvm/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) */ |