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 | |
parent | 309225af546609c75663637e40472b4378371078 (diff) | |
download | glibc-0813cb584731c2df3c37bb3e3631ef37a821d599.zip glibc-0813cb584731c2df3c37bb3e3631ef37a821d599.tar.gz glibc-0813cb584731c2df3c37bb3e3631ef37a821d599.tar.bz2 |
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>
-rw-r--r-- | elf/tst-align2.c | 4 | ||||
-rw-r--r-- | misc/tst-tsearch.c | 4 |
2 files changed, 8 insertions, 0 deletions
diff --git a/elf/tst-align2.c b/elf/tst-align2.c index c73ea5a..c49ed70 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]); diff --git a/misc/tst-tsearch.c b/misc/tst-tsearch.c index 2ca561d..2a8f13f 100644 --- a/misc/tst-tsearch.c +++ b/misc/tst-tsearch.c @@ -26,6 +26,7 @@ #include <search.h> #include <tst-stack-align.h> #include <support/check.h> +#include <libc-diag.h> #define SEED 0 #define BALANCED 1 @@ -286,6 +287,8 @@ mangle_tree (enum order how, enum action what, void **root, int lag) abort (); } + DIAG_PUSH_NEEDS_COMMENT_CLANG; + DIAG_IGNORE_NEEDS_COMMENT_CLANG (3.2, "-Wimplicit-fallthrough"); switch (what) { case build_and_del: @@ -331,6 +334,7 @@ mangle_tree (enum order how, enum action what, void **root, int lag) break; } + DIAG_POP_NEEDS_COMMENT_CLANG; } } |