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 {