diff --git a/lib/System/Win32/Program.inc b/lib/System/Win32/Program.inc index 16bb28e17a2..ea1b5a6a069 100644 --- a/lib/System/Win32/Program.inc +++ b/lib/System/Win32/Program.inc @@ -22,6 +22,15 @@ //=== and must not be UNIX code //===----------------------------------------------------------------------===// +#ifdef __MINGW32__ +// Ancient mingw32's w32api might not have this declaration. +extern "C" +BOOL WINAPI SetInformationJobObject(HANDLE hJob, + JOBOBJECTINFOCLASS JobObjectInfoClass, + LPVOID lpJobObjectInfo, + DWORD cbJobObjectInfoLength); +#endif + namespace { struct Win32ProcessInfo { HANDLE hProcess; @@ -123,15 +132,6 @@ static HANDLE RedirectIO(const Path *path, int fd, std::string* ErrMsg) { return h; } -#ifdef __MINGW32__ - // Due to unknown reason, mingw32's w32api doesn't have this declaration. - extern "C" - BOOL WINAPI SetInformationJobObject(HANDLE hJob, - JOBOBJECTINFOCLASS JobObjectInfoClass, - LPVOID lpJobObjectInfo, - DWORD cbJobObjectInfoLength); -#endif - /// ArgNeedsQuotes - Check whether argument needs to be quoted when calling /// CreateProcess. static bool ArgNeedsQuotes(const char *Str) {