//===----------------------------------------------------------------------===//
#define DEBUG_TYPE "Data-stream"
-#include "llvm/ADT/Statistic.h"
#include "llvm/Support/DataStream.h"
+#include "llvm/ADT/Statistic.h"
+#include "llvm/Support/FileSystem.h"
#include "llvm/Support/Program.h"
#include "llvm/Support/system_error.h"
-#include <string>
#include <cerrno>
#include <cstdio>
+#include <string>
#if !defined(_MSC_VER) && !defined(__MINGW32__)
#include <unistd.h>
#else
#include <io.h>
#endif
-#include <fcntl.h>
using namespace llvm;
// Interface goals:
virtual ~DataFileStreamer() {
close(Fd);
}
- virtual size_t GetBytes(unsigned char *buf, size_t len) {
+ virtual size_t GetBytes(unsigned char *buf, size_t len) LLVM_OVERRIDE {
NumStreamFetches++;
return read(Fd, buf, len);
}
error_code OpenFile(const std::string &Filename) {
if (Filename == "-") {
Fd = 0;
- sys::Program::ChangeStdinToBinary();
+ sys::ChangeStdinToBinary();
return error_code::success();
}
-
- int OpenFlags = O_RDONLY;
-#ifdef O_BINARY
- OpenFlags |= O_BINARY; // Open input file in binary mode on win32.
-#endif
- Fd = ::open(Filename.c_str(), OpenFlags);
- if (Fd == -1)
- return error_code(errno, posix_category());
- return error_code::success();
+
+ return sys::fs::openFileForRead(Filename, Fd);
}
};