aboutsummaryrefslogtreecommitdiff
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
parent309225af546609c75663637e40472b4378371078 (diff)
downloadglibc-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.c4
-rw-r--r--misc/tst-tsearch.c4
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;
}
}