https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90345
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2019-05-06 Ever confirmed|0 |1 --- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> --- Actually GCC knows this but 'carry' escapes here: if (carry) { a.push_back(carry); //a.push_back(uint32_t(carry)); } and thus a _can_ point to it since points-to analysis isn't flow-sensitive. An old "imperfect" idea is to virtually "outline" the function body at SESE region boundaries to make points-to analysis somewhat flow-sensitive (not actually at BB boundaries because we do not want to consider backedges here).