public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug other/37897]  New: decNumber functions break strict-aliasing rules
@ 2008-10-22 22:38 janis at gcc dot gnu dot org
  2008-10-22 22:39 ` [Bug other/37897] " janis at gcc dot gnu dot org
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: janis at gcc dot gnu dot org @ 2008-10-22 22:38 UTC (permalink / raw)
  To: gcc-bugs

The decNumber package in GCC provides support for decimal floating point
arithmetic in the compiler and, for the DPD format, in libgcc's runtime support
for decimal float.  Some of the code in decNumber violates C's strict-aliasing
rules and has resulted in warnings for quite some time.  Some of that code has
different results since the addition of patch r136695, leading to the failure
of test gcc.dg/dfp/convert-int-max.c.  The code in question has undefined
behavior so I can't say that it is miscompiled, only that the results are
different.

I'm testing a patch that quiets all of the warnings about dereferencing
type-punned pointers with very few changes to the decNumber code, mostly
changes to data types and access macros.  This PR is to keep track of the
change because the decNumber code from GCC is also used by the GDB project and
a branch in EGLIBC.


-- 
           Summary: decNumber functions break strict-aliasing rules
           Product: gcc
           Version: 4.4.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: other
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: janis at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37897


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug other/37897] decNumber functions break strict-aliasing rules
  2008-10-22 22:38 [Bug other/37897] New: decNumber functions break strict-aliasing rules janis at gcc dot gnu dot org
@ 2008-10-22 22:39 ` janis at gcc dot gnu dot org
  2008-10-23 10:12 ` rguenth at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: janis at gcc dot gnu dot org @ 2008-10-22 22:39 UTC (permalink / raw)
  To: gcc-bugs



-- 

janis at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bje at gcc dot gnu dot org
         AssignedTo|unassigned at gcc dot gnu   |janis at gcc dot gnu dot org
                   |dot org                     |
             Status|UNCONFIRMED                 |ASSIGNED
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2008-10-22 22:38:06
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37897


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug other/37897] decNumber functions break strict-aliasing rules
  2008-10-22 22:38 [Bug other/37897] New: decNumber functions break strict-aliasing rules janis at gcc dot gnu dot org
  2008-10-22 22:39 ` [Bug other/37897] " janis at gcc dot gnu dot org
@ 2008-10-23 10:12 ` rguenth at gcc dot gnu dot org
  2008-10-23 16:17 ` janis at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2008-10-23 10:12 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from rguenth at gcc dot gnu dot org  2008-10-23 10:10 -------
Branches are likely affected as well.  There we might consider just building
the affected files with -fno-strict-aliasing?


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rguenth at gcc dot gnu dot
                   |                            |org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37897


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug other/37897] decNumber functions break strict-aliasing rules
  2008-10-22 22:38 [Bug other/37897] New: decNumber functions break strict-aliasing rules janis at gcc dot gnu dot org
  2008-10-22 22:39 ` [Bug other/37897] " janis at gcc dot gnu dot org
  2008-10-23 10:12 ` rguenth at gcc dot gnu dot org
@ 2008-10-23 16:17 ` janis at gcc dot gnu dot org
  2008-10-27 16:48 ` janis at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: janis at gcc dot gnu dot org @ 2008-10-23 16:17 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from janis at gcc dot gnu dot org  2008-10-23 16:16 -------
The code in question is in the 4.3 branch but not 4.2.  The changes are very
minimal, so the patch is probably appropriate for the 4.3 branch.  I had
already planned to ask to put it there as well as mainline.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37897


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug other/37897] decNumber functions break strict-aliasing rules
  2008-10-22 22:38 [Bug other/37897] New: decNumber functions break strict-aliasing rules janis at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2008-10-23 16:17 ` janis at gcc dot gnu dot org
@ 2008-10-27 16:48 ` janis at gcc dot gnu dot org
  2008-10-27 18:19 ` janis at gcc dot gnu dot org
  2008-10-31 19:51 ` janis at gcc dot gnu dot org
  5 siblings, 0 replies; 7+ messages in thread
