aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.base/sizeof.exp
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2017-08-30 16:12:56 -0600
committerTom Tromey <tom@tromey.com>2017-09-06 11:11:03 -0600
commit5aec60eb2f6f0905bfc76f5949fd5d55c6a10f10 (patch)
treeff5a162d3206c6dec256da07b66554dea91f6830 /gdb/testsuite/gdb.base/sizeof.exp
parenta102602bc56e418f9794d653ef103a65f08a5a49 (diff)
downloadfsf-binutils-gdb-5aec60eb2f6f0905bfc76f5949fd5d55c6a10f10.zip
fsf-binutils-gdb-5aec60eb2f6f0905bfc76f5949fd5d55c6a10f10.tar.gz
fsf-binutils-gdb-5aec60eb2f6f0905bfc76f5949fd5d55c6a10f10.tar.bz2
Cast char constant to int in sizeof.exp
PR gdb/22010 concerns a regression I introduced with the scalar printing changes. The bug is that this code in sizeof.exp: set signof_byte [get_integer_valueof "'\\377'" -1] can incorrectly compute sizeof_byte. One underlying problem here is that gdb's C parser doesn't treat a char constant as an int (this is PR 19973). However, it seems good to have an immediate fix for the regression. The simplest is to cast to an int here. testsuite/ChangeLog 2017-09-05 Tom Tromey <tom@tromey.com> PR gdb/22010: * gdb.base/sizeof.exp (check_valueof): Cast char constant to int.
Diffstat (limited to 'gdb/testsuite/gdb.base/sizeof.exp')
-rw-r--r--gdb/testsuite/gdb.base/sizeof.exp2
1 files changed, 1 insertions, 1 deletions
diff --git a/gdb/testsuite/gdb.base/sizeof.exp b/gdb/testsuite/gdb.base/sizeof.exp
index 5d89407..13d36f8 100644
--- a/gdb/testsuite/gdb.base/sizeof.exp
+++ b/gdb/testsuite/gdb.base/sizeof.exp
@@ -86,7 +86,7 @@ proc check_valueof { exp val } {
# Check that GDB and the target agree over the sign of a character.
-set signof_byte [get_integer_valueof "'\\377'" -1]
+set signof_byte [get_integer_valueof "(int) '\\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]