aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorSergio Durigan Junior <sergiodj@redhat.com>2013-05-07 17:04:29 +0000
committerSergio Durigan Junior <sergiodj@redhat.com>2013-05-07 17:04:29 +0000
commit58ce7251e876ad5b6569e3ee72dfe6c4c5697ca8 (patch)
tree96388c083cc474be232d0866a550c687f7371920 /gdb
parent7b70956dc8e3886e5fa483d72847f68a5008346c (diff)
downloadgdb-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.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog7
-rw-r--r--gdb/breakpoint.c25
-rw-r--r--gdb/testsuite/ChangeLog8
-rw-r--r--gdb/testsuite/gdb.base/pending.exp3
-rw-r--r--gdb/testsuite/gdb.linespec/linespec.exp4
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"