mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-02-22 13:32:09 +00:00
avoid dividing by zero when dealing with zero sized types (like [0 x double])
llvm-svn: 6862
This commit is contained in:
parent
d013d87cc4
commit
1586e054a6
@ -49,6 +49,7 @@ static bool MallocConvertibleToType(MallocInst *MI, const Type *Ty,
|
||||
|
||||
// Get information about the base datatype being allocated, before & after
|
||||
int ReqTypeSize = TD.getTypeSize(Ty);
|
||||
if (ReqTypeSize == 0) return false;
|
||||
unsigned OldTypeSize = TD.getTypeSize(MI->getType()->getElementType());
|
||||
|
||||
// Must have a scale or offset to analyze it...
|
||||
|
@ -119,6 +119,7 @@ const Type *ConvertibleToGEP(const Type *Ty, Value *OffsetVal,
|
||||
if (!ElTy->isSized() || (isa<PointerType>(CompTy) && !Indices.empty()))
|
||||
return 0; // Type is unreasonable... escape!
|
||||
unsigned ElSize = TD.getTypeSize(ElTy);
|
||||
if (ElSize == 0) return 0; // Avoid division by zero...
|
||||
int64_t ElSizeS = ElSize;
|
||||
|
||||
// See if the user is indexing into a different cell of this array...
|
||||
|
Loading…
x
Reference in New Issue
Block a user