target/register: use an array of uint8_t for register's value

The use of 'void *' makes the pointer arithmetic incompatible with
standard C, even if this is allowed by GCC extensions.
The use of 'void *' can also hide incorrect pointer assignments.

Switch to 'uint8_t *' and add GCC warning flag to track any use of
pointer arithmetic extension.

Change-Id: Ic4d15a232834cd6b374330f70e2473a359b1607f
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: http://openocd.zylin.com/5937
Tested-by: jenkins
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
This commit is contained in:
Antonio Borneo
2020-11-15 22:10:58 +01:00
parent b5e015357a
commit 1d3d87695c
7 changed files with 8 additions and 7 deletions

View File

@@ -127,7 +127,7 @@ struct reg {
bool caller_save;
/* Pointer to place where the value is stored, in the format understood by
* the binarybuffer.h functions. */
void *value;
uint8_t *value;
/* The stored value needs to be written to the target. */
bool dirty;
/* When true, value is valid. */