https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107733
--- Comment #3 from Geoffrey <geoffreydgr at icloud dot com> --- (In reply to David Malcolm from comment #2) Thanks for your explanation. It helps a lot. > _It's analyzing "a" twice: as called by main, and as a standalone function._ I am wondering if is there any option for gcc to specify `main` as the only top-level function, i.e., do not let `a` be analyzed standalone. > _deleting the unrelated code ` int *d = 0;` should not affect the result (but > does)_ I am also curious about why deleting ` int *d = 0;` affects the analyzing results. Do you have thoughts on this?