Re: linux-next: tree build failure
From: Hollis Blanchard <hidden>
Date: 2009-10-02 15:48:50
Also in:
linux-next, lkml
On Wed, 2009-09-30 at 07:35 +0100, Jan Beulich wrote:
quoted
quoted
quoted
Hollis Blanchard [off-list ref] 30.09.09 01:39 >>>On Tue, 2009-09-29 at 10:28 +0100, Jan Beulich wrote:quoted
quoted
quoted
quoted
Hollis Blanchard 09/29/09 2:00 AM >>>First, I think there is a real bug here, and the code should read like this (to match the comment): /* type has to be known at build time for optimization */ - BUILD_BUG_ON(__builtin_constant_p(type)); + BUILD_BUG_ON(!__builtin_constant_p(type)); However, I get the same build error *both* ways, i.e. __builtin_constant_p(type) evaluates to both 0 and 1? Either that, or the new BUILD_BUG_ON() macro isn't working...No, at this point of the compilation process it's neither zero nor one, it's simply considered non-constant by the compiler at that stage (this builtin is used for optimization, not during parsing, and the error gets generated when the body of the function gets parsed, not when code gets generated from it).I think I see what you're saying. Do you have a fix to suggest?The one Rusty suggested the other day may help here. I don't like it as a drop-in replacement for BUILD_BUG_ON() though (due to it deferring the error generated to the linking stage), I'd rather view this as an improvement to MAYBE_BUILD_BUG_ON() (which should then be used here).
Can you be more specific? I have no idea what Rusty suggested where. I can't even guess what MAYBE_BUILD_BUG_ON() is supposed to do (sounds like a terrible name). All I know is that this used to build... -- Hollis Blanchard IBM Linux Technology Center