I'll start writing a patch to use std::future to represent a file object which may or may not be being parsed. If there's an issue, please yell at me. http://llvm-reviews.chandlerc.com/D664