http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50262
--- Comment #2 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-09-29 12:35:32 UTC --- Not disambiguated because the HEAP tag of q escapes and thus the points-to set of q has vars_contains_global set, which then aliases with p which just has nonlocal set. We'd probably need a vars_contains_nonlocal and vars_contains_escaped to distinguish the flow-sensitivity of nonlocal vs. escaped also in the generated points-to info.