diff options
Diffstat (limited to 'iconv/loop.c')
-rw-r--r-- | iconv/loop.c | 15 |
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. */ |