bool temp, const char *cond_string_,
enum exception_event_kind kind_,
std::string &&except_rx)
- : base_breakpoint (gdbarch, bp_catchpoint),
+ : base_breakpoint (gdbarch, bp_catchpoint, temp, cond_string_),
kind (kind_),
exception_rx (std::move (except_rx)),
pattern (exception_rx.empty ()
: new compiled_regex (exception_rx.c_str (), REG_NOSUB,
_("invalid type-matching regexp")))
{
- if (cond_string_ != nullptr)
- cond_string = make_unique_xstrdup (cond_string_);
- disposition = temp ? disp_del : disp_donttouch;
-
pspace = current_program_space;
re_set ();
}
/* See breakpoint.h. */
+breakpoint::breakpoint (struct gdbarch *gdbarch_, enum bptype bptype,
+ bool temp, const char *cond_string_)
+ : type (bptype),
+ disposition (temp ? disp_del : disp_donttouch),
+ gdbarch (gdbarch_),
+ language (current_language->la_language),
+ input_radix (::input_radix),
+ cond_string (cond_string_ != nullptr
+ ? make_unique_xstrdup (cond_string_)
+ : nullptr),
+ related_breakpoint (this)
+{
+}
+
+/* See breakpoint.h. */
+
catchpoint::catchpoint (struct gdbarch *gdbarch, bool temp,
- const char *cond_string_)
- : breakpoint (gdbarch, bp_catchpoint)
+ const char *cond_string)
+ : breakpoint (gdbarch, bp_catchpoint, temp, cond_string)
{
add_dummy_location (this, current_program_space);
pspace = current_program_space;
-
- if (cond_string_ != nullptr)
- cond_string = make_unique_xstrdup (cond_string_);
- disposition = temp ? disp_del : disp_donttouch;
}
void
struct breakpoint
{
- breakpoint (struct gdbarch *gdbarch_, enum bptype bptype)
- : type (bptype),
- gdbarch (gdbarch_),
- language (current_language->la_language),
- input_radix (::input_radix),
- related_breakpoint (this)
- {
- }
+ breakpoint (struct gdbarch *gdbarch_, enum bptype bptype,
+ bool temp = true, const char *cond_string = nullptr);
DISABLE_COPY_AND_ASSIGN (breakpoint);