flymakeとか、文法チェックまで外部プロセスに追い出してるね。
Cのようなマクロを含む言語はelispでパースしきれないから、このアプローチも頷ける。

動かすの少々大変だけど、誰か改良してくれないかな。