<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Feb 2, 2015 at 10:55 AM, Ahmed Bougacha <span dir="ltr"><<a href="mailto:ahmed.bougacha@gmail.com" target="_blank">ahmed.bougacha@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>Ah yes, the structs are what make it messy.</div><div><br></div><div>How about the more useful constraint:<br></div><div>- the (identical) base must point to a (possibly multidimensional) array of structs.</div><div><br></div><div>Then, the above holds, no?  No matter which path you take, you must point to a one of the contiguous structs, and if the index is different then the pointers can't alias.</div></blockquote><div><br></div><div>I don't really know what you're proposing. However, note that I can nest arrays inside of structs and wrap structs in arrays, so I think I can essentially almost always arrange to have arrays which I can overflow to produce aliasing offsets.</div><div><br></div><div>What are you really trying to achieve here? Why is just modeling the math not sufficient here? </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><br></div><div>Anyway, the help is much appreciated, thanks Chandler & Hal!</div></blockquote></div><br><br></div></div>