summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2019-04-20 18:53:00 -0400
committerRich Felker <dalias@aerifal.cx>2019-04-20 18:55:05 -0400
commit78691fa76d40751173be95527ece8821113a1be0 (patch)
treec14fb2a3d3fc0492034c7742b5e1118e9bf8ccd0
parente4dd65305a046019123ab34ebdcbe761a3a719ca (diff)
downloadmusl-78691fa76d40751173be95527ece8821113a1be0.tar.gz
make new math code compatible with unused variable warning/error
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.
-rw-r--r--src/internal/libm.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/internal/libm.h b/src/internal/libm.h
index 05f14e48..b5bd26b8 100644
--- a/src/internal/libm.h
+++ b/src/internal/libm.h
@@ -154,7 +154,8 @@ static inline long double fp_barrierl(long double x)
#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
@@ -162,7 +163,8 @@ static inline void fp_force_evalf(float x)
#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
@@ -170,7 +172,8 @@ static inline void fp_force_eval(double x)
#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