[glibc/azanella/clang] iconvdata: Suppress clang warning on locale definitions
Adhemerval Zanella
azanella@sourceware.org
Wed Aug 30 12:35:32 GMT 2023
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=59b54e8647f2bf9477fab0c4fcc39902c3957af2
commit 59b54e8647f2bf9477fab0c4fcc39902c3957af2
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date: Thu Mar 10 10:01:09 2022 -0300
iconvdata: Suppress clang warning on locale definitions
Diff:
---
iconvdata/gbk.c | 5 +++++
iconvdata/iso-2022-cn-ext.c | 16 +++++-----------
iconvdata/iso-2022-cn.c | 5 +++++
3 files changed, 15 insertions(+), 11 deletions(-)
diff --git a/iconvdata/gbk.c b/iconvdata/gbk.c
index 6a0ba3388a..40d582f5fb 100644
--- a/iconvdata/gbk.c
+++ b/iconvdata/gbk.c
@@ -13212,6 +13212,10 @@ static const char __gbk_from_ucs4_tab12[][2] =
}
#include <iconv/loop.c>
+/* clang issues an warning adding 'unsigned int' to a string does not append
+ to the string, however it is exactly what code means here. */
+DIAG_PUSH_NEEDS_COMMENT_CLANG;
+DIAG_IGNORE_NEEDS_COMMENT_CLANG (13, "-Wstring-plus-int");
/* Next, define the other direction. */
#define MIN_NEEDED_INPUT MIN_NEEDED_TO
@@ -13493,6 +13497,7 @@ static const char __gbk_from_ucs4_tab12[][2] =
#define LOOP_NEED_FLAGS
#include <iconv/loop.c>
+DIAG_POP_NEEDS_COMMENT_CLANG;
/* Now define the toplevel functions. */
#include <iconv/skeleton.c>
diff --git a/iconvdata/iso-2022-cn-ext.c b/iconvdata/iso-2022-cn-ext.c
index 36727f0865..ebca74039a 100644
--- a/iconvdata/iso-2022-cn-ext.c
+++ b/iconvdata/iso-2022-cn-ext.c
@@ -387,6 +387,10 @@ enum
#define LOOP_NEED_FLAGS
#include <iconv/loop.c>
+/* clang issues an warning adding 'int' to a string does not append
+ to the string, however it is exactly what code means here. */
+DIAG_PUSH_NEEDS_COMMENT_CLANG;
+DIAG_IGNORE_NEEDS_COMMENT_CLANG (13, "-Wstring-plus-int");
/* Next, define the other direction. */
#define MIN_NEEDED_INPUT TO_LOOP_MIN_NEEDED_FROM
@@ -394,16 +398,6 @@ enum
#define MIN_NEEDED_OUTPUT TO_LOOP_MIN_NEEDED_TO
#define MAX_NEEDED_OUTPUT TO_LOOP_MAX_NEEDED_TO
#define LOOPFCT TO_LOOP
-/* With GCC 5.3 when compiling with -Os the compiler emits a warning
- that buf[0] and buf[1] may be used uninitialized. This can only
- happen in the case where tmpbuf[3] is used, and in that case the
- write to the tmpbuf[1] and tmpbuf[2] was assured because
- ucs4_to_cns11643 would have filled in those entries. The difficulty
- is in getting the compiler to see this logic because tmpbuf[0] is
- involved in determining the code page and is the indicator that
- tmpbuf[2] is initialized. */
-DIAG_PUSH_NEEDS_COMMENT;
-DIAG_IGNORE_Os_NEEDS_COMMENT (5, "-Wmaybe-uninitialized");
#define BODY \
{ \
uint32_t ch; \
@@ -655,7 +649,6 @@ DIAG_IGNORE_Os_NEEDS_COMMENT (5, "-Wmaybe-uninitialized");
/* Now that we wrote the output increment the input pointer. */ \
inptr += 4; \
}
-DIAG_POP_NEEDS_COMMENT;
#define EXTRA_LOOP_DECLS , int *setp
#define INIT_PARAMS int set = (*setp >> 3) & CURRENT_MASK; \
int ann = (*setp >> 3) & ~CURRENT_MASK
@@ -669,6 +662,7 @@ DIAG_POP_NEEDS_COMMENT;
#define LOOP_NEED_FLAGS
#include <iconv/loop.c>
+DIAG_POP_NEEDS_COMMENT_CLANG;
/* Now define the toplevel functions. */
#include <iconv/skeleton.c>
diff --git a/iconvdata/iso-2022-cn.c b/iconvdata/iso-2022-cn.c
index 5660ead668..0973fdcc46 100644
--- a/iconvdata/iso-2022-cn.c
+++ b/iconvdata/iso-2022-cn.c
@@ -227,6 +227,10 @@ enum
#define UPDATE_PARAMS *setp = set | ann
#include <iconv/loop.c>
+/* clang issues an warning adding 'int' to a string does not append
+ to the string, however it is exactly what code means here. */
+DIAG_PUSH_NEEDS_COMMENT_CLANG;
+DIAG_IGNORE_NEEDS_COMMENT_CLANG (13, "-Wstring-plus-int");
/* Next, define the other direction. */
#define MIN_NEEDED_INPUT TO_LOOP_MIN_NEEDED_FROM
@@ -401,6 +405,7 @@ enum
#define UPDATE_PARAMS *setp = set | ann
#include <iconv/loop.c>
+DIAG_POP_NEEDS_COMMENT_CLANG;
/* Now define the toplevel functions. */
#include <iconv/skeleton.c>
More information about the Glibc-cvs
mailing list