From 9c1bc99d7ae5b4460fd0686caf1f7b64501aefbc Mon Sep 17 00:00:00 2001 From: John Reiser Date: Fri, 16 Dec 2016 10:59:51 -0800 Subject: [PATCH] Avoid warning C4146: unary minus operator applied to unsigned type, result still unsigned modified: p_mach.cpp --- src/p_mach.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/p_mach.cpp b/src/p_mach.cpp index f157a5ac..c517b52a 100644 --- a/src/p_mach.cpp +++ b/src/p_mach.cpp @@ -1070,8 +1070,8 @@ void PackMachBase::pack3(OutputFile *fo, Filter &ft) // append loader len += sizeof(disp); char page[~PAGE_MASK]; memset(page, 0, sizeof(page)); - fo->write(page, ~PAGE_MASK & -len); - len += ~PAGE_MASK & -len; + fo->write(page, ~PAGE_MASK & (0u - len)); + len += ~PAGE_MASK & (0u - len); segLINK.fileoff = len; threado_setPC(len + segTEXT.vmaddr); /* entry address */ @@ -1716,7 +1716,7 @@ int PackMachBase::canUnpack() // Emulate the code if (0xe8==b[0] && disp < bufsize && 0x5d==b[5+disp] && 0xe8==b[6+disp]) { - unsigned disp2 = - *(TE32 const *)&b[7+disp]; + unsigned disp2 = 0u - *(TE32 const *)&b[7+disp]; if (disp2 < (12+disp) && 0x5b==b[11+disp-disp2]) { struct b_info const *bptr = (struct b_info const *)&b[11+disp]; // This is the folded stub.