https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64972
--- Comment #5 from Rainer Emrich <rai...@emrich-ebersheim.de> --- (In reply to Jakub Jelinek from comment #4) > 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. Index: target.c =================================================================== --- target.c (Revision 221607) +++ target.c (Arbeitskopie) @@ -439,8 +439,8 @@ gomp_map_vars (struct gomp_device_descr was missing. */ size_t size = k->host_end - k->host_start; gomp_fatal ("present clause: !acc_is_present (%p, " - "%zd (0x%zx))", (void *) k->host_start, - size, size); + "%ld (0x%lx))", (void *) k->host_start, + (unsigned long) size, (unsigned long) size); } break; case GOMP_MAP_FORCE_DEVICEPTR: Something like this? At least that builds on x86_64-w64-mingw32. But there is another issue with formatters in oacc-parallel.c. Shall I append to this bug or open a new one?