Add translations for various sub-directories
[binutils-gdb.git] / gdb / testsuite / gdb.ada / arr_acc_idx_w_gap.exp
blob4ecb4f8cd78ecb4ec95b53378514431dff4b212c
1 # Copyright 2018-2024 Free Software Foundation, Inc.
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.
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.
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/>.
16 load_lib "ada.exp"
18 require allow_ada_tests
20 standard_ada_testfile enum_with_gap_main
22 foreach_gnat_encoding scenario flags {all minimal} {
23     lappend flags debug
25     if {[gdb_compile_ada "${srcfile}" "${binfile}-${scenario}" \
26              executable $flags] != ""} {
27         return -1
28     }
30     clean_restart ${testfile}-${scenario}
32     set bp_location [gdb_get_line_number "BREAK" \
33                          ${testdir}/enum_with_gap_main.adb]
34     if {![runto "enum_with_gap_main.adb:$bp_location"]} {
35         return
36     }
38     gdb_test "print indexed_by_enum.all" \
39         " = \\(lit1 => 1, 43, 42, 41\\)"
40     gdb_test "print s.all" \
41         " = \"Hello!\""
43     gdb_test "print indexed_by_enum'length" \
44         " = 4"
45     gdb_test "print s'length" \
46         " = 6"
48     gdb_test "print indexed_by_enum'first" \
49         " = lit1"
50     gdb_test "print s'first" \
51         " = 1"
53     gdb_test "print indexed_by_enum'last" \
54         " = lit4"
55     gdb_test "print s'last" \
56         " = 6"
58     gdb_test "print indexed_by_enum(lit2..lit4)" \
59         " = \\(lit2 => 43, 42, 41\\)"
60     gdb_test "print s(2..4)" \
61         " = \"ell\""
63     gdb_test "print v" " = lit3"
64     gdb_test "print enum_subrange'pos(v)" " = 3"
65     gdb_test "print enum_subrange'val(3)" " = lit3"
67     gdb_test "print indexed_by_enum(lit2)" "43"
68     gdb_test "print s(2)" "101 'e'"
70     gdb_test "print enum_with_gaps'enum_rep(lit3)" " = 13" \
71         "enum_rep"
72     gdb_test "print enum_subrange'enum_rep(lit3)" " = 13" \
73         "other enum_rep"
74     gdb_test "print enum_with_gaps'enum_val(21)" " = lit4" \
75         "enum_val"