summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC/MachObjectWriter.cpp
diff options
context:
space:
mode:
authorJustin Bogner <mail@justinbogner.com>2015-05-14 23:54:49 +0000
committerJustin Bogner <mail@justinbogner.com>2015-05-14 23:54:49 +0000
commitd4e08a08972a223a92178011f38ead8056469863 (patch)
tree344f033547af9547ded777a49fd4f09b660b20f3 /llvm/lib/MC/MachObjectWriter.cpp
parentca321903793f2adc504b8479944894937fd127d5 (diff)
downloadbcm5719-llvm-d4e08a08972a223a92178011f38ead8056469863.tar.gz
bcm5719-llvm-d4e08a08972a223a92178011f38ead8056469863.zip
MC: Avoid some UB caused by left shifting a negative value. NFC
llvm-svn: 237408
Diffstat (limited to 'llvm/lib/MC/MachObjectWriter.cpp')
-rw-r--r--llvm/lib/MC/MachObjectWriter.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/MC/MachObjectWriter.cpp b/llvm/lib/MC/MachObjectWriter.cpp
index dc68a89e6ea..248775c625e 100644
--- a/llvm/lib/MC/MachObjectWriter.cpp
+++ b/llvm/lib/MC/MachObjectWriter.cpp
@@ -637,7 +637,7 @@ void MachObjectWriter::ComputeSymbolTable(
unsigned Index = Rel.Sym->getIndex();
assert(isInt<24>(Index));
if (IsLittleEndian)
- Rel.MRE.r_word1 = (Rel.MRE.r_word1 & (-1 << 24)) | Index | (1 << 27);
+ Rel.MRE.r_word1 = (Rel.MRE.r_word1 & (~0U << 24)) | Index | (1 << 27);
else
Rel.MRE.r_word1 = (Rel.MRE.r_word1 & 0xff) | Index << 8 | (1 << 4);
}
OpenPOWER on IntegriCloud