https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64972
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> --- And the suggested fix is just to cast to unsigned long and use %ld or %lx instead of %zd and %zx. I can't test it on these targets, so it is better if somebody with M$ access writes and tests the patch.