aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2025-08-22 15:55:24 -0700
committerH.J. Lu <hjl.tools@gmail.com>2025-08-22 16:32:02 -0700
commite377a7a8ecb7d829a62789286b9f6aff6e17ded7 (patch)
tree77d4d5e6ac41af4ca3a95c6ec95ec4c77847cd60
parentb4ab549ae5558b9fd818a6268c32480b51fda9f6 (diff)
downloadglibc-e377a7a8ecb7d829a62789286b9f6aff6e17ded7.zip
glibc-e377a7a8ecb7d829a62789286b9f6aff6e17ded7.tar.gz
glibc-e377a7a8ecb7d829a62789286b9f6aff6e17ded7.tar.bz2
Disable -Wimplicit-fallthrough when clang is in use
Clang's -Wimplicit-fallthrough warning, which flags unannotated fall-through in switch statements, does not recognize specific comments like /* FALLTHROUGH */ for suppressing the warning, unlike GCC. Since fall through comments are used extensively in glibc, disable -Wimplicit-fallthrough when clang is in use. This fixes BZ #33312. Signed-off-by: H.J. Lu <hjl.tools@gmail.com> Reviewed-by: Collin Funk <collin.funk1@gmail.com>
-rwxr-xr-xconfigure3
-rw-r--r--configure.ac8
2 files changed, 11 insertions, 0 deletions
diff --git a/configure b/configure
index 180e49d..a2ab404 100755
--- a/configure
+++ b/configure
@@ -8021,6 +8021,9 @@ CC="$saved_CC"
fi
+if test $libc_cv_test_clang = yes; then
+ libc_cv_test_cc_wimplicit_fallthrough=
+fi
config_vars="$config_vars
cc-option-wimplicit-fallthrough = $libc_cv_cc_wimplicit_fallthrough"
diff --git a/configure.ac b/configure.ac
index 4480ae8..cababbf 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1590,6 +1590,14 @@ LIBC_TRY_CC_AND_TEST_CC_OPTION([for -Wimplicit-fallthrough],
libc_cv_test_cc_wimplicit_fallthrough,
[libc_cv_test_cc_wimplicit_fallthrough=-Wimplicit-fallthrough],
[libc_cv_test_cc_wimplicit_fallthrough=])
+dnl Clang's -Wimplicit-fallthrough warning, which flags unannotated
+dnl fall-through in switch statements, does not recognize specific
+dnl comments like /* FALLTHROUGH */ for suppressing the warning, unlike
+dnl GCC. Since fall through comments are used extensively in glibc,
+dnl disable -Wimplicit-fallthrough when clang is in use.
+if test $libc_cv_test_clang = yes; then
+ libc_cv_test_cc_wimplicit_fallthrough=
+fi
LIBC_CONFIG_VAR([cc-option-wimplicit-fallthrough],
[$libc_cv_cc_wimplicit_fallthrough])
AC_SUBST(libc_cv_test_cc_wimplicit_fallthrough)