This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/80692] New: _Decimal64 -0 != 0 unless optimization is turned off
- From: "sisyphus1 at optusnet dot com.au" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 09 May 2017 10:48:44 +0000
- Subject: [Bug c/80692] New: _Decimal64 -0 != 0 unless optimization is turned off
- Auto-submitted: auto-generated
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80692
Bug ID: 80692
Summary: _Decimal64 -0 != 0 unless optimization is turned off
Product: gcc
Version: 7.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: sisyphus1 at optusnet dot com.au
Target Milestone: ---
Created attachment 41334
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=41334&action=edit
C program exhibits bug if compiled with optimization
Hi,
The attached program is fine if compiled without any optimization.
Otherwise it indicates that a variable holding the value -0.DD is not equal to
0.DD, though still accepts that -0.DD == -0.DD.
This happens on MS Windows (for a range of gcc versions from 4.7.0 through to
7.1.0).
On Linux (Ubuntu 16.04) I have tested only with gcc-5.4.0 where the same
behaviour occurs.
I haven't struck a gcc compiler that supports decimal floats but doesn't
exhibit the same behaviour.
The _Decimal128 type is similarly afflicted - I haven't checked _Decimal32.
Cheers,
Rob