glibc/sysdeps/ieee754
Martin Jansa 4a06ceea33 sysdeps/ieee754/soft-fp: ignore maybe-uninitialized with -O [BZ #19444]
* with -O, -O1, -Os it fails with:

In file included from ../soft-fp/soft-fp.h:318,
                 from ../sysdeps/ieee754/soft-fp/s_fdiv.c:28:
../sysdeps/ieee754/soft-fp/s_fdiv.c: In function '__fdiv':
../soft-fp/op-2.h:98:25: error: 'R_f1' may be used uninitialized in this function [-Werror=maybe-uninitialized]
        X##_f0 = (X##_f1 << (_FP_W_TYPE_SIZE - (N)) | X##_f0 >> (N) \
                         ^~
../sysdeps/ieee754/soft-fp/s_fdiv.c:38:14: note: 'R_f1' was declared here
   FP_DECL_D (R);
              ^
../soft-fp/op-2.h:37:36: note: in definition of macro '_FP_FRAC_DECL_2'
   _FP_W_TYPE X##_f0 _FP_ZERO_INIT, X##_f1 _FP_ZERO_INIT
                                    ^
../soft-fp/double.h:95:24: note: in expansion of macro '_FP_DECL'
 # define FP_DECL_D(X)  _FP_DECL (2, X)
                        ^~~~~~~~
../sysdeps/ieee754/soft-fp/s_fdiv.c:38:3: note: in expansion of macro 'FP_DECL_D'
   FP_DECL_D (R);
   ^~~~~~~~~
../soft-fp/op-2.h:101:17: error: 'R_f0' may be used uninitialized in this function [-Werror=maybe-uninitialized]
       : (X##_f0 << (_FP_W_TYPE_SIZE - (N))) != 0)); \
                 ^~
../sysdeps/ieee754/soft-fp/s_fdiv.c:38:14: note: 'R_f0' was declared here
   FP_DECL_D (R);
              ^
../soft-fp/op-2.h:37:14: note: in definition of macro '_FP_FRAC_DECL_2'
   _FP_W_TYPE X##_f0 _FP_ZERO_INIT, X##_f1 _FP_ZERO_INIT
              ^
../soft-fp/double.h:95:24: note: in expansion of macro '_FP_DECL'
 # define FP_DECL_D(X)  _FP_DECL (2, X)
                        ^~~~~~~~
../sysdeps/ieee754/soft-fp/s_fdiv.c:38:3: note: in expansion of macro 'FP_DECL_D'
   FP_DECL_D (R);
   ^~~~~~~~~

Build tested with Yocto for ARM, AARCH64, X86, X86_64, PPC, MIPS, MIPS64
with -O, -O1, -Os.
For AARCH64 it needs one more fix in locale for -Os.

	[BZ #19444]
	* sysdeps/ieee754/soft-fp/s_fdiv.c: Include <libc-diag.h> and use
	DIAG_PUSH_NEEDS_COMMENT, DIAG_IGNORE_NEEDS_COMMENT and
	DIAG_POP_NEEDS_COMMENT to disable -Wmaybe-uninitialized.
2018-10-02 15:40:57 +00:00
..
dbl-64 Remove unnecessary math_private.h includes. 2018-09-28 21:53:33 +00:00
float128 Use copysign functions not __copysign functions in glibc libm. 2018-09-27 20:04:48 +00:00
flt-32 Remove unnecessary math_private.h includes. 2018-09-28 21:53:33 +00:00
ldbl-64-128 Remove unnecessary math_private.h includes. 2018-09-28 21:53:33 +00:00
ldbl-96 Remove unnecessary math_private.h includes. 2018-09-28 21:53:33 +00:00
ldbl-128 Use copysign functions not __copysign functions in glibc libm. 2018-09-27 20:04:48 +00:00
ldbl-128ibm Remove unnecessary math_private.h includes. 2018-09-28 21:53:33 +00:00
ldbl-128ibm-compat ldbl-128ibm-compat: Add printf_size 2018-07-02 10:51:01 -03:00
ldbl-opt Use copysign functions not __copysign functions in glibc libm. 2018-09-27 20:04:48 +00:00
soft-fp sysdeps/ieee754/soft-fp: ignore maybe-uninitialized with -O [BZ #19444] 2018-10-02 15:40:57 +00:00
ieee754.h
k_standard.c Use copysign functions not __copysign functions in glibc libm. 2018-09-27 20:04:48 +00:00
k_standardf.c Remove unnecessary math_private.h includes. 2018-09-28 21:53:33 +00:00
k_standardl.c Remove unnecessary math_private.h includes. 2018-09-28 21:53:33 +00:00
Makefile
s_lib_version.c
s_matherr.c
s_signgam.c Remove unnecessary math_private.h includes. 2018-09-28 21:53:33 +00:00