Assert that a floating type's length is at least as long as its format
authorPedro Alves <palves@redhat.com>
Wed, 9 Mar 2016 02:29:39 +0000 (02:29 +0000)
committerPedro Alves <palves@redhat.com>
Wed, 9 Mar 2016 02:47:40 +0000 (02:47 +0000)
commitb79497cb1cdc9b3053e5f0387bf3056c08c9bbdd
treea203c96dfab366888677ad75977a132ef2036567
parentaacca8a7a9c7f93955fa9dbf796b030ffce1b956
Assert that a floating type's length is at least as long as its format

This would have caught the HP/PA bug fixed in the previous patch:

 .../src/gdb/gdbtypes.c:4690: internal-error: arch_float_type: Assertion `len >= floatformat_totalsize_bytes (floatformats[0])' failed.
 A problem internal to GDB has been detected,
 further debugging may prove unreliable.
 Quit this debugging session? (y or n)

Tested on x86-64 Fedora 23, --enable-targets=all.

gdb/ChangeLog:
2016-03-09  Pedro Alves  <palves@redhat.com>

* doublest.c (floatformat_totalsize_bytes): New function.
(floatformat_from_type): Assert that the type's length is at least
as long as the floatformat's totalsize.
* doublest.h (floatformat_totalsize_bytes): New declaration.
* gdbtypes.c (arch_float_type): Assert that the type's length is
at least as long as the floatformat's totalsize.
gdb/ChangeLog
gdb/doublest.c
gdb/doublest.h
gdb/gdbtypes.c