1 # Copyright
2009-2015 Free Software Foundation
, Inc.
3 # This
program is free software
; you can redistribute it and
/or modify
4 # it under the terms of the GNU General Public License as published by
5 # the Free Software Foundation
; either version
3 of the License
, or
6 #
(at your option
) any later version.
8 # This
program is distributed in the hope that it will be useful
,
9 # but WITHOUT
ANY WARRANTY
; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the
11 # GNU General Public License
for more details.
13 # You should have received a copy of the GNU General Public License
14 # along with this
program.
If not
, see
<http
://www.gnu.org
/licenses
/>.
16 # Test breakpoints
on extern
"C" functions implemented in C++.
18 if { [skip_cplus_tests
] } { continue }
22 if {[prepare_for_testing $testfile.exp $testfile $srcfile
{debug c
++}]} {
28 if { [gdb_breakpoint
"c_func"] == 1 } {
29 pass
"setting breakpoint at c_func"
31 gdb_continue_to_breakpoint
"c_func" ".*c_func.*"
33 gdb_test_no_output
"set \$counter = 0" "initialize counter"
35 gdb_test
"rbreak c_funcs" \
36 "Breakpoint.* at .*c_funcs_1.*Breakpoint.* at .*c_funcs_2.*"
38 # Test that
"commands" without an argument puts commands on both
40 gdb_test_multiple
"commands" "set commands on multiple breakpoints" {
41 -re
"Type commands for breakpoint\\(s\\) 3-4, one per line\.\r\nEnd with a line saying just \"end\".\r\n>$" {
42 gdb_test_multiple
"set \$counter = \$counter + 1\nend" \
43 "command details for multiple breakpoints" {
45 pass
"command details for multiple breakpoints"
48 pass
"set commands on multiple breakpoints"
52 gdb_continue_to_breakpoint
"c_funcs_1" ".*c_funcs_1.*"
53 gdb_test
"print \$counter" " = 1" "verify counter at first breakpoint"
54 gdb_continue_to_breakpoint
"c_funcs_2" ".*c_funcs_2.*"
55 gdb_test
"print \$counter" " = 2" "verify counter at second breakpoint"