diff options
author | Tom Tromey <tromey@adacore.com> | 2023-08-11 10:04:49 -0600 |
---|---|---|
committer | Tom Tromey <tromey@adacore.com> | 2023-08-11 10:06:56 -0600 |
commit | a17805b199b8e312d8977b28520657bf4bfbcfb4 (patch) | |
tree | 65f140b7a073b4a2b5beae10a01f8d10154029aa /gdb/testsuite/gdb.ada | |
parent | 86dfe011797b3e442622d427e9abd1e0f70f3a62 (diff) | |
download | binutils-a17805b199b8e312d8977b28520657bf4bfbcfb4.zip binutils-a17805b199b8e312d8977b28520657bf4bfbcfb4.tar.gz binutils-a17805b199b8e312d8977b28520657bf4bfbcfb4.tar.bz2 |
Test GNAT encodings in arr_acc_idx_w_gap.exp
While working on a GNAT bug, I wanted to also test
arr_acc_idx_w_gap.exp using GNAT encodings. When the GNAT change is
ready, I plan to add a new case here.
Tested on x86-64 Fedora 36. I am checking this in.
Diffstat (limited to 'gdb/testsuite/gdb.ada')
-rw-r--r-- | gdb/testsuite/gdb.ada/arr_acc_idx_w_gap.exp | 80 |
1 files changed, 43 insertions, 37 deletions
diff --git a/gdb/testsuite/gdb.ada/arr_acc_idx_w_gap.exp b/gdb/testsuite/gdb.ada/arr_acc_idx_w_gap.exp index 3971894..4a1482b 100644 --- a/gdb/testsuite/gdb.ada/arr_acc_idx_w_gap.exp +++ b/gdb/testsuite/gdb.ada/arr_acc_idx_w_gap.exp @@ -19,50 +19,56 @@ require allow_ada_tests standard_ada_testfile enum_with_gap_main -if {[gdb_compile_ada "${srcfile}" "${binfile}" executable [list debug ]] != "" } { - return -1 -} +foreach_with_prefix scenario {all minimal} { + set flags [list debug additional_flags=-fgnat-encodings=$scenario] -clean_restart ${testfile} + if {[gdb_compile_ada "${srcfile}" "${binfile}-${scenario}" \ + executable $flags] != ""} { + return -1 + } -set bp_location [gdb_get_line_number "BREAK" ${testdir}/enum_with_gap_main.adb] -if {![runto "enum_with_gap_main.adb:$bp_location"]} { - return -} + clean_restart ${testfile}-${scenario} -gdb_test "print indexed_by_enum.all" \ - " = \\(lit1 => 1, 43, 42, 41\\)" -gdb_test "print s.all" \ - " = \"Hello!\"" + set bp_location [gdb_get_line_number "BREAK" \ + ${testdir}/enum_with_gap_main.adb] + if {![runto "enum_with_gap_main.adb:$bp_location"]} { + return + } -gdb_test "print indexed_by_enum'length" \ - " = 4" -gdb_test "print s'length" \ - " = 6" + gdb_test "print indexed_by_enum.all" \ + " = \\(lit1 => 1, 43, 42, 41\\)" + gdb_test "print s.all" \ + " = \"Hello!\"" -gdb_test "print indexed_by_enum'first" \ - " = lit1" -gdb_test "print s'first" \ - " = 1" + gdb_test "print indexed_by_enum'length" \ + " = 4" + gdb_test "print s'length" \ + " = 6" -gdb_test "print indexed_by_enum'last" \ - " = lit4" -gdb_test "print s'last" \ - " = 6" + gdb_test "print indexed_by_enum'first" \ + " = lit1" + gdb_test "print s'first" \ + " = 1" -gdb_test "print indexed_by_enum(lit2..lit4)" \ - " = \\(lit2 => 43, 42, 41\\)" -gdb_test "print s(2..4)" \ - " = \"ell\"" + gdb_test "print indexed_by_enum'last" \ + " = lit4" + gdb_test "print s'last" \ + " = 6" -gdb_test "print v" " = lit3" -gdb_test "print enum_subrange'pos(v)" " = 3" -gdb_test "print enum_subrange'val(3)" " = lit3" + gdb_test "print indexed_by_enum(lit2..lit4)" \ + " = \\(lit2 => 43, 42, 41\\)" + gdb_test "print s(2..4)" \ + " = \"ell\"" -gdb_test "print indexed_by_enum(lit2)" "43" -gdb_test "print s(2)" "101 'e'" + gdb_test "print v" " = lit3" + gdb_test "print enum_subrange'pos(v)" " = 3" + gdb_test "print enum_subrange'val(3)" " = lit3" -gdb_test "print enum_with_gaps'enum_rep(lit3)" " = 13" \ - "enum_rep" -gdb_test "print enum_with_gaps'enum_val(21)" " = lit4" \ - "enum_val" + gdb_test "print indexed_by_enum(lit2)" "43" + gdb_test "print s(2)" "101 'e'" + + gdb_test "print enum_with_gaps'enum_rep(lit3)" " = 13" \ + "enum_rep" + gdb_test "print enum_with_gaps'enum_val(21)" " = lit4" \ + "enum_val" +} |