[Win32] mapped_file_region: Fix a bug in CreateFileMapping() that Size must contain Offset when Offset >= 65536.

llvm-svn: 189021
This commit is contained in:
NAKAMURA Takumi 2013-08-22 15:14:53 +00:00
parent 5915576b5b
commit 6c13dfe866
2 changed files with 2 additions and 7 deletions

View File

@ -726,8 +726,8 @@ error_code mapped_file_region::init(int FD, bool CloseFD, uint64_t Offset) {
FileMappingHandle = ::CreateFileMapping(FileHandle,
0,
flprotect,
Size >> 32,
Size & 0xffffffff,
(Offset + Size) >> 32,
(Offset + Size) & 0xffffffff,
0);
if (FileMappingHandle == NULL) {
error_code ec = windows_error(GetLastError());

View File

@ -138,9 +138,6 @@ void MemoryBufferTest::testGetOpenFileSlice(bool Reopen) {
EXPECT_EQ(BufData[9], '9');
}
#if !defined(_WIN32)
// FIXME: Investigating since r188998.
TEST_F(MemoryBufferTest, getOpenFileNoReopen) {
testGetOpenFileSlice(false);
}
@ -149,6 +146,4 @@ TEST_F(MemoryBufferTest, getOpenFileReopened) {
testGetOpenFileSlice(true);
}
#endif // _WIN32
}