Hi Eric,
after looking into this deeper, it (happily) appears that I
may have been mistaken. It looks like the gnulib vasprintf module
_already_ performs printf parsing on mingw; and that as a virtue of that
printf parsing, %zu and %llu are already rewritten into modifiers
understood by mingw.
And if this were not the case, I would recommend to you to use
#include <inttypes.h>
printf ("%" PRIuPTR, (uintptr_t) size_t_value);
with the gnulib module 'inttypes' (LGPLv2+).
If someone insists on a guarantee that
printf ("%zu", size_t_value);
works, he needs the 'printf-posix' module, which is not available under
LGPLv2.
I'm reluctant to move all of 'printf-posix', 'fprintf-posix',
'sprintf-posix' to LGPLv2+, including the auxiliary modules
fseterr, isnand-nolibm, isnanl-nolibm, frexp-nolibm, frexpl-nolibm,
printf-frexp, printf-frexpl, signbit, fpucw, because this is a
significant piece of code, and LGPLv3+ has benefits over LGPLv2+ for us.
Bruno