А есть какая-нибудь тулза, которая будет селективно вычищать неюзаемые #ifdef-ветки, и при этом уметь экспандить function-like macro? Все три что я смог нагуглить (unifdef, sunifdef, coan, собственно это одна и та же тулза, слегка допиленная и заброшенная очередным байтоебом) - нихуя не умеют, поэтому бесполезны на быдлокоде состоящем из #if ENABLED(FOO) || HAS(BAR), не говоря уже о более сложных штуках.
cpp
@anonymous нет, хуйня. как минимум, он выпиливает коменты, ломает форматирование и экспандит вообще все что можно, а я этого не хочу.
у меня есть 40ksloc опердень, у которой несколько десятков околотоплевельных конфигурабельных фичей и несколько сотен дефайнов второго уровня. код адская каша из говна и иногда выглядят как
#if FOO /* килострока дерьма */ #else /* две килостроки дерьма */ #endif
. вообще в опердени 2.7к строк ифдефов. я хочу повыпиливать говнокод относящийся к наиболее жирным и ненужным мне фичам, а так же все что он юзает, как можно меньше трогая все остальное (вроде всяких meaningful дефайнов волшебных чисел).