[lkml]   [2000]   [Sep]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread

On Wed, 6 Sep 2000, Chris Wedgwood wrote:

> Oh, yes there is.
> if (CONFIG_FOO) {
> ....
> } else {
> ....
> }
> gcc can optimize that away and parser will see the whole thing.
> I'm not sure I like this construct either.
> Yes, it does mean gcc makes all the decisions and allows the
> c-compiler to to more checking (as opposed to the preprocessor which
> obviosly is really dumb) but it also assumes the compiler will always
> elimiate dead code and I'm not convinced it's any more readable that
> have "#if foo" scattered through the code.

If gcc will _ever_ fail to optimize away else in
if (1) {
} else {
- it's a bug in gcc. Sorry. Checking for the absence of code paths that would
lead into block in question is trivial. I suspect that if you can demonstrate
such example to gcc folks they will consider it as an obvious bug.

As readability - it's definitely at least as readable as
#if[def]. It also provides more consistent syntax. And when you are
using ifdef to violate scoping - your code is in need of rewrite anyway.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at

 \ /
  Last update: 2005-03-22 12:38    [W:0.180 / U:1.384 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site