summaryrefslogtreecommitdiff
path: root/lib/VMCore/Core.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2011-07-14 05:53:17 +0000
committerChris Lattner <sabre@nondot.org>2011-07-14 05:53:17 +0000
commitd91aa14075d5c4c093ed1a84ea4b5397ce5f6eb4 (patch)
tree4989d5dde177efca1e5ad9e6e0df53ade3bc7c90 /lib/VMCore/Core.cpp
parent672b93a3324cc1da6d374eed4c75c050a9cad7be (diff)
downloadllvm-d91aa14075d5c4c093ed1a84ea4b5397ce5f6eb4.tar.gz
llvm-d91aa14075d5c4c093ed1a84ea4b5397ce5f6eb4.tar.bz2
llvm-d91aa14075d5c4c093ed1a84ea4b5397ce5f6eb4.tar.xz
add C api for hte new type system rewrite API. Patch by Vitaly Lugovskiy!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135132 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/VMCore/Core.cpp')
-rw-r--r--lib/VMCore/Core.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/VMCore/Core.cpp b/lib/VMCore/Core.cpp
index 1df74de36b..da7ac42e03 100644
--- a/lib/VMCore/Core.cpp
+++ b/lib/VMCore/Core.cpp
@@ -304,6 +304,19 @@ LLVMTypeRef LLVMStructType(LLVMTypeRef *ElementTypes,
ElementCount, Packed);
}
+LLVMTypeRef LLVMStructCreateNamed(LLVMContextRef C, const char *Name)
+{
+ return wrap(StructType::createNamed(*unwrap(C), Name));
+}
+
+void LLVMStructSetBody(LLVMTypeRef StructTy, LLVMTypeRef *ElementTypes,
+ unsigned ElementCount, LLVMBool Packed) {
+ std::vector<Type*> Tys;
+ for (LLVMTypeRef *I = ElementTypes,
+ *E = ElementTypes + ElementCount; I != E; ++I)
+ Tys.push_back(unwrap(*I));
+ unwrap<StructType>(StructTy)->setBody(Tys, Packed != 0);
+}
unsigned LLVMCountStructElementTypes(LLVMTypeRef StructTy) {
return unwrap<StructType>(StructTy)->getNumElements();