Change MemRegion extent type to be the same type used

for array indices.

llvm-svn: 122468
This commit is contained in:
Ted Kremenek 2010-12-23 02:42:36 +00:00
parent c9b76e4b6e
commit 0dfe4b7a46
1 changed files with 5 additions and 5 deletions

View File

@ -186,9 +186,9 @@ DefinedOrUnknownSVal DeclRegion::getExtent(SValBuilder &svalBuilder) const {
if (isa<IncompleteArrayType>(T))
return UnknownVal();
CharUnits Size = Ctx.getTypeSizeInChars(T);
QualType SizeTy = Ctx.getSizeType();
return svalBuilder.makeIntVal(Size.getQuantity(), SizeTy);
CharUnits size = Ctx.getTypeSizeInChars(T);
QualType sizeTy = svalBuilder.getArrayIndexType();
return svalBuilder.makeIntVal(size.getQuantity(), sizeTy);
}
DefinedOrUnknownSVal FieldRegion::getExtent(SValBuilder &svalBuilder) const {
@ -215,8 +215,8 @@ DefinedOrUnknownSVal SymbolicRegion::getExtent(SValBuilder &svalBuilder) const {
}
DefinedOrUnknownSVal StringRegion::getExtent(SValBuilder &svalBuilder) const {
QualType SizeTy = svalBuilder.getContext().getSizeType();
return svalBuilder.makeIntVal(getStringLiteral()->getByteLength()+1, SizeTy);
return svalBuilder.makeIntVal(getStringLiteral()->getByteLength()+1,
svalBuilder.getArrayIndexType());
}
QualType CXXBaseObjectRegion::getValueType() const {