1# Copyright 2013-2023 Free Software Foundation, Inc. 2 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. 7# 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. 12# 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/>. 15 16if { [skip_cplus_tests] } { return } 17 18standard_testfile .cc 19 20if {[prepare_for_testing "failed to prepare" $testfile $srcfile {debug c++}]} { 21 return -1 22} 23 24if {![runto_main]} { 25 return 26} 27 28gdb_breakpoint [gdb_get_line_number "stop inside C"] 29gdb_continue_to_breakpoint "stop inside C" 30 31gdb_test "print includefile\[0\]" " = 23" 32gdb_test "print this->includefile\[0\]" " = 23" 33gdb_test "print 'includefile'::some_global" " = 27" \ 34 "print some_global from within C" 35 36gdb_breakpoint [gdb_get_line_number "stop inside D"] 37gdb_continue_to_breakpoint "stop inside D" 38 39gdb_test "print includefile()" " = 24" 40gdb_test "print this->includefile()" " = 24" 41gdb_test "print 'includefile'::some_global" " = 27" \ 42 "print some_global from within D" 43 44gdb_breakpoint [gdb_get_line_number "stop outside"] 45gdb_continue_to_breakpoint "stop outside" 46 47gdb_test "print c.includefile\[0\]" " = 23" 48gdb_test "print pc->includefile\[0\]" " = 23" 49gdb_test "print d.includefile()" " = 24" 50gdb_test "print pd->includefile()" " = 24" 51