On Mon, Jan 04, 2021 at 02:30:43PM -0700, Jeff Law wrote:
> 
> On 1/2/21 1:34 AM, Steve Kargl via Gcc-patches wrote:
> > Can someone, anyone, please commit the following trivially patch?
> > gfortran.dg/dec_math.f90 will never pass on i?86-*-freebsd*.
> Why will the test never pass on that platform?  I don't mind installing
> the patch, but I'd like to have a bit more background first :-)
> 

The testcase assumes REAL(10) has 64-bits of precision.  On
i?86-*-freebsd, the i387 FPU control word is set to 53-bits.
The test program is not set up to deal with 11-bits of 
missing precision.

The current code uses the preprocessor to enable testing of
REAL(10) with something like

#ifdef __GFC_REAL_10__
   real(10) x
   print *, digits(x)
#endif

There are 44 instances of '#ifdef __GFC_REAL_10__'.  Each of those
would need to be modified to determine if __FreeBSD__ and __i386__
are defined, and gfortran would need to be modified to define
those macros!

IOW, xfailing the test is the easiest path forward for something
that will never pass.

-- 
Steve

Reply via email to