This is the mail archive of the
gdb-prs@sourceware.org
mailing list for the GDB project.
exp/2150: floating-point infinity value is wrongly displayed as 0 on AMD64
- From: gawrilow at math dot tu-berlin dot de
- To: gdb-gnats at sources dot redhat dot com
- Date: 21 Jul 2006 12:58:18 -0000
- Subject: exp/2150: floating-point infinity value is wrongly displayed as 0 on AMD64
- Reply-to: gawrilow at math dot tu-berlin dot de
>Number: 2150
>Category: exp
>Synopsis: floating-point infinity value is wrongly displayed as 0 on AMD64
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: change-request
>Submitter-Id: net
>Arrival-Date: Fri Jul 21 13:08:01 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator: gawrilow@math.tu-berlin.de
>Release: GNU gdb 6.5
>Organization:
>Environment:
Linux localhost 2.6.13-15.8-smp #1 SMP Tue Feb 7 11:07:24 UTC 2006 x86_64 x86_64 x86_64 GNU/Linux
gcc (GCC) 4.0.2 20050901 (prerelease) (SUSE Linux)
This GDB was configured as "x86_64-unknown-linux-gnu"
>Description:
The commands showing program data (print, return, etc.) print '0' instead of 'inf' when fed with a floating-point infinite value (e.g. std::numeric_limits<double>::infinity() in C++).
>How-To-Repeat:
Load the attached program, stop at the line 7, and print the values of a and b.
>Fix:
The error must be somewhere in the function convert_floatformat_to_doublest(), but it looks too complicated for me to be able to give a more precise suggestion.
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: text/x-c++src; name="inf.cc"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="inf.cc"
I2luY2x1ZGUgPGxpbWl0cz4KCmludCBtYWluKCkKewogICBkb3VibGUgYT1zdGQ6Om51bWVyaWNf
bGltaXRzPGRvdWJsZT46OmluZmluaXR5KCk7CiAgIGRvdWJsZSBiPWEqMi4wKzEuMDsKICAgcmV0
dXJuIGEhPWI7Cn0K