[gdb/testsuite] Fix gdb.ada/float-bits.exp with -m32
authorTom de Vries <tdevries@suse.de>
Fri, 15 Apr 2022 16:00:30 +0000 (18:00 +0200)
committerTom de Vries <tdevries@suse.de>
Fri, 15 Apr 2022 16:00:30 +0000 (18:00 +0200)
commit3b9809bc62cd0ff2aff2232b68adc6bb82eee61b
tree1311f00b80f2b917764da78268f231de5d18ac22
parentd4cd7e84e28243f2c8b340a3d8affed696482cef
[gdb/testsuite] Fix gdb.ada/float-bits.exp with -m32

With test-case gdb.ada/float-bits.exp and native we get:
...
(gdb) print 16llf#7FFFF7FF4054A56FA5B99019A5C8#^M
$9 = 5.0e+25^M
(gdb) PASS: gdb.ada/float-bits.exp: print 16llf#7FFFF7FF4054A56FA5B99019A5C8#
...
but with target board unix/-m32 we have instead:
...
(gdb) print 16llf#7FFFF7FF4054A56FA5B99019A5C8#^M
Cannot export value 2596145952482202326224873165792712 as 96-bits \
  unsigned integer (must be between 0 and 79228162514264337593543950335)^M
(gdb) FAIL: gdb.ada/float-bits.exp: print 16llf#7FFFF7FF4054A56FA5B99019A5C8#
...

Fix this by testing whether 16llf is supported by doing ptype long_long_float
which gets us either:
...
type = <16-byte float>^M
...
or:
...
type = <12-byte float>^M
...

Tested on x86_64-linux with native and unix/-m32.

Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=29041
gdb/testsuite/gdb.ada/float-bits.exp