comparison gen/statements.cpp @ 200:e937752e4541 trunk

[svn r216] don't crash on foreach over zero-length static array
author ChristianK
date Mon, 12 May 2008 22:27:05 +0200
parents bfcb657756f6
children 8f9191180c7a
comparison
equal deleted inserted replaced
199:ba47ac346ddd 200:e937752e4541
864 val = aggrval->getRVal(); 864 val = aggrval->getRVal();
865 assert(isaPointer(val->getType())); 865 assert(isaPointer(val->getType()));
866 const llvm::ArrayType* arrty = isaArray(val->getType()->getContainedType(0)); 866 const llvm::ArrayType* arrty = isaArray(val->getType()->getContainedType(0));
867 assert(arrty); 867 assert(arrty);
868 size_t nelems = arrty->getNumElements(); 868 size_t nelems = arrty->getNumElements();
869 assert(nelems > 0); 869 if(nelems == 0)
870 return;
870 niters = llvm::ConstantInt::get(keytype,nelems,false); 871 niters = llvm::ConstantInt::get(keytype,nelems,false);
871 } 872 }
872 // dynamic array 873 // dynamic array
873 else if (aggrtype->ty == Tarray) 874 else if (aggrtype->ty == Tarray)
874 { 875 {