--- gcc-8.5.0/libgfortran/intrinsics/chmod.c.orig 2021-05-14 10:42:10.000000000 +0200 +++ gcc-8.5.0/libgfortran/intrinsics/chmod.c 2022-02-16 06:22:37.688407716 +0100 @@ -28,6 +28,9 @@ see the files COPYING3 and COPYING.RUNTI #if defined(HAVE_SYS_STAT_H) #include /* For stat, chmod and umask. */ +#ifdef __MINGW32__ +#include +#endif /* INTEGER FUNCTION CHMOD (NAME, MODE) --- gcc-8.5.0/libstdc++-v3/libsupc++/new_opa.cc.orig 2022-02-16 06:33:02.466274733 +0100 +++ gcc-8.5.0/libstdc++-v3/libsupc++/new_opa.cc 2022-02-16 06:24:22.683854869 +0100 @@ -28,10 +28,13 @@ #include #include "new" -#if !_GLIBCXX_HAVE_ALIGNED_ALLOC && !_GLIBCXX_HAVE__ALIGNED_MALLOC \ - && !_GLIBCXX_HAVE_POSIX_MEMALIGN && _GLIBCXX_HAVE_MEMALIGN +#if !_GLIBCXX_HAVE_ALIGNED_ALLOC && (!_GLIBCXX_HAVE__ALIGNED_MALLOC || defined(__MINGW32__)) \ + && !_GLIBCXX_HAVE_POSIX_MEMALIGN && (_GLIBCXX_HAVE_MEMALIGN || defined(__MINGW32__)) # if _GLIBCXX_HOSTED && __has_include() // Some C libraries declare memalign in +# ifdef __MINGW32__ +# define __MSVCRT_VERSION__ 0x0700 +# endif # include # else extern "C" void *memalign(std::size_t boundary, std::size_t size); --- gcc-7.5.0/libstdc++-v3/libsupc++/del_opa.cc.orig 2017-01-26 15:30:45.014860000 +0100 +++ gcc-7.5.0/libstdc++-v3/libsupc++/del_opa.cc 2019-12-26 09:41:01.210155799 +0100 @@ -40,6 +40,16 @@ #include "new" +#if !_GLIBCXX_HAVE_ALIGNED_ALLOC && (!_GLIBCXX_HAVE__ALIGNED_MALLOC || defined(__MINGW32__)) \ + && !_GLIBCXX_HAVE_POSIX_MEMALIGN && (_GLIBCXX_HAVE_MEMALIGN || defined(__MINGW32__)) +# if _GLIBCXX_HOSTED && __has_include() +# ifdef __MINGW32__ +# define __MSVCRT_VERSION__ 0x0700 +# endif +# include +# endif +#endif + // The sized deletes are defined in other files. #pragma GCC diagnostic ignored "-Wsized-deallocation"