1# Copyright 2010-2021 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# Tests of agent expression handling. 17 18# The tests that use the maintenance command do not need tracepoint 19# support on the target, but they do want a live program. 20 21load_lib "trace-support.exp" 22 23 24gdb_exit 25gdb_start 26standard_testfile actions.c 27 28if ![gdb_trace_common_supports_arch] { 29 unsupported "no trace-common.h support for arch" 30 return -1 31} 32 33if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \ 34 executable {debug nowarnings}] != "" } { 35 untested "failed to compile" 36 return -1 37} 38 39gdb_load $binfile 40runto_main 41gdb_reinitialize_dir $srcdir/$subdir 42 43gdb_test "maint agent 12" ".*const8 12.*pop.*end.*" 44 45gdb_test "maint agent gdb_char_test" "" 46 47gdb_test "maint agent gdb_arr_test\[12\]" "" 48 49gdb_test "maint agent gdb_arr_test\[gdb_short_test\]" "" 50 51gdb_test "maint agent gdb_struct1_test" "" 52 53gdb_test "maint agent gdb_struct1_test.s" "" 54 55gdb_test "maint agent gdb_struct1_test.arr\[gdb_struct1_test.c\]" "" 56 57gdb_test "maint agent gdb_structp_test" "" 58 59gdb_test "maint agent gdb_structp_test->l" "" 60 61gdb_test "maint agent gdb_structp_test->bfield" "" 62 63gdb_test "maint agent gdb_long_test + gdb_short_test" "" 64 65gdb_test "maint agent gdb_long_test - gdb_short_test" "" 66 67gdb_test "maint agent gdb_long_test * gdb_short_test" "" 68 69gdb_test "maint agent gdb_long_test / gdb_short_test" "" 70 71gdb_test "maint agent gdb_structp_test + 1" "" 72 73gdb_test "maint agent gdb_long_test == gdb_short_test" "" 74 75gdb_test "maint agent gdb_long_test != gdb_short_test" "" 76 77gdb_test "maint agent gdb_long_test < gdb_short_test" "" 78 79gdb_test "maint agent gdb_long_test <= gdb_short_test" "" 80 81gdb_test "maint agent gdb_long_test > gdb_short_test" "" 82 83gdb_test "maint agent gdb_long_test >= gdb_short_test" "" 84 85gdb_test "maint agent &gdb_long_test == &gdb_short_test" "" 86 87gdb_test "maint agent &gdb_long_test < &gdb_short_test" "" 88 89gdb_test "maint agent (unsigned char)1L" ".*const.* 1.*" 90 91# Now test eval version of agent expressions. 92 93gdb_test "maint agent-eval 12" ".*const8 12.*end.*" 94 95gdb_test "maint agent-eval gdb_char_test" "" 96 97gdb_test "maint agent-eval gdb_arr_test\[12\]" "" 98 99gdb_test "maint agent-eval gdb_arr_test\[gdb_short_test\]" "" 100 101gdb_test "maint agent-eval gdb_struct1_test" "" 102 103gdb_test "maint agent-eval gdb_struct1_test.s" "" 104 105gdb_test "maint agent-eval gdb_struct1_test.arr\[gdb_struct1_test.c\]" "" 106 107gdb_test "maint agent-eval gdb_structp_test" "" 108 109gdb_test "maint agent-eval gdb_structp_test->l" "" 110 111gdb_test "maint agent-eval gdb_structp_test->bfield" "" 112 113gdb_test "maint agent-eval gdb_long_test + gdb_short_test" "" 114 115gdb_test "maint agent-eval gdb_long_test - gdb_short_test" "" 116 117gdb_test "maint agent-eval gdb_long_test * gdb_short_test" "" 118 119gdb_test "maint agent-eval gdb_long_test / gdb_short_test" "" 120 121gdb_test "maint agent-eval gdb_structp_test + 1" "" 122 123gdb_test "maint agent-eval gdb_long_test == gdb_short_test" "" 124 125gdb_test "maint agent-eval gdb_long_test != gdb_short_test" "" 126 127gdb_test "maint agent-eval gdb_long_test < gdb_short_test" "" 128 129gdb_test "maint agent-eval gdb_long_test <= gdb_short_test" "" 130 131gdb_test "maint agent-eval gdb_long_test > gdb_short_test" "" 132 133gdb_test "maint agent-eval gdb_long_test >= gdb_short_test" "" 134 135gdb_test "maint agent-eval &gdb_long_test == &gdb_short_test" ".*equal.*end.*" 136 137gdb_test "maint agent-eval &gdb_long_test < &gdb_short_test" "" 138 139