On 30/01/11 22:14, Blue Swirl wrote:
Well, mine doesn't. The change was introduced in mingw-runtime 3.15, which was released in September 2008, but Debian still hasn't updated from 3.13. Maybe other distros are not so lagging and someone who wishes to build QEMU on Windows is not pampered with distro support for MinGW anyway. Perhaps a configure time check should be added?
FWIW anyone using MingW now should be using the new GCC 4.5 based builds with the associated runtime rather than anything that old. I suspect most people using MingW for anything serious will be doing this already.
I think adding the configure check would be the best solution here.
QEMU defines __USE_MINGW_ANSI_STDIO, and __mingw_vfprintf understands C9x standard length specifiers.
BTW, MinGW FAQ page http://www.mingw.org/wiki/FAQ still mentions that %ll formats are not supported.
Since MingW uses the MSVCRT then by default it won't accept %ll, but my understanding is that Stefan is correct, i.e. defining __USE_MINGW_ANSI_STDIO causes MingW to use an internal standards-compliant implementation instead of the in-built MSVCRT version that *does* understand these extras.
HTH, Mark. -- Mark Cave-Ayland - Senior Technical Architect PostgreSQL - PostGIS Sirius Corporation plc - control through freedom http://www.siriusit.co.uk t: +44 870 608 0063 Sirius Labs: http://www.siriusit.co.uk/labs