From: janis at gcc dot gnu dot org @ 2008-10-27 16:48 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from janis at gcc dot gnu dot org  2008-10-27 16:47 -------
Subject: Bug 37897

Author: janis
Date: Mon Oct 27 16:45:40 2008
New Revision: 141386

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=141386
Log:
        PR other/37897
        * decDouble.h (decDouble): Replace struct with union accessible
        by more types.
        * decSingle.h (decSingle): Ditto.
        * decQuad.h (decQuad): Ditto.
        * decNumberLocal.h (DFWORD, DFBYTE, DFWWORD): access decFloat via
        new members.
        * decBasic.c (decFloatCompareTotal): Avoid type-pun violation.
        (decNumberCompare): Ditto.

Modified:
    trunk/libdecnumber/ChangeLog
    trunk/libdecnumber/decBasic.c
    trunk/libdecnumber/decDouble.h
    trunk/libdecnumber/decNumberLocal.h
    trunk/libdecnumber/decQuad.h
    trunk/libdecnumber/decSingle.h


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37897


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug other/37897] decNumber functions break strict-aliasing rules
  2008-10-22 22:38 [Bug other/37897] New: decNumber functions break strict-aliasing rules janis at gcc dot gnu dot org
                   ` (3 preceding siblings ...)
  2008-10-27 16:48 ` janis at gcc dot gnu dot org
@ 2008-10-27 18:19 ` janis at gcc dot gnu dot org
  2008-10-31 19:51 ` janis at gcc dot gnu dot org
  5 siblings, 0 replies; 7+ messages in thread
From: janis at gcc dot gnu dot org @ 2008-10-27 18:19 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from janis at gcc dot gnu dot org  2008-10-27 18:17 -------
Subject: Bug 37897

Author: janis
Date: Mon Oct 27 18:16:20 2008
New Revision: 141389

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=141389
Log:
        PR other/37897
        * decDouble.h (decDouble): Replace struct with union accessible
        by more types.
        * decSingle.h (decSingle): Ditto.
        * decQuad.h (decQuad): Ditto.
        * decNumberLocal.h (DFWORD, DFBYTE, DFWWORD): access decFloat via
        new members.
        * decBasic.c (decFloatCompareTotal): Avoid type-pun violation.
        (decNumberCompare): Ditto.

Modified:
    branches/gcc-4_3-branch/libdecnumber/ChangeLog
    branches/gcc-4_3-branch/libdecnumber/decBasic.c
    branches/gcc-4_3-branch/libdecnumber/decDouble.h
    branches/gcc-4_3-branch/libdecnumber/decNumberLocal.h
    branches/gcc-4_3-branch/libdecnumber/decQuad.h
    branches/gcc-4_3-branch/libdecnumber/decSingle.h


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37897


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug other/37897] decNumber functions break strict-aliasing rules
  2008-10-22 22:38 [Bug other/37897] New: decNumber functions break strict-aliasing rules janis at gcc dot gnu dot org
                   ` (4 preceding siblings ...)
  2008-10-27 18:19 ` janis at gcc dot gnu dot org
@ 2008-10-31 19:51 ` janis at gcc dot gnu dot org
  5 siblings, 0 replies; 7+ messages in thread
From: janis at gcc dot gnu dot org @ 2008-10-31 19:51 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from janis at gcc dot gnu dot org  2008-10-31 19:49 -------
Fixed in mainline and 4.3 branch.


-- 

janis at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37897


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2008-10-31 19:51 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-10-22 22:38 [Bug other/37897] New: decNumber functions break strict-aliasing rules janis at gcc dot gnu dot org
2008-10-22 22:39 ` [Bug other/37897] " janis at gcc dot gnu dot org
2008-10-23 10:12 ` rguenth at gcc dot gnu dot org
2008-10-23 16:17 ` janis at gcc dot gnu dot org
2008-10-27 16:48 ` janis at gcc dot gnu dot org
2008-10-27 18:19 ` janis at gcc dot gnu dot org
2008-10-31 19:51 ` janis at gcc dot gnu dot org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).