From 4dad25f58b831a5b7e520da7f4333ae8e0ea768e Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Mon, 7 Jan 2002 19:21:27 +0000 Subject: * 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/testsuite/ChangeLog | 6 ++++++ gdb/testsuite/gdb.base/break.c | 30 ++++++++++++++++++++++++++++++ gdb/testsuite/gdb.base/break.exp | 16 +++++++++++++++- 3 files changed, 51 insertions(+), 1 deletion(-) (limited to 'gdb/testsuite') diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 61310d002eb..b4b8cd0c998 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 e7e6af645d8..9e458b316bb 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 798e0c24fd6..166f097eb57 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" -- cgit v1.2.1