diff --git a/include/llvm-c/Core.h b/include/llvm-c/Core.h index e3dce581eec..fc33ab7f824 100644 --- a/include/llvm-c/Core.h +++ b/include/llvm-c/Core.h @@ -394,6 +394,9 @@ void LLVMStructSetBody(LLVMTypeRef StructTy, LLVMTypeRef *ElementTypes, unsigned LLVMCountStructElementTypes(LLVMTypeRef StructTy); void LLVMGetStructElementTypes(LLVMTypeRef StructTy, LLVMTypeRef *Dest); LLVMBool LLVMIsPackedStruct(LLVMTypeRef StructTy); +LLVMBool LLVMIsOpaqueStruct(LLVMTypeRef StructTy); + +LLVMTypeRef LLVMGetTypeByName(LLVMModuleRef M, const char *Name); /* Operations on array, pointer, and vector types (sequence types) */ LLVMTypeRef LLVMArrayType(LLVMTypeRef ElementType, unsigned ElementCount); diff --git a/lib/VMCore/Core.cpp b/lib/VMCore/Core.cpp index 51d12eb8f93..b59f6c78c52 100644 --- a/lib/VMCore/Core.cpp +++ b/lib/VMCore/Core.cpp @@ -323,6 +323,14 @@ LLVMBool LLVMIsPackedStruct(LLVMTypeRef StructTy) { return unwrap(StructTy)->isPacked(); } +LLVMBool LLVMIsOpaqueStruct(LLVMTypeRef StructTy) { + return unwrap(StructTy)->isOpaque(); +} + +LLVMTypeRef LLVMGetTypeByName(LLVMModuleRef M, const char *Name) { + return wrap(unwrap(M)->getTypeByName(Name)); +} + /*--.. Operations on array, pointer, and vector types (sequence types) .....--*/ LLVMTypeRef LLVMArrayType(LLVMTypeRef ElementType, unsigned ElementCount) {