When running test-case gdb.ada/interface.exp with gcc-9, we run into:
...
(gdb) info locals^M
s = (x => 1, y => 2, w => 3, h => 4)^M
r = (x => 1, y => 2, w => 3, h => 4)^M
(gdb) FAIL: gdb.ada/interface.exp: info locals
...
The failure is caused by the regexp expecting variable r followed by
variable s.
Fix this by allowing variable s followed by variable r as well.
Tested on x86_64-linux.
 gdb_test "print s" \
          "= \\(x => 1, y => 2, w => 3, h => 4\\)"
 
+set r_re "r = \[^\r\n\]*"
+set s_re "s = \[^\r\n\]*"
 set cmd "info locals"
-gdb_test $cmd \
-    [multi_line \
-        $cmd \
-        "r = \[^\r\n\]*" \
-        "s = \[^\r\n\]*"]
+set re1 [multi_line $cmd $r_re $s_re]
+set re2 [multi_line $cmd $s_re $r_re]
+gdb_test $cmd "(?:$re1|$re2)"