2003-03-17 David Carlton <carlton@math.stanford.edu>

* gdb.base/watchpoint.exp (test_watchpoint_and_breakpoint): New
	test, for PR breakpoints/38.
	Call test_watchpoint_and_breakpoint.
	* gdb.base/watchpoint.c (func3): New function.
	(main): Call func3.
This commit is contained in:
David Carlton 2003-03-17 19:51:58 +00:00
parent 94e1050898
commit 293e9a3142
3 changed files with 55 additions and 0 deletions

View File

@ -1,3 +1,11 @@
2003-03-17 David Carlton <carlton@math.stanford.edu>
* gdb.base/watchpoint.exp (test_watchpoint_and_breakpoint): New
test, for PR breakpoints/38.
Call test_watchpoint_and_breakpoint.
* gdb.base/watchpoint.c (func3): New function.
(main): Call func3.
2003-03-04 David Carlton <carlton@math.stanford.edu>
* gdb.c++/templates.exp (do_tests): Accept valid const in "print

View File

@ -83,6 +83,18 @@ func2 ()
static_b = local_a;
}
void
func3 ()
{
int x;
int y;
x = 0;
x = 1; /* second x assignment */
y = 1;
y = 2;
}
int
func1 ()
{
@ -170,5 +182,8 @@ int main ()
recurser (2);
marker6 ();
func3 ();
return 0;
}

View File

@ -648,6 +648,27 @@ proc test_complex_watchpoint {} {
}
}
proc test_watchpoint_and_breakpoint {} {
global gdb_prompt
# This is a test for PR gdb/38, which involves setting a
# watchpoint right after you've reached a breakpoint.
if [runto func3] then {
gdb_breakpoint [gdb_get_line_number "second x assignment"]
gdb_continue_to_breakpoint "second x assignment"
gdb_test "watch x" ".*atchpoint \[0-9\]+: x"
gdb_test_multiple "next" "next after watch x" {
-re ".*atchpoint \[0-9\]+: x\r\n\r\nOld value = 0\r\nNew value = 1\r\n.*$gdb_prompt $" {
pass "next after watch x"
}
-re "\[0-9\]+\[\t \]+y = 1;\r\n$gdb_prompt $" {
kfail "gdb/38" "next after watch x"
}
}
}
}
# Start with a fresh gdb.
gdb_exit
@ -799,6 +820,17 @@ if [initialize] then {
timeout {fail "(timeout) access watches disallowed"}
}
}
# See above.
if [istarget "mips-idt-*"] then {
gdb_exit
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
gdb_load $binfile
initialize
}
test_watchpoint_and_breakpoint
}
# Restore old timeout