This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
[patch] In testsuite, make 'test_compiler_info' work like 'istarget'
- From: Paul Gilliam <pgilliam at us dot ibm dot com>
- To: gdb-patches at sources dot redhat dot com
- Date: Wed, 6 Apr 2005 13:08:50 -0800
- Subject: [patch] In testsuite, make 'test_compiler_info' work like 'istarget'
- Reply-to: pgilliam at us dot ibm dot com
The dejagnu procedure 'test_compiler_info' works in much the same way as the dejagnu procedure
''istarget': it takes a pattern as argument and tests that pattern against a magic string. Unlike
'istarget', 'test_compiler_info' does not return the magic string if the argument is null. This patch
fixes that.
With this patch, you can do this:
switch -glob [test_compiler_info] {
"gcc-1-*" { set gcc_compiled 1 }
"gcc-2-*" { set gcc_compiled 2 }
"gcc-3-*" { set gcc_compiled 3 }
"gcc-4-*" { set gcc_compiled 4 }
"gcc-5-*" { set gcc_compiled 5 }
"hpcc-*" { set hp_cc_compiler 1 }
"hpacc-*" { set hp_aCC_compiler 1 }
default { warning "unknown compiler" }
}
instead of this:
if {[test_compiler_info "gcc-1-*"]} then { set gcc_compiled 1
} elseif {[test_compiler_info "gcc-2-*"]} then { set gcc_compiled 2
} elseif {[test_compiler_info "gcc-3-*"]} then { set gcc_compiled 3
} elseif {[test_compiler_info "gcc-4-*"]} then { set gcc_compiled 4
} elseif {[test_compiler_info "gcc-5-*" ]} then { set gcc_compiled 5
} elseif {[test_compiler_info "hpcc-*" ]} then { set hp_cc_compiler 1
} elseif {[test_compiler_info "hpacc-*"]} then { set hp_aCC_compiler 1
} else { warning "unknown compiler" }
Of course you could do the following, but that would be cheating, right?
global compiler_info
switch -glob $compiler_info {
"gcc-1-*" { set gcc_compiled 1 }
"gcc-2-*" { set gcc_compiled 2 }
"gcc-3-*" { set gcc_compiled 3 }
"gcc-4-*" { set gcc_compiled 4 }
"gcc-5-*" { set gcc_compiled 5 }
"hpcc-*" { set hp_cc_compiler 1 }
"hpacc-*" { set hp_aCC_compiler 1 }
default { warning "unknown compiler" }
}
OK to commit?
-=# Paul #=-
--
2005-04-06 Paul Gilliam <pgilliam@us.ibm.com>
* testsuite/lib/gdb.exp: Make 'test_compiler_info' work like
'istarget' - return compiler_info if null argument.
Index: lib/gdb.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/lib/gdb.exp,v
retrieving revision 1.58
diff -c -3 -p -r1.58 gdb.exp
*** lib/gdb.exp 10 Sep 2004 01:04:59 -0000 1.58
--- lib/gdb.exp 6 Apr 2005 20:38:35 -0000
*************** proc get_compiler_info {binfile args} {
*** 1293,1298 ****
--- 1293,1309 ----
proc test_compiler_info { compiler } {
global compiler_info
+
+ # if no arg, return the compiler_info string
+
+ if [string match "" $compiler] {
+ if [info exists compiler_info] {
+ return $compiler_info
+ } else {
+ perror "No compiler info found."
+ }
+ }
+
return [string match $compiler $compiler_info]
}