* lib/gdb.exp (gdb_expect): Of all the timeouts provided always
authorMaciej W. Rozycki <macro@linux-mips.org>
Fri, 29 Feb 2008 15:40:20 +0000 (15:40 +0000)
committerMaciej W. Rozycki <macro@linux-mips.org>
Fri, 29 Feb 2008 15:40:20 +0000 (15:40 +0000)
select the largest.

gdb/testsuite/ChangeLog
gdb/testsuite/lib/gdb.exp

index f2c590e83f8048111309c67f577c1c1725e49926..3886227fd8878fcda006acf3b3bcfb5310dd1742 100644 (file)
@@ -1,3 +1,8 @@
+2008-02-29  Maciej W. Rozycki  <macro@mips.com>
+
+       * lib/gdb.exp (gdb_expect): Of all the timeouts provided always
+       select the largest.
+
 2008-02-28  Daniel Jacobowitz  <dan@codesourcery.com>
 
        * gdb.base/annota1.exp, gdb.cp/annota2.exp: Update for fewer
index cbfa253579ad40127d055c910e76a0a8a598291f..0c0eafcd9e823833b28ddbe00c37e50783225be2 100644 (file)
@@ -1776,34 +1776,44 @@ proc send_gdb { string } {
 
 proc gdb_expect { args } {
     if { [llength $args] == 2  && [lindex $args 0] != "-re" } {
-       set gtimeout [lindex $args 0];
+       set atimeout [lindex $args 0];
        set expcode [list [lindex $args 1]];
     } else {
-       upvar timeout timeout;
-
        set expcode $args;
-       if [target_info exists gdb,timeout] {
-           if [info exists timeout] {
-               if { $timeout < [target_info gdb,timeout] } {
-                   set gtimeout [target_info gdb,timeout];
-               } else {
-                   set gtimeout $timeout;
-               }
-           } else {
+    }
+
+    upvar timeout timeout;
+
+    if [target_info exists gdb,timeout] {
+       if [info exists timeout] {
+           if { $timeout < [target_info gdb,timeout] } {
                set gtimeout [target_info gdb,timeout];
+           } else {
+               set gtimeout $timeout;
            }
+       } else {
+           set gtimeout [target_info gdb,timeout];
        }
+    }
 
+    if ![info exists gtimeout] {
+       global timeout;
+       if [info exists timeout] {
+           set gtimeout $timeout;
+       }
+    }
+
+    if [info exists atimeout] {
+       if { ![info exists gtimeout] || $gtimeout < $atimeout } {
+           set $gtimeout $atimeout;
+       }
+    } else {
        if ![info exists gtimeout] {
-           global timeout;
-           if [info exists timeout] {
-               set gtimeout $timeout;
-           } else {
-               # Eeeeew.
-               set gtimeout 60;
-           }
+           # Eeeeew.
+           set gtimeout 60;
        }
     }
+
     global suppress_flag;
     global remote_suppress_flag;
     if [info exists remote_suppress_flag] {