- {
- /* Methods associated with this breakpoint. */
- const struct breakpoint_ops *ops;
-
- struct breakpoint *next;
- /* Type of breakpoint. */
- enum bptype type;
- /* Zero means disabled; remember the info but don't break here. */
- enum enable_state enable_state;
- /* What to do with this breakpoint after we hit it. */
- enum bpdisp disposition;
- /* Number assigned to distinguish breakpoints. */
- int number;
-
- /* Location(s) associated with this high-level breakpoint. */
- struct bp_location *loc;
-
- /* Non-zero means a silent breakpoint (don't print frame info
- if we stop here). */
- unsigned char silent;
- /* Non-zero means display ADDR_STRING to the user verbatim. */
- unsigned char display_canonical;
- /* Number of stops at this breakpoint that should
- be continued automatically before really stopping. */
- int ignore_count;
-
- /* Number of stops at this breakpoint before it will be
- disabled. */
- int enable_count;
-
- /* Chain of command lines to execute when this breakpoint is
- hit. */
- struct counted_command_line *commands;
- /* Stack depth (address of frame). If nonzero, break only if fp
- equals this. */
- struct frame_id frame_id;
-
- /* The program space used to set the breakpoint. This is only set
- for breakpoints which are specific to a program space; for
- non-thread-specific ordinary breakpoints this is NULL. */
- struct program_space *pspace;
-
- /* Location we used to set the breakpoint (malloc'd). */
- struct event_location *location;
-
- /* The filter that should be passed to decode_line_full when
- re-setting this breakpoint. This may be NULL, but otherwise is
- allocated with xmalloc. */
- char *filter;
-
- /* For a ranged breakpoint, the location we used to find
- the end of the range (malloc'd). */
- struct event_location *location_range_end;
-
- /* Architecture we used to set the breakpoint. */
- struct gdbarch *gdbarch;
- /* Language we used to set the breakpoint. */
- enum language language;
- /* Input radix we used to set the breakpoint. */
- int input_radix;
- /* String form of the breakpoint condition (malloc'd), or NULL if
- there is no condition. */
- char *cond_string;
-
- /* String form of extra parameters, or NULL if there are none.
+{
+ virtual ~breakpoint ();
+
+ /* Methods associated with this breakpoint. */
+ const breakpoint_ops *ops = NULL;
+
+ breakpoint *next = NULL;
+ /* Type of breakpoint. */
+ bptype type = bp_none;
+ /* Zero means disabled; remember the info but don't break here. */
+ enum enable_state enable_state = bp_enabled;
+ /* What to do with this breakpoint after we hit it. */
+ bpdisp disposition = disp_del;
+ /* Number assigned to distinguish breakpoints. */
+ int number = 0;
+
+ /* Location(s) associated with this high-level breakpoint. */
+ bp_location *loc = NULL;
+
+ /* True means a silent breakpoint (don't print frame info if we stop
+ here). */
+ bool silent = false;
+ /* True means display ADDR_STRING to the user verbatim. */
+ bool display_canonical = false;
+ /* Number of stops at this breakpoint that should be continued
+ automatically before really stopping. */
+ int ignore_count = 0;
+
+ /* Number of stops at this breakpoint before it will be
+ disabled. */
+ int enable_count = 0;
+
+ /* Chain of command lines to execute when this breakpoint is
+ hit. */
+ counted_command_line commands;
+ /* Stack depth (address of frame). If nonzero, break only if fp
+ equals this. */
+ struct frame_id frame_id = null_frame_id;
+
+ /* The program space used to set the breakpoint. This is only set
+ for breakpoints which are specific to a program space; for
+ non-thread-specific ordinary breakpoints this is NULL. */
+ program_space *pspace = NULL;
+
+ /* Location we used to set the breakpoint. */
+ event_location_up location;
+
+ /* The filter that should be passed to decode_line_full when
+ re-setting this breakpoint. This may be NULL. */
+ gdb::unique_xmalloc_ptr<char> filter;
+
+ /* For a ranged breakpoint, the location we used to find the end of
+ the range. */
+ event_location_up location_range_end;
+
+ /* Architecture we used to set the breakpoint. */
+ struct gdbarch *gdbarch = NULL;
+ /* Language we used to set the breakpoint. */
+ enum language language = language_unknown;
+ /* Input radix we used to set the breakpoint. */
+ int input_radix = 0;
+ /* String form of the breakpoint condition (malloc'd), or NULL if
+ there is no condition. */
+ char *cond_string = NULL;
+
+ /* String form of extra parameters, or NULL if there are none.