ネストしよう

現状のC言語のマクロはネストしないのが常識のようになっていて非常に汚く感じます。
少なくともgccでは、プリプロセッサが行頭になくてはならない訳ではないようです。なので、#ifdef等があったらネストして書いたら良いと思うのですが、ネストしないで書きますよね。

また、括弧の対応を合わせることを前提として

#ifdef (hoge) {
}#else {
}

といった書き方が出来たら良いと思います。