https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63272
David Binderman <dcb314 at hotmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |dcb314 at hotmail dot com --- Comment #4 from David Binderman <dcb314 at hotmail dot com> --- I can confirm that gcc version 11, some six years later, doesn't implement this warning. Fortunately, the cppcheck static analyser does. Example code: // Dangling pointer void g( int *); void f() { int a; int * p = 0; { int b; p = &b; } g( p); } $ /home/dcb/cppcheck/trunk/cppcheck oct30a.cc oct30a.cc:16:5: error: Using pointer to local variable 'b' that is out of scope. [invalidLifetime] g( p); ^ oct30a.cc:14:7: note: Address of variable taken here. p = &b; ^ oct30a.cc:12:7: note: Variable created here. int b; ^ oct30a.cc:16:5: note: Using pointer to local variable 'b' that is out of scope. g( p); ^