]> www.infradead.org Git - users/borneoa/openocd-next.git/commitdiff
dsp5680xx: fix clang error core.UndefinedBinaryOperatorResult
authorAntonio Borneo <borneo.antonio@gmail.com>
Wed, 2 Nov 2022 00:13:49 +0000 (01:13 +0100)
committerAntonio Borneo <borneo.antonio@gmail.com>
Fri, 11 Nov 2022 20:11:22 +0000 (20:11 +0000)
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 <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7302
Tested-by: jenkins
src/target/dsp5680xx.c

index 37cf0590db70dcbe59bc5e8550813f11750dfe0b..c90bca3c1f9ae72f631962b852cbc7095cfebce5 100644 (file)
@@ -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);