> Date: Mon, 11 Sep 2017 23:46:00 +0000 > From: JonY via Mingw-w64-public <mingw-w64-public@lists.sourceforge.net> > Cc: JonY <jo...@users.sourceforge.net> > > > . GCC doesn't recognize the PRIdMAX format spec, defined in > > MinGW64 inntypes.h header as "lld"; > > . GCC doesn't recognize the MS native I64x format spec, either > > > > Therefore, it seems like there's no way of invoking printf to print a > > long long int data type without emitting a warning, and perhaps also > > generating incorrect code. > > > > Does Emacs do anything wrong in these cases? > > > > You'd need to disassemble (or at least check with nm) the > object/function to find out if it's calling __mingw_printf or regular > printf, seems like emacs is using %lld and %I64 in different places.
%lld is used for intmax_t values, %I64d is used for 64-bit values. Are you saying that MinGW64 doesn't support both %lld and %I64d? If so, under which conditions is each one supported? > Check if keyboard.c and print.c is using __USE_MINGW_ANSI_STDIO > consistently. The Emacs config.h defines __USE_MINGW_ANSI_STDIO, and all sources include config.h. So yes, this is used consistently. What is the effect of __USE_MINGW_ANSI_STDIO on format specs recognized by the MinGW64 GCC 7 compiler at compile time? Thanks. ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public