forked from Imagelibrary/binutils-gdb
This commit is the result of the following actions:
- Running gdb/copyright.py to update all of the copyright headers to
include 2024,
- Manually updating a few files the copyright.py script told me to
update, these files had copyright headers embedded within the
file,
- Regenerating gdbsupport/Makefile.in to refresh it's copyright
date,
- Using grep to find other files that still mentioned 2023. If
these files were updated last year from 2022 to 2023 then I've
updated them this year to 2024.
I'm sure I've probably missed some dates. Feel free to fix them up as
you spot them.
95 lines
2.8 KiB
Plaintext
95 lines
2.8 KiB
Plaintext
# Copyright 2010-2024 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/>.
|
|
|
|
#
|
|
# Tests involving watchpoint conditions with local expressions.
|
|
#
|
|
|
|
# The allow_hw_watchpoint_tests checks if watchpoints are supported by the
|
|
# processor. On PowerPC, the check runs a small test program under gdb
|
|
# to determine if the Power processor supports HW watchpoints. The check
|
|
# must be done before starting the test so as to not disrupt the execution
|
|
# of the actual test.
|
|
|
|
set allow_hw_watchpoint_tests_p [allow_hw_watchpoint_tests]
|
|
|
|
standard_testfile .c
|
|
|
|
if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile}] } {
|
|
return -1
|
|
}
|
|
|
|
# Disable hardware watchpoints if necessary.
|
|
if {!$allow_hw_watchpoint_tests_p} {
|
|
gdb_test_no_output "set can-use-hw-watchpoints 0" ""
|
|
}
|
|
|
|
if {![runto_main]} {
|
|
return
|
|
}
|
|
|
|
gdb_test "watch global if q > 10" \
|
|
"atchpoint .*: global" \
|
|
"set write watchpoint on global variable, local condition"
|
|
|
|
gdb_test "continue" \
|
|
"Old value = 10.*New value = 11.*" \
|
|
"watchpoint with global expression, local condition evaluates in correct frame"
|
|
|
|
clean_restart ${testfile}
|
|
|
|
# Disable hardware watchpoints if necessary.
|
|
if {!$allow_hw_watchpoint_tests_p} {
|
|
gdb_test_no_output "set can-use-hw-watchpoints 0" ""
|
|
}
|
|
|
|
if {![runto_main]} {
|
|
return
|
|
}
|
|
|
|
gdb_test "watch q if q > 10" \
|
|
"atchpoint .*: q" \
|
|
"set write watchpoint on local variable, local condition"
|
|
|
|
gdb_test "continue" \
|
|
"Old value = 10.*New value = 11.*" \
|
|
"watchpoint with local expression, local condition evaluates in correct frame"
|
|
|
|
clean_restart ${testfile}
|
|
|
|
# Disable hardware watchpoints if necessary.
|
|
if {!$allow_hw_watchpoint_tests_p} {
|
|
gdb_test_no_output "set can-use-hw-watchpoints 0" ""
|
|
}
|
|
|
|
if {![runto_main]} {
|
|
return
|
|
}
|
|
|
|
gdb_test "watch global2" \
|
|
"atchpoint.*" \
|
|
"set write watchpoint on global2 variable"
|
|
|
|
gdb_test "continue" \
|
|
"Old value = 0.*New value = 1.*" \
|
|
"watchpoint on global2 variable triggers"
|
|
|
|
gdb_test_no_output "condition 2 *foo > 10" \
|
|
"condition of watchpoint 2 changes"
|
|
|
|
gdb_test "continue" \
|
|
".*condition cannot be tested in the current scope.*Old value = 1.*New value = 2.*" \
|
|
"watchpoint stops with untestable local expression"
|