1# Copyright 2015-2023 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 compile-support.exp 17 18standard_testfile 19 20if { [prepare_for_testing "failed to prepare" "$testfile"] } { 21 return -1 22} 23 24if ![runto_main] { 25 return -1 26} 27 28if {[skip_compile_feature_untested]} { 29 return -1 30} 31 32gdb_test "compile print varint" " = 10" 33gdb_test "compile print vararray" " = \\{1, 2, 3, 4, 5\\}" 34gdb_test "compile print main" " = \\{int \\(void\\)\\} 0x\[0-9a-f\]+" 35 36set test "compile print *vararray@3" 37gdb_test_multiple $test $test { 38 -re " = \\{1, 2, 3\\}\r\n$gdb_prompt $" { 39 pass $test 40 } 41 -re ": error: stray '@' in program\r\n.*\r\n$gdb_prompt $" { 42 kfail compile/18489 "$test" 43 } 44} 45 46set test "compile print *vararrayp@3" 47gdb_test_multiple $test $test { 48 -re " = \\{1, 2, 3\\}\r\n$gdb_prompt $" { 49 pass $test 50 } 51 -re ": error: stray '@' in program\r\n.*\r\n$gdb_prompt $" { 52 kfail compile/18489 "$test" 53 } 54} 55 56gdb_test "compile print/x 256" " = 0x100" 57gdb_test {print $} " = 256" 58 59gdb_test "compile print varobject" { = {field = 1}} 60