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
/>.
22 set testdir
"ptype_field"
23 set testfile
"${testdir}/foo"
24 set srcfile $
{srcdir
}/$
{subdir
}/$
{testfile
}.adb
25 set binfile $
{objdir
}/$
{subdir
}/$
{testfile
}
27 file
mkdir $
{objdir
}/$
{subdir
}/$
{testdir
}
28 if {[gdb_compile_ada
"${srcfile}" "${binfile}" executable [list debug additional_flags=-gnat05 ]] != "" } {
32 # A convenience function that joins all the arguments together
,
33 # with a regexp that matches zero
-or
-more end of lines in between
34 # each
argument. This function is ideal to write the expected output
35 # of a GDB command that generates more than a couple of lines
, as
36 # this allows us to write each line as a separate string
, which is
37 # easier to read by a human being.
39 proc multi_line
{ args } {
40 return [join $
args "\[\r\n\]*"]
45 gdb_reinitialize_dir $srcdir
/$subdir
48 set bp_location
[gdb_get_line_number
"STOP" ${testdir}/foo.adb]
49 runto
"foo.adb:$bp_location"
51 gdb_test
"ptype circle" \
52 [multi_line
"type = record" \
53 " pos: pck\\.position;" \
58 gdb_test
"ptype circle.pos" \
59 [multi_line
"type = record" \
65 gdb_test
"ptype circle.pos.x" \
66 "type = <\[0-9\]+-byte integer>" \