There's several things in "stdhdr.h" that code like this really should not be doing. First and foremost, you should never #define anything with two leading underscores, because they're officially reseverded to the implementation by the ISO C Standard. I.e. names like __OFF_FMTu__
and __WORDSIZE
are off-limits. If you overwrite them, you earn undefined behaviour.
I strongly suspect that the remaining problems with -Wformat warnings in the source are caused by this.
So please consider dropping all these forbidden names from "stdhdr.h". They're not really needed anyway: all the macros actually used by the source are clean-named copies of the forbidden ones, anyway, so the detour through forbidden country doesn't gain you anything but extra problems. You could just define them with their final names directly.
A prototype patch is attached. For me on Cygwin64, it does appear to fix the OFF_FMTu
warning of bug #291
Anonymous