aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.ada/formatted_ref.exp
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/testsuite/gdb.ada/formatted_ref.exp')
-rw-r--r--gdb/testsuite/gdb.ada/formatted_ref.exp25
1 files changed, 24 insertions, 1 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"]