From: Tom Tromey Date: Fri, 11 Aug 2023 16:04:49 +0000 (-0600) Subject: Test GNAT encodings in arr_acc_idx_w_gap.exp X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a17805b199b8e312d8977b28520657bf4bfbcfb4;p=binutils-gdb.git 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. --- 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 397189487bb..4a1482b6d99 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" +}