aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
Diffstat (limited to 'gdb')
-rw-r--r--gdb/testsuite/gdb.ada/formatted_ref.exp25
-rw-r--r--gdb/testsuite/gdb.ada/iwide.exp25
-rw-r--r--gdb/testsuite/gdb.ada/pkd_arr_elem.exp26
3 files changed, 71 insertions, 5 deletions
diff --git a/gdb/testsuite/gdb.ada/formatted_ref.exp b/gdb/testsuite/gdb.ada/formatted_ref.exp
index bc4b363..ea4a780 100644
--- a/gdb/testsuite/gdb.ada/formatted_ref.exp
+++ b/gdb/testsuite/gdb.ada/formatted_ref.exp
@@ -90,7 +90,30 @@ proc test_p_op1_equals_op2 {op1 op2} {
clean_restart ${testfile}
-runto defs.adb:[gdb_get_line_number "marker here" ${testdir}/defs.adb ]
+set bp_location \
+ defs.adb:[gdb_get_line_number "marker here" ${testdir}/defs.adb]
+
+# Workaround gcc PR101575.
+#runto $bp_location
+gdb_breakpoint "$bp_location"
+gdb_run_cmd
+set re "Breakpoint $decimal, defs.f1 \\(.*\\) at .*:$decimal.*"
+set re_xfail "Breakpoint $decimal, defs__struct1IP \\(\\) at .*:$decimal.*"
+set ok 1
+gdb_test_multiple "" "Runto to $bp_location" {
+ -re -wrap $re {
+ if { $ok } {
+ pass $gdb_test_name
+ } else {
+ xfail $gdb_test_name
+ }
+ }
+ -re -wrap $re_xfail {
+ set ok 0
+ send_gdb "continue\n"
+ exp_continue
+ }
+}
set s1_address [get_address "s1"]
diff --git a/gdb/testsuite/gdb.ada/iwide.exp b/gdb/testsuite/gdb.ada/iwide.exp
index 3bb854a..0742c50 100644
--- a/gdb/testsuite/gdb.ada/iwide.exp
+++ b/gdb/testsuite/gdb.ada/iwide.exp
@@ -25,8 +25,29 @@ if {[gdb_compile_ada "${srcfile}" "${binfile}" executable [list debug additional
clean_restart ${testfile}
-set bp_location [gdb_get_line_number "BREAK" ${testdir}/p.adb]
-runto "p.adb:$bp_location"
+set bp_location p.adb:[gdb_get_line_number "BREAK" ${testdir}/p.adb]
+
+# Workaround gcc PR101575.
+#runto "$bp_location"
+gdb_breakpoint "$bp_location"
+gdb_run_cmd
+set re "Breakpoint $decimal, p \\(\\) at .*:$decimal.*"
+set re_xfail "Breakpoint $decimal, p__P5b.0 \\(\\) at .*:$decimal.*"
+set ok 1
+gdb_test_multiple "" "Runto to $bp_location" {
+ -re -wrap $re {
+ if { $ok } {
+ pass $gdb_test_name
+ } else {
+ xfail $gdb_test_name
+ }
+ }
+ -re -wrap $re_xfail {
+ set ok 0
+ send_gdb "continue\n"
+ exp_continue
+ }
+}
gdb_test "print My_Drawable" \
"= \\(center => \\(x => 1, y => 2\\), radius => 3\\)"
diff --git a/gdb/testsuite/gdb.ada/pkd_arr_elem.exp b/gdb/testsuite/gdb.ada/pkd_arr_elem.exp
index 31f78bd..2d644c6 100644
--- a/gdb/testsuite/gdb.ada/pkd_arr_elem.exp
+++ b/gdb/testsuite/gdb.ada/pkd_arr_elem.exp
@@ -25,8 +25,30 @@ if {[gdb_compile_ada "${srcfile}" "${binfile}" executable {debug}] != ""} {
clean_restart ${testfile}
-set bp_location [gdb_get_line_number "START" ${testdir}/failure.adb]
-runto "failure.adb:$bp_location"
+set bp_location \
+ failure.adb:[gdb_get_line_number "START" ${testdir}/failure.adb]
+
+# Workaround gcc PR101575.
+#runto "$bp_location"
+gdb_breakpoint "$bp_location"
+gdb_run_cmd
+set re "Breakpoint $decimal, failure \\(\\) at .*:$decimal.*"
+set re_xfail "Breakpoint $decimal, failure__bounded_funny_stringIP.0 \\(\\) at .*:$decimal.*"
+set ok 1
+gdb_test_multiple "" "Runto to $bp_location" {
+ -re -wrap $re {
+ if { $ok } {
+ pass $gdb_test_name
+ } else {
+ xfail $gdb_test_name
+ }
+ }
+ -re -wrap $re_xfail {
+ set ok 0
+ send_gdb "continue\n"
+ exp_continue
+ }
+}
# Print Test. The order of the components depends on which version of
# the compiler being used, as newer version can re-order the order