Fix coredump-filter.exp by correctly unsetting array

In my last commit to make gdb.base/coredump-filter.exp be more robust
regarding using arrays in the global namespace, I cleared the
"coredump_var_addr" array like this:

  set coredump_var_addr ""
  # use coredump_var_addr as an array...

This causes DejaGNU to complain because the variable is first set as
non-array, and the used as an array.  The correct way to do this is to
unset the variable using:

  unset -nocomplain coredump_var_addr
  # use coredump_var_addr as an array...

The "-nocomplain" part is necessary because if the variable doesn't
exist "unset" will not error.

Tested on Fedora 20 x86_64.

gdb/testsuite/ChangeLog:
2015-05-08  Sergio Durigan Junior  <sergiodj@redhat.com>

	* gdb.base/coredump-filter.exp: Correctly unset
	"coredump_var_addr" array.
This commit is contained in:
Sergio Durigan Junior 2015-05-08 13:19:19 -04:00
parent 519b5f619b
commit f7797074a5
2 changed files with 6 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2015-05-08 Sergio Durigan Junior <sergiodj@redhat.com>
* gdb.base/coredump-filter.exp: Correctly unset
"coredump_var_addr" array.
2015-05-08 Pedro Alves <palves@redhat.com>
* gdb.server/non-existing-program.exp: Unset spawn_id.

View File

@ -167,7 +167,7 @@ gdb_test_multiple "print/x &main" "getting main's address" {
# Obtain the address of each variable that will be checked on each
# case.
set coredump_var_addr ""
unset -nocomplain coredump_var_addr
foreach item $all_anon_corefiles {
foreach name [list [lindex $item 3] [lindex $item 4]] {
set test "print/x $name"