From: H.J. Lu Date: Fri, 22 Aug 2025 22:55:24 +0000 (-0700) Subject: Disable -Wimplicit-fallthrough when clang is in use X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e377a7a8ecb7d829a62789286b9f6aff6e17ded7;p=thirdparty%2Fglibc.git 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 Reviewed-by: Collin Funk --- diff --git a/configure b/configure index 180e49d95b..a2ab404d9b 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 4480ae83bb..cababbf3f3 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)