diff options
author | Andrew Waterman <andrew@sifive.com> | 2022-09-22 14:55:50 -0700 |
---|---|---|
committer | Andrew Waterman <andrew@sifive.com> | 2022-10-04 15:40:01 -0700 |
commit | 3447aecd16e8ce34109a122d3f95b5e69176505f (patch) | |
tree | 11944d7509e74973d2a32f82a3163e4792868aca /riscv | |
parent | 3e166310b4fab72cbbf73e34de6a0b66ba6155ed (diff) | |
download | spike-3447aecd16e8ce34109a122d3f95b5e69176505f.zip spike-3447aecd16e8ce34109a122d3f95b5e69176505f.tar.gz spike-3447aecd16e8ce34109a122d3f95b5e69176505f.tar.bz2 |
Rewrite READ_REG macro to avoid GNU statement expression extension
This way, it can be used as an expression within a template argument.
Diffstat (limited to 'riscv')
-rw-r--r-- | riscv/decode.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/riscv/decode.h b/riscv/decode.h index 5fb0358..1b55502 100644 --- a/riscv/decode.h +++ b/riscv/decode.h @@ -177,7 +177,7 @@ private: #define STATE (*p->get_state()) #define FLEN (p->get_flen()) #define CHECK_REG(reg) ((void) 0) -#define READ_REG(reg) ({ CHECK_REG(reg); STATE.XPR[reg]; }) +#define READ_REG(reg) (CHECK_REG(reg), STATE.XPR[reg]) #define READ_FREG(reg) STATE.FPR[reg] #define RD READ_REG(insn.rd()) #define RS1 READ_REG(insn.rs1()) |