> I can see the following warnings during mingw32 build.
>
> gc.c: In function 'gc_profile_result':
> gc.c:3581:4: warning: unknown conversion type character 'z' in format
> gc.c:3581:4: warning: unknown conversion type character 'z' in format
> gc.c:3581:4: warning: unknown conversion type character 'z' in format
> gc.c:3581:4: warning: format '%30.20f' expects type 'double', but argument 5 has type 'unsigned int'
> gc.c:3581:4: warning: too many arguments for format

Where does 'z' come from?


> And I know these warnings are completely meaningless because Ruby uses it's own BSD_vfprintf implementaion.
>
> Here is a patch of include/ruby/ruby.h for suppressing format warnings on mingw32

Your analysis doesn't have why mingw makes such annoying warnings.
And, in fact, 99% printf don't make such annoying warnings. So, it's
no good idea blindly suppressing.