+2018-09-17 Tom Tromey <tom@tromey.com>
+
+ * gdbthread.h (struct thread_suspend_state): Add initializers.
+ (class thread_info) <suspend>: Remove initializer.
+ * infrun.c (struct infcall_suspend_state): Add initializers.
+ (save_infcall_suspend_state): Use new.
+ (discard_infcall_suspend_state): Use delete.
+
2018-09-16 Tom Tromey <tom@tromey.com>
* python/python-internal.h (CPYCHECKER_STEALS_REFERENCE_TO_ARG):
"signal" command, which overrides "handle nopass". If the signal
should be suppressed, the core will take care of clearing this
before the target is resumed. */
- enum gdb_signal stop_signal;
+ enum gdb_signal stop_signal = GDB_SIGNAL_0;
/* The reason the thread last stopped, if we need to track it
(breakpoint, watchpoint, etc.) */
- enum target_stop_reason stop_reason;
+ enum target_stop_reason stop_reason = TARGET_STOPPED_BY_NO_REASON;
/* The waitstatus for this thread's last event. */
- struct target_waitstatus waitstatus;
+ struct target_waitstatus waitstatus {};
/* If true WAITSTATUS hasn't been handled yet. */
- int waitstatus_pending_p;
+ int waitstatus_pending_p = 0;
/* Record the pc of the thread the last time it stopped. (This is
not the current thread's PC as that may have changed since the
- If the thread is running, this is set to -1, to avoid leaving
it with a stale value, to make it easier to catch bugs. */
- CORE_ADDR stop_pc;
+ CORE_ADDR stop_pc = 0;
};
/* Base class for target-specific thread data. */
/* State of inferior thread to restore after GDB is done with an inferior
call. See `struct thread_suspend_state'. */
- thread_suspend_state suspend {};
+ thread_suspend_state suspend;
int current_line = 0;
struct symtab *current_symtab = NULL;
struct thread_suspend_state thread_suspend;
/* Other fields: */
- readonly_detached_regcache *registers;
+ readonly_detached_regcache *registers = nullptr;
/* Format of SIGINFO_DATA or NULL if it is not present. */
- struct gdbarch *siginfo_gdbarch;
+ struct gdbarch *siginfo_gdbarch = nullptr;
/* The inferior format depends on SIGINFO_GDBARCH and it has a length of
TYPE_LENGTH (gdbarch_get_siginfo_type ()). For different gdbarch the
content would be invalid. */
- gdb_byte *siginfo_data;
+ gdb_byte *siginfo_data = nullptr;
};
struct infcall_suspend_state *
}
}
- inf_state = XCNEW (struct infcall_suspend_state);
+ inf_state = new struct infcall_suspend_state;
if (siginfo_data)
{
{
delete inf_state->registers;
xfree (inf_state->siginfo_data);
- xfree (inf_state);
+ delete inf_state;
}
readonly_detached_regcache *