Remove unused floating-point configuration from gmp-impl.h.

This patch removes the IEEE_DOUBLE_BIG_ENDIAN and
IEEE_DOUBLE_MIXED_ENDIAN macros from gmp-impl.h and gmp-mparam.h, and
the ieee_double_extract union from gmp-impl.h.  The macros were used
only in defining the union, which was used nowhere in glibc.  As GMP's
gmp-impl.h is over 5000 lines, the file in glibc is so far from the
GMP version that it doesn't seem to make sense to keep things there
that are not relevant in glibc.  (I expect there is plenty more in the
header after this patch that is also not relevant in glibc and can be
cleaned up later.)

Tested with build-many-glibcs.py that installed stripped shared
libraries are unchanged by this patch.
This commit is contained in:
Joseph Myers 2020-04-28 15:05:09 +00:00
parent a9bfa4353c
commit dbb188dd87
2 changed files with 0 additions and 52 deletions

View File

@ -319,53 +319,3 @@ extern void impn_sqr_n_basecase _PROTO ((mp_ptr prodp, mp_srcptr up,
extern void impn_sqr_n _PROTO ((mp_ptr prodp, mp_srcptr up, mp_size_t size,
mp_ptr tspace))
attribute_hidden;
#ifndef IEEE_DOUBLE_BIG_ENDIAN
#define IEEE_DOUBLE_BIG_ENDIAN 1
#endif
#ifndef IEEE_DOUBLE_MIXED_ENDIAN
#define IEEE_DOUBLE_MIXED_ENDIAN 0
#endif
#if IEEE_DOUBLE_MIXED_ENDIAN
union ieee_double_extract
{
struct
{
unsigned int manh:20;
unsigned int exp:11;
unsigned int sig:1;
unsigned int manl:32;
} s;
double d;
};
#else
#if IEEE_DOUBLE_BIG_ENDIAN
union ieee_double_extract
{
struct
{
unsigned int sig:1;
unsigned int exp:11;
unsigned int manh:20;
unsigned int manl:32;
} s;
double d;
};
#else
union ieee_double_extract
{
struct
{
unsigned int manl:32;
unsigned int manh:20;
unsigned int exp:11;
unsigned int sig:1;
} s;
double d;
};
#endif
#endif

View File

@ -29,5 +29,3 @@ along with the GNU MP Library; see the file COPYING.LIB. If not, see
#define BITS_PER_INT 32
#define BITS_PER_SHORTINT 16
#define BITS_PER_CHAR 8
#define IEEE_DOUBLE_BIG_ENDIAN 0