From: Jeff Law Date: Mon, 7 Jan 2002 19:21:27 +0000 (+0000) Subject: * gdb.base/break.c (multi_line_if_conditional): New function. X-Git-Url: http://git.efficios.com/?a=commitdiff_plain;h=f286b2c396fbead5820277360b60ad3e8bcdd6ec;p=deliverable%2Fbinutils-gdb.git * 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. --- diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 61310d002e..b4b8cd0c99 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 e7e6af645d..9e458b316b 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 798e0c24fd..166f097eb5 100644 --- a/gdb/testsuite/gdb.base/break.exp +++ b/gdb/testsuite/gdb.base/break.exp @@ -121,6 +121,18 @@ gdb_test "break $srcfile:85" \ "breakpoint line number in file" +# +# 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 # @@ -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"