Changes to make libSupport build on systems that don't have the wait syscall.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13806 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Support/SystemUtils.cpp b/lib/Support/SystemUtils.cpp
index a39c5ab..398096a 100644
--- a/lib/Support/SystemUtils.cpp
+++ b/lib/Support/SystemUtils.cpp
@@ -134,6 +134,7 @@
                                 const std::string &StdErrFile) {
   // FIXME: install sigalarm handler here for timeout...
 
+#ifdef HAVE_SYS_WAIT_H
   int Child = fork();
   switch (Child) {
   case -1:
@@ -179,6 +180,11 @@
     exit(1);
   }
   return Status;
+
+#else
+  std::cerr << "RunProgramWithTimeout not implemented on this platform!\n";
+  return -1;
+#endif
 }
 
 
@@ -220,12 +226,7 @@
 //
 int llvm::ExecWait(const char * const old_argv[],
                    const char * const old_envp[]) {
-  // Child process ID
-  register int child;
-
-  // Status from child process when it exits
-  int status;
- 
+#ifdef HAVE_SYS_WAIT_H
   //
   // Create local versions of the parameters that can be passed into execve()
   // without creating const problems.
@@ -233,56 +234,37 @@
   char ** const argv = (char ** const) old_argv;
   char ** const envp = (char ** const) old_envp;
 
-  //
   // Create a child process.
-  //
-  switch (child=fork())
-  {
-    //
+  switch (fork()) {
     // An error occured:  Return to the caller.
-    //
     case -1:
       return 1;
       break;
 
-    //
     // Child process: Execute the program.
-    //
     case 0:
       execve (argv[0], argv, envp);
-
-      //
       // If the execve() failed, we should exit and let the parent pick up
       // our non-zero exit status.
-      //
       exit (1);
-      break;
 
-    //
     // Parent process: Break out of the switch to do our processing.
-    //
     default:
       break;
   }
 
-  //
   // Parent process: Wait for the child process to termiante.
-  //
+  int status;
   if ((wait (&status)) == -1)
-  {
     return 1;
-  }
 
-  //
   // If the program exited normally with a zero exit status, return success!
-  //
   if (WIFEXITED (status) && (WEXITSTATUS(status) == 0))
-  {
     return 0;
-  }
+#else
+  std::cerr << "llvm::ExecWait not implemented on this platform!\n";
+#endif
 
-  //
   // Otherwise, return failure.
-  //
   return 1;
 }