iconv: Suppress array out of bounds warning.
authorAndreas Krebbel <krebbel@linux.vnet.ibm.com>
Tue, 27 Jan 2015 08:37:04 +0000 (09:37 +0100)
committerAndreas Krebbel <krebbel@linux.vnet.ibm.com>
Tue, 27 Jan 2015 08:37:04 +0000 (09:37 +0100)
ChangeLog
iconv/loop.c

index 588b9ec..c6227b7 100644 (file)
--- 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):
index 63148e3..48f4762 100644 (file)
@@ -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;