summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Support/Windows
diff options
context:
space:
mode:
authorZachary Turner <zturner@google.com>2017-11-16 22:39:55 +0000
committerZachary Turner <zturner@google.com>2017-11-16 22:39:55 +0000
commitab1ade496cabd5972c5eb622e3dc7271d2654bc3 (patch)
tree00e2198ca30a50614b3699ba55421e487cd2cfdf /llvm/lib/Support/Windows
parent9d59418f6b10d36851365b00fdb63979397f94d6 (diff)
downloadbcm5719-llvm-ab1ade496cabd5972c5eb622e3dc7271d2654bc3.tar.gz
bcm5719-llvm-ab1ade496cabd5972c5eb622e3dc7271d2654bc3.zip
Fix some undefined beahvior in FileMapping.
This was broken when building a 32-bit native toolchain, as shifting a size_t right by 32 is UB when sizeof(size_t) == 8. llvm-svn: 318462
Diffstat (limited to 'llvm/lib/Support/Windows')
-rw-r--r--llvm/lib/Support/Windows/Path.inc4
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Support/Windows/Path.inc b/llvm/lib/Support/Windows/Path.inc
index f65ed5c7337..dd42055e247 100644
--- a/llvm/lib/Support/Windows/Path.inc
+++ b/llvm/lib/Support/Windows/Path.inc
@@ -734,8 +734,8 @@ std::error_code mapped_file_region::init(int FD, uint64_t Offset,
HANDLE FileMappingHandle =
::CreateFileMappingW(FileHandle, 0, flprotect,
- Size >> 32,
- Size & 0xffffffff,
+ Hi_32(Size),
+ Lo_32(Size),
0);
if (FileMappingHandle == NULL) {
std::error_code ec = mapWindowsError(GetLastError());
OpenPOWER on IntegriCloud