aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2022-03-25 11:23:35 -0300
committerH.J. Lu <hjl.tools@gmail.com>2024-12-22 17:35:33 +0800
commit27a4b6421f488753aab982dfa2b873498fe58fa2 (patch)
treede09f49be85eb6a028e0565656535315fafafa5d
parent77c1128bd35009285820a5e92aa585bb74e2a5ae (diff)
downloadglibc-27a4b6421f488753aab982dfa2b873498fe58fa2.zip
glibc-27a4b6421f488753aab982dfa2b873498fe58fa2.tar.gz
glibc-27a4b6421f488753aab982dfa2b873498fe58fa2.tar.bz2
Suppress Clang warning on adding an integer to a string
Suppress Clang warning on adding an integer to a string, like: tst-iconv-sticky-input-error.c:125:42: error: adding 'int' to a string does not append to the string [-Werror,-Wstring-plus-int] 125 | expected_output = "ABXY" + skip; | ~~~~~~~^~~~~~ tst-iconv-sticky-input-error.c:125:42: note: use array indexing to silence this warning 125 | expected_output = "ABXY" + skip; | ^ | & [ ] Co-Authored-By: H.J. Lu <hjl.tools@gmail.com> Reviewed-by: Sam James <sam@gentoo.org>
-rw-r--r--dirent/tst-readdir-long.c4
-rw-r--r--dirent/tst-rewinddir.c4
-rw-r--r--iconv/tst-iconv-sticky-input-error.c4
-rw-r--r--posix/bug-regex24.c4
4 files changed, 16 insertions, 0 deletions
diff --git a/dirent/tst-readdir-long.c b/dirent/tst-readdir-long.c
index 409318f..2a9db59 100644
--- a/dirent/tst-readdir-long.c
+++ b/dirent/tst-readdir-long.c
@@ -26,6 +26,7 @@
#include <support/support.h>
#include <support/xdirent.h>
#include <support/readdir.h>
+#include <libc-diag.h>
/* If positive, at this length an EMSGSIZE error is injected. */
static _Atomic int inject_error_at_length;
@@ -59,7 +60,10 @@ add_directory_entry (struct support_fuse_dirstream *d, uint64_t offset)
if (offset <= 1)
{
type = DT_DIR;
+ DIAG_PUSH_NEEDS_COMMENT_CLANG;
+ DIAG_IGNORE_NEEDS_COMMENT_CLANG (13, "-Wstring-plus-int");
name = ".." + !offset; /* "." or "..". */
+ DIAG_POP_NEEDS_COMMENT_CLANG;
ino = 1;
}
else if (length == 1000)
diff --git a/dirent/tst-rewinddir.c b/dirent/tst-rewinddir.c
index 1479766..891c7e7 100644
--- a/dirent/tst-rewinddir.c
+++ b/dirent/tst-rewinddir.c
@@ -24,17 +24,21 @@
#include <support/readdir.h>
#include <support/support.h>
#include <support/xdirent.h>
+#include <libc-diag.h>
/* Return the file name at the indicated directory offset. */
static char *
name_at_offset (unsigned int offset)
{
+ DIAG_PUSH_NEEDS_COMMENT_CLANG;
+ DIAG_IGNORE_NEEDS_COMMENT_CLANG (13, "-Wstring-plus-int");
if (offset <= 1)
return xstrdup (".." + !offset); /* "." or "..". */
else
/* Pad the name with a lot of zeros, so that the dirent buffer gets
filled more quickly. */
return xasprintf ("file%0240u", offset);
+ DIAG_POP_NEEDS_COMMENT_CLANG;
}
/* This many directory entries, including "." and "..". */
diff --git a/iconv/tst-iconv-sticky-input-error.c b/iconv/tst-iconv-sticky-input-error.c
index 34a245f..6869864 100644
--- a/iconv/tst-iconv-sticky-input-error.c
+++ b/iconv/tst-iconv-sticky-input-error.c
@@ -26,6 +26,7 @@
#include <support/support.h>
#include <support/test-driver.h>
#include <stdio.h>
+#include <libc-diag.h>
/* FROM is the input character set, TO the output character set. If
IGNORE is true, the iconv descriptor is set up in the same way as
@@ -121,12 +122,15 @@ do_test (void)
for (int skip = 0; skip < 3; ++skip)
{
const char *expected_output;
+ DIAG_PUSH_NEEDS_COMMENT_CLANG;
+ DIAG_IGNORE_NEEDS_COMMENT_CLANG (13, "-Wstring-plus-int");
if (do_ignore || strstr (charsets[to_idx], "//IGNORE") != NULL)
expected_output = "ABXY" + skip;
else
expected_output = "AB" + skip;
one_direction (charsets[from_idx], charsets[to_idx], do_ignore,
"AB\xffXY" + skip, expected_output, limit);
+ DIAG_POP_NEEDS_COMMENT_CLANG;
}
return 0;
diff --git a/posix/bug-regex24.c b/posix/bug-regex24.c
index 97c5c35..72f3d76 100644
--- a/posix/bug-regex24.c
+++ b/posix/bug-regex24.c
@@ -1,6 +1,7 @@
#include <regex.h>
#include <stdio.h>
#include <string.h>
+#include <libc-diag.h>
#define str "civic"
@@ -45,11 +46,14 @@ do_test (void)
{
int len = m[i].rm_eo - m[i].rm_so;
+ DIAG_PUSH_NEEDS_COMMENT_CLANG;
+ DIAG_IGNORE_NEEDS_COMMENT_CLANG (13, "-Wstring-plus-int");
printf ("m[%d] = \"%.*s\"\n", i, len, str + m[i].rm_so);
if (strlen (expected[i]) != len
|| memcmp (expected[i], str + m[i].rm_so, len) != 0)
result = 1;
+ DIAG_POP_NEEDS_COMMENT_CLANG;
}
return result;