summaryrefslogtreecommitdiff
path: root/iconv/loop.c
diff options
context:
space:
mode:
Diffstat (limited to 'iconv/loop.c')
-rw-r--r--iconv/loop.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/iconv/loop.c b/iconv/loop.c
index c432168eef..d571b593c7 100644
--- a/iconv/loop.c
+++ b/iconv/loop.c
@@ -1,5 +1,5 @@
/* Conversion loop frame work.
- Copyright (C) 1998-2016 Free Software Foundation, Inc.
+ Copyright (C) 1998-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
@@ -56,7 +56,7 @@
#include <sys/param.h> /* For MIN. */
#define __need_size_t
#include <stddef.h>
-#include <libc-internal.h>
+#include <libc-diag.h>
/* We have to provide support for machines which are not able to handled
unaligned memory accesses. Some of the character encodings have
@@ -254,6 +254,16 @@
}
+/* With GCC 7 when compiling with -Os for 32-bit s390 the compiler
+ warns that the variable 'ch', in the definition of BODY in
+ sysdeps/s390/multiarch/8bit-generic.c, may be used uninitialized in
+ the call to UNICODE_TAG_HANDLER in that macro. This variable is
+ actually always initialized before use, in the prior loop if INDEX
+ is nonzero and in the following 'if' if INDEX is zero. That code
+ has a comment referencing this diagnostic disabling; updates in one
+ place may require updates in the other. */
+DIAG_PUSH_NEEDS_COMMENT;
+DIAG_IGNORE_Os_NEEDS_COMMENT (7, "-Wmaybe-uninitialized");
/* Handling of Unicode 3.1 TAG characters. Unicode recommends
"If language codes are not relevant to the particular processing
operation, then they should be ignored." This macro is usually
@@ -267,6 +277,7 @@
continue; \
} \
}
+DIAG_POP_NEEDS_COMMENT;
/* The function returns the status, as defined in gconv.h. */