summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--iconv/loop.c8
2 files changed, 12 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 588b9ecff1..c6227b73c6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2015-01-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * iconv/loop.c: Suppress array out of bound warning caused by GCC
+ bug (GCC BZ #64739).
+
2015-01-25 Andreas Schwab <schwab@linux-m68k.org>
* 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 <sys/param.h> /* For MIN. */
#define __need_size_t
#include <stddef.h>
-
+#include <libc-internal.h>
/* 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;