On Tue, Jan 27, 2009 at 11:29 AM, Paolo Bonzini <bonz...@gnu.org> wrote: > >>> However, -fno-delete-null-pointer-checks will do. >> >> Not for PTA though ;) > > Care to expand?
PTA tracks points-to-NULL separately (as pointing to "nothing"). See /* x = integer is all glommed to a single variable, which doesn't point to anything by itself. That is, of course, unless it is an integer constant being treated as a pointer, in which case, we will return that this is really the addressof anything. This happens below, since it will fall into the default case. The only case we know something about an integer treated like a pointer is when it is the NULL pointer, and then we just say it points to NULL. */ if (TREE_CODE (t) == INTEGER_CST && integer_zerop (t)) { temp.var = nothing_id; temp.type = ADDRESSOF; temp.offset = 0; VEC_safe_push (ce_s, heap, *results, &temp); return; } this probably should be conditional on -fdelete-null-pointer-checks. Otherwise *NULL and *anything won't alias. Richard. > Paolo >