Change MemRegion extent type to be the same type used
for array indices.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122468 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/GR/MemRegion.cpp b/lib/GR/MemRegion.cpp
index 1ae9ccf..fd8ab6a 100644
--- a/lib/GR/MemRegion.cpp
+++ b/lib/GR/MemRegion.cpp
@@ -186,9 +186,9 @@
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 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 {