commit
b50d315fd23f0fbc4c11e2583801dd123d933745 introduced
fp_force_eval implemented by default with a dead store to a volatile
variable. unfortunately introduces warnings with -Wunused-variable and
breaks the ability to use -Werror with the default warning options set
by configure when warnings are enabled.
we could just call fp_barrier instead, but that results in a spurious
load after the store due to volatile semantics.
the fix committed here avoids the load. it will still produce warnings
without -Wno-unused-but-set-variable, but that's part of our default
warning profile, and there are already other locations in the source
where an unused variable warning will occur without it.
#define fp_force_evalf fp_force_evalf
static inline void fp_force_evalf(float x)
{
- volatile float y = x;
+ volatile float y;
+ y = x;
}
#endif
#define fp_force_eval fp_force_eval
static inline void fp_force_eval(double x)
{
- volatile double y = x;
+ volatile double y;
+ y = x;
}
#endif
#define fp_force_evall fp_force_evall
static inline void fp_force_evall(long double x)
{
- volatile long double y = x;
+ volatile long double y;
+ y = x;
}
#endif