[Bug libfortran/24342] [4.1 regression] testsuite failure:gfortran.fortran-torture/execute/in-pack.f90 exe

hp at bitrange dot com gcc-bugzilla@gcc.gnu.org
Wed Nov 9 01:08:00 GMT 2005



------- Comment #5 from hp at bitrange dot com  2005-11-09 01:08 -------
Subject: Re:  [4.1 regression] testsuite
 failure:gfortran.fortran-torture/execute/in-pack.f90 exe

On Tue, 8 Nov 2005, fxcoudert at gcc dot gnu dot org wrote:
> ------- Comment #4 from fxcoudert at gcc dot gnu dot org  2005-11-08 11:08 -------
> (In reply to comment #2)
> > In function `*_gfortrani_set_fpu':.\
> > /fpu-target.h:42: warning: warning: fedisableexcept is not implemented and will
> > always fail^M
>
> You're seeing this warning only for the in-pack testcase ?

No, I see it for seemingly *all* test-cases.

> Can you try to
> compile and run another testcase (not inside the library framework) and tell us
> what the compiler/linker says?

I haven't, but please, it's unimportant; don't get hung up on
the warning.  See below.

> Since the in-pack testcase has nothing to do with the set_fpu function, I don't
> see how on earth this could happen...

Don't worry, I do. :-)  It comes from the linker, trigged by the
source code for fedisableexcept, using machinery that's set up
by to warn for functions that shouldn't be used, like in this
case, where it's not (can't be) implemented as the warning says.

> > So I guess you'd see it for targets where floating point rounding cannot be
> > changed (usually, no hardware support and implemented through fp-bit.c).
>
> Well, even in that case, that shouldn't happen. If I read the doc correctly, in
> that case the FE_* macros are supposed not to be defined,

You seem to think they are defined?  They're not, except for a single:
#define FE_ALL_EXCEPT 0

Looking at libgfortran/config/fpu-glibc.h::set_fpu(), I guess it'd help to,
instead of an (unwrapped):
 fedisableexcept (FE_ALL_EXCEPT);

do a:
 if (FE_ALL_EXCEPT != 0)
   fedisableexcept (FE_ALL_EXCEPT);

and let gcc automatically discard the call and reference.

> but no warning should
> be issued.

Not when the function is *called*, but when it's *linked in*.

> I'll look into it (but can't promise anything, I don't have access
> to such target).

This warning is a red herring.  The problem is elsewhere.
Though I'm not likely to look at fortran FAILs myself for a
while.  I just thought it's be better to log it than not.

brgds, H-P


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24342



More information about the Gcc-bugs mailing list