v.g.vassilev added a comment.
We have this pattern:
FileID FID;
const clang::FileEntry* FE
= SM.getFileManager().getVirtualFile(source_name.str(), InputSize,
0 /* mod time*/);
SM.overrideFileContents(FE, std::move(MB)); // MB is a llvm::MemoryBuffer
FID = SM.createFileID(FE, NewLoc, SrcMgr::C_User);
...
PP.EnterSourceFile(FID, /*DirLookup*/0, NewLoc); // PP is a
clang::Preprocessor
If the memory buffer contains eg. '//expected-error: ...' this forces the
ContentCache to compute some source location information IIRC. This leads in
hitting the disk, ignoring the fact that this is a virtual file with an
overridden content.
I will try to come up with a test but I may need to land some interpreter
infrastructure first...
https://reviews.llvm.org/D33275
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits