aboutsummaryrefslogtreecommitdiff
path: root/gdb/ChangeLog-2008
diff options
context:
space:
mode:
authorXavier Roirand <roirand@adacore.com>2017-05-12 15:02:28 +0200
committerTom Tromey <tromey@adacore.com>2021-12-02 09:08:50 -0700
commit28397ae781e0780259648991f981909c5a5045e7 (patch)
tree965ddb40bfaf93324d408a37c727baf02ef3b439 /gdb/ChangeLog-2008
parentbc75fb44c5693114b3dc654a2e4b39c9b5a9ca26 (diff)
downloadbinutils-28397ae781e0780259648991f981909c5a5045e7.zip
binutils-28397ae781e0780259648991f981909c5a5045e7.tar.gz
binutils-28397ae781e0780259648991f981909c5a5045e7.tar.bz2
(Ada/AArch64) fix fixed point argument passing in inferior funcall
Consider the following code: type FP1_Type is delta 0.1 range -1.0 .. +1.0; -- Ordinary function Call_FP1 (F : FP1_Type) return FP1_Type is begin return F; end Call_FP1; When the default in GCC is to generate proper DWARF info for fixed point types, then in gdb, printing the result of a call to call_fp1 with a decimal parameter leads to: (gdb) p call_fp1(0.5) $1 = 0 The displayed value is wrong, and we actually expected: (gdb) p call_fp1(0.5) $1 = 0.5 What happened is that our fixed point type parameter got promoted to a 32bit integer because we detected that the length of that object was less than 4 bytes. The compiler does not perform this promotion and therefore GDB should not either. This patch fixes the behavior described above.
Diffstat (limited to 'gdb/ChangeLog-2008')
0 files changed, 0 insertions, 0 deletions