From 417e16e2a0ff33881495bc45c66df23632c8d726 Mon Sep 17 00:00:00 2001 From: Pierre Muller Date: Fri, 13 Feb 2009 23:37:24 +0000 Subject: * lib/gdb.exp (get_valueof): Accept anything as a return value. (get_integer_valueof): New procedure. (get_sizeof): Use new get_integer_value_of. * gdb.base/sizeof.exp: Replace all uses of get_valueof by get_integer_valueof. --- gdb/testsuite/ChangeLog | 8 ++++++++ gdb/testsuite/gdb.base/sizeof.exp | 8 ++++---- gdb/testsuite/lib/gdb.exp | 23 ++++++++++++++++++++--- 3 files changed, 32 insertions(+), 7 deletions(-) (limited to 'gdb') diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index d2a473c..7b25d48 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2009-02-14 Pierre Muller + + * lib/gdb.exp (get_valueof): Accept anything as a return value. + (get_integer_valueof): New procedure. + (get_sizeof): Use new get_integer_value_of. + * gdb.base/sizeof.exp: Replace all uses of get_valueof + by get_integer_valueof. + 2009-02-13 Tom Tromey * gdb.base/remote.exp (get_sizeof): Remove. diff --git a/gdb/testsuite/gdb.base/sizeof.exp b/gdb/testsuite/gdb.base/sizeof.exp index 82f0da2..60957db 100644 --- a/gdb/testsuite/gdb.base/sizeof.exp +++ b/gdb/testsuite/gdb.base/sizeof.exp @@ -109,10 +109,10 @@ proc check_valueof { exp val } { # Check that GDB and the target agree over the sign of a character. -set signof_byte [get_valueof "/d" "'\\377'" -1] -set signof_char [get_valueof "/d" "(int) (char) -1" -1] -set signof_signed_char [get_valueof "/d" "(int) (signed char) -1" -1] -set signof_unsigned_char [get_valueof "/d" "(int) (unsigned char) -1" -1] +set signof_byte [get_integer_valueof "'\\377'" -1] +set signof_char [get_integer_valueof "(int) (char) -1" -1] +set signof_signed_char [get_integer_valueof "(int) (signed char) -1" -1] +set signof_unsigned_char [get_integer_valueof "(int) (unsigned char) -1" -1] check_valueof "'\\377'" ${signof_byte} check_valueof "(int) (char) -1" ${signof_char} diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index e329b96..6df6b59 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -2885,19 +2885,36 @@ proc get_valueof { fmt exp default } { set test "get valueof \"${exp}\"" set val ${default} gdb_test_multiple "print${fmt} ${exp}" "$test" { + -re "\\$\[0-9\]* = (.*)\[\r\n\]*$gdb_prompt $" { + set val $expect_out(1,string) + pass "$test ($val)" + } + timeout { + fail "$test (timeout)" + } + } + return ${val} +} + +proc get_integer_valueof { exp default } { + global gdb_prompt + + set test "get integer valueof \"${exp}\"" + set val ${default} + gdb_test_multiple "print /d ${exp}" "$test" { -re "\\$\[0-9\]* = (\[-\]*\[0-9\]*).*$gdb_prompt $" { set val $expect_out(1,string) pass "$test ($val)" } timeout { - set size ${default} - fail "get value of ${exp} (timeout)" + fail "$test (timeout)" } } return ${val} } + proc get_sizeof { type default } { - return [get_valueof "/d" "sizeof (${type})" $default] + return [get_integer_valueof "sizeof (${type})" $default] } -- cgit v1.1