1 # Copyright 2020-2025 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 load_lib "gdb-python.exp" 18 19 require allow_ada_tests 20 21 standard_ada_testfile pkg 22 23 load_lib mi-support.exp 24 set MIFLAGS "-i=mi" 25 26 foreach_gnat_encoding scenario flags {none all minimal} { 27 lappend flags debug 28 29 if {[gdb_compile_ada "${srcfile}" "${binfile}-${scenario}" executable $flags] != ""} { 30 return -1 31 } 32 33 mi_clean_restart $::testfile-$scenario 34 35 if {[mi_runto_main] < 0} { 36 return 0 37 } 38 39 set bp_location [gdb_get_line_number "STOP" ${testdir}/pkg.adb] 40 mi_continue_to_line \ 41 "pkg.adb:$bp_location" \ 42 "stop at start of main Ada procedure" 43 44 mi_gdb_test "-var-create r * r" \ 45 "\\^done,name=\"r\",numchild=\"1\",.*" \ 46 "create r varobj" 47 48 set bp_location [gdb_get_line_number "STOP2" ${testdir}/pkg.adb] 49 mi_continue_to_line \ 50 "pkg.adb:$bp_location" \ 51 "stop at second breakpoint" 52 53 mi_gdb_test "-var-update 1 r" \ 54 "\\^done.*name=\"r\",.*new_num_children=\"2\",.*" \ 55 "update r varobj" 56 } 57