1# Copyright 2015-2019 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 16load_lib "ada.exp" 17 18standard_ada_testfile foo_na09_042 19 20if {[gdb_compile_ada "${srcfile}" "${binfile}" executable [list debug]] != "" } { 21 return -1 22} 23 24clean_restart ${testfile} 25 26set bp_location [gdb_get_line_number "STOP" ${testdir}/foo_na09_042.adb] 27runto "foo_na09_042.adb:$bp_location" 28 29gdb_test "print a1" \ 30 " = \\(\\(i => 0, s => \"\"\\), \\(i => 1, s => \"A\"\\), \\(i => 2, s => \"AB\"\\)\\)" 31 32gdb_test "print a1(1)" \ 33 " = \\(i => 0, s => \"\"\\)" 34 35gdb_test "print a1(2)" \ 36 " = \\(i => 1, s => \"A\"\\)" 37 38gdb_test "print a1(3)" \ 39 " = \\(i => 2, s => \"AB\"\\)" 40 41gdb_test "print a2" \ 42 " = \\(\\(i => 2, s => \"AB\"\\), \\(i => 1, s => \"A\"\\), \\(i => 0, s => \"\"\\)\\)" 43 44gdb_test "print a2(1)" \ 45 " = \\(i => 2, s => \"AB\"\\)" 46 47gdb_test "print a2(2)" \ 48 " = \\(i => 1, s => \"A\"\\)" 49 50gdb_test "print a2(3)" \ 51 " = \\(i => 0, s => \"\"\\)" 52 53gdb_test "ptype a1(1)" \ 54 [multi_line "type = record" \ 55 " i: pck\\.small_type;" \ 56 " s: access array \\((<>|1 \\.\\. i)\\) of character;" \ 57 "end record"] 58