In this recent question and many similar questions, there is ultimately a query like, "How do I generate {code} using the preprocessor?"
The code in the question linked above is a perfect candidate for something like GNU AutoGen, or even something simpler like unmarshaling the XML, YAML, JSON, or other format and then marshaling to the desired code.
Simplistic X-macros are one way to generate code, and it's arguably useful in simple situations. However, some people seem to want to apply a similar mindset to more complex problems that require non-obvious uses of the preprocessor when it would be a lot faster to simply generate the code themselves than to wait for answers to their specific situation.
Is there a reason to increase preprocessing times (and compilation times as a result)? Alternatively, is there a reason why relying on an external tool—whether it's a full template processing tool, a small helper C program compiled and executed on the host system, or even a simple shell script—to generate the code is less advantageous during development?