1 # Copyright
2008 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 test verifies that setting breakpoint
on line in inline
19 # function will fire in all instantiations of that function.
25 if { [skip_cplus_tests
] } { continue }
30 set testfile
"mb-inline"
31 set hdrfile
"${testfile}.h"
32 set srcfile1
"${testfile}1.cc"
33 set objfile1
"${testfile}1.o"
34 set srcfile2
"${testfile}2.cc"
35 set objfile2
"${testfile}2.o"
36 set binfile
"${objdir}/${subdir}/${testfile}"
38 if { [gdb_compile
"$srcdir/$subdir/$srcfile1" "$objdir/$subdir/$objfile1" object {debug c++}] != "" } {
39 untested mb
-inline.exp
43 if { [gdb_compile
"$srcdir/$subdir/$srcfile2" "$objdir/$subdir/$objfile2" object {debug c++}] != "" } {
44 untested mb
-inline.exp
48 if { [gdb_compile
"$objdir/$subdir/$objfile1 $objdir/$subdir/$objfile2" "${binfile}" executable {debug c++}] != "" } {
49 untested mb
-inline.exp
53 if [get_compiler_info $
{binfile
} "c++"] {
59 gdb_reinitialize_dir $srcdir
/$subdir
62 set bp_location
[gdb_get_line_number
"set breakpoint here" $hdrfile]
64 #
Set a breakpoint with multiple locations.
66 gdb_test
"break $hdrfile:$bp_location" \
67 "Breakpoint.*at.* file .*$hdrfile, line.*\\(2 locations\\).*" \
72 -re
"Breakpoint \[0-9\]+,.*foo \\(i=0\\).*$gdb_prompt $" {
73 pass
"run to breakpoint"
76 fail
"run to breakpoint"
79 fail
"run to breakpoint (timeout)"
84 ".*Breakpoint.*foo \\(i=1\\).*" \
87 # Try disabling a single location. We also test
88 # that at least in simple cases
, the enable
/disable
89 # state of locations survive
"run".
90 # Early bug would disable
1.1 and enable
1.2 when
program is run.
91 gdb_test
"disable 1.2" "" "disabling location: disable"
95 -re
"Breakpoint \[0-9\]+,.*foo \\(i=0\\).*$gdb_prompt $" {
96 pass
"disabling location: run to breakpoint"
99 fail
"disabling location: run to breakpoint"
102 fail
"disabling location: run to breakpoint (timeout)"
106 gdb_test
"continue" \
107 ".*Program exited normally.*" \
108 "continue with disabled breakpoint 1.2"