[Bug build/19444] build failures with -O1 due to -Wmaybe-uninitialized

cvs-commit at gcc dot gnu.org sourceware-bugzilla@sourceware.org
Thu Jan 3 17:26:00 GMT 2019


https://sourceware.org/bugzilla/show_bug.cgi?id=19444

--- Comment #12 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, release/2.28/master has been updated
       via  1e5c5303a522764d7e9d2302a60e4a32cdb902f1 (commit)
      from  2a8612b278bdb059e2d069b6d72570d7e0dc7aeb (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=1e5c5303a522764d7e9d2302a60e4a32cdb902f1

commit 1e5c5303a522764d7e9d2302a60e4a32cdb902f1
Author: Martin Jansa <Martin.Jansa@gmail.com>
Date:   Tue Oct 2 15:38:43 2018 +0000

    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.

    (cherry picked from commit 4a06ceea33ecc220bbfe264d8f1e74de2f04e90d)

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                        |    7 +++++++
 NEWS                             |    1 +
 sysdeps/ieee754/soft-fp/s_fdiv.c |   12 ++++++++++++
 3 files changed, 20 insertions(+), 0 deletions(-)

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Glibc-bugs mailing list