1 # Copyright
2004-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 # This file is part of the gdb testsuite.
18 # This contains tests
for breakpoints in C
++.
20 if { [skip_cplus_tests
] } { continue }
23 # test running programs
28 if [get_compiler_info
"c++"] {
32 if {[prepare_for_testing $testfile.exp $testfile $srcfile
{debug c
++}]} {
36 proc test_breakpoint
{name} {
37 # Restart the
program every time
, so that a single failure doesn
't
39 if ![runto_main] then {
40 perror "couldn't run to main when testing $
{name}"
43 gdb_breakpoint
"${name}"
44 gdb_test
"continue" "Continuing.\r\n\r\nBreakpoint \[0-9\]*, ${name}.*" "continue to ${name}"
48 test_breakpoint
"C1::Nested::foo"
50 set bp_location1
[gdb_get_line_number
"conditional breakpoint in method"]
51 set bp_location2
[gdb_get_line_number
"conditional breakpoint in method 2"]
52 gdb_test
"break $bp_location1 if i_==3" ".*Breakpoint.*" "conditional breakpoint in method"
53 gdb_test
"break $bp_location2 if i_==3" ".*Breakpoint.*" "conditional breakpoint in method 2"
54 gdb_test
"continue" ".*Breakpoint.*C1::foo.*" "continue to breakpoint"
55 gdb_test
"print i_" "\\\$1 = 3" "check the member variable"
56 gdb_test
"continue" ".*Breakpoint.*C1::bar.*" "continue to breakpoint"
57 gdb_test
"print i_" "\\\$2 = 3" "check the member variable"