mirror of git://sourceware.org/git/glibc.git
This patch continues cleaning up math_private.h by moving the math_opt_barrier and math_force_eval macros to a separate header math-barriers.h. At present, those macros are inside a "#ifndef math_opt_barrier" in math_private.h to allow architectures to override them and then use a separate math-barriers.h header, no such #ifndef or #include_next is needed; architectures just have their own alternative version of math-barriers.h when providing their own optimized versions that avoid going through memory unnecessarily. The generic math-barriers.h has a comment added to document these two macros. In this patch, math_private.h is made to #include <math-barriers.h>, so files using these macros do not need updating yet. That is because of uses of math_force_eval in math_check_force_underflow and math_check_force_underflow_nonneg, which are still defined in math_private.h. Once those are moved out to a separate header, that separate header can be made to include <math-barriers.h>, as can the other files directly using these barrier macros, and then the include of <math-barriers.h> from math_private.h can be removed. Tested for x86_64 and x86. Also tested with build-many-glibcs.py that installed stripped shared libraries are unchanged by this patch. * sysdeps/generic/math-barriers.h: New file. * sysdeps/generic/math_private.h [!math_opt_barrier] (math_opt_barrier): Move to math-barriers.h. [!math_opt_barrier] (math_force_eval): Likewise. * sysdeps/aarch64/fpu/math-barriers.h: New file. * sysdeps/aarch64/fpu/math_private.h (math_opt_barrier): Move to math-barriers.h. (math_force_eval): Likewise. * sysdeps/alpha/fpu/math-barriers.h: New file. * sysdeps/alpha/fpu/math_private.h (math_opt_barrier): Move to math-barriers.h. (math_force_eval): Likewise. * sysdeps/x86/fpu/math-barriers.h: New file. * sysdeps/i386/fpu/fenv_private.h (math_opt_barrier): Move to math-barriers.h. (math_force_eval): Likewise. * sysdeps/m68k/m680x0/fpu/math_private.h: Move to.... * sysdeps/m68k/m680x0/fpu/math-barriers.h: ... here. Adjust multiple-include guard for rename. * sysdeps/powerpc/fpu/math-barriers.h: New file. * sysdeps/powerpc/fpu/math_private.h (math_opt_barrier): Move to math-barriers.h. (math_force_eval): Likewise. |
||
|---|---|---|
| .. | ||
| bits | ||
| Versions | ||
| cabsf.c | ||
| cargf.c | ||
| cfloat-compat.h | ||
| cimagf.c | ||
| conjf.c | ||
| crealf.c | ||
| e_sqrt.c | ||
| e_sqrtf.c | ||
| fclrexcpt.c | ||
| fedisblxcpt.c | ||
| feenablxcpt.c | ||
| fegetenv.c | ||
| fegetexcept.c | ||
| fegetmode.c | ||
| fegetround.c | ||
| feholdexcpt.c | ||
| fenv_libc.h | ||
| fesetenv.c | ||
| fesetexcept.c | ||
| fesetmode.c | ||
| fesetround.c | ||
| feupdateenv.c | ||
| fgetexcptflg.c | ||
| fpu_control.h | ||
| fsetexcptflg.c | ||
| ftestexcept.c | ||
| get-rounding-mode.h | ||
| libm-test-ulps | ||
| libm-test-ulps-name | ||
| math-barriers.h | ||
| math_private.h | ||
| s_cacosf.c | ||
| s_cacoshf.c | ||
| s_casinf.c | ||
| s_casinhf.c | ||
| s_catanf.c | ||
| s_catanhf.c | ||
| s_ccosf.c | ||
| s_ccoshf.c | ||
| s_cexpf.c | ||
| s_clog10f.c | ||
| s_clogf.c | ||
| s_copysign.c | ||
| s_copysignf.c | ||
| s_cpowf.c | ||
| s_cprojf.c | ||
| s_csinf.c | ||
| s_csinhf.c | ||
| s_csqrtf.c | ||
| s_ctanf.c | ||
| s_ctanhf.c | ||
| s_fabs.c | ||
| s_fabsf.c | ||
| s_fma.c | ||
| s_isnan.c | ||
| s_isnanf.c | ||
| s_llrint.c | ||
| s_llrintf.c | ||
| s_llround.c | ||
| s_llroundf.c | ||
| s_lrint.c | ||
| s_lrintf.c | ||
| s_lround.c | ||
| s_lroundf.c | ||
| s_rint.c | ||
| s_rintf.c | ||