const char *s = R"EOS(
#include"foo.h"
)EOS";

phase2が終わった直後にfoo.hを書き換えるとどうなるの?
ねえねえ