Re: [PATCH] intel-iommu: fix build with CONFIG_BRANCH_TRACER=y

Linus Torvalds
2009-04-07T15:02:51Z

On Tue, 7 Apr 2009, Linus Torvalds wrote:
>
> Can we please do it something like the following instead:
>
> #define if(a, ...) \
> __trace_if( (a, ## __VA_ARGS__) )
>
> so that you don't need to do that ", ## __VA_ARGS__" thing three times?

IOW, does this (TOTALLY UNTESTED) patch work?

Linus

---
include/linux/compiler.h | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/include/linux/compiler.h b/include/linux/compiler.h
index 6faa7e5..cebfdcd 100644
--- a/include/linux/compiler.h
+++ b/include/linux/compiler.h
@@ -114,7 +114,9 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect);
* "Define 'is'", Bill Clinton
* "Define 'if'", Steven Rostedt
*/
-#define if(cond) if (__builtin_constant_p((cond)) ? !!(cond) : \
+#define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
+#define __trace_if(cond) \
+ if (__builtin_constant_p((cond)) ? !!(cond) : \
({ \
int ______r; \
static struct ftrace_branch_data \