1 # Copyright
2021-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
/>.
16 # This file is a subset of ptype.exp written by Rob Savoye.
(rob@cygnus.com
)
18 require allow_ctf_tests
20 standard_testfile cross
-tu
-cyclic
-1.c cross
-tu
-cyclic
-2.c \
21 cross
-tu
-cyclic
-3.c cross
-tu
-cyclic
-4.c
23 # Using `
-gctf` generates full
-fledged CTF debug information.
25 lappend opts additional_flags
=-gctf
26 lappend opts ldflags
=-Wl
,--export-dynamic
27 lappend opts nowarning
29 if { [build_executable
"failed to prepare" ${testfile} \
30 [list $srcfile $srcfile2 $srcfile3 $srcfile4
] \
36 gdb_test_no_output
"set always-read-ctf on"
39 # Same thing with struct and union.
40 gdb_test
"ptype struct A" "type = struct A \{\[\r\n\]+\[ \t\]+struct B \\*foo;\[\r\n\]+\}.*" "ptype structure A"
41 gdb_test
"ptype struct B" "type = struct B \{\[\r\n\]+\[ \t\]+struct B \\*next;\[\r\n\]+\}.*" "ptype structure B"
42 gdb_test
"ptype struct C" "type = struct C \{\[\r\n\]+\[ \t\]+struct B \\*foo;\[\r\n\]+\[ \t\]+int b;\[\r\n\]+\}.*" "ptype structure C"