1 # Copyright
2011-2024 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
/>.
18 if { [prepare_for_testing
"failed to prepare" ${testfile} ${srcfile} {debug c++}] } {
22 ############################################
27 with_test_prefix
"main scope" {
28 gdb_test
"print A::_a" "= 11"
29 gdb_test
"print A::B::ab" "= 22"
30 gdb_test
"print A::B::C::abc" "= 33"
32 gdb_test
"print _a" "No symbol .* in current context."
33 gdb_test
"print ab" "No symbol .* in current context."
34 gdb_test
"print abc" "No symbol .* in current context."
37 ############################################
38 gdb_breakpoint A
::B
::first
39 gdb_continue_to_breakpoint
"A::B::first"
41 with_test_prefix
"A::B::first scope" {
42 gdb_test
"print A::_a" "= 11"
43 gdb_test
"print A::B::ab" "= 22"
44 gdb_test
"print A::B::C::abc" "= 33"
46 gdb_test
"print _a" "= 11"
47 gdb_test
"print ab" "= 22"
48 gdb_test
"print C::abc" "= 33"
50 gdb_test
"print abc" "No symbol .* in current context."
53 ############################################
54 gdb_breakpoint A
::B
::C
::second
55 gdb_continue_to_breakpoint
"A::B::C::second"
57 with_test_prefix
"A::B::C::second scope" {
58 gdb_test
"print A::_a" "= 11"
59 gdb_test
"print A::B::ab" "= 22"
60 gdb_test
"print A::B::C::abc" "= 33"
62 gdb_test
"print _a" "= 11"
63 gdb_test
"print ab" "= 22"
64 gdb_test
"print abc" "= 33"