This is the mail archive of the gdb@sourceware.cygnus.com mailing list for the GDB project. See the GDB home page for more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: A gdb 4.17 patch for linux/x86


On Tue, May 26, 1998 at 04:44:30PM -0700, Stu Grossman wrote:
> The changes to the C expression parser are bad.  They cause any 20 digit hex
> number to be converted to a raw DOUBLEST value.

Seems to me the proper way is to support ISO C9x's hexidecimal
fractional notation (%a):

The @samp{%a} and @samp{%A} conversions are meant for representing
floating-point number exactly in textual form so that they can be
exchanged as texts between different programs and/or machines.  The
numbers are represented is the form
@w{[@code{-}]@code{0x}@var{h}@code{.}@var{hhh}@code{p}
   [@code{+}|@code{-}]@var{dd}}.
At the left of the decimal-point character exactly one digit is print.
This character is only @code{0} is the number is denormalized.
Otherwise the value is unspecified; it is implemention dependent how many
bits are used.  The number of hexadecimal digits on the right side of
the decimal-point character is equal to the precision.  If the precision
is zero it is determined to be large enough to provide an exact
representation of the number (or it is large enough to distinguish two
adjacent values if the @code{FLT_RADIX} is not a power of 2.


r~