[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 1/4] target-tricore: Fix two helper functions (clang
From: |
Bastian Koppelmann |
Subject: |
[Qemu-devel] [PULL 1/4] target-tricore: Fix two helper functions (clang warnings) |
Date: |
Tue, 24 Mar 2015 09:58:16 +0100 |
From: Stefan Weil <address@hidden>
clang report:
target-tricore/op_helper.c:1247:24: warning:
taking the absolute value of unsigned type 'uint32_t' (aka 'unsigned int')
has no effect [-Wabsolute-value]
target-tricore/op_helper.c:1248:25: warning:
taking the absolute value of unsigned type 'uint32_t' (aka 'unsigned int')
has no effect [-Wabsolute-value]
target-tricore/op_helper.c:1249:19: warning:
taking the absolute value of unsigned type 'uint32_t' (aka 'unsigned int')
has no effect [-Wabsolute-value]
target-tricore/op_helper.c:1297:24: warning:
taking the absolute value of unsigned type 'uint32_t' (aka 'unsigned int')
has no effect [-Wabsolute-value]
target-tricore/op_helper.c:1298:25: warning:
taking the absolute value of unsigned type 'uint32_t' (aka 'unsigned int')
has no effect [-Wabsolute-value]
target-tricore/op_helper.c:1299:19: warning:
taking the absolute value of unsigned type 'uint32_t' (aka 'unsigned int')
has no effect [-Wabsolute-value]
Fix also the divisor which was taken from the wrong register
(thanks to Peter Maydell for this hint).
Cc: Bastian Koppelmann <address@hidden>
Signed-off-by: Stefan Weil <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Bastian Koppelmann <address@hidden>
---
target-tricore/op_helper.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/target-tricore/op_helper.c b/target-tricore/op_helper.c
index 97b0c8b..2cfa95d 100644
--- a/target-tricore/op_helper.c
+++ b/target-tricore/op_helper.c
@@ -1953,9 +1953,9 @@ uint64_t helper_dvinit_b_13(CPUTriCoreState *env,
uint32_t r1, uint32_t r2)
quotient_sign = 1;
}
- abs_sig_dividend = abs(r1) >> 7;
- abs_base_dividend = abs(r1) & 0x7f;
- abs_divisor = abs(r1);
+ abs_sig_dividend = abs((int32_t)r1) >> 7;
+ abs_base_dividend = abs((int32_t)r1) & 0x7f;
+ abs_divisor = abs((int32_t)r2);
/* calc overflow */
env->PSW_USB_V = 0;
if ((quotient_sign) && (abs_divisor)) {
@@ -2003,9 +2003,9 @@ uint64_t helper_dvinit_h_13(CPUTriCoreState *env,
uint32_t r1, uint32_t r2)
quotient_sign = 1;
}
- abs_sig_dividend = abs(r1) >> 7;
- abs_base_dividend = abs(r1) & 0x7f;
- abs_divisor = abs(r1);
+ abs_sig_dividend = abs((int32_t)r1) >> 7;
+ abs_base_dividend = abs((int32_t)r1) & 0x7f;
+ abs_divisor = abs((int32_t)r2);
/* calc overflow */
env->PSW_USB_V = 0;
if ((quotient_sign) && (abs_divisor)) {
--
2.3.3