The preferred way of rethrowing an exception is by using throw without
expression, because it avoids object slicing of the exception [1].
Fix this in gdb_pretty_print_disassembler::pretty_print_insn.
Tested on x86_64-linux.
[1] https://en.cppreference.com/w/cpp/language/throw
Approved-By: Andrew Burgess <aburgess@redhat.com>
size = m_di.print_insn (pc);
gdb_assert (size > 0);
}
- catch (const gdb_exception &ex)
+ catch (const gdb_exception &)
{
/* An exception was thrown while disassembling the instruction.
However, the disassembler might still have written something
object destructor as the write itself might throw an exception
if the pager kicks in, and the user selects quit. */
write_out_insn_buffer ();
- throw ex;
+ throw;
}
if ((flags & (DISASSEMBLY_RAW_INSN | DISASSEMBLY_RAW_BYTES)) != 0)