diff options
| author | Chris Lattner <sabre@nondot.org> | 2011-06-20 04:01:31 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2011-06-20 04:01:31 +0000 |
| commit | cc19efaa97b3e1c2988042d716577831e813fdb9 (patch) | |
| tree | 3edc88953e56373d3c3f53af5360a45cc8da8156 /llvm/lib/VMCore/Core.cpp | |
| parent | 789adbb3ed2dcbf4b8c481a86c3641b240b6425f (diff) | |
| download | bcm5719-llvm-cc19efaa97b3e1c2988042d716577831e813fdb9.tar.gz bcm5719-llvm-cc19efaa97b3e1c2988042d716577831e813fdb9.zip | |
Revamp the "ConstantStruct::get" methods. Previously, these were scattered
all over the place in different styles and variants. Standardize on two
preferred entrypoints: one that takes a StructType and ArrayRef, and one that
takes StructType and varargs.
In cases where there isn't a struct type convenient, we now add a
ConstantStruct::getAnon method (whose name will make more sense after a few
more patches land).
It would be "really really nice" if the ConstantStruct::get and
ConstantVector::get methods didn't make temporary std::vectors.
llvm-svn: 133412
Diffstat (limited to 'llvm/lib/VMCore/Core.cpp')
| -rw-r--r-- | llvm/lib/VMCore/Core.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/llvm/lib/VMCore/Core.cpp b/llvm/lib/VMCore/Core.cpp index 92f944027a7..16ccc7b8938 100644 --- a/llvm/lib/VMCore/Core.cpp +++ b/llvm/lib/VMCore/Core.cpp @@ -612,9 +612,10 @@ LLVMValueRef LLVMConstStringInContext(LLVMContextRef C, const char *Str, LLVMValueRef LLVMConstStructInContext(LLVMContextRef C, LLVMValueRef *ConstantVals, unsigned Count, LLVMBool Packed) { - return wrap(ConstantStruct::get(*unwrap(C), - unwrap<Constant>(ConstantVals, Count), - Count, Packed != 0)); + Constant **Elements = unwrap<Constant>(ConstantVals, Count); + return wrap(ConstantStruct::getAnon(*unwrap(C), + ArrayRef<Constant*>(Elements, Count), + Packed != 0)); } LLVMValueRef LLVMConstString(const char *Str, unsigned Length, |

