+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
}
}
+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
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