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"]
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\\)"
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