1 # Copyright
2011-2022 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 # Check that GDB can
call C
++ functions whose parameters or
return values have
17 # type containing a static member of the same type.
19 # Still no C
++ compiler is used.
20 if { [skip_cplus_tests
] } { continue }
23 # This test can only be run
on targets which support DWARF
-2 and use gas.
24 if {![dwarf2_support
]} {
29 set executable $
{testfile
}
31 if {[prepare_for_testing_full
"failed to prepare" \
32 [list $testfile c
++ $testfile
-main.cc
{c
++ debug
} \
37 if ![runto_main
] then {
41 # main is not provided by DWARF.
42 gdb_test_no_output
"set language c++"
44 # There are no mangled names in DWARF to suggest the v3 ABI.
45 gdb_test_no_output
"set cp-abi gnu-v3"
47 # GDB cannot resolve external member function
for which only ELF
(and not
48 # DWARF
) symbol is available. Therefore the function `f
' must have DWARF which
51 gdb_test "p c.membername" " = {.*} 0x\[0-9a-f\]+ <f\\(\\)>"
52 gdb_breakpoint "C::membername"
53 gdb_test "p c.membername ()" "\r\nBreakpoint \[0-9\]+, .*"