From c0f5d58c9ab77fd9a12ba83ee0171d836b66d0b1 Mon Sep 17 00:00:00 2001 From: Jan Janssen Date: Sat, 28 May 2022 11:41:10 +0200 Subject: [PATCH] meson: Document why -Wimplicit-fallthrough is not used with clang This changes the macro to ensure proper fallthrough attributes are used with clang in case this option is added in the future. --- meson.build | 3 +++ src/fundamental/macro-fundamental.h | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) 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_