前処理する前に、コードをテキストとして現在の翻訳単位に挿入する必要がある GCC プラグインを作成しています。
このコードは自明ではなく、プラグインに提供された外部ファイルから動的に生成されます。
PLUGIN_START_UNIT で同じ効果を得るために build_decl などを AST に挿入してノードを挿入できることはわかっていますが、GCC が処理する直前にコードをテキストとして挿入する方が簡単だと思います。
もう 1 つの方法は、GCC に渡す前に、生成されたコードと翻訳単位を中間ファイルにマージする別のプログラムを作成することですが、それでは行番号が多少歪んでしまいます。
これは GCC プラグイン経由で可能でしょうか?