[llvm-commits] [126860] Fix C++Frontend/2007-05-03-VectorInit.cpp and PR1378.
clattner at apple.com
clattner at apple.com
Thu May 3 17:52:00 PDT 2007
Revision: 126860
Author: clattner
Date: 2007-05-03 17:52:00 -0700 (Thu, 03 May 2007)
Log Message:
-----------
Fix C++Frontend/2007-05-03-VectorInit.cpp and PR1378. It isn't
clear whether a VECTOR_CST with no elements is supposed to be undef
or zero. Default to zero for now.
Modified Paths:
--------------
apple-local/branches/llvm/gcc/llvm-convert.cpp
Modified: apple-local/branches/llvm/gcc/llvm-convert.cpp
===================================================================
--- apple-local/branches/llvm/gcc/llvm-convert.cpp 2007-05-04 00:48:51 UTC (rev 126859)
+++ apple-local/branches/llvm/gcc/llvm-convert.cpp 2007-05-04 00:52:00 UTC (rev 126860)
@@ -5189,11 +5189,14 @@
}
Constant *TreeConstantToLLVM::ConvertVECTOR_CST(tree exp) {
- std::vector<Constant*> Elts;
-
- for (tree elt = TREE_VECTOR_CST_ELTS(exp); elt; elt = TREE_CHAIN(elt))
- Elts.push_back(Convert(TREE_VALUE(elt)));
- return ConstantVector::get(Elts);
+ if (TREE_VECTOR_CST_ELTS(exp)) {
+ std::vector<Constant*> Elts;
+ for (tree elt = TREE_VECTOR_CST_ELTS(exp); elt; elt = TREE_CHAIN(elt))
+ Elts.push_back(Convert(TREE_VALUE(elt)));
+ return ConstantVector::get(Elts);
+ } else {
+ return Constant::getNullValue(ConvertType(TREE_TYPE(exp)));
+ }
}
Constant *TreeConstantToLLVM::ConvertSTRING_CST(tree exp) {
More information about the llvm-commits
mailing list