mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-27 04:52:05 +08:00
4a94e36819
This commit brings all the changes made by running gdb/copyright.py as per GDB's Start of New Year Procedure. For the avoidance of doubt, all changes in this commits were performed by the script.
84 lines
2.7 KiB
Plaintext
84 lines
2.7 KiB
Plaintext
# Copyright 2017-2022 Free Software Foundation, Inc.
|
|
#
|
|
# This program is free software; you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
load_lib "ada.exp"
|
|
|
|
if { [skip_ada_tests] } { return -1 }
|
|
|
|
standard_ada_testfile foo_p708_025
|
|
|
|
if {[gdb_compile_ada "${srcfile}" "${binfile}" executable {debug}] != ""} {
|
|
return -1
|
|
}
|
|
|
|
clean_restart ${testfile}
|
|
|
|
set bp_location [gdb_get_line_number "START" ${testdir}/pck.adb]
|
|
runto "pck.adb:$bp_location"
|
|
|
|
# Insert a watchpoint on local variable "result"
|
|
|
|
gdb_test "watch result" \
|
|
".*atchpoint \[0-9\]+: result"
|
|
|
|
# Insert a breakpoint we'll reach after returning from the current
|
|
# function.
|
|
|
|
set bp_location [gdb_get_line_number "Do_Nothing" ${testdir}/foo_p708_025.adb]
|
|
gdb_test "break foo_p708_025.adb:$bp_location" \
|
|
"Breakpoint \[0-9\]+ at.*: file .*foo_p708_025.adb, line \[0-9\]+."
|
|
|
|
# This breakpoint will be there to stop us after we test what happens
|
|
# during a continue (see below...)
|
|
|
|
gdb_test "break pck.increment" \
|
|
"Breakpoint \[0-9\]+ at.*: file .*pck.adb, line \[0-9\]+."
|
|
|
|
# Continue until we reach our watchpoint. It isn't strictly necessary
|
|
# for our purpose that the watchpoint actually triggers, but this shows
|
|
# that the watchpoint exists and is active.
|
|
gdb_test "cont" \
|
|
".*atchpoint \[0-9\]+: result.*Old value = 8.*New value = 64.*" \
|
|
"continuing to watchpoint hit"
|
|
|
|
# Continue again. We should be stopped at the (internal) breakpoint
|
|
# that we setup to delete the watchpoint as soon as the program leaves
|
|
# the current scope.
|
|
|
|
gdb_test \
|
|
"cont" \
|
|
".*atchpoint \[0-9\]+ deleted because the program has left the block.*" \
|
|
"continuing until watchpoint automatic deletion"
|
|
|
|
# Continue one more time. We should be reaching one of the breakpoints
|
|
# (on the call to Do_Nothing) we set earlier.
|
|
|
|
gdb_test "cont" \
|
|
"Breakpoint \[0-9\]+.*Do_Nothing.*" \
|
|
"continuing to breakpoint on call to Do_Nothing"
|
|
|
|
# Do a next, to verify that it works...
|
|
|
|
gdb_test "next" \
|
|
".* Call_Me;" \
|
|
"next to call to Call_Me"
|
|
|
|
# And finally, one more continue.
|
|
|
|
|
|
gdb_test "cont" \
|
|
"Breakpoint \[0-9\]+.*pck\\.increment.*" \
|
|
"continuing to breakpoint in pck.increment"
|