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

--- Comment #2 from Marc Glisse <glisse at gcc dot gnu.org> 2012-08-07 13:13:46 
UTC ---
Don't you need to tell the compiler (with the FENV_ACCESS pragma) that you are
going to look at flags, just like you tell it that you are going to use
non-default rounding modes?

"In general, if the state of FENV_ACCESS is โ€˜โ€˜offโ€™โ€™, the translator can assume
that default modes are in effect and the flags are not tested."

The compiler would also need to #undef FE_DOWNWARD in fenv.h if it wants to
pretend that it only supports round-to-nearest (there is an "if and only if" in
the standard).

I think I see what you mean: if there is only one rounding-mode, then the
pragma has no effect on rounding so you can pretend that it is on. But then the
same applies to trapping, since the standard explicitly allows for
FE_ALL_EXCEPT==0.

Reply via email to