[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [XEN PATCH 08/10] xen/errno: address violations of MISRA C Rule 20.7
On 2024-02-29 23:55, Stefano Stabellini wrote: On Thu, 29 Feb 2024, Nicola Vetrini wrote:MISRA C Rule 20.7 states: "Expressions resulting from the expansion of macro parameters shall be enclosed in parentheses". Therefore, somemacro definitions should gain additional parentheses to ensure that allcurrent and future users will be safe with respect to expansions that can possibly alter the semantics of the passed-in macro parameter. No functional change. Signed-off-by: Nicola Vetrini <nicola.vetrini@xxxxxxxxxxx> --- xen/include/xen/errno.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xen/include/xen/errno.h b/xen/include/xen/errno.h index 69b28dd3c6c5..506674701fae 100644 --- a/xen/include/xen/errno.h +++ b/xen/include/xen/errno.h @@ -3,7 +3,7 @@ #ifndef __ASSEMBLY__ -#define XEN_ERRNO(name, value) name = value, +#define XEN_ERRNO(name, value) name = (value),I see this and the fact that "name" was not parenthesized and it woulddeliberate right? So I guess the left side of an assignment doesn't needparenthesis? Exactly. Quoting from rules.rst: Extra parentheses are not required when macro parameters are used as function arguments, as macro arguments, array indices, lhs in assignmentsso, as noted in earlier discussions in this series, it could either be said that the rhs consisting of a single expression is similarly ok, or have (name) = (value) for consistency. Do note that a considerable percentage of violations are caused by these definitions (PERFCOUNTER, XEN_ERRNO and probably others in x86). -- Nicola Vetrini, BSc Software Engineer, BUGSENG srl (https://bugseng.com)
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |