Message ID | a0341b50ece1ba1b5b346b54db7d2abdc150cb95.1730880832.git.federico.serafini@bugseng.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | x86: address violations of MISRA C Rule 16.3 | expand |
On 06.11.2024 10:04, Federico Serafini wrote: > The pseudo keyword fallthrough shall be used to make explicit the > fallthrough intention at the end of a case statement (doing this > through comments is deprecated). > > Signed-off-by: Federico Serafini <federico.serafini@bugseng.com> > --- > xen/arch/x86/x86_emulate/x86_emulate.h | 10 ++++++++++ > 1 file changed, 10 insertions(+) When you had asked my privately on Matrix, I specifically said: "Adding the pseudo-keyword to x86-emulate.h (not x86_emulate.h) is probably best, unless problems with that approach turn up." Even if identical re- definitions are deemed fine, I for one consider such bad practice. Yet by playing with this file (and outside of any relevant #ifdef) means there will be such a re-definition when building Xen itself. In fact the patch subject should also already clarify that the auxiliary definition is only needed for the test and fuzzing harnesses. > --- a/xen/arch/x86/x86_emulate/x86_emulate.h > +++ b/xen/arch/x86/x86_emulate/x86_emulate.h > @@ -23,6 +23,16 @@ > # error Unknown compilation width > #endif > > +/* > + * Pseudo keyword 'fallthrough' to make explicit the fallthrough intention at > + * the end of a case statement. > + */ > +#if (!defined(__clang__) && (__GNUC__ >= 7)) I realize xen/compiler.h has it like that, but may I ask that you omit the meaningless outer pair of parentheses? Jan
diff --git a/xen/arch/x86/x86_emulate/x86_emulate.h b/xen/arch/x86/x86_emulate/x86_emulate.h index d75658eba0..f49b1e0dd8 100644 --- a/xen/arch/x86/x86_emulate/x86_emulate.h +++ b/xen/arch/x86/x86_emulate/x86_emulate.h @@ -23,6 +23,16 @@ # error Unknown compilation width #endif +/* + * Pseudo keyword 'fallthrough' to make explicit the fallthrough intention at + * the end of a case statement. + */ +#if (!defined(__clang__) && (__GNUC__ >= 7)) +# define fallthrough __attribute__((__fallthrough__)) +#else +# define fallthrough do {} while (0) /* fallthrough */ +#endif + struct x86_emulate_ctxt; /*
The pseudo keyword fallthrough shall be used to make explicit the fallthrough intention at the end of a case statement (doing this through comments is deprecated). Signed-off-by: Federico Serafini <federico.serafini@bugseng.com> --- xen/arch/x86/x86_emulate/x86_emulate.h | 10 ++++++++++ 1 file changed, 10 insertions(+)