On Fri, May 25, 2007 at 10:23:00PM +0100, Al Viro wrote: > BINOP[+] > <tree for p> > BINOP[*] > IMPLICIEDT_CAST[ptrdiff_t] > <tree for i> > VAL[sizeof(*p)] > > But that means a fsckload of extra nodes allocated on pretty much any > program - use of arrays is not rare and indices tend to be int, so we > hit an extra allocated node on each such place. Argh... Question: how much do we care if we see BINOP[+] with 64bit type as result and 32bit type in one of the arguments? That's what we get when we have char *p; int i; p + i with -m64. IOW, how much does it violate the assumptions outside of frontend? We do not allocate any new nodes if sizeof(*p) is 1... - To unsubscribe from this list: send the line "unsubscribe linux-sparse" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html