aboutsummaryrefslogtreecommitdiff
path: root/elf
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2024-12-23 05:12:00 +0800
committerH.J. Lu <hjl.tools@gmail.com>2024-12-23 06:28:55 +0800
commit0813cb584731c2df3c37bb3e3631ef37a821d599 (patch)
tree0642c5d829e09423108cf01b07224e0a4869749a /elf
parent309225af546609c75663637e40472b4378371078 (diff)
downloadglibc-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.c4
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]);