Re: [PATCH] newlib: switch to autoconf long double wider macro

Corinna Vinschen <[email protected]>
Newsgroups gmane.comp.lib.newlib
Message-ID <[email protected]>
On Jan 21 07:39, Mike Frysinger wrote:
> On 21 Jan 2022 12:27, Corinna Vinschen wrote:
> > On Jan 21 00:04, Mike Frysinger wrote:
> > > Now that we require a recent version of autoconf, we can rely on this
> > > macro existing.  It has inverted semantics from the existing test (it
> > > looks for "is wider" instead of "is equal"), so we have to invert the
> > > check when creating our _LDBL_EQ_DBL.
> > > ---
> > >  newlib/configure    | 72 +++++++++++++++++++++++++++++----------------
> > >  newlib/configure.ac | 22 ++------------
> > >  newlib/newlib.hin   |  4 +++
> > >  3 files changed, 53 insertions(+), 45 deletions(-)
> > 
> > Looks right to me, please push.
> 
> for posterity, i'll note that autoconf uses a different (more comprehensive)
> testing method that ultimately arrives at a diff answer than what newlib is
> atm.  for aarch64, _LDBL_EQ_DBL is now defined when it wasn't before.
> 
> newlib today is doing:
> #if DBL_MANT_DIG == LDBL_MANT_DIG && \
>     LDBL_MIN_EXP == DBL_MIN_EXP   && \
>     LDBL_MAX_EXP == DBL_MAX_EXP
>   #define _LDBL_EQ_DBL
>  #else
>   #error "LDBL != DBL"
> #endif
> 
> while autoconf is doing:
>        (0 < ((DBL_MAX_EXP < LDBL_MAX_EXP)
>           + (DBL_MANT_DIG < LDBL_MANT_DIG)
>           - (LDBL_MAX_EXP < DBL_MAX_EXP)
>           - (LDBL_MANT_DIG < DBL_MANT_DIG)))
>        && (int) LDBL_EPSILON == 0
> -mike

Erm... that's kind of weird.  The newlib expression doesn't look wrong.

So, out of curiosity of somebody not being familiar with aarch64,
why is that?


Corinna
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.