From c37b5d41e317b95a6d4b98252b290e97c9ff3773 Mon Sep 17 00:00:00 2001 From: Vladimir Prus Date: Tue, 22 Jan 2008 19:43:10 +0000 Subject: [PATCH] * breakpoint.c (break_command_really): New parameter ignore_count. (break_command_1): Pass 0 as ignore_count to break_command_really. (gdb_breakpoint): Pass ignore_count to break_command_really. --- gdb/ChangeLog | 9 +++++++++ gdb/breakpoint.c | 12 +++++++----- gdb/testsuite/ChangeLog | 8 ++++++++ gdb/testsuite/gdb.mi/basics.c | 8 ++++++++ gdb/testsuite/gdb.mi/mi-break.exp | 24 ++++++++++++++++++++++++ gdb/testsuite/gdb.mi/mi-cli.exp | 2 +- gdb/testsuite/gdb.mi/mi2-cli.exp | 2 +- 7 files changed, 58 insertions(+), 7 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 00767e509d..3f783a2cfe 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,12 @@ +2008-01-22 Vladimir Prus + + * breakpoint.c (break_command_really): New parameter + ignore_count. + (break_command_1): Pass 0 as + ignore_count to break_command_really. + (gdb_breakpoint): Pass ignore_count to + break_command_really. + 2008-01-21 Kevin Buettner * mn10300-linux-tdep.c (am33_linux_sigframe_cache_init): Find diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c index 60fbbe57d7..9551bd542a 100644 --- a/gdb/breakpoint.c +++ b/gdb/breakpoint.c @@ -5237,10 +5237,11 @@ find_condition_and_thread (char *tok, CORE_ADDR pc, static int break_command_really (char *arg, char *cond_string, int thread, - int parse_condition_and_thread, - int tempflag, int hardwareflag, - enum auto_boolean pending_break_support, - int from_tty) + int parse_condition_and_thread, + int tempflag, int hardwareflag, + int ignore_count, + enum auto_boolean pending_break_support, + int from_tty) { struct gdb_exception e; struct symtabs_and_lines sals; @@ -5254,7 +5255,6 @@ break_command_really (char *arg, char *cond_string, int thread, struct captured_parse_breakpoint_args parse_args; int i; int pending = 0; - int ignore_count = 0; int not_found = 0; sals.sals = NULL; @@ -5427,6 +5427,7 @@ break_command_1 (char *arg, int flag, int from_tty) return break_command_really (arg, NULL, 0, 1 /* parse arg */, tempflag, hardwareflag, + 0 /* Ignore count */, pending_break_support, from_tty); } @@ -5441,6 +5442,7 @@ gdb_breakpoint (char *address, char *condition, return break_command_really (address, condition, thread, 0 /* condition and thread are valid. */, tempflag, hardwareflag, + ignore_count, pending ? AUTO_BOOLEAN_TRUE : AUTO_BOOLEAN_FALSE, 0); diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 74099f6012..18f387c896 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2008-01-22 Vladimir Prus + + * gdb.mi/basics.c: Setup for testing breakpoints + ignore count. + * gdb.mi/mi-break.exp: Test for breakpoint ignore count. + * gdb.mi/mi-cli.exp: Adjust. + * gdb.mi/mi2-cli.exp: Adjust. + 2008-01-17 Pedro Alves * gdb.mi/mi-var-child.c (do_children_tests): Add 'dummy' integer diff --git a/gdb/testsuite/gdb.mi/basics.c b/gdb/testsuite/gdb.mi/basics.c index d56bf9dd71..5b52112909 100644 --- a/gdb/testsuite/gdb.mi/basics.c +++ b/gdb/testsuite/gdb.mi/basics.c @@ -46,6 +46,11 @@ callee1 (int intarg, char *strarg, double fltarg) callee2 (intarg, strarg); } +void callme (int i) +{ + printf ("callme\n"); +} + main () { callee1 (2, "A string argument.", 3.5); @@ -53,6 +58,9 @@ main () printf ("Hello, World!"); + callme (1); + callme (2); + return 0; } diff --git a/gdb/testsuite/gdb.mi/mi-break.exp b/gdb/testsuite/gdb.mi/mi-break.exp index b51fd18ada..af438b9c5d 100644 --- a/gdb/testsuite/gdb.mi/mi-break.exp +++ b/gdb/testsuite/gdb.mi/mi-break.exp @@ -153,8 +153,32 @@ proc test_rbreak_creation_and_listing {} { "delete temp breakpoints" } +proc test_ignore_count {} { + global mi_gdb_prompt + + mi_gdb_test "-break-insert -i 1 callme" \ + "\\^done.*ignore=\"1\".*" \ + "insert breakpoint with ignore count at callme" + + mi_run_cmd + + gdb_expect { + -re ".*func=\"callme\".*args=\\\[\{name=\"i\",value=\"2\"\}\\\].*\r\n$mi_gdb_prompt$" { + pass "run to breakpoint with ignore count" + } + -re ".*$mi_gdb_prompt$" { + fail "run to breakpoint with ignore count" + } + timeout { + fail "run to breakpoint with ignore count (timeout)" + } + } +} + test_tbreak_creation_and_listing test_rbreak_creation_and_listing +test_ignore_count + mi_gdb_exit return 0 diff --git a/gdb/testsuite/gdb.mi/mi-cli.exp b/gdb/testsuite/gdb.mi/mi-cli.exp index 64789b5471..ef674b039f 100644 --- a/gdb/testsuite/gdb.mi/mi-cli.exp +++ b/gdb/testsuite/gdb.mi/mi-cli.exp @@ -186,7 +186,7 @@ gdb_expect { } mi_gdb_test "-interpreter-exec console \"list\"" \ - "\~\"$line_main_return\[\\\\t ]*return 0;\\\\n\".*\\^done" \ + "\~\"$line_main_return\[\\\\t ]*callme \\(1\\);\\\\n\".*\\^done" \ "-interpreter-exec console \"list\" at basics.c:\$line_main_return" mi_gdb_test "-interpreter-exec console \"help set args\"" \ diff --git a/gdb/testsuite/gdb.mi/mi2-cli.exp b/gdb/testsuite/gdb.mi/mi2-cli.exp index ee8d47dda8..7879bd7ccf 100644 --- a/gdb/testsuite/gdb.mi/mi2-cli.exp +++ b/gdb/testsuite/gdb.mi/mi2-cli.exp @@ -186,7 +186,7 @@ gdb_expect { } mi_gdb_test "-interpreter-exec console \"list\"" \ - "\~\"$line_main_return\[\\\\t ]*return 0;\\\\n\".*\\^done" \ + "\~\"$line_main_return\[\\\\t ]*callme \\(1\\);\\\\n\".*\\^done" \ "-interpreter-exec console \"list\" at basics.c:\$line_main_return" mi_gdb_test "-interpreter-exec console \"help set args\"" \ -- 2.11.0