The LangOptions LangInfo is a local variable of ASTUnit::LoadFromPCHFile(). When it goes out of scope, it is still referenced by the preprocessor (ASTUnit.cpp:126). I think the preprocessor should refer to the LangOptions of ASTContext, which owns one copy of LangOptions. -Zhongxing