https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66936
--- Comment #13 from Francois-Xavier Coudert <fxcoudert at gcc dot gnu.org> --- (In reply to Steve Kargl from comment #12) > Aren't there enough occurences of __MINGW32__ in io/unix.c? > Why add yet another kludge? Put the #undef at line 48. Indeed, that works equally: Index: io/unix.c =================================================================== --- io/unix.c (revision 226632) +++ io/unix.c (working copy) @@ -101,6 +101,12 @@ id_from_fd (const int fd) } #endif /* HAVE_WORKING_STAT */ + + +/* On mingw, we don't use umask in tempfile_open(), because it + doesn't support the user/group/other-based permissions. */ +#undef HAVE_UMASK + #endif /* __MINGW32__ */