[Bug other/30530] New: dfp.c assumes DPD encoding
hjl at lucon dot org
gcc-bugzilla@gcc.gnu.org
Sun Jan 21 19:08:00 GMT 2007
dfp.c uses the sig field to store encoded value and only uses access
routines in libdecnumber to manipulate it so that dfp.c can be encoding
neutral. But there are
659 decimal128 *d128;
660 *r = *op0;
661 d128 = (decimal128 *) r->sig;
662 /* Flip high bit. */
663 d128->bytes[0] ^= 1 << 7;
664 /* Keep sign field in sync. */
665 r->sign ^= 1;
671 decimal128 *d128;
672 *r = *op0;
673 d128 = (decimal128 *) r->sig;
674 /* Clear high bit. */
675 d128->bytes[0] &= 0x7f;
676 /* Keep sign field in sync. */
677 r->sign = 0;
714 if (sign)
715 r->sig[0] |= 0x80000000;
They won't work with BID encoding.
--
Summary: dfp.c assumes DPD encoding
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Severity: critical
Priority: P3
Component: other
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: hjl at lucon dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30530
More information about the Gcc-bugs
mailing list