From fd708571bd2853ea9ad8fcf15b22c0a71b57cd3a Mon Sep 17 00:00:00 2001 From: Ben Elliston Date: Tue, 1 Mar 2011 21:19:29 +1100 Subject: 2011-03-01 Rainer Orth * lib/dg.exp (dg-test): Support nested calls. --- lib/dg.exp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'lib/dg.exp') diff --git a/lib/dg.exp b/lib/dg.exp index 7325df5..e3e07d9 100644 --- a/lib/dg.exp +++ b/lib/dg.exp @@ -671,10 +671,11 @@ proc dg-test { args } { # Define our own "special function" `unknown' so we catch spelling errors. # But first rename the existing one so we can restore it afterwards. - catch {rename dg-save-unknown ""} - rename unknown dg-save-unknown - proc unknown { args } { - return -code error "unknown dg option: $args" + if { [info procs dg-save-unknown] == [list] } { + rename unknown dg-save-unknown + proc unknown { args } { + return -code error "unknown dg option: $args" + } } set tmp [dg-get-options $prog] @@ -698,8 +699,10 @@ proc dg-test { args } { } # Restore normal error handling. - rename unknown "" - rename dg-save-unknown unknown + if { [info procs dg-save-unknown] != [list] } { + rename unknown "" + rename dg-save-unknown unknown + } # If we're not supposed to try this test on this target, we're done. if { [lindex ${dg-do-what} 1] == "N" } { -- cgit v1.1