[llvm-commits] [llvm-gcc-4.2] r40770 - /llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp
Anton Korobeynikov
asl at math.spbu.ru
Thu Aug 2 17:05:05 PDT 2007
Author: asl
Date: Thu Aug 2 19:05:05 2007
New Revision: 40770
URL: http://llvm.org/viewvc/llvm-project?rev=40770&view=rev
Log:
Another CONSTRUCTOR-related fix
Modified:
llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp
Modified: llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp?rev=40770&r1=40769&r2=40770&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp (original)
+++ llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp Thu Aug 2 19:05:05 2007
@@ -5777,7 +5777,11 @@
}
Constant *TreeConstantToLLVM::ConvertCONSTRUCTOR(tree exp) {
- if (CONSTRUCTOR_ELTS(exp) == 0) // All zeros?
+ // Please note, that we can have empty ctor, even if array is non-trivial (has
+ // nonzero number of entries). This situation is typical for static ctors,
+ // when array is filled during program initialization.
+ if (CONSTRUCTOR_ELTS(exp) == 0 ||
+ VEC_length(constructor_elt, CONSTRUCTOR_ELTS(exp)) == 0) // All zeros?
return Constant::getNullValue(ConvertType(TREE_TYPE(exp)));
switch (TREE_CODE(TREE_TYPE(exp))) {
More information about the llvm-commits
mailing list