<div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
==============================================================================<br>
--- cfe/trunk/lib/Analysis/MemRegion.cpp (original)<br>
+++ cfe/trunk/lib/Analysis/MemRegion.cpp Thu Jan 29 18:08:43 2009<br>
@@ -114,8 +114,9 @@<br>
   if (ArrayType* AT = dyn_cast<ArrayType>(T.getTypePtr()))<br>
     return AT->getElementType();<br>
<br>
-  PointerType* PtrT = cast<PointerType>(T.getTypePtr());<br>
-  return C.getCanonicalType(PtrT->getPointeeType());<br>
+  // If the RValueType of the array region isn't an ArrayType, then essentially<br>
+  // the element's<br>
+  return T;<br>
 }<br>
</blockquote><div><br>Hi Ted,<br><br>This perhaps does not work for code like:<br><br>char* p = (char*) alloca(4);<br>char* c = p[1];<br><br>The array region of element region p[1] is an AnonTypedRegion, whose type is 'pointer to char'.<br>
 </div></div><br>