http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60256
Bug ID: 60256 Summary: No -Wuninitialized warning for strcpy Product: gcc Version: 4.9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: chengniansun at gmail dot com The pointer "s" is uninitialized, but used in the later call to strcpy. $: cat s.c #include<string.h> void f(void) { char* s; strcpy(s, s); } $: gcc-trunk -Wuninitialized s.c -c $: clang-trunk -Wuninitialized s.c -c s.c:4:10: warning: variable 's' is uninitialized when used here [-Wuninitialized] strcpy(s, s); ^ s.c:3:10: note: initialize the variable 's' to silence this warning char* s; ^ = NULL 1 warning generated. $: gcc-trunk --version gcc-trunk (GCC) 4.9.0 20140217 (experimental) Copyright (C) 2014 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.