From 73faab61666fce5a35aff65c0f42b75a2fe19ddd Mon Sep 17 00:00:00 2001 From: Marc Khouzam Date: Tue, 24 Jul 2012 17:41:31 +0000 Subject: [PATCH] 2012-07-24 Marc Khouzam * breakpoint.c (create_breakpoint): Store condition for pending breakpoints. --- gdb/ChangeLog | 5 +++++ gdb/breakpoint.c | 13 ++++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 3e99445c8ba..76d1e74067d 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2012-07-24 Marc Khouzam + + * breakpoint.c (create_breakpoint): Store condition for pending + breakpoints. + 2012-07-23 Keith Seitz * linespec.c (convert_linespec_to_sal): Don't add diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c index 6b9faf33e0c..78fffd34e9e 100644 --- a/gdb/breakpoint.c +++ b/gdb/breakpoint.c @@ -9548,7 +9548,18 @@ create_breakpoint (struct gdbarch *gdbarch, init_raw_breakpoint_without_location (b, gdbarch, type_wanted, ops); b->addr_string = copy_arg; - b->cond_string = NULL; + if (parse_condition_and_thread) + b->cond_string = NULL; + else + { + /* Create a private copy of condition string. */ + if (cond_string) + { + cond_string = xstrdup (cond_string); + make_cleanup (xfree, cond_string); + } + b->cond_string = cond_string; + } b->extra_string = NULL; b->ignore_count = ignore_count; b->disposition = tempflag ? disp_del : disp_donttouch; -- 2.47.2