Message ID | 20181217213618.29538-1-Martin.Jansa@gmail.com |
---|---|
State | New |
Headers | show |
Series | None | expand |
On Mon, Dec 17, 2018 at 09:36:18PM +0000, Martin Jansa wrote: > Fixes following error when building for aarch64 with -Os: > | In file included from strcoll_l.c:43: > | strcoll_l.c: In function '__strcoll_l': > | ../locale/weight.h:31:26: error: 'seq2.back_us' may be used uninitialized in this function [-Werror=maybe-uninitialized] > | int_fast32_t i = table[*(*cpp)++]; > | ^~~~~~~~~ > | strcoll_l.c:304:18: note: 'seq2.back_us' was declared here > | coll_seq seq1, seq2; > | ^~~~ > | In file included from strcoll_l.c:43: > | ../locale/weight.h:31:26: error: 'seq1.back_us' may be used uninitialized in this function [-Werror=maybe-uninitialized] > | int_fast32_t i = table[*(*cpp)++]; > | ^~~~~~~~~ > | strcoll_l.c:304:12: note: 'seq1.back_us' was declared here > | coll_seq seq1, seq2; > | ^~~~ > > Partial fix for [BZ #19444] > * locale/weight.h: Fix build with -Os. Hi, any feedback on this one? Other 2 patches from this series were already merged. Thanks > Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> > --- > ChangeLog | 4 ++++ > locale/weight.h | 7 +++++++ > 2 files changed, 11 insertions(+) > > diff --git a/ChangeLog b/ChangeLog > index 2e12129846..2d5679c112 100644 > --- a/ChangeLog > +++ b/ChangeLog > @@ -1,5 +1,9 @@ > 2018-12-17 Martin Jansa <Martin.Jansa@gmail.com> > > + Partial fix for [BZ #19444] > + * locale/weight.h: Fix build with -Os. > + > +2018-12-17 Martin Jansa <Martin.Jansa@gmail.com> > Partial fix for [BZ #19444] > * sysdeps/ieee754/dbl-96/e_jnl.c: Fix build with -O > * sysdeps/ieee754/ldbl-96/e_jnl.c: Likewise. > diff --git a/locale/weight.h b/locale/weight.h > index 6028d3595e..10bcea25e5 100644 > --- a/locale/weight.h > +++ b/locale/weight.h > @@ -28,7 +28,14 @@ findidx (const int32_t *table, > const unsigned char *extra, > const unsigned char **cpp, size_t len) > { > + /* With GCC 8 when compiling with -Os the compiler warns that > + seq1.back_us and seq2.back_us might be used uninitialized. > + This uninitialized use is impossible for the same reason > + as described in comments in locale/weightwc.h. */ > + DIAG_PUSH_NEEDS_COMMENT; > + DIAG_IGNORE_Os_NEEDS_COMMENT (8, "-Wmaybe-uninitialized"); > int_fast32_t i = table[*(*cpp)++]; > + DIAG_POP_NEEDS_COMMENT; > const unsigned char *cp; > const unsigned char *usrc; > > -- > 2.17.1 >
On Mon, Dec 17, 2018 at 09:36:18PM +0000, Martin Jansa wrote: > Fixes following error when building for aarch64 with -Os: > | In file included from strcoll_l.c:43: > | strcoll_l.c: In function '__strcoll_l': > | ../locale/weight.h:31:26: error: 'seq2.back_us' may be used uninitialized in this function [-Werror=maybe-uninitialized] > | int_fast32_t i = table[*(*cpp)++]; > | ^~~~~~~~~ > | strcoll_l.c:304:18: note: 'seq2.back_us' was declared here > | coll_seq seq1, seq2; > | ^~~~ > | In file included from strcoll_l.c:43: > | ../locale/weight.h:31:26: error: 'seq1.back_us' may be used uninitialized in this function [-Werror=maybe-uninitialized] > | int_fast32_t i = table[*(*cpp)++]; > | ^~~~~~~~~ > | strcoll_l.c:304:12: note: 'seq1.back_us' was declared here > | coll_seq seq1, seq2; > | ^~~~ > > Partial fix for [BZ #19444] > * locale/weight.h: Fix build with -Os. ping? This is waiting for review since 30 Sep 2018, please provide some feedback. Thanks > Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> > --- > ChangeLog | 4 ++++ > locale/weight.h | 7 +++++++ > 2 files changed, 11 insertions(+) > > diff --git a/ChangeLog b/ChangeLog > index 2e12129846..2d5679c112 100644 > --- a/ChangeLog > +++ b/ChangeLog > @@ -1,5 +1,9 @@ > 2018-12-17 Martin Jansa <Martin.Jansa@gmail.com> > > + Partial fix for [BZ #19444] > + * locale/weight.h: Fix build with -Os. > + > +2018-12-17 Martin Jansa <Martin.Jansa@gmail.com> > Partial fix for [BZ #19444] > * sysdeps/ieee754/dbl-96/e_jnl.c: Fix build with -O > * sysdeps/ieee754/ldbl-96/e_jnl.c: Likewise. > diff --git a/locale/weight.h b/locale/weight.h > index 6028d3595e..10bcea25e5 100644 > --- a/locale/weight.h > +++ b/locale/weight.h > @@ -28,7 +28,14 @@ findidx (const int32_t *table, > const unsigned char *extra, > const unsigned char **cpp, size_t len) > { > + /* With GCC 8 when compiling with -Os the compiler warns that > + seq1.back_us and seq2.back_us might be used uninitialized. > + This uninitialized use is impossible for the same reason > + as described in comments in locale/weightwc.h. */ > + DIAG_PUSH_NEEDS_COMMENT; > + DIAG_IGNORE_Os_NEEDS_COMMENT (8, "-Wmaybe-uninitialized"); > int_fast32_t i = table[*(*cpp)++]; > + DIAG_POP_NEEDS_COMMENT; > const unsigned char *cp; > const unsigned char *usrc; > > -- > 2.17.1 >
diff --git a/ChangeLog b/ChangeLog index 2e12129846..2d5679c112 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2018-12-17 Martin Jansa <Martin.Jansa@gmail.com> + Partial fix for [BZ #19444] + * locale/weight.h: Fix build with -Os. + +2018-12-17 Martin Jansa <Martin.Jansa@gmail.com> Partial fix for [BZ #19444] * sysdeps/ieee754/dbl-96/e_jnl.c: Fix build with -O * sysdeps/ieee754/ldbl-96/e_jnl.c: Likewise. diff --git a/locale/weight.h b/locale/weight.h index 6028d3595e..10bcea25e5 100644 --- a/locale/weight.h +++ b/locale/weight.h @@ -28,7 +28,14 @@ findidx (const int32_t *table, const unsigned char *extra, const unsigned char **cpp, size_t len) { + /* With GCC 8 when compiling with -Os the compiler warns that + seq1.back_us and seq2.back_us might be used uninitialized. + This uninitialized use is impossible for the same reason + as described in comments in locale/weightwc.h. */ + DIAG_PUSH_NEEDS_COMMENT; + DIAG_IGNORE_Os_NEEDS_COMMENT (8, "-Wmaybe-uninitialized"); int_fast32_t i = table[*(*cpp)++]; + DIAG_POP_NEEDS_COMMENT; const unsigned char *cp; const unsigned char *usrc;
Fixes following error when building for aarch64 with -Os: | In file included from strcoll_l.c:43: | strcoll_l.c: In function '__strcoll_l': | ../locale/weight.h:31:26: error: 'seq2.back_us' may be used uninitialized in this function [-Werror=maybe-uninitialized] | int_fast32_t i = table[*(*cpp)++]; | ^~~~~~~~~ | strcoll_l.c:304:18: note: 'seq2.back_us' was declared here | coll_seq seq1, seq2; | ^~~~ | In file included from strcoll_l.c:43: | ../locale/weight.h:31:26: error: 'seq1.back_us' may be used uninitialized in this function [-Werror=maybe-uninitialized] | int_fast32_t i = table[*(*cpp)++]; | ^~~~~~~~~ | strcoll_l.c:304:12: note: 'seq1.back_us' was declared here | coll_seq seq1, seq2; | ^~~~ Partial fix for [BZ #19444] * locale/weight.h: Fix build with -Os. Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> --- ChangeLog | 4 ++++ locale/weight.h | 7 +++++++ 2 files changed, 11 insertions(+)