1# Copyright 2011-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 task_switch 19 20if {[gdb_compile_ada "${srcfile}" "${binfile}" executable [list debug additional_flags=-gnata ]] != "" } { 21 return -1 22} 23 24load_lib mi-support.exp 25set MIFLAGS "-i=mi" 26 27gdb_exit 28if [mi_gdb_start] { 29 continue 30} 31 32mi_delete_breakpoints 33mi_gdb_reinitialize_dir $srcdir/$subdir 34mi_gdb_load ${binfile} 35 36# This test won't work properly if system debuginfo is installed. 37mi_gdb_test "-gdb-set debug-file-directory \"\"" ".*" 38 39if ![mi_runto "task_switch.break_me"] then { 40 fail "cannot run to main, testcase aborted" 41 return 0 42} 43 44# Verify that "-stack-list-arguments" does not cause the debugger to 45# crash when printing the arguments of frame 1 (due to the internally- 46# generated argument "_task"). 47mi_gdb_test "-stack-list-arguments 1" \ 48 "\\^done,stack-args=\\\[frame=\{level=\"0\",args=\\\[\\\]\},frame=\{level=\"1\",args=\\\[\{name=\"<_task>\",value=\"$hex\"\}\\\]\},frame=\{level=\"2\",args=\\\[\\\]\}.*" \ 49 "-stack-list-arguments 1" 50 51