MISRA C Rule 20.7 states: "Expressions resulting from the expansion
of macro parameters shall be enclosed in parentheses". Therefore, some
macro definitions should gain additional parentheses to ensure that all
current 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@bugseng.com>
---
xen/arch/x86/include/asm/alternative.h | 76 +++++++++++++-------------
1 file changed, 38 insertions(+), 38 deletions(-)
diff --git a/xen/arch/x86/include/asm/alternative.h b/xen/arch/x86/include/asm/alternative.h
index 0d3697f1de49..a3b7cbab8740 100644
--- a/xen/arch/x86/include/asm/alternative.h
+++ b/xen/arch/x86/include/asm/alternative.h
@@ -243,28 +243,28 @@ extern void alternative_branches(void);
#define alternative_vcall0(func) ({ \
ALT_CALL_NO_ARG1; \
- (void)sizeof(func()); \
+ (void)sizeof((func)()); \
(void)alternative_callN(0, int, func); \
})
-#define alternative_call0(func) ({ \
- ALT_CALL_NO_ARG1; \
- alternative_callN(0, typeof(func()), func); \
+#define alternative_call0(func) ({ \
+ ALT_CALL_NO_ARG1; \
+ alternative_callN(0, typeof((func)()), func); \
})
#define alternative_vcall1(func, arg) ({ \
typeof(arg) v1_ = (arg); \
ALT_CALL_ARG(v1_, 1); \
ALT_CALL_NO_ARG2; \
- (void)sizeof(func(arg)); \
+ (void)sizeof((func)(arg)); \
(void)alternative_callN(1, int, func); \
})
-#define alternative_call1(func, arg) ({ \
- typeof(arg) v1_ = (arg); \
- ALT_CALL_ARG(v1_, 1); \
- ALT_CALL_NO_ARG2; \
- alternative_callN(1, typeof(func(arg)), func); \
+#define alternative_call1(func, arg) ({ \
+ typeof(arg) v1_ = (arg); \
+ ALT_CALL_ARG(v1_, 1); \
+ ALT_CALL_NO_ARG2; \
+ alternative_callN(1, typeof((func)(arg)), func); \
})
#define alternative_vcall2(func, arg1, arg2) ({ \
@@ -273,17 +273,17 @@ extern void alternative_branches(void);
ALT_CALL_ARG(v1_, 1); \
ALT_CALL_ARG(v2_, 2); \
ALT_CALL_NO_ARG3; \
- (void)sizeof(func(arg1, arg2)); \
+ (void)sizeof((func)(arg1, arg2)); \
(void)alternative_callN(2, int, func); \
})
-#define alternative_call2(func, arg1, arg2) ({ \
- typeof(arg1) v1_ = (arg1); \
- typeof(arg2) v2_ = (arg2); \
- ALT_CALL_ARG(v1_, 1); \
- ALT_CALL_ARG(v2_, 2); \
- ALT_CALL_NO_ARG3; \
- alternative_callN(2, typeof(func(arg1, arg2)), func); \
+#define alternative_call2(func, arg1, arg2) ({ \
+ typeof(arg1) v1_ = (arg1); \
+ typeof(arg2) v2_ = (arg2); \
+ ALT_CALL_ARG(v1_, 1); \
+ ALT_CALL_ARG(v2_, 2); \
+ ALT_CALL_NO_ARG3; \
+ alternative_callN(2, typeof((func)(arg1, arg2)), func); \
})
#define alternative_vcall3(func, arg1, arg2, arg3) ({ \
@@ -294,20 +294,20 @@ extern void alternative_branches(void);
ALT_CALL_ARG(v2_, 2); \
ALT_CALL_ARG(v3_, 3); \
ALT_CALL_NO_ARG4; \
- (void)sizeof(func(arg1, arg2, arg3)); \
+ (void)sizeof((func)(arg1, arg2, arg3)); \
(void)alternative_callN(3, int, func); \
})
-#define alternative_call3(func, arg1, arg2, arg3) ({ \
- typeof(arg1) v1_ = (arg1); \
- typeof(arg2) v2_ = (arg2); \
- typeof(arg3) v3_ = (arg3); \
- ALT_CALL_ARG(v1_, 1); \
- ALT_CALL_ARG(v2_, 2); \
- ALT_CALL_ARG(v3_, 3); \
- ALT_CALL_NO_ARG4; \
- alternative_callN(3, typeof(func(arg1, arg2, arg3)), \
- func); \
+#define alternative_call3(func, arg1, arg2, arg3) ({ \
+ typeof(arg1) v1_ = (arg1); \
+ typeof(arg2) v2_ = (arg2); \
+ typeof(arg3) v3_ = (arg3); \
+ ALT_CALL_ARG(v1_, 1); \
+ ALT_CALL_ARG(v2_, 2); \
+ ALT_CALL_ARG(v3_, 3); \
+ ALT_CALL_NO_ARG4; \
+ alternative_callN(3, typeof((func)(arg1, arg2, arg3)), \
+ func); \
})
#define alternative_vcall4(func, arg1, arg2, arg3, arg4) ({ \
@@ -320,7 +320,7 @@ extern void alternative_branches(void);
ALT_CALL_ARG(v3_, 3); \
ALT_CALL_ARG(v4_, 4); \
ALT_CALL_NO_ARG5; \
- (void)sizeof(func(arg1, arg2, arg3, arg4)); \
+ (void)sizeof((func)(arg1, arg2, arg3, arg4)); \
(void)alternative_callN(4, int, func); \
})
@@ -334,8 +334,8 @@ extern void alternative_branches(void);
ALT_CALL_ARG(v3_, 3); \
ALT_CALL_ARG(v4_, 4); \
ALT_CALL_NO_ARG5; \
- alternative_callN(4, typeof(func(arg1, arg2, \
- arg3, arg4)), \
+ alternative_callN(4, typeof((func)(arg1, arg2, \
+ arg3, arg4)), \
func); \
})
@@ -351,7 +351,7 @@ extern void alternative_branches(void);
ALT_CALL_ARG(v4_, 4); \
ALT_CALL_ARG(v5_, 5); \
ALT_CALL_NO_ARG6; \
- (void)sizeof(func(arg1, arg2, arg3, arg4, arg5)); \
+ (void)sizeof((func)(arg1, arg2, arg3, arg4, arg5)); \
(void)alternative_callN(5, int, func); \
})
@@ -367,8 +367,8 @@ extern void alternative_branches(void);
ALT_CALL_ARG(v4_, 4); \
ALT_CALL_ARG(v5_, 5); \
ALT_CALL_NO_ARG6; \
- alternative_callN(5, typeof(func(arg1, arg2, arg3, \
- arg4, arg5)), \
+ alternative_callN(5, typeof((func)(arg1, arg2, arg3, \
+ arg4, arg5)), \
func); \
})
@@ -385,7 +385,7 @@ extern void alternative_branches(void);
ALT_CALL_ARG(v4_, 4); \
ALT_CALL_ARG(v5_, 5); \
ALT_CALL_ARG(v6_, 6); \
- (void)sizeof(func(arg1, arg2, arg3, arg4, arg5, arg6)); \
+ (void)sizeof((func)(arg1, arg2, arg3, arg4, arg5, arg6)); \
(void)alternative_callN(6, int, func); \
})
@@ -402,8 +402,8 @@ extern void alternative_branches(void);
ALT_CALL_ARG(v4_, 4); \
ALT_CALL_ARG(v5_, 5); \
ALT_CALL_ARG(v6_, 6); \
- alternative_callN(6, typeof(func(arg1, arg2, arg3, \
- arg4, arg5, arg6)), \
+ alternative_callN(6, typeof((func)(arg1, arg2, arg3, \
+ arg4, arg5, arg6)), \
func); \
})
--
2.34.1
of macro parameters shall be enclosed in parentheses". Therefore, some
macro definitions should gain additional parentheses to ensure that all
current 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@bugseng.com>
---
xen/arch/x86/include/asm/alternative.h | 76 +++++++++++++-------------
1 file changed, 38 insertions(+), 38 deletions(-)
diff --git a/xen/arch/x86/include/asm/alternative.h b/xen/arch/x86/include/asm/alternative.h
index 0d3697f1de49..a3b7cbab8740 100644
--- a/xen/arch/x86/include/asm/alternative.h
+++ b/xen/arch/x86/include/asm/alternative.h
@@ -243,28 +243,28 @@ extern void alternative_branches(void);
#define alternative_vcall0(func) ({ \
ALT_CALL_NO_ARG1; \
- (void)sizeof(func()); \
+ (void)sizeof((func)()); \
(void)alternative_callN(0, int, func); \
})
-#define alternative_call0(func) ({ \
- ALT_CALL_NO_ARG1; \
- alternative_callN(0, typeof(func()), func); \
+#define alternative_call0(func) ({ \
+ ALT_CALL_NO_ARG1; \
+ alternative_callN(0, typeof((func)()), func); \
})
#define alternative_vcall1(func, arg) ({ \
typeof(arg) v1_ = (arg); \
ALT_CALL_ARG(v1_, 1); \
ALT_CALL_NO_ARG2; \
- (void)sizeof(func(arg)); \
+ (void)sizeof((func)(arg)); \
(void)alternative_callN(1, int, func); \
})
-#define alternative_call1(func, arg) ({ \
- typeof(arg) v1_ = (arg); \
- ALT_CALL_ARG(v1_, 1); \
- ALT_CALL_NO_ARG2; \
- alternative_callN(1, typeof(func(arg)), func); \
+#define alternative_call1(func, arg) ({ \
+ typeof(arg) v1_ = (arg); \
+ ALT_CALL_ARG(v1_, 1); \
+ ALT_CALL_NO_ARG2; \
+ alternative_callN(1, typeof((func)(arg)), func); \
})
#define alternative_vcall2(func, arg1, arg2) ({ \
@@ -273,17 +273,17 @@ extern void alternative_branches(void);
ALT_CALL_ARG(v1_, 1); \
ALT_CALL_ARG(v2_, 2); \
ALT_CALL_NO_ARG3; \
- (void)sizeof(func(arg1, arg2)); \
+ (void)sizeof((func)(arg1, arg2)); \
(void)alternative_callN(2, int, func); \
})
-#define alternative_call2(func, arg1, arg2) ({ \
- typeof(arg1) v1_ = (arg1); \
- typeof(arg2) v2_ = (arg2); \
- ALT_CALL_ARG(v1_, 1); \
- ALT_CALL_ARG(v2_, 2); \
- ALT_CALL_NO_ARG3; \
- alternative_callN(2, typeof(func(arg1, arg2)), func); \
+#define alternative_call2(func, arg1, arg2) ({ \
+ typeof(arg1) v1_ = (arg1); \
+ typeof(arg2) v2_ = (arg2); \
+ ALT_CALL_ARG(v1_, 1); \
+ ALT_CALL_ARG(v2_, 2); \
+ ALT_CALL_NO_ARG3; \
+ alternative_callN(2, typeof((func)(arg1, arg2)), func); \
})
#define alternative_vcall3(func, arg1, arg2, arg3) ({ \
@@ -294,20 +294,20 @@ extern void alternative_branches(void);
ALT_CALL_ARG(v2_, 2); \
ALT_CALL_ARG(v3_, 3); \
ALT_CALL_NO_ARG4; \
- (void)sizeof(func(arg1, arg2, arg3)); \
+ (void)sizeof((func)(arg1, arg2, arg3)); \
(void)alternative_callN(3, int, func); \
})
-#define alternative_call3(func, arg1, arg2, arg3) ({ \
- typeof(arg1) v1_ = (arg1); \
- typeof(arg2) v2_ = (arg2); \
- typeof(arg3) v3_ = (arg3); \
- ALT_CALL_ARG(v1_, 1); \
- ALT_CALL_ARG(v2_, 2); \
- ALT_CALL_ARG(v3_, 3); \
- ALT_CALL_NO_ARG4; \
- alternative_callN(3, typeof(func(arg1, arg2, arg3)), \
- func); \
+#define alternative_call3(func, arg1, arg2, arg3) ({ \
+ typeof(arg1) v1_ = (arg1); \
+ typeof(arg2) v2_ = (arg2); \
+ typeof(arg3) v3_ = (arg3); \
+ ALT_CALL_ARG(v1_, 1); \
+ ALT_CALL_ARG(v2_, 2); \
+ ALT_CALL_ARG(v3_, 3); \
+ ALT_CALL_NO_ARG4; \
+ alternative_callN(3, typeof((func)(arg1, arg2, arg3)), \
+ func); \
})
#define alternative_vcall4(func, arg1, arg2, arg3, arg4) ({ \
@@ -320,7 +320,7 @@ extern void alternative_branches(void);
ALT_CALL_ARG(v3_, 3); \
ALT_CALL_ARG(v4_, 4); \
ALT_CALL_NO_ARG5; \
- (void)sizeof(func(arg1, arg2, arg3, arg4)); \
+ (void)sizeof((func)(arg1, arg2, arg3, arg4)); \
(void)alternative_callN(4, int, func); \
})
@@ -334,8 +334,8 @@ extern void alternative_branches(void);
ALT_CALL_ARG(v3_, 3); \
ALT_CALL_ARG(v4_, 4); \
ALT_CALL_NO_ARG5; \
- alternative_callN(4, typeof(func(arg1, arg2, \
- arg3, arg4)), \
+ alternative_callN(4, typeof((func)(arg1, arg2, \
+ arg3, arg4)), \
func); \
})
@@ -351,7 +351,7 @@ extern void alternative_branches(void);
ALT_CALL_ARG(v4_, 4); \
ALT_CALL_ARG(v5_, 5); \
ALT_CALL_NO_ARG6; \
- (void)sizeof(func(arg1, arg2, arg3, arg4, arg5)); \
+ (void)sizeof((func)(arg1, arg2, arg3, arg4, arg5)); \
(void)alternative_callN(5, int, func); \
})
@@ -367,8 +367,8 @@ extern void alternative_branches(void);
ALT_CALL_ARG(v4_, 4); \
ALT_CALL_ARG(v5_, 5); \
ALT_CALL_NO_ARG6; \
- alternative_callN(5, typeof(func(arg1, arg2, arg3, \
- arg4, arg5)), \
+ alternative_callN(5, typeof((func)(arg1, arg2, arg3, \
+ arg4, arg5)), \
func); \
})
@@ -385,7 +385,7 @@ extern void alternative_branches(void);
ALT_CALL_ARG(v4_, 4); \
ALT_CALL_ARG(v5_, 5); \
ALT_CALL_ARG(v6_, 6); \
- (void)sizeof(func(arg1, arg2, arg3, arg4, arg5, arg6)); \
+ (void)sizeof((func)(arg1, arg2, arg3, arg4, arg5, arg6)); \
(void)alternative_callN(6, int, func); \
})
@@ -402,8 +402,8 @@ extern void alternative_branches(void);
ALT_CALL_ARG(v4_, 4); \
ALT_CALL_ARG(v5_, 5); \
ALT_CALL_ARG(v6_, 6); \
- alternative_callN(6, typeof(func(arg1, arg2, arg3, \
- arg4, arg5, arg6)), \
+ alternative_callN(6, typeof((func)(arg1, arg2, arg3, \
+ arg4, arg5, arg6)), \
func); \
})
--
2.34.1