diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2011-07-14 19:09:08 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2011-07-14 19:09:08 +0000 |
commit | 64090bd2d468ec70b9644bdf492684dd278de8a7 (patch) | |
tree | 8b6a7d2c3d05a51ace8b5c37941e0d7ee5e5d9d9 /lib/VMCore | |
parent | 939f616e635e6d94ccf4baaf18682466e9a06d6d (diff) | |
download | external_llvm-64090bd2d468ec70b9644bdf492684dd278de8a7.zip external_llvm-64090bd2d468ec70b9644bdf492684dd278de8a7.tar.gz external_llvm-64090bd2d468ec70b9644bdf492684dd278de8a7.tar.bz2 |
Add LLVMConstNamedStruct to the C api to let its users create constants
of named struct types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135178 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/VMCore')
-rw-r--r-- | lib/VMCore/Core.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/VMCore/Core.cpp b/lib/VMCore/Core.cpp index b59f6c7..f5bec30 100644 --- a/lib/VMCore/Core.cpp +++ b/lib/VMCore/Core.cpp @@ -595,6 +595,16 @@ LLVMValueRef LLVMConstStruct(LLVMValueRef *ConstantVals, unsigned Count, return LLVMConstStructInContext(LLVMGetGlobalContext(), ConstantVals, Count, Packed); } + +LLVMValueRef LLVMConstNamedStruct(LLVMTypeRef StructTy, + LLVMValueRef *ConstantVals, + unsigned Count) { + Constant **Elements = unwrap<Constant>(ConstantVals, Count); + const StructType *Ty = cast<StructType>(unwrap(StructTy)); + + return wrap(ConstantStruct::get(Ty, ArrayRef<Constant*>(Elements, Count))); +} + LLVMValueRef LLVMConstVector(LLVMValueRef *ScalarConstantVals, unsigned Size) { return wrap(ConstantVector::get(ArrayRef<Constant*>( unwrap<Constant>(ScalarConstantVals, Size), Size))); |