https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108644
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- The lto-plugin warnings are not a GCC issue really. ../../../gcc/lto-plugin/lto-plugin.c:501:19: warning: 'I' flag used with '%x' gnu_printf format [-Wformat=] Those are done correctly and using the right arguments and all. The issue is rather how PRI_LL is defined but fprintf specifies gnu_printf rather than win32_printf format .... Where is PRI_LL definition coming from? Please provide the preprocessed source (and add -g3 to keep the #define's in there). I suspect there is a bug in mingw's stdint.h in some cases ... This one looks like a mising '()': ../../../gcc/gcc/ira-conflicts.cc:153:25: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'long long unsigned int' [-Wformat=] 153 | "+++Allocating %ld bytes for conflict table (uncompressed size %ld)\n", | ~~^ | | | long int | %lld 154 | (long) allocated_words_num * sizeof (IRA_INT_TYPE), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | long long unsigned int Maybe it should have been `(long) (allocated_words_num * sizeof (IRA_INT_TYPE))` Likewise for the next one: 155 | (long) object_set_words * ira_objects_num * sizeof (IRA_INT_TYPE)); Should have been `(long)(object_set_words * ira_objects_num * sizeof (IRA_INT_TYPE))`