diff options
author | George Burgess IV <george.burgess.iv@gmail.com> | 2015-12-11 00:23:35 +0000 |
---|---|---|
committer | George Burgess IV <george.burgess.iv@gmail.com> | 2015-12-11 00:23:35 +0000 |
commit | 533ff009ff210a2068119f0fea32c5bfab76f238 (patch) | |
tree | 78cf194d2ae8d8c19caa58c49c0e2c1b49b6500d /clang/lib/CodeGen/CGExprConstant.cpp | |
parent | 2d4803e81b5460eac39f8833b57104b85f7eb16e (diff) | |
download | llvm-533ff009ff210a2068119f0fea32c5bfab76f238.zip llvm-533ff009ff210a2068119f0fea32c5bfab76f238.tar.gz llvm-533ff009ff210a2068119f0fea32c5bfab76f238.tar.bz2 |
Clean ExprConstant/CGExprConstant up a bit. NFC.
llvm-svn: 255314
Diffstat (limited to 'clang/lib/CodeGen/CGExprConstant.cpp')
-rw-r--r-- | clang/lib/CodeGen/CGExprConstant.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/clang/lib/CodeGen/CGExprConstant.cpp b/clang/lib/CodeGen/CGExprConstant.cpp index bbd04dd..3839ab7 100644 --- a/clang/lib/CodeGen/CGExprConstant.cpp +++ b/clang/lib/CodeGen/CGExprConstant.cpp @@ -1350,15 +1350,17 @@ llvm::Constant *CodeGenModule::EmitConstantValue(const APValue &Value, return llvm::ConstantStruct::get(STy, Complex); } case APValue::Vector: { - SmallVector<llvm::Constant *, 4> Inits; unsigned NumElts = Value.getVectorLength(); + SmallVector<llvm::Constant *, 4> Inits(NumElts); - for (unsigned i = 0; i != NumElts; ++i) { - const APValue &Elt = Value.getVectorElt(i); + for (unsigned I = 0; I != NumElts; ++I) { + const APValue &Elt = Value.getVectorElt(I); if (Elt.isInt()) - Inits.push_back(llvm::ConstantInt::get(VMContext, Elt.getInt())); + Inits[I] = llvm::ConstantInt::get(VMContext, Elt.getInt()); + else if (Elt.isFloat()) + Inits[I] = llvm::ConstantFP::get(VMContext, Elt.getFloat()); else - Inits.push_back(llvm::ConstantFP::get(VMContext, Elt.getFloat())); + llvm_unreachable("unsupported vector element type"); } return llvm::ConstantVector::get(Inits); } |