diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2018-12-27 16:39:27 +0000 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2018-12-27 16:39:27 +0000 |
commit | 52629237a522c7c146d788ddaaf69946fd2729f9 (patch) | |
tree | 552402b085cff37bc251fc0f45ed9255b53cdd57 /soft-fp/extended.h | |
parent | 3896c5809b49e72fbadc57da2189ff42aa2a5d02 (diff) | |
parent | 064374be911f72dfaec8a75f06da1f9fc1827712 (diff) |
Merge commit 'refs/top-bases/t/hurdsig-boot-fix' into t/hurdsig-boot-fix
Diffstat (limited to 'soft-fp/extended.h')
-rw-r--r-- | soft-fp/extended.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/soft-fp/extended.h b/soft-fp/extended.h index de53448341..d2794320fa 100644 --- a/soft-fp/extended.h +++ b/soft-fp/extended.h @@ -1,6 +1,6 @@ /* Software floating-point emulation. Definitions for IEEE Extended Precision. - Copyright (C) 1999-2016 Free Software Foundation, Inc. + Copyright (C) 1999-2018 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jakub Jelinek (jj@ultra.linux.cz). @@ -88,7 +88,7 @@ union _FP_UNION_E unsigned exp : _FP_EXPBITS_E; unsigned sign : 1; # endif /* not bigendian */ - } bits __attribute__ ((packed)); + } bits; }; @@ -104,6 +104,7 @@ union _FP_UNION_E X##_f[3] = 0; \ X##_f[0] = FP_UNPACK_RAW_E_flo.bits.frac0; \ X##_f[1] = FP_UNPACK_RAW_E_flo.bits.frac1; \ + X##_f[1] &= ~_FP_IMPLBIT_E; \ X##_e = FP_UNPACK_RAW_E_flo.bits.exp; \ X##_s = FP_UNPACK_RAW_E_flo.bits.sign; \ } \ @@ -119,6 +120,7 @@ union _FP_UNION_E X##_f[3] = 0; \ X##_f[0] = FP_UNPACK_RAW_EP_flo->bits.frac0; \ X##_f[1] = FP_UNPACK_RAW_EP_flo->bits.frac1; \ + X##_f[1] &= ~_FP_IMPLBIT_E; \ X##_e = FP_UNPACK_RAW_EP_flo->bits.exp; \ X##_s = FP_UNPACK_RAW_EP_flo->bits.sign; \ } \ @@ -332,6 +334,7 @@ union _FP_UNION_E FP_UNPACK_RAW_E_flo.flt = (val); \ \ X##_f0 = FP_UNPACK_RAW_E_flo.bits.frac; \ + X##_f0 &= ~_FP_IMPLBIT_E; \ X##_f1 = 0; \ X##_e = FP_UNPACK_RAW_E_flo.bits.exp; \ X##_s = FP_UNPACK_RAW_E_flo.bits.sign; \ @@ -345,6 +348,7 @@ union _FP_UNION_E = (union _FP_UNION_E *) (val); \ \ X##_f0 = FP_UNPACK_RAW_EP_flo->bits.frac; \ + X##_f0 &= ~_FP_IMPLBIT_E; \ X##_f1 = 0; \ X##_e = FP_UNPACK_RAW_EP_flo->bits.exp; \ X##_s = FP_UNPACK_RAW_EP_flo->bits.sign; \ |