------- 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