On MSC there is no <unistd.h>. It turns out that we need to #include <io.h>
in order to use close(3). This fixes the build failure introduced in
8305ec38.
Thanks to Jan Rheinländer for reporting this.
#include <cstdio>
#include <cstdlib>
#include <cstring>
- #include <cstddef>
#include <cstdint>
#include <ctime>
#include <fstream>
#include <sys/types.h>
#include <sys/time.h>
#include <sys/resource.h>
-#include <unistd.h>
static void set_VM_limit(const unsigned long MB) {
const unsigned mem_lim_kb = MB*1024*1024;
#ifdef HAVE_RUSAGE
#include <sys/resource.h>
-#include <unistd.h>
#include <sys/time.h>
#else
#include <ctime>
#include "symbol.h"
#ifdef HAVE_LIBDL
-#include <dlfcn.h>
+# include <dlfcn.h>
#endif // def HAVE_LIBDL
-#include <unistd.h>
-#include <stdlib.h>
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#else
+# ifdef _MSC_VER
+# include <io.h> // for close(3)
+# endif // def _MSC_VER
+#endif // def HAVE_UNISTD_H
+#include <cstdlib>
#include <fstream>
#include <ios>
#include <sstream>