summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/MCTargetDesc
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2012-08-24 00:35:46 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2012-08-24 00:35:46 +0000
commitf3c75f7e7c97b405fbc659b6e1a98311fd6c2be6 (patch)
treeefb1e2a16b17158243f9d3fe2bc5990cc23f22b2 /llvm/lib/Target/ARM/MCTargetDesc
parent051c60caad2afb89aa325b47485df0f2f1ae14d8 (diff)
downloadbcm5719-llvm-f3c75f7e7c97b405fbc659b6e1a98311fd6c2be6.tar.gz
bcm5719-llvm-f3c75f7e7c97b405fbc659b6e1a98311fd6c2be6.zip
Fix undefined behavior (negation of INT_MIN) in ARM backend.
llvm-svn: 162520
Diffstat (limited to 'llvm/lib/Target/ARM/MCTargetDesc')
-rw-r--r--llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp b/llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp
index 94f1082b5f6..19175649040 100644
--- a/llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp
+++ b/llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp
@@ -783,7 +783,7 @@ getT2Imm8s4OpValue(const MCInst &MI, unsigned OpIdx,
// Immediate is always encoded as positive. The 'U' bit controls add vs sub.
if (Imm8 < 0)
- Imm8 = -Imm8;
+ Imm8 = -(uint32_t)Imm8;
// Scaled by 4.
Imm8 /= 4;
OpenPOWER on IntegriCloud