diff options
-rw-r--r-- | gdb/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/break.c | 30 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/break.exp | 16 |
3 files changed, 51 insertions, 1 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 61310d0..b4b8cd0 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,5 +1,11 @@ Mon Jan 7 12:22:18 2002 Jeffrey A Law (law@redhat.com) + * gdb.base/break.c (multi_line_if_conditional): New function. + (multi_ilne_while_conditional): Likewise. + * gdb.base/break.exp: Verify that a breakpoint on a multi-line + IF or WHILE condition puts the breakpoint at the start of + the condition. + * gdb.base/selftest.exp (backtrace through signal handler): Remove hppa*-*-hpux* expected failure. * gdb.base/structs.exp (do_function_calls): Similarly. diff --git a/gdb/testsuite/gdb.base/break.c b/gdb/testsuite/gdb.base/break.c index e7e6af6..9e458b3 100644 --- a/gdb/testsuite/gdb.base/break.c +++ b/gdb/testsuite/gdb.base/break.c @@ -99,3 +99,33 @@ int value; return (value); } +#ifdef PROTOTYPES +int multi_line_if_conditional (int a, int b, int c) +#else +int multi_line_if_conditional (a, b, c) + int a, b, c; +#endif +{ + if (a + && b + && c) + return 0; + else + return 1; +} + +#ifdef PROTOTYPES +int multi_line_while_conditional (int a, int b, int c) +#else +int multi_line_while_conditional (a, b, c) + int a, b, c; +#endif +{ + while (a + && b + && c) + { + a--, b--, c--; + } + return 0; +} diff --git a/gdb/testsuite/gdb.base/break.exp b/gdb/testsuite/gdb.base/break.exp index 798e0c2..166f097 100644 --- a/gdb/testsuite/gdb.base/break.exp +++ b/gdb/testsuite/gdb.base/break.exp @@ -122,6 +122,18 @@ gdb_test "break $srcfile:85" \ # +# Test putting a break at the start of a multi-line if conditional. +# Verify the breakpoint was put at the start of the conditional. +# +gdb_test "break multi_line_if_conditional" \ + "Breakpoint.*at.* file .*$srcfile, line 109\\." \ + "breakpoint at start of multi line if conditional" + +gdb_test "break multi_line_while_conditional" \ + "Breakpoint.*at.* file .*$srcfile, line 124\\." \ + "breakpoint at start of multi line while conditional" + +# # check to see what breakpoints are set # if [target_info exists gdb_stub] { @@ -141,7 +153,9 @@ gdb_test "info break" \ \[0-9\]+\[\t \]+breakpoint keep y.* in factorial$proto at .*$srcfile:96.* \[0-9\]+\[\t \]+breakpoint keep y.* in main at .*$srcfile:79.* \[0-9\]+\[\t \]+breakpoint keep y.* in main at .*$srcfile:79.* -\[0-9\]+\[\t \]+breakpoint keep y.* in main at .*$srcfile:85" \ +\[0-9\]+\[\t \]+breakpoint keep y.* in main at .*$srcfile:85.* +\[0-9\]+\[\t \]+breakpoint keep y.* in multi_line_if_conditional at .*$srcfile:109.* +\[0-9\]+\[\t \]+breakpoint keep y.* in multi_line_while_conditional at .*$srcfile:124" \ "breakpoint info" |