On Tue, 6 Jan 2009, Heiko Carstens wrote: Sam and Heiko, I'm trying to see if the (a ? b : c) construct is causing the issue. Can you test this patch. Thanks, -- Steve diff --git a/include/linux/compiler.h b/include/linux/compiler.h index d95da10..e13ad24 100644 --- a/include/linux/compiler.h +++ b/include/linux/compiler.h @@ -113,7 +113,8 @@ 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) if ((__builtin_constant_p((cond)) && !!(cond)) || \ + (!__builtin_constant_p((cond)) && \ ({ \ int ______r; \ static struct ftrace_branch_data \ @@ -130,7 +131,7 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect); else \ ______f.miss++; \ ______r; \ - })) + }))) #endif /* CONFIG_PROFILE_ALL_BRANCHES */ #else -- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html