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 | 784ad24bad4764ba99b68f6eaf7eda83be6c97ce (patch) | |
| tree | 8c32df782a31f099f6a4b554809b7751fdb8562c /llvm/lib/VMCore | |
| parent | 9c61809c2369d78ddf118295229b69cf8bef050f (diff) | |
| download | bcm5719-llvm-784ad24bad4764ba99b68f6eaf7eda83be6c97ce.tar.gz bcm5719-llvm-784ad24bad4764ba99b68f6eaf7eda83be6c97ce.zip | |
Add LLVMConstNamedStruct to the C api to let its users create constants
of named struct types.
llvm-svn: 135178
Diffstat (limited to 'llvm/lib/VMCore')
| -rw-r--r-- | llvm/lib/VMCore/Core.cpp | 10 | 
1 files changed, 10 insertions, 0 deletions
| diff --git a/llvm/lib/VMCore/Core.cpp b/llvm/lib/VMCore/Core.cpp index b59f6c78c52..f5bec303a4e 100644 --- a/llvm/lib/VMCore/Core.cpp +++ b/llvm/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))); | 

