Adapt gdb.ada/pkd_arr_elem.exp to accept reordered components

Recent versions of GNAT are capable of reordering record components
to make their access for efficient. This patch adapts this test to
accept both cases (reordered or not).

gdb/testsuite/ChangeLog:

        * gdb.ada/pkd_arr_elem.exp: Adapt "print test" test to accept
        output with components being reordered.
This commit is contained in:
Joel Brobecker 2017-12-11 00:16:31 -05:00
parent 75323ba0a7
commit a9c135fc7d
2 changed files with 17 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2017-12-11 Joel Brobecker <brobecker@adacore.com>
* gdb.ada/pkd_arr_elem.exp: Adapt "print test" test to accept
output with components being reordered.
2017-12-08 Jan Kratochvil <jan.kratochvil@redhat.com>
Pedro Alves <palves@redhat.com>

View File

@ -28,8 +28,18 @@ clean_restart ${testfile}
set bp_location [gdb_get_line_number "START" ${testdir}/failure.adb]
runto "failure.adb:$bp_location"
gdb_test "print test" \
"= \\(size => 100, str => \\(33 'A', nul <repeats 99 times>\\), length => 1\\)"
# Print Test. The order of the components depends on which version of
# the compiler being used, as newer version can re-order the order
# of the components. Accept both known orders.
set test "print test"
gdb_test_multiple "$test" $test {
-re "= \\(size => 100, length => 1, str => \\(33 'A', nul <repeats 99 times>\\)\\).*$gdb_prompt $" {
pass $test
}
-re "= \\(size => 100, str => \\(33 'A', nul <repeats 99 times>\\), length => 1\\).*$gdb_prompt $" {
pass $test
}
}
gdb_test "print test.str" \
"= \\(33 'A', nul <repeats 99 times>\\)"