1 # Copyright 2015-2024 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 16 load_lib "ada.exp" 17 18 require allow_ada_tests 19 20 standard_ada_testfile foo 21 22 if {[gdb_compile_ada "${srcfile}" "${binfile}" executable [list debug]] != "" } { 23 return -1 24 } 25 26 clean_restart ${testfile} 27 28 # Test that printing symbols does not cause segv. 29 gdb_test_no_output "maint expand-symtabs" 30 set file [standard_output_file gdb.txt] 31 gdb_test_no_output "set logging file $file" "set logging file" 32 gdb_test_no_output "set logging redirect on" 33 gdb_test "set logging enabled on" 34 gdb_test_no_output "maint print symbols" 35 gdb_test "set logging enabled off" 36 file delete $file 37 38 set bp_location [gdb_get_line_number "BREAK" ${testdir}/foo.adb] 39 runto "foo.adb:$bp_location" 40 41 gdb_test "print pack.a" " = \\(0 => 1, 2, 3, 4, 5, 6, 7, 8, 9, 10\\)" 42 gdb_test "print pack.aa" " = \\(access pack\\.array_type\\) 0x.* <pack\\.a>" 43 44 gdb_test "print pack.a(2)" " = 3" 45 gdb_test "print pack.aa(2)" " = 3" 46