diff --git a/meson.build b/meson.build index f416b4f234..38ebe509f6 100644 --- a/meson.build +++ b/meson.build @@ -351,6 +351,9 @@ possible_common_cc_flags = [ '-Werror=shift-overflow=2', '-Werror=undef', '-Wfloat-equal', + # gperf prevents us from enabling this because it does not emit fallthrough + # attribute with clang. + #'-Wimplicit-fallthrough', '-Wimplicit-fallthrough=5', '-Winit-self', '-Wlogical-op', diff --git a/src/fundamental/macro-fundamental.h b/src/fundamental/macro-fundamental.h index eb43cf3647..59d63e8e5d 100644 --- a/src/fundamental/macro-fundamental.h +++ b/src/fundamental/macro-fundamental.h @@ -40,7 +40,7 @@ # define _alloc_(...) __attribute__((__alloc_size__(__VA_ARGS__))) #endif -#if __GNUC__ >= 7 +#if __GNUC__ >= 7 || __clang__ # define _fallthrough_ __attribute__((__fallthrough__)) #else # define _fallthrough_