Mercurial > projects > ldc
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 { |