diff options
author | Rich Felker <dalias@aerifal.cx> | 2019-04-20 18:53:00 -0400 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2019-04-20 18:55:05 -0400 |
commit | 78691fa76d40751173be95527ece8821113a1be0 (patch) | |
tree | c14fb2a3d3fc0492034c7742b5e1118e9bf8ccd0 /src/internal | |
parent | e4dd65305a046019123ab34ebdcbe761a3a719ca (diff) | |
download | musl-78691fa76d40751173be95527ece8821113a1be0.tar.gz musl-78691fa76d40751173be95527ece8821113a1be0.tar.xz musl-78691fa76d40751173be95527ece8821113a1be0.zip |
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.
Diffstat (limited to 'src/internal')
-rw-r--r-- | src/internal/libm.h | 9 |
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 |