On Tue, Apr 13, 2004 at 18:15:25 +0400, Nikita V. Youshchenko wrote: > It's a bug in the code, not in the compiler. Compiler can't do any > type-checking for variable argument functions. > > Well, gcc has some logic implemented specially for printf and company, > maybe it should be fixed.
When I add a line printf("%f\n", 0); I do get a warning with -Wall: test.cc: In function `int main()': test.cc:6: warning: double format, different type arg (arg 2) Similarly, /usr/include/stdio.h specifies __printf__ attributes [*] for functions like snprintf, vsnprintf, vasprintf, asprintf, vdprintf and dprintf. It does not do so for vfprintf. This looks like a bug in libc6-dev. Ray [*] See http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html -- UNFAIR Term applied to advantages enjoyed by other people which we tried to cheat them out of and didn't manage. See also DISHONESTY, SNEAKY, UNDERHAND and JUST LUCKY I GUESS. - The Hipcrime Vocab by Chad C. Mulligan