On Wed, Sep 2, 2009 at 04:57, Marc Andre Tanner wrote: > On Tue, Sep 01, 2009 at 07:37:27PM -0400, Mike Frysinger wrote: >> On Tue, Sep 1, 2009 at 18:31, Marc Andre Tanner wrote: >> > This series adds a configuration option to selectively compile out >> > printk message strings based on a verbosity level. >> > >> > This works by wrapping printk with a macro which evaluates to a >> > constant if condition which the compiler will be able to optimize >> > out. >> > >> > However because printk might be wrapped by a macro it no longer has >> > a return value. This means that constructs like the following ones >> > don't work: >> > >> > ((void)(SOME_RANDOM_DEBUG_FLAG && printk(...)); >> > >> > some_random_variable = printk(...); >> > >> > Therefore printk_unfiltered is introduced which is just an alias >> > to the standard printk function but not wrapped by a macro. >> >> why dont you return 0 if it gets optimized away ? then you wont have >> to screw with external code at all and things "just work". > > This won't work because it would for example also return from functions > which call printk but aren't checking for the return value (which is > the common case). why would it matter ? ({ int __printk_ret = 0; if (crazy stuff you're adding) __printk_ret = printk(.....); __printk_ret; }) -mike -- To unsubscribe from this list: send the line "unsubscribe linux-embedded" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html