--- gcc-5.4.0/libgfortran/intrinsics/chmod.c.orig 2016-12-18 10:38:13.034904609 +0100 +++ gcc-5.4.0/libgfortran/intrinsics/chmod.c 2016-12-18 10:38:15.398237920 +0100 @@ -30,6 +30,9 @@ #include /* For memcpy. */ #include /* For free. */ #include /* For stat, chmod and umask. */ +#ifdef __MINGW32__ +#include +#endif /* INTEGER FUNCTION CHMOD (NAME, MODE) --- gcc-7.5.0/libstdc++-v3/libsupc++/new_opa.cc.orig 2019-10-24 17:31:00.754226000 +0200 +++ gcc-7.5.0/libstdc++-v3/libsupc++/new_opa.cc 2019-12-26 09:33:51.155818937 +0100 @@ -29,10 +29,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"