diff options
author | Sergio Durigan Junior <sergiodj@redhat.com> | 2013-05-07 17:04:29 +0000 |
---|---|---|
committer | Sergio Durigan Junior <sergiodj@redhat.com> | 2013-05-07 17:04:29 +0000 |
commit | 58ce7251e876ad5b6569e3ee72dfe6c4c5697ca8 (patch) | |
tree | 96388c083cc474be232d0866a550c687f7371920 | |
parent | 7b70956dc8e3886e5fa483d72847f68a5008346c (diff) | |
download | gdb-58ce7251e876ad5b6569e3ee72dfe6c4c5697ca8.zip gdb-58ce7251e876ad5b6569e3ee72dfe6c4c5697ca8.tar.gz gdb-58ce7251e876ad5b6569e3ee72dfe6c4c5697ca8.tar.bz2 |
gdb/
2013-05-07 Sergio Durigan Junior <sergiodj@redhat.com>
PR breakpoints/15413:
* breakpoint.c (condition_completer): Simplify the code to
disconsider multiple locations of breakpoints when completing the
"condition" command.
gdb/testsuite/
2013-05-07 Sergio Durigan Junior <sergiodj@redhat.com>
PR breakpoints/15413:
* gdb.base/pending.exp: Add test for completion of the "condition"
command for pending breakpoints.
* gdb.linespec/linespec.ex: Add test for completion of the
"condition" command when dealing with multiple locations.
-rw-r--r-- | gdb/ChangeLog | 7 | ||||
-rw-r--r-- | gdb/breakpoint.c | 25 | ||||
-rw-r--r-- | gdb/testsuite/ChangeLog | 8 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/pending.exp | 3 | ||||
-rw-r--r-- | gdb/testsuite/gdb.linespec/linespec.exp | 4 |
5 files changed, 28 insertions, 19 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 40ceae6..2506ce5 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,10 @@ +2013-05-07 Sergio Durigan Junior <sergiodj@redhat.com> + + PR breakpoints/15413: + * breakpoint.c (condition_completer): Simplify the code to + disconsider multiple locations of breakpoints when completing the + "condition" command. + 2013-05-07 Pierre Muller <muller@sourceware.org> * common/linux-btrace.c: ARI fix: Include "gdb_wait.h" diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c index ef9c23c..f4f9325 100644 --- a/gdb/breakpoint.c +++ b/gdb/breakpoint.c @@ -1012,27 +1012,14 @@ condition_completer (struct cmd_list_element *cmd, len = strlen (text); ALL_BREAKPOINTS (b) - { - int single = b->loc->next == NULL; - struct bp_location *loc; - int count = 1; - - for (loc = b->loc; loc; loc = loc->next) - { - char location[50]; - - if (single) - xsnprintf (location, sizeof (location), "%d", b->number); - else - xsnprintf (location, sizeof (location), "%d.%d", b->number, - count); + { + char number[50]; - if (strncmp (location, text, len) == 0) - VEC_safe_push (char_ptr, result, xstrdup (location)); + xsnprintf (number, sizeof (number), "%d", b->number); - ++count; - } - } + if (strncmp (number, text, len) == 0) + VEC_safe_push (char_ptr, result, xstrdup (number)); + } return result; } diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index a33d6d0..333bf1c 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2013-05-07 Sergio Durigan Junior <sergiodj@redhat.com> + + PR breakpoints/15413: + * gdb.base/pending.exp: Add test for completion of the "condition" + command for pending breakpoints. + * gdb.linespec/linespec.ex: Add test for completion of the + "condition" command when dealing with multiple locations. + 2013-05-07 Luis Machado <lgustavo@codesourcery.com> * gdb.threads/wp-replication.c: New file. diff --git a/gdb/testsuite/gdb.base/pending.exp b/gdb/testsuite/gdb.base/pending.exp index 68322f5..1ab896a 100644 --- a/gdb/testsuite/gdb.base/pending.exp +++ b/gdb/testsuite/gdb.base/pending.exp @@ -55,6 +55,9 @@ gdb_test_multiple "break pendfunc1" "set pending breakpoint" { } } +# Complete the condition (PR 15413). +gdb_test "complete condition " "condition 1" + gdb_test "info break" \ "Num Type\[ \]+Disp Enb Address\[ \]+What.* \[0-9\]+\[\t \]+breakpoint keep y.*PENDING.*pendfunc1.*" \ diff --git a/gdb/testsuite/gdb.linespec/linespec.exp b/gdb/testsuite/gdb.linespec/linespec.exp index 741ada0..fe02365 100644 --- a/gdb/testsuite/gdb.linespec/linespec.exp +++ b/gdb/testsuite/gdb.linespec/linespec.exp @@ -69,6 +69,10 @@ gdb_test "break dupname:label" \ "Breakpoint $decimal at $hex: dupname:label. \[(\]2 locations\[)\]" \ "multi-location break using duplicate function name and label" +# Testing if the "condition" command completes only the breakpoints, +# not the locations. +gdb_test "complete condition " "condition $decimal\r\ncondition $decimal\r\ncondition $decimal" + gdb_test_no_output "set breakpoint pending off" \ "disable pending breakpoints for linespec tests" |