]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
opcodes/riscv: prevent future use of disassemble_info::fprintf_func
authorAndrew Burgess <aburgess@redhat.com>
Wed, 5 Jun 2024 12:12:42 +0000 (13:12 +0100)
committerAndrew Burgess <aburgess@redhat.com>
Thu, 6 Jun 2024 09:33:33 +0000 (10:33 +0100)
The previous commit removed a use of disassemble_info::fprintf_func
which had been added to the RISC-V disassembler after the disassembler
had been switched to use ::fprintf_styled_func, for styled output.

To prevent future mistakes, I propose adding a #define to rename
fprintf_func to something which does not exist.  If this had been in
place then the before the previous commit libopcodes would have failed
to compile, like this:

  ../../src/opcodes/riscv-dis.c: In function ‘print_reg_list’:
  ../../src/opcodes/riscv-dis.c:229:7: error: ‘disassemble_info’ {aka ‘struct disassemble_info’} has no member named ‘please_use_fprintf_styled_func_instead’
    229 |   info->fprintf_func (info->stream, "%s", riscv_gpr_names[X_RA]);
        |       ^~

If this commit is accepted then I'll follow up with another commit
that adds the same #define to every disassembler that has been
converted to use styled output.

As the RISC-V disassembler is now fully styled, this commit should
make no difference at all.

opcodes/riscv-dis.c

index b04a6e7b66f50b9d962dbd3b53b0768148f939de..9c5e6ce1e690296e0278b381ced2d884f22275d9 100644 (file)
 #include <stdint.h>
 #include <ctype.h>
 
+/* The RISC-V disassembler produces styled output using
+   disassemble_info::fprintf_styled_func.  This define prevents use of
+   disassemble_info::fprintf_func which is for unstyled output.  */
+#define fprintf_func please_use_fprintf_styled_func_instead
+
 /* Current XLEN for the disassembler.  */
 static unsigned xlen = 0;