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 | |
parent | e4dd65305a046019123ab34ebdcbe761a3a719ca (diff) | |
download | musl-78691fa76d40751173be95527ece8821113a1be0.zip musl-78691fa76d40751173be95527ece8821113a1be0.tar.gz musl-78691fa76d40751173be95527ece8821113a1be0.tar.bz2 |
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')
-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 05f14e4..b5bd26b 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 |