summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavide Italiano <davide@freebsd.org>2015-07-07 00:02:59 +0000
committerDavide Italiano <davide@freebsd.org>2015-07-07 00:02:59 +0000
commit5a2acd1e1ebaef6fac73b81554284ba5e7ac1ac6 (patch)
tree1f6c66db56c24963fd43e5c88c72604b6ef573f4
parent3fe5739451d1051097389cacaf93e7dc271a44ed (diff)
downloadbcm5719-llvm-5a2acd1e1ebaef6fac73b81554284ba5e7ac1ac6.tar.gz
bcm5719-llvm-5a2acd1e1ebaef6fac73b81554284ba5e7ac1ac6.zip
Fix undefined behaviour exposed by the new -Wshift-negative-value warning.
llvm-svn: 241530
-rw-r--r--lld/lib/ReaderWriter/PECOFF/WriterPECOFF.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/lld/lib/ReaderWriter/PECOFF/WriterPECOFF.cpp b/lld/lib/ReaderWriter/PECOFF/WriterPECOFF.cpp
index 8c3aac04f8f..4c6309addef 100644
--- a/lld/lib/ReaderWriter/PECOFF/WriterPECOFF.cpp
+++ b/lld/lib/ReaderWriter/PECOFF/WriterPECOFF.cpp
@@ -583,7 +583,7 @@ static void applyThumbBranchImmediate(ulittle16_t *bl, int32_t imm) {
//
// I1 = ~(J1 ^ S), I2 = ~(J2 ^ S)
- assert((~abs(imm) & (-1 << 24)) && "bl/b.w out of range");
+ assert((~abs(imm) & (~0ULL << 24)) && "bl/b.w out of range");
uint32_t S = (imm < 0 ? 1 : 0);
uint32_t J1 = ((~imm & 0x00800000) >> 23) ^ S;
OpenPOWER on IntegriCloud