OSDN Git Service

Remove dependence on header file unistd.h.
authorKarl Schimpf <kschimpf@google.com>
Fri, 2 Oct 2015 17:49:49 +0000 (10:49 -0700)
committerKarl Schimpf <kschimpf@google.com>
Fri, 2 Oct 2015 17:49:49 +0000 (10:49 -0700)
Fixes bug in function reportFatalErrorThenExitSuccess by using fwrite
instead of write (a unix posix include file not supported by MSC).

BUG=None
R=stichnot@chromium.org

Review URL: https://codereview.chromium.org/1370323005 .

src/IceCompileServer.cpp

index 1230631..20be6ee 100644 (file)
 #include "llvm/Support/StreamingMemoryObject.h"
 #pragma clang diagnostic pop
 
+#include <cstdio>
 #include <fstream>
 #include <iostream>
 #include <thread>
 
-#if defined(HAVE_UNISTD_H)
-# include <unistd.h>
-#endif
-#if defined(_MSC_VER)
-# include <io.h>
-# include <fcntl.h>
-#endif
-
 namespace Ice {
 
 namespace {
@@ -116,7 +109,8 @@ void reportFatalErrorThenExitSuccess(void *UserData, const std::string &Reason,
   llvm::raw_svector_ostream OS(Buffer);
   OS << "LLVM ERROR: " << Reason << "\n";
   llvm::StringRef MessageStr = OS.str();
-  ssize_t written = ::write(2, MessageStr.data(), MessageStr.size());
+  ssize_t written =
+      ::fwrite(MessageStr.data(), sizeof(char), MessageStr.size(), ::stdout);
   (void)written; // If something went wrong, we deliberately just give up.
 
   // If we reached here, we are failing ungracefully. Run the interrupt handlers