http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54582
--- Comment #9 from Jakub Jelinek <jakub at gcc dot gnu.org> 2013-02-06 13:46:05 UTC --- 1) this is -D_FORTIFY_SOURCE warning, you can invent other warnings elsewhere 2) with -D_FORTIFY_SOURCE, e.g. sprintf is an inline function, so the FE sees it as a call to an inline function with some argument, you need to inline it, figure out what the inline does, then fold the builtins used in the inline. Also consider char buf[2]; char *p; p = buf; sprintf(buf, "ab%d", n); Unless you move the optimization passes into the FE, you aren't going to warn about this properly in the FE. Insisting on a FE warning in this case is just dumb.