From 5fc4882b8039dbd35f2efcd1419e83fbda9eba28 Mon Sep 17 00:00:00 2001 From: Antonio Borneo Date: Wed, 2 Nov 2022 01:13:49 +0100 Subject: [PATCH] dsp5680xx: fix clang error core.UndefinedBinaryOperatorResult Clang get confused by initializing the array uint16_t lock_word[], casting it to (uint8_t *), then accessing the second element of the uint8_t pointer. src/target/dsp5680xx.c:2046:41: warning: The left operand of '<<' is a garbage value [core.UndefinedBinaryOperatorResult] uint16_t tmp = (buffer[0] | (buffer[1] << 8)); ~~~~~~~~~ ^ Fix it by replacing the array with a single uint16_t. The code is still depending on host endianness; no fix for this is proposed. Change-Id: I16dfd60cab117dd145aeecf10d9593574ff233a2 Signed-off-by: Antonio Borneo Reviewed-on: https://review.openocd.org/c/openocd/+/7302 Tested-by: jenkins --- src/target/dsp5680xx.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/target/dsp5680xx.c b/src/target/dsp5680xx.c index 37cf0590d..c90bca3c1 100644 --- a/src/target/dsp5680xx.c +++ b/src/target/dsp5680xx.c @@ -2200,8 +2200,8 @@ int dsp5680xx_f_lock(struct target *target) struct jtag_tap *tap_chp; struct jtag_tap *tap_cpu; - uint16_t lock_word[] = { HFM_LOCK_FLASH }; - retval = dsp5680xx_f_wr(target, (uint8_t *) (lock_word), HFM_LOCK_ADDR_L, 2, 1); + uint16_t lock_word = HFM_LOCK_FLASH; + retval = dsp5680xx_f_wr(target, (uint8_t *)&lock_word, HFM_LOCK_ADDR_L, 2, 1); err_check_propagate(retval); jtag_add_reset(0, 1);