the code model inspector claims that __GNUC__ is 10, but the #if works only with >= 4, which is plain wrong. so just handle clang explicitly.
@@ -76,7 +76,7 @@ typedef unsigned long ulong;
# define DIAG_DISABLE(text)
#endif
-#if __GNUC__ >= 7
+#if __GNUC__ >= 7 || defined(__clang__)
# define FALLTHROUGH __attribute__((fallthrough));
#else
# define FALLTHROUGH