From: Antonio Borneo Date: Mon, 19 Sep 2022 13:02:36 +0000 (+0200) Subject: target/riscv: fix dead assignment X-Git-Url: https://git.gag.com/?p=fw%2Fopenocd;a=commitdiff_plain;h=aff48a6a31019af17959a7da33909d1cea6de61a target/riscv: fix dead assignment Scan-build reports: Unused code: Dead nested assignment riscv.c:459 Although the value stored to 'ir_user4_raw' is used in the enclosing expression, the value is never actually read from 'ir_user4_raw' This is caused by the value reassigned in 'ir_user4_raw': riscv.c:459 ir_user4[3] = (uint8_t)(ir_user4_raw >>= 8); but never used. Drop the DIY conversion in favor of h_u32_to_le() that does not reassign the input value. Change-Id: Ifad29f4c46d4a2d0a2f5a5c4104d768cc3db2794 Signed-off-by: Antonio Borneo Reviewed-on: https://review.openocd.org/c/openocd/+/7208 Reviewed-by: Tim Newsome Reviewed-by: Jan Matyas Tested-by: jenkins --- diff --git a/src/target/riscv/riscv.c b/src/target/riscv/riscv.c index c25efcde9..5444fca01 100644 --- a/src/target/riscv/riscv.c +++ b/src/target/riscv/riscv.c @@ -453,10 +453,7 @@ static int riscv_init_target(struct command_context *cmd_ctx, if (bscan_tunnel_ir_width != 0) { assert(target->tap->ir_length >= 6); uint32_t ir_user4_raw = 0x23 << (target->tap->ir_length - 6); - ir_user4[0] = (uint8_t)ir_user4_raw; - ir_user4[1] = (uint8_t)(ir_user4_raw >>= 8); - ir_user4[2] = (uint8_t)(ir_user4_raw >>= 8); - ir_user4[3] = (uint8_t)(ir_user4_raw >>= 8); + h_u32_to_le(ir_user4, ir_user4_raw); select_user4.num_bits = target->tap->ir_length; bscan_tunneled_ir_width[0] = bscan_tunnel_ir_width; if (bscan_tunnel_type == BSCAN_TUNNEL_DATA_REGISTER)