Messages in this thread | | | Date | Sun, 05 Oct 2008 11:34:13 +0200 | From | Boaz Harrosh <> | Subject | Re: [PATCH 5/5 ver2] debug: BUILD_BUG_ON: error on non-const expressions |
| |
Rusty Russell wrote: > On Wednesday 03 September 2008 01:57:31 Boaz Harrosh wrote: >> +#define BUILD_BUG_ON(e) \ >> + do { struct {int:-!!(e); } x __maybe_unused;} while(0) > > Why did you hate the void cast again? Simplest should > be "(void)BUILD_BUG_ON_ZERO(e)". But if not, it seems to me that it's > cleaner to do: > > #define BUILD_BUG_ON(e) \ > do { } while(BUILD_BUG_ON_ZERO(e)) >
I have not checked this exact variant, but the problems I had is that wrong or non-const code was ignored by the compiler, which is what I tried to solve.
> No chance of the compiler emitting unused vars. >
There is no unused vars because the result is a zero-sized struct which will never emit any code.
> Cheers, > Rusty. >
Is it that important? the code submitted does what is required to the letter, should we spend more effort on this?
Boaz
| |