# `a.x is 1' is asynchronous regarding to `frames-invalid'.
#
+if { $gdb_spawn_id == $inferior_spawn_id } {
+ set match_output \
+ [multi_line \
+ "\($frames_invalid\)*a.x is 1" \
+ "\($frames_invalid\)*"]
+} else {
+ # Usually we'd handle this using gdb_test_stdio, but that looks too
+ # complicated in combination with annotations, so just ignore the inferior
+ # output.
+ set match_output "\($frames_invalid\)*"
+}
+
set pat [multi_line "" \
"\032\032post-prompt" \
"Continuing." \
"" \
"\032\032starting" \
- "\(${frames_invalid}\)*a.x is 1" \
- "\(${frames_invalid}\)*"\
+ $match_output \
"\032\032exited 0" \
"$inferior_exited_re normally." \
"" \
# annotate-exited
#
send_gdb "continue\n"
-gdb_expect_list "continue to exit" "$gdb_prompt$" [concat {
- "\r\n\032\032post-prompt\r\n"
- "Continuing.\r\n"
- "\r\n\032\032starting\r\n"
- "a.x is 1\r\n"
- "\r\n\032\032exited 0\r\n"} [list "$inferior_exited_re normally.\r\n"] {
- "\r\n\032\032stopped\r\n"
-}]
+
+set el {}
+lappend el "\r\n\032\032post-prompt\r\n"
+lappend el "Continuing.\r\n"
+lappend el "\r\n\032\032starting\r\n"
+if { $gdb_spawn_id == $inferior_spawn_id } {
+ lappend el "a.x is 1\r\n"
+} else {
+ # Usually we'd handle this using gdb_test_stdio, but that looks too
+ # complicated in combination with annotations, so just ignore the inferior
+ # output.
+}
+lappend el "\r\n\032\032exited 0\r\n"
+lappend el "$inferior_exited_re normally.\r\n"
+lappend el "\r\n\032\032stopped\r\n"
+
+gdb_expect_list "continue to exit" "$gdb_prompt$" $el
#
# delete all breakpoints