[PATCH 01/27] Use ordinary calling convention for clean_restart

Tom Tromey tom@tromey.com
Wed Jan 25 22:45:48 GMT 2023


clean_restart accepts a single optional argument.  Rather than using
{args} and handling the argument by hand, change it to use Tcl's own
argument-checking.
---
 gdb/testsuite/lib/gdb.exp        | 11 +++--------
 gdb/testsuite/lib/mi-support.exp | 11 +++--------
 2 files changed, 6 insertions(+), 16 deletions(-)

diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
index e2af5a252b7..7c539ce15e6 100644
--- a/gdb/testsuite/lib/gdb.exp
+++ b/gdb/testsuite/lib/gdb.exp
@@ -7432,20 +7432,16 @@ proc build_executable { testname executable {sources ""} {options {debug}} } {
 }
 
 # Starts fresh GDB binary and loads an optional executable into GDB.
-# Usage: clean_restart [executable]
+# Usage: clean_restart [EXECUTABLE]
 # EXECUTABLE is the basename of the binary.
 # Return -1 if starting gdb or loading the executable failed.
 
-proc clean_restart { args } {
+proc clean_restart {{executable ""}} {
     global srcdir
     global subdir
     global errcnt
     global warncnt
 
-    if { [llength $args] > 1 } {
-	error "bad number of args: [llength $args]"
-    }
-
     gdb_exit
 
     # This is a clean restart, so reset error and warning count.
@@ -7465,8 +7461,7 @@ proc clean_restart { args } {
 
     gdb_reinitialize_dir $srcdir/$subdir
 
-    if { [llength $args] >= 1 } {
-	set executable [lindex $args 0]
+    if {$executable != ""} {
 	set binfile [standard_output_file ${executable}]
 	return [gdb_load ${binfile}]
     }
diff --git a/gdb/testsuite/lib/mi-support.exp b/gdb/testsuite/lib/mi-support.exp
index b6da2c4baf0..767ea72ff70 100644
--- a/gdb/testsuite/lib/mi-support.exp
+++ b/gdb/testsuite/lib/mi-support.exp
@@ -1008,20 +1008,16 @@ proc mi_run_with_cli {args} {
 }
 
 # Starts fresh GDB binary and loads an optional executable into GDB.
-# Usage: mi_clean_restart [executable]
+# Usage: mi_clean_restart [EXECUTABLE]
 # EXECUTABLE is the basename of the binary.
 # Return -1 if starting gdb or loading the executable failed.
 
-proc mi_clean_restart { args } {
+proc mi_clean_restart {{executable ""}} {
     global srcdir
     global subdir
     global errcnt
     global warncnt
 
-    if { [llength $args] > 1 } {
-	error "bad number of args: [llength $args]"
-    }
-
     gdb_exit
 
     # This is a clean restart, so reset error and warning count.
@@ -1034,8 +1030,7 @@ proc mi_clean_restart { args } {
 
     mi_gdb_reinitialize_dir $srcdir/$subdir
 
-    if { [llength $args] >= 1 } {
-	set executable [lindex $args 0]
+    if {$executable != ""} {
 	set binfile [standard_output_file ${executable}]
 	return [mi_gdb_load ${binfile}]
     }
-- 
2.39.1



More information about the Gdb-patches mailing list