http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60434
Tobias Burnus <burnus at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |burnus at gcc dot gnu.org --- Comment #1 from Tobias Burnus <burnus at gcc dot gnu.org> --- On Linux, g++ 4.8 and 4.9 warn, independently of -std=, as follows: test.cc:6:19: warning: format '%f' expects argument of type 'double', but argument 2 has type 'long double' [-Wformat=] test.cc:7:20: warning: format '%lf' expects argument of type 'double', but argument 2 has type 'long double' [-Wformat=] test.cc:13:20: warning: format '%Lf' expects argument of type 'long double', but argument 2 has type 'double' [-Wformat=] That looks sensible to me. Do you get something different on Windows?