unsigned long flags;
/* Set if the disassembler has determined that there are one or more
relocations associated with the instruction being disassembled. */
-#define INSN_HAS_RELOC (1 << 31)
+#define INSN_HAS_RELOC (1u << 31)
/* Set if the user has requested the disassembly of data as well as code. */
-#define DISASSEMBLE_DATA (1 << 30)
+#define DISASSEMBLE_DATA (1u << 30)
/* Set if the user has specifically set the machine type encoded in the
mach field of this structure. */
-#define USER_SPECIFIED_MACHINE_TYPE (1 << 29)
+#define USER_SPECIFIED_MACHINE_TYPE (1u << 29)
/* Set if the user has requested wide output. */
-#define WIDE_OUTPUT (1 << 28)
+#define WIDE_OUTPUT (1u << 28)
/* Use internally by the target specific disassembly code. */
void *private_data;
/* Amend the disassemble_info structure as necessary for the target architecture.
Should only be called after initialising the info->arch field. */
-extern void disassemble_init_for_target (struct disassemble_info * dinfo);
+extern void disassemble_init_for_target (struct disassemble_info *);
+
+/* Tidy any memory allocated by targets, such as info->private_data. */
+extern void disassemble_free_target (struct disassemble_info *);
/* Document any target specific options available from the disassembler. */
extern void disassembler_usage (FILE *);