diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2025-08-22 15:55:24 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2025-08-22 16:32:02 -0700 |
commit | e377a7a8ecb7d829a62789286b9f6aff6e17ded7 (patch) | |
tree | 77d4d5e6ac41af4ca3a95c6ec95ec4c77847cd60 | |
parent | b4ab549ae5558b9fd818a6268c32480b51fda9f6 (diff) | |
download | glibc-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-x | configure | 3 | ||||
-rw-r--r-- | configure.ac | 8 |
2 files changed, 11 insertions, 0 deletions
@@ -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) |