Cast char constant to int in sizeof.exp
authorTom Tromey <tom@tromey.com>
Wed, 30 Aug 2017 22:12:56 +0000 (16:12 -0600)
committerTom Tromey <tom@tromey.com>
Wed, 6 Sep 2017 17:11:03 +0000 (11:11 -0600)
commit5aec60eb2f6f0905bfc76f5949fd5d55c6a10f10
treeff5a162d3206c6dec256da07b66554dea91f6830
parenta102602bc56e418f9794d653ef103a65f08a5a49
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.
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/sizeof.exp