diff options
author | Jan Beulich <jbeulich@suse.com> | 2022-09-30 11:43:59 +0200 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2022-09-30 11:43:59 +0200 |
commit | b0423163b808c463fe35e861471f80123f0b309f (patch) | |
tree | cf356bb6f5e89dcbe4a82882fa5ba119d55ae768 /gas | |
parent | 3bf4994276269a241d97f8ccb5171fe581baa4cb (diff) | |
download | gdb-b0423163b808c463fe35e861471f80123f0b309f.zip gdb-b0423163b808c463fe35e861471f80123f0b309f.tar.gz gdb-b0423163b808c463fe35e861471f80123f0b309f.tar.bz2 |
RISC-V: fix build after "Add support for arbitrary immediate encoding formats"
Pre- and post-increment/decrement are side effects, the behavior of
which is undefined when combined with passing an address of the accessed
variable in the same function invocation. There's no need for the
increments here - simply adding 1 achieves the intended effect without
triggering compiler diagnostics (which are fatal with -Werror).
Diffstat (limited to 'gas')
-rw-r--r-- | gas/config/tc-riscv.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/gas/config/tc-riscv.c b/gas/config/tc-riscv.c index d9f63b1..38ff016 100644 --- a/gas/config/tc-riscv.c +++ b/gas/config/tc-riscv.c @@ -1287,10 +1287,10 @@ validate_riscv_insn (const struct riscv_opcode *opc, int length) case 'u': /* 'XuN@S' ... N-bit unsigned immediate at bit S. */ goto use_imm; use_imm: - n = strtol (++oparg, (char **)&oparg, 10); + n = strtol (oparg + 1, (char **)&oparg, 10); if (*oparg != '@') goto unknown_validate_operand; - s = strtol (++oparg, (char **)&oparg, 10); + s = strtol (oparg + 1, (char **)&oparg, 10); oparg--; USE_IMM (n, s); @@ -3327,10 +3327,10 @@ riscv_ip (char *str, struct riscv_cl_insn *ip, expressionS *imm_expr, sign = false; goto parse_imm; parse_imm: - n = strtol (++oparg, (char **)&oparg, 10); + n = strtol (oparg + 1, (char **)&oparg, 10); if (*oparg != '@') goto unknown_riscv_ip_operand; - s = strtol (++oparg, (char **)&oparg, 10); + s = strtol (oparg + 1, (char **)&oparg, 10); oparg--; my_getExpression (imm_expr, asarg); |