mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-20 04:50:25 +08:00
real.c (do_add): Initialize signalling and canonical members.
* real.c (do_add): Initialize signalling and canonical members. * real.c (real_from_integer): Zero out destination. From-SVN: r94228
This commit is contained in:
parent
ed464869fa
commit
1c67347332
@ -1,3 +1,9 @@
|
||||
2005-01-25 J"orn Rennecke <joern.rennecke@st.com>
|
||||
|
||||
* real.c (do_add): Initialize signalling and canonical members.
|
||||
|
||||
* real.c (real_from_integer): Zero out destination.
|
||||
|
||||
2005-01-18 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
PR tree-optimize/19337
|
||||
|
@ -640,6 +640,9 @@ do_add (REAL_VALUE_TYPE *r, const REAL_VALUE_TYPE *a,
|
||||
r->cl = rvc_normal;
|
||||
r->sign = sign;
|
||||
SET_REAL_EXP (r, exp);
|
||||
/* Zero out the remaining fields. */
|
||||
r->signalling = 0;
|
||||
r->canonical = 0;
|
||||
|
||||
/* Re-normalize the result. */
|
||||
normalize (r);
|
||||
@ -1957,6 +1960,7 @@ real_from_integer (REAL_VALUE_TYPE *r, enum machine_mode mode,
|
||||
get_zero (r, 0);
|
||||
else
|
||||
{
|
||||
memset (r, 0, sizeof (*r));
|
||||
r->cl = rvc_normal;
|
||||
r->sign = high < 0 && !unsigned_p;
|
||||
SET_REAL_EXP (r, 2 * HOST_BITS_PER_WIDE_INT);
|
||||
@ -1974,7 +1978,6 @@ real_from_integer (REAL_VALUE_TYPE *r, enum machine_mode mode,
|
||||
{
|
||||
r->sig[SIGSZ-1] = high;
|
||||
r->sig[SIGSZ-2] = low;
|
||||
memset (r->sig, 0, sizeof(long)*(SIGSZ-2));
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1983,8 +1986,6 @@ real_from_integer (REAL_VALUE_TYPE *r, enum machine_mode mode,
|
||||
r->sig[SIGSZ-2] = high;
|
||||
r->sig[SIGSZ-3] = low >> (HOST_BITS_PER_LONG - 1) >> 1;
|
||||
r->sig[SIGSZ-4] = low;
|
||||
if (SIGSZ > 4)
|
||||
memset (r->sig, 0, sizeof(long)*(SIGSZ-4));
|
||||
}
|
||||
|
||||
normalize (r);
|
||||
|
Loading…
x
Reference in New Issue
Block a user