From 5fe8e3597562ac8e0e3df1399ebf804f72e7f661 Mon Sep 17 00:00:00 2001 From: Andreas Krebbel Date: Tue, 27 Jan 2015 09:37:04 +0100 Subject: [PATCH] iconv: Suppress array out of bounds warning. --- ChangeLog | 5 +++++ iconv/loop.c | 8 +++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 588b9ecff1..c6227b73c6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2015-01-27 Andreas Krebbel + + * iconv/loop.c: Suppress array out of bound warning caused by GCC + bug (GCC BZ #64739). + 2015-01-25 Andreas Schwab * sysdeps/unix/sysv/linux/ia64/lowlevellock.h (lll_futex_requeue): diff --git a/iconv/loop.c b/iconv/loop.c index 63148e33b4..48f47620c0 100644 --- a/iconv/loop.c +++ b/iconv/loop.c @@ -56,7 +56,7 @@ #include /* For MIN. */ #define __need_size_t #include - +#include /* We have to provide support for machines which are not able to handled unaligned memory accesses. Some of the character encodings have @@ -392,8 +392,14 @@ SINGLE(LOOPFCT) (struct __gconv_step *step, { *inptrp = inend; # ifdef STORE_REST + + /* Building with -O3 GCC emits a `array subscript is above array + bounds' warning. GCC BZ #64739 has been opened for this. */ + DIAG_PUSH_NEEDS_COMMENT; + DIAG_IGNORE_NEEDS_COMMENT (4.9, "-Warray-bounds"); while (inptr < inend) bytebuf[inlen++] = *inptr++; + DIAG_POP_NEEDS_COMMENT; inptr = bytebuf; inptrp = &inptr;