Move the declaration SetInformationJobObject() outside of namespace.
authorNAKAMURA Takumi <geek4civic@gmail.com>
Fri, 17 Sep 2010 11:14:18 +0000 (11:14 +0000)
committerNAKAMURA Takumi <geek4civic@gmail.com>
Fri, 17 Sep 2010 11:14:18 +0000 (11:14 +0000)
It is also workaround for PR7927.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114175 91177308-0d34-0410-b5e6-96231b3b80d8

lib/System/Win32/Program.inc

index 16bb28e17a21fc75cf8bcdea8f4e69bc0731734b..ea1b5a6a069b5989564101e66eb96d52bc2d0073 100644 (file)
 //===          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) {