Refactoring in C (cocinelle/spatch)
Según
este post sobre el programa para portar código fuente de Qt4 a Qt5
, hay unas utilidades para hacer lo mismo con código C, que se usan con el kernel de Linux:
Coccinelle
(
también aquí
). Sólo analiza C (no C++), pero al menos mira ambas ramas de los ifdefs.
Article: Semantic patching with Coccinelle
Pork
Un fork de oink (que a su vez lo es del elsa), que sí soporta correctamente C y C++, pero a costa de usar el frontend de gcc, lo que hace que sólo procese una de las ramas de los ifdefs (la que esté compilada según los defines).
Article: Semantic Rewriting of Code with Pork - A bitter recap
Otras utilidades para lo mismo:
Dehydra
Pork básicamente ha deprecado este otro proyecto de mozilla; no tiene mucho sentido usarlo.
GTK-rewriter