diff options
| author | H.J. Lu <hjl.tools@gmail.com> | 2024-12-23 05:12:00 +0800 |
|---|---|---|
| committer | H.J. Lu <hjl.tools@gmail.com> | 2024-12-23 06:28:55 +0800 |
| commit | 0813cb584731c2df3c37bb3e3631ef37a821d599 (patch) | |
| tree | 0642c5d829e09423108cf01b07224e0a4869749a /elf | |
| parent | 309225af546609c75663637e40472b4378371078 (diff) | |
| download | glibc-0813cb584731c2df3c37bb3e3631ef37a821d599.tar.xz glibc-0813cb584731c2df3c37bb3e3631ef37a821d599.zip | |
Suppress Clang -Wimplicit-fallthrough warnings
Since Clang doesn't properly handle
/* FALLTHROUGH */
in elf/tst-align2.c nor
/* fall through */
in misc/tst-tsearch.c
tst-align2.c:100:9: error: unannotated fall-through between switch labels [-Werror,-Wimplicit-fallthrough]
100 | case 'A':
| ^
tst-align2.c:100:9: note: insert '__attribute__((fallthrough));' to silence this warning
100 | case 'A':
| ^
| __attribute__((fallthrough));
tst-align2.c:100:9: note: insert 'break;' to avoid fall-through
100 | case 'A':
| ^
| break;
suppress them when compiled with Clang.
Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
Reviewed-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'elf')
| -rw-r--r-- | elf/tst-align2.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/elf/tst-align2.c b/elf/tst-align2.c index c73ea5a5fe..c49ed70c17 100644 --- a/elf/tst-align2.c +++ b/elf/tst-align2.c @@ -22,6 +22,7 @@ #include <sys/wait.h> #include <tst-stack-align.h> #include <unistd.h> +#include <libc-diag.h> static int res, fds[2], result; static bool test_destructors; @@ -91,6 +92,8 @@ do_test (void) int des_seen = 0, dso_des_seen = 0; while ((len = TEMP_FAILURE_RETRY (read (fds[0], &c, 1))) > 0) { + DIAG_PUSH_NEEDS_COMMENT_CLANG; + DIAG_IGNORE_NEEDS_COMMENT_CLANG (3.2, "-Wimplicit-fallthrough"); switch (c) { case 'B': @@ -112,6 +115,7 @@ do_test (void) result = 1; break; } + DIAG_POP_NEEDS_COMMENT_CLANG; } close (fds[0]); |